www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]寫在前面: ­ 前天晚上斷網(wǎng)之后閑來無事忽然心血來潮想起和誰說過以我現(xiàn)在的水平做個時鐘沒有什么問題,就準(zhǔn)備將它實現(xiàn)了。借用老師的學(xué)習(xí)板子,一直搞到凌晨2點做出了一個24小時的計數(shù)器顯示,因為沒有學(xué)過按鍵

寫在前面: ­
前天晚上斷網(wǎng)之后閑來無事忽然心血來潮想起和誰說過以我現(xiàn)在的水平做個時鐘沒有什么問題,就準(zhǔn)備將它實現(xiàn)了。借用老師的學(xué)習(xí)板子,一直搞到凌晨2點做出了一個24小時的計數(shù)器顯示,因為沒有學(xué)過按鍵的使用方法,昨天實驗課下課后問了老師,她給出了查詢方式。昨晚搞了下,可以置數(shù),但是不能實現(xiàn)0~60范圍加,只能0~99加。今天上午在老師的指導(dǎo)下,終于可以了,總算沒有食言啊。呵呵,下面貼出程序了。
先來個效果圖:


        mini_second     equ     30h      ;設(shè)置0.05秒、秒、分、時的地址 ­

        second  equ     31h ­

        minute  equ     32h ­

        clock   equ     33h ­

        k1      equ     p3.2             ;設(shè)置按鍵地址,為外部中斷口int0和int1 ­

        k2      equ     p3.3 ­

­

        org     0000h ­

        ljmp    start ­

        org     000bh ­

        ljmp    t0_x                      ;使用中斷計時 ­

        org     0050h ­

start:  mov     mini_second,#00h          ;清零 ­

        mov     second,#00h ­

        mov     minute,#00h ­

        mov     clock,#00h ­

        mov     tmod,#01h                 ;置工作方式1,開定時器 ­

        mov     th0,#3ch ­

        mov     tl0,#0b0h ­

        setb    ea ­

        setb    et0 ­

        setb    tr0 ­

start1: lcall   show_led                 ;主程序跳轉(zhuǎn)程序顯示 ­

        lcall   key_d                    ;置數(shù)程序 ­

        ljmp    start1                   ;一直循環(huán)顯示 ­

t0_x: ­

        push    acc                      ;保護現(xiàn)場 ­

        push    psw ­

        mov     th0,#3ch                 ;置初值,這個不是很準(zhǔn)確, ­

        mov     tl0,#0b4h                ;估計一分鐘慢個2~3秒 ­

        inc     mini_second ­

        mov     a,mini_second ­

        cjne    a,#20,ret0                ;20次為1秒,沒有20次均跳出中斷重新跳 ­

        mov     mini_second, #00h         ­

        mov     a,second ­

        add     a,#01h ­

        da      a ­

        mov     second,a ­

        cjne    a,#60h,ret0               ;1秒后出循環(huán),每秒后秒清零,跳到分計時加1 ­

        mov     second,#00h ­

        mov     a,minute ­

        add     a,#01h                    ;分同秒 ­

        da      a ­

        mov     minute,a ­

        cjne    a,#60h,ret0 ­

        mov     minute,#00h ­

        mov     a,clock ­

        add     a,#01h ­

        da      a ­

        mov     clock,a ­

        cjne    a,#24h,ret0 ­

        mov     clock,#00h ­

ret0:   pop     psw                       ;結(jié)束保護,跳出 ­

        pop     acc ­

        reti ­

        nop ­

        nop ­

        nop ­

;======================================顯示子程序 ­

show_led: ­

           mov        a,second             ;個位秒顯示 ­

           anl        a,#0fh ­

           mov        40h,a ­

           clr        p1.5                 ;片選數(shù)碼管 ­

           clr        p1.6 ­

           setb       p1.7 ­

           mov        a,40h ­

           lcall      led_x ­

           lcall      delay ­

           mov        a,second          ;十位秒顯示 ­

           anl        a,#0f0h ­

           swap       a ­

           mov        41h,a ­

           setb       p1.5 ­

           clr        p1.6 ­

           setb       p1.7 ­

           mov        a,41h ­

           lcall      led_x ­

           lcall      delay ­

­

           mov        a,minute            ;個位分顯示 ­

           anl        a,#0fh ­

           mov        42h,a ­

           setb       p1.5 ­

           setb       p1.6 ­

           setb       p1.7 ­

           mov        a,42h ­

           lcall      led_x ­

           lcall      delay ­

           mov        a,minute             ;十位分顯示 ­

           anl        a,#0f0h ­

           swap       a ­

           mov        43h,a ­

           clr        p1.5 ­

           clr        p1.6 ­

           clr        p1.7 ­

           mov        a,43h ­

           lcall      led_x           ­

           lcall      delay ­

­

           mov        a,clock                  ;個位時顯示 ­

           anl        a,#0fh ­

           mov        44h,a ­

           clr        p1.5 ­

           setb       p1.6 ­

           clr        p1.7 ­

           mov        a,44h ­

           lcall      led_x ­

           lcall      delay ­

           mov        a,clock                  ;十位時顯示 ­

           anl        a,#0f0h ­

           swap       a ­

           mov        45h,a ­

           setb       p1.5 ­

           setb       p1.6 ­

           clr        p1.7 ­

           mov        a,45h ­

           lcall      led_x ­

           lcall      delay ­

           ret ­

­

led_x:     mov        dptr,#led_data           ­

           movc        a,@a+dptr ­

           mov         p0,a ­

           ret ­

;====================================延遲子程序 ­

delay:     mov        r7,#10 ­

de1:       mov        r6,#100             ;延時1ms多一點,因為晶振為11.0592MHZ ­

           djnz       r6,$ ­

           djnz       r7,de1 ­

           ret ­

;===================================數(shù)碼管的段選碼 ­

led_data:       db      0c0h,0f9h,0a4h,0b0h,099h,92h,82h,0f8h,80h,90h ­

;=====================================置數(shù)子程序 ­

key_d:  jnb     k1,key1 ­

        jnb     k2,key2 ­

        ret ­

key1:   mov     a,minute                ;查詢方式 ————>          分位置數(shù) ­

        clr     c                       ;清零進位,防止干擾da和cjne指令的操作 ­

        inc     a                       ;累加器自加一  ,此為加法置數(shù) ­

        da      a                       ;十進制處理 ­

        cjne    a, #60h, k_01           ;判斷是否為60,為60清零,跳出     ­

        mov     a,#00h ­

k_01:   mov     minute,a ­

        jnb     k1,$ ­

        ret ­

­

key2:  mov     a,clock                  ;時位 置數(shù)同上 ­

       clr     c ­

       inc     a ­

       da      a ­

       cjne    a, #24h,k_11 ­

       mov     a,#00h ­

k_11:  mov     clock,a ­

       jnb     k2,$ ­

       ret ­
本程序如有雷同,純屬不可能 ?

我的不夠成熟或稱之為幼稚的匯編編程,鄭文老師的獨特學(xué)習(xí)板子(顯示數(shù)碼管是p0口,片選竟然是用p1口3個I/O口接138,——!這個獨特焊接方式讓我程序?qū)懙眠@么長),鄭子含老師對我置數(shù)程序的修改,才出來的程序,雖然不是什么成功,至少是一個開始,我會繼續(xù)瘋下去的。這個時鐘的弊端挺多的,比如置數(shù)的時候,會有閃屏現(xiàn)象,程序我會再改進的。 ?

后記:對于院系電子設(shè)計競賽我的失敗我得向我的組員道歉,雖然我知道那些所謂成功的幾組也比我們好不到哪里去(看過答辯了),但是我會繼續(xù)我們的課題,加油吧 ?

編譯工具:wave6000 ?

燒制工具:stc-isp(話說國產(chǎn)的stc公司要統(tǒng)一全球51市場,呵呵) 、RS232串口

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟和信息化委員會、上海市發(fā)展和改革委員會、上海市商務(wù)委員會、上海市教育委員會、上海市科學(xué)技術(shù)委員會指導(dǎo),東浩蘭生(集團)有限公司主辦,東浩蘭生會展集團上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動駕駛

推進卓越制造,擴大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車系統(tǒng)與蘇州工業(yè)園區(qū)管委會正式簽署備忘錄,以設(shè)立耐世特亞太總部蘇州智能制造項目。...

關(guān)鍵字: 智能制造 BSP 汽車系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團宣布,新世代首款量產(chǎn)車型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車展。中國專屬版車型也將在年內(nèi)與大家見面,2026年在國內(nèi)投產(chǎn)。 寶馬集團董事...

關(guān)鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領(lǐng)創(chuàng)新的核心驅(qū)動力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領(lǐng)域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車...

關(guān)鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應(yīng)用發(fā)展大會"。會議以"破界?融合...

關(guān)鍵字: ETHERNET 智能未來 BSP 工業(yè)通信

傳感器模塊能實現(xiàn)便捷無接觸的后備箱或側(cè)滑門開啟,適配各種車輛架構(gòu) 該24 GHz雷達傳感器可集成于保險杠或底盤上,并通過特定的手勢或腳部動作觸發(fā)響應(yīng) 已為多家歐洲主流車企啟動量產(chǎn)交付 德國布爾2025...

關(guān)鍵字: 傳感器 BSP 觸發(fā) 保險杠

以高效節(jié)能方案繪制AI算力綠色未來 上海2025年8月29日 /美通社/ -- 8月28日,臺達受邀出席"2025中國智算產(chǎn)業(yè)綠色科技大會",全方位分享臺達在智算領(lǐng)域的前沿洞見與綠色解決方...

關(guān)鍵字: AI 可持續(xù)發(fā)展 數(shù)據(jù)中心 BSP

淄博2025年8月29日 /美通社/ -- 8月26日至27日,TÜV南德意志集團(以下簡稱"TÜV南德")受邀參加由淄博市...

關(guān)鍵字: BSP 人工智能 信息安全 新加坡

北京2025年8月28日 /美通社/ -- 近日,北京亦莊創(chuàng)新發(fā)布消息,北京經(jīng)濟技術(shù)開發(fā)區(qū)(簡稱北京經(jīng)開區(qū),又稱北京亦莊)以"高效辦成一件事"為抓手,圍繞企業(yè)信用修復(fù)的全流程全環(huán)節(jié),打造經(jīng)開區(qū)特色的&...

關(guān)鍵字: 數(shù)字化 集成 BSP 數(shù)據(jù)共享

深圳2025年8月27日 /美通社/ -- 2025年8月27日,華測檢測認(rèn)證集團股份有限公司(簡稱CTI華測檢測,股票代碼300012)與北京戴納實驗科技股份有限公司(簡稱戴納科技)在華測集團上?;赝瓿蓱?zhàn)略簽約,雙方...

關(guān)鍵字: TI AI BSP 智能化
關(guān)閉