<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

電腦數字鐘硬件原理圖

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

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

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

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


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


圖一 電腦原理圖

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

圖中的開(kāi)關(guān)K4用于鬧鐘控制,當K4=1時(shí)(開(kāi)關(guān)處于ON的位置),打開(kāi)鬧鐘,使之在預定時(shí)間起鬧;當K1=0時(shí)(開(kāi)關(guān)處于OFF的位置),則關(guān)閉鬧鐘,使之不鬧。另外,在鬧鐘響起時(shí),K4也可作為止鬧開(kāi)關(guān)使用,若不止鬧,則鬧一分鐘。鬧鐘信號用發(fā)光二極管來(lái)模擬。
整點(diǎn)報時(shí)信號也是用發(fā)光二極管來(lái)模擬的。當整點(diǎn)時(shí),P1.0口所接的發(fā)光二極管點(diǎn)亮一分鐘。
電腦數字鐘的秒信號是利用8031單片機定時(shí)器T0產(chǎn)生的。由于開(kāi)發(fā)機的晶振頻率為6MHz,使得T0的最大定時(shí)時(shí)間遠遠小于1秒,因此,在設計時(shí)采用了硬件計數與軟件計數相結合的方式,即通過(guò)T0產(chǎn)生一定的定時(shí)時(shí)間,然后再利用軟件進(jìn)行計數,從而產(chǎn)生1秒鐘的時(shí)間信號。在設計中,定時(shí)器T0采用了中斷方式。當定時(shí)時(shí)間到時(shí),單片機產(chǎn)生中斷,在T0的中斷服務(wù)程序中實(shí)現時(shí)、分、秒的累加。并且,該中斷的優(yōu)先級別高于其它中斷,因此,保證了電子鐘走時(shí)準確。在設計中,利用外部中斷0和外部中斷1分別作為校時(shí)和鬧鐘校時(shí)按鍵的觸發(fā)輸入。當需要校時(shí)時(shí),撥動(dòng)K5或K6開(kāi)關(guān),便產(chǎn)生外部中斷,進(jìn)入相應的中斷服務(wù)程序。在外部中斷0和外部中斷1的中斷服務(wù)程序中,都只有一條"表示有按鍵"的標志位置1的指令,然后在主程序中用查詢(xún)標志位的方式判斷是否有鍵按下。若查得標志位為1則進(jìn)入校時(shí)子程序進(jìn)行校時(shí)的相應處理;若為0則照常進(jìn)行時(shí)間顯示。當撥動(dòng)K5開(kāi)關(guān)時(shí),進(jìn)入校時(shí)狀態(tài),用戶(hù)可以方便地校準時(shí)間。當撥動(dòng)K6開(kāi)關(guān)時(shí),便進(jìn)入鬧鐘校時(shí)狀態(tài),這時(shí),可根據需要設置起鬧時(shí)間。在鬧鐘校時(shí)期間,時(shí)鐘繼續計數,即鬧鐘校時(shí)不影響時(shí)鐘走時(shí)。
程序中的一些存儲單元的定義如下:
 ?。玻埃取玻玻龋簳r(shí)、分、秒單元
 ?。矗埃取矗玻龋盒r(shí)或鬧鐘校時(shí)期間的時(shí)、分、秒單元
 ?。担埃取担保龋浩痿[時(shí)間的時(shí)、分單元
 ?。罚梗取罚牛龋猴@示緩沖區
用戶(hù)標志位F0:校時(shí)標志,當F0=1時(shí),表示校時(shí)
    位7FH:鬧鐘校時(shí)標志,當7FH=1時(shí),表示鬧鐘校時(shí)
    以上的總體設計使得電腦數字鐘的精確度較高,因為在程序的執行過(guò)程中,任何指令都不影響定時(shí)器的正常計數。從而,使數字鐘的精度僅僅取決于單片機的產(chǎn)生機器周期電路和定時(shí)器T0硬件電路的精確度。另外,程序較為簡(jiǎn)潔,具有可靠性和較好的可讀性。
我們設計電腦數字鐘的目的并不在于電腦數字鐘本身,而是想將它的設計應用于實(shí)時(shí)控制之中。只要對上述程序和硬件電路稍加修改,便可以得到實(shí)時(shí)控制的實(shí)用系統,從而應用到實(shí)際工作與生產(chǎn)中去。
電腦數字鐘的匯編語(yǔ)言源程序如下所示:
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)鍵詞: 電腦 數字鐘硬件 原理圖

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>