<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 電腦數(shù)字鐘硬件原理圖

          電腦數(shù)字鐘硬件原理圖

          作者: 時間:2016-11-08 來源:網(wǎng)絡(luò) 收藏

          為了節(jié)約制作硬件的開支,我們利用單片機開發(fā)機上的硬件資源,開發(fā)了數(shù)字鐘的軟件。該數(shù)字鐘由8031單片機控制,采用24小時制計時,利用開發(fā)機上的六個LED顯示器來顯示時、分和秒,使用P1端口中的P1.0端口線實現(xiàn)整點報時功能;使用P3端口的P3.0實現(xiàn)鬧鐘功能。其硬件如圖一所示。

          圖中按鍵K1,K2,K3及開關(guān)K5,K6的定義如下表所示

          圖中的開關(guān)K4用于鬧鐘控制,當K4=1時(開關(guān)處于ON的位置),打開鬧鐘,使之在預(yù)定時間起鬧;當K1=0時(開關(guān)處于OFF的位置),則關(guān)閉鬧鐘,使之不鬧。另外,在鬧鐘響起時,K4也可作為止鬧開關(guān)使用,若不止鬧,則鬧一分鐘。鬧鐘信號用發(fā)光二極管來模擬。
          整點報時信號也是用發(fā)光二極管來模擬的。當整點時,P1.0口所接的發(fā)光二極管點亮一分鐘。
          數(shù)字鐘的秒信號是利用8031單片機定時器T0產(chǎn)生的。由于開發(fā)機的晶振頻率為6MHz,使得T0的最大定時時間遠遠小于1秒,因此,在設(shè)計時采用了硬件計數(shù)與軟件計數(shù)相結(jié)合的方式,即通過T0產(chǎn)生一定的定時時間,然后再利用軟件進行計數(shù),從而產(chǎn)生1秒鐘的時間信號。在設(shè)計中,定時器T0采用了中斷方式。當定時時間到時,單片機產(chǎn)生中斷,在T0的中斷服務(wù)程序中實現(xiàn)時、分、秒的累加。并且,該中斷的優(yōu)先級別高于其它中斷,因此,保證了電子鐘走時準確。在設(shè)計中,利用外部中斷0和外部中斷1分別作為校時和鬧鐘校時按鍵的觸發(fā)輸入。當需要校時時,撥動K5或K6開關(guān),便產(chǎn)生外部中斷,進入相應(yīng)的中斷服務(wù)程序。在外部中斷0和外部中斷1的中斷服務(wù)程序中,都只有一條"表示有按鍵"的標志位置1的指令,然后在主程序中用查詢標志位的方式判斷是否有鍵按下。若查得標志位為1則進入校時子程序進行校時的相應(yīng)處理;若為0則照常進行時間顯示。當撥動K5開關(guān)時,進入校時狀態(tài),用戶可以方便地校準時間。當撥動K6開關(guān)時,便進入鬧鐘校時狀態(tài),這時,可根據(jù)需要設(shè)置起鬧時間。在鬧鐘校時期間,時鐘繼續(xù)計數(shù),即鬧鐘校時不影響時鐘走時。


          摘 要:介紹了用8031單片機控制的電腦數(shù)字鐘的硬件結(jié)構(gòu)與軟件設(shè)計。給出了匯編
          語言源程序。
          關(guān)鍵詞:單片機,實時控制,數(shù)字鐘,中斷
          數(shù)字電子鐘的設(shè)計方法有多種,例如,可用中小規(guī)模集成電路組成電子鐘;也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘;還可以利用單片機來實現(xiàn)電子鐘等等。這些方法都各有特點,其中,利用單片機實現(xiàn)的電子鐘具有編程靈活,便于電子鐘功能的擴充,即可用該電子鐘發(fā)出各種控制信號,精確度高等特點。
          所設(shè)計的電子鐘有以下功能:
          1. 24小時制時間顯示。
          2. 可隨時進行時間校對。
          3. 整點報時。
          4. 鬧鐘功能。
          為了節(jié)約制作硬件的開支,我們利用單片機開發(fā)機上的硬件資源,開發(fā)了電腦數(shù)字鐘的軟件。該數(shù)字鐘由8031單片機控制,采用24小時制計時,利用開發(fā)機上的六個LED顯示器來顯示時、分和秒,使用P1端口中的P1.0端口線實現(xiàn)整點報時功能;使用P3端口的P3.0實現(xiàn)鬧鐘功能。其硬件如圖一所示。


          圖一 電腦原理圖

          圖中按鍵K1,K2,K3及開關(guān)K5,K6的定義如下表所示

          圖中的開關(guān)K4用于鬧鐘控制,當K4=1時(開關(guān)處于ON的位置),打開鬧鐘,使之在預(yù)定時間起鬧;當K1=0時(開關(guān)處于OFF的位置),則關(guān)閉鬧鐘,使之不鬧。另外,在鬧鐘響起時,K4也可作為止鬧開關(guān)使用,若不止鬧,則鬧一分鐘。鬧鐘信號用發(fā)光二極管來模擬。
          整點報時信號也是用發(fā)光二極管來模擬的。當整點時,P1.0口所接的發(fā)光二極管點亮一分鐘。
          電腦數(shù)字鐘的秒信號是利用8031單片機定時器T0產(chǎn)生的。由于開發(fā)機的晶振頻率為6MHz,使得T0的最大定時時間遠遠小于1秒,因此,在設(shè)計時采用了硬件計數(shù)與軟件計數(shù)相結(jié)合的方式,即通過T0產(chǎn)生一定的定時時間,然后再利用軟件進行計數(shù),從而產(chǎn)生1秒鐘的時間信號。在設(shè)計中,定時器T0采用了中斷方式。當定時時間到時,單片機產(chǎn)生中斷,在T0的中斷服務(wù)程序中實現(xiàn)時、分、秒的累加。并且,該中斷的優(yōu)先級別高于其它中斷,因此,保證了電子鐘走時準確。在設(shè)計中,利用外部中斷0和外部中斷1分別作為校時和鬧鐘校時按鍵的觸發(fā)輸入。當需要校時時,撥動K5或K6開關(guān),便產(chǎn)生外部中斷,進入相應(yīng)的中斷服務(wù)程序。在外部中斷0和外部中斷1的中斷服務(wù)程序中,都只有一條"表示有按鍵"的標志位置1的指令,然后在主程序中用查詢標志位的方式判斷是否有鍵按下。若查得標志位為1則進入校時子程序進行校時的相應(yīng)處理;若為0則照常進行時間顯示。當撥動K5開關(guān)時,進入校時狀態(tài),用戶可以方便地校準時間。當撥動K6開關(guān)時,便進入鬧鐘校時狀態(tài),這時,可根據(jù)需要設(shè)置起鬧時間。在鬧鐘校時期間,時鐘繼續(xù)計數(shù),即鬧鐘校時不影響時鐘走時。
          程序中的一些存儲單元的定義如下:
            20H~22H:時、分、秒單元
           ?。矗埃取矗玻龋盒r或鬧鐘校時期間的時、分、秒單元
            50H~51H:起鬧時間的時、分單元
            79H~7EH:顯示緩沖區(qū)
          用戶標志位F0:校時標志,當F0=1時,表示校時
              位7FH:鬧鐘校時標志,當7FH=1時,表示鬧鐘校時
              以上的總體設(shè)計使得電腦數(shù)字鐘的精確度較高,因為在程序的執(zhí)行過程中,任何指令都不影響定時器的正常計數(shù)。從而,使數(shù)字鐘的精度僅僅取決于單片機的產(chǎn)生機器周期電路和定時器T0硬件電路的精確度。另外,程序較為簡潔,具有可靠性和較好的可讀性。
          我們設(shè)計電腦數(shù)字鐘的目的并不在于電腦數(shù)字鐘本身,而是想將它的設(shè)計應(yīng)用于實時控制之中。只要對上述程序和硬件電路稍加修改,便可以得到實時控制的實用系統(tǒng),從而應(yīng)用到實際工作與生產(chǎn)中去。
          電腦數(shù)字鐘的匯編語言源程序如下所示:
          ORG 0000H
          LJMP MAIN
          ORG 0003H
          SETB PSW.5
          RETI
          ORG 000BH
          LJMP CLOCK
          ORG 0013H
          SETB 7FH
          RETI
          ORG 0030H
          MAIN: MOV SP,#60H
          MOV TMOD,#01H
          MOV IE,#87H
          SETB PT0
          MOV TL0,#0B7H
          MOV TH0,#3CH
          MOV 20H,#00H
          MOV 21H,#00H
          MOV 22H,#00H
          MOV 23H,#00H
          MOV 50H,#06H
          MOV 51H,#28H
          MOV 52H,#00H
          CLR PSW.5
          CLR 7FH
          SETB TR0
          SETB IT0
          SETB IT1
          CLR P3.0
          SS: LCALL CUTIN0
          LCALL SSCAN
          JNB PSW.5,LK
          LCALL KEY0
          LK: JNB 7FH,SS
          LCALL KEY1
          SJMP SS
          CUTIN0: PUSH PSW
          PUSH ACC
          MOV 25H,R0
          MOV R0,#79H
          MOV A,22H
          ACALL BCD
          MOV A,21H
          ACALL BCD
          MOV A,20H
          ACALL BCD
          MOV R0,25H
          POP ACC
          POP PSW
          RET
          CUTIN1: PUSH PSW
          PUSH ACC
          MOV 25H,R0
          MOV R0,#79H
          MOV A,42H
          ACALL BCD
          MOV A,41H
          ACALL BCD
          MOV A,40H
          ACALL BCD
          MOV R0,25H
          POP ACC
          POP PSW
          RET
          BCD: MOV B,#0AH
          DIV AB
          MOV @R0,B
          INC R0
          MOV @R0,A
          INC R0
          RET
          CLOCK: JNB PSW.5,ZC
          LJMP FH
          ZC: MOV TL0,#0B7H
          MOV TH0,#3CH
          PUSH PSW
          PUSH ACC
          INC 23H
          MOV A,23H
          CJNE A,#0AH,RET0
          MOV 23H,#00H
          INC 22H
          MOV A,22H
          CJNE A,#3CH,RET0
          MOV 22H,#00H
          SETB P1.0
          CLR P3.0
          INC 21H
          MOV A,21H
          CJNE A,#3CH,RET0
          MOV 21H,#00H
          CLR P1.0
          INC 20H
          MOV A,20H
          CJNE A,#18H,RET0
          MOV 20H,#00H
          AJMP RET0
          RET0: MOV A,21H
          CJNE A,51H,B0
          MOV A,20H
          CJNE A,50H,B0
          SETB P3.0
          B0: POP ACC
          POP PSW
          FH: RETI
          SSCAN: MOV R6,#05H
          SS2: MOV 30H,#20H
          MOV 31H,#7EH
          MOV R7,#06H
          SS1: MOV R1,#21H
          MOV A,30H
          MOVX @R1,A
          MOV R0,31H
          MOV A,@R0
          MOV DPTR,#SC
          MOVC A,@A+DPTR
          MOV R1,#22H
          MOVX @R1,A
          LCALL D1
          MOV A,30H
          RR A
          MOV 30H,A
          DEC 31H
          DJNZ R7,SS1
          DJNZ R6,SS2
          RET
          SC: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
          KEY: MOV 42H,#00H
          A0: MOV P1,#0FFH
          MOV A,P1
          ANL A,#38H
          MOV R3,A
          LCALL DELAY
          MOV P1,#0FFH
          MOV A,P1
          ANL A,#38H
          CLR C
          SUBB A,R3
          JNZ A0
          MOV A,R3
          CJNE A,#38H,A00
          SJMP A0
          A00: CJNE A,#30H,TOK2
          INC 41H
          MOV R2,41H
          CJNE R2,#3CH,A1
          MOV 41H,#00H
          A1: MOV P1,#0FFH
          MOV A,P1
          ANL A,#08H
          JNZ A0
          LCALL DELAY
          SJMP A1
          TOK2: CJNE A,#28H,TOK3
          DEC 41H
          MOV R2,41H
          CJNE R2,#0FFH,A2
          MOV 41H,#3BH
          A2: MOV P1,#0FFH
          MOV A,P1
          ANL A,#10H
          JNZ A0
          LCALL DELAY
          SJMP A2
          TOK3: CJNE A,#18H,A0
          AA: MOV P1,#0FFH
          MOV A,P1
          ANL A,#20H
          JNZ A3
          LCALL DELAY
          SJMP AA
          A3: MOV P1,#0FFH
          MOV A,P1
          ANL A,#38H
          MOV R3,A
          LCALL DELAY
          MOV P1,#0FFH
          MOV A,P1
          ANL A,#38H
          CLR C
          SUBB A,R3
          JNZ A3
          MOV A,R3
          CJNE A,#38H,A33
          SJMP A3
          A33: CJNE A,#30H,TO2
          INC 40H
          MOV R2,40H
          CJNE R2,#18H,A4
          MOV 40H,#00H
          A4: MOV P1,#0FFH
          MOV A,P1
          ANL A,#08H
          JNZ A3
          LCALL DELAY
          SJMP A4
          TO2: CJNE A,#28H,TO3
          DEC 40H
          MOV R2,40H
          CJNE R2,#0FFH,A5
          MOV 40H,#17H
          A5: MOV P1,#0FFH
          MOV A,P1
          ANL A,#10H
          JNZ A3
          LCALL DELAY
          SJMP A5
          TO3: CJNE A,#18H,A3
          RET
          KEY0: MOV 41H,21H
          MOV 40H,20H
          CLR TR0
          ACALL KEY
          CLR PSW.5
          MOV 22H,42H
          MOV 21H,41H
          MOV 20H,40H
          MOV TL0,#0B7H
          MOV TH0,#3CH
          SETB TR0
          RET
          KEY1: MOV 41H,51H
          MOV 40H,50H
          LCALL KEY
          CLR 7FH
          MOV 51H,41H
          MOV 50H,40H
          RET
          D1: MOV R4,#02H
          D11: MOV R5,#0FFH
          DJNZ R5,$
          DJNZ R4,D11
          RET
          DELAY: PUSH ACC
          LCALL CUTIN1
          LCALL SSCAN
          POP ACC
          RET



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();