電子鐘的設計及仿真
(1) 計數初值計算:
把定時(shí)器設為工作方式1,定時(shí)時(shí)間為50ms,則計數溢出20次即得時(shí)鐘計時(shí)最小單位秒,而100次計數可用軟件方法實(shí)現。
假設使用T/C0,方式1,50ms定時(shí),fosc=12MHz。
則初值X滿(mǎn)足(216-X)×1/12MHz×12μs =50000μs
X=15536→0011110010110000→3CB0H
(2) 采用中斷方式進(jìn)行溢出次數累計,計滿(mǎn)20次為秒計時(shí)(1秒);
(3) 從秒到分和從分到時(shí)的計時(shí)是通過(guò)累加和數值比較實(shí)現。
二、軟件系統設計
ORG
AJMP
ORG
LJMP
ORG
MAIN:
QL:
MOV
LCALL
NEXT:
RUNF:
JK:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PP:
PPP:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEY:
JZ
LCALL
JZ
MOV
KEYSF: LCALL
JZ
LCALL
AJMP
KEYY: MOV
EXIT: RET
KEYS:
MOV
CPL
ANL
MOV
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ANKEY: CLR
CHECK: JB
K0:
K1:
K2:
K3:
YXZ:
KEY1:
KEY2:
KEY3:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OUTT: MOV
STOP:
RUN:
OUT:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIME:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INTT0: PUSH
PUSH
CLR
SETB
DJNZ
ADDSS: MOV
ADDMM: JC
ADDHH: JC
HOUR: JC
OUTT0: MOV
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CLR0: CLR
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ADD1: MOV
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;顯示子程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISP:
DISP1: MOV
DISP2: RET
TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH,0CH
DL:
DL1:
DL2:

評論