×
单片机 > 单片机程序设计 > 详情

用单片机实现电子时钟(汇编)

发布时间:2020-05-28 发布时间:
|
          8155 芯片的初始化:8155 对单片机来讲是一个外
部接口芯片,它与外部RAM的操作方法一样。即:
MOV  DPTR , # addr16
MOV  A , # 03H
MOVX @DPTR ,A
    键盘设置子程序
这里主要介绍秒设置子程序的部分代码。
KEY:JB KEY- S ,M- SET;秒设置键按下吗?
;如没按下则判断分设
;置键是否压下
LCALL DELAY
JB KEY- S ,M- SET
INC DATA - S;如秒设置键压下,则秒单
;元加1
MOV A ,DATA - S
CJNE A , # 60 ,DATA - S;秒单元= 60 ,
;则清0
MOV DATA - S , # 00H
S - DIS:MOV A ,DATA - S
LCALL HEX- BCD;调用BCD 码转换
;子程序
MOV 69H,A
MOV 6AH,B
S - REP :LCALL DIS
JNB KEY- S ,S - REP ;待秒设置键释放
M- SET: ??;分设置键判断程序略
其中KEY- S ,DATA - S 需在主程序中用伪指令定
义后,才能使用。
     显示子程序
采用动态扫描的方式和查表程序可实现实时时间
的显示。
    控制子程序
作用是判断时间是否与设置的闹钟时间是否相等,
如相等则开启闹钟。
     中断定时子程序
是电子时钟的核心,在这里主要介绍一下秒单元的
定时过程,其中5FH 存放100ms 单元的数值。
CLOCK:PUSH ACC;参数入栈保护
PUSH PSW
CLR  TR0
MOV  TL0 , # 0B0H;定时参数重
;新设置
MOV  TH0 , # 03CH
SETB  TR0
INC  5FH
MOV  A ,5FH
CJNE  A , # 10 ,FK;100ms 单元
;内容= 10 ,则
;秒单元加1
MOV  5FH, # 00H;100ms 单元内
;容清0
MOV  A ,DATA - S
ADD  A , # 01H;秒单元加1
MOV  DATA - S ,A
CJNE  A , # 60 ,FK;秒单元内容
; = 60 ,则秒单
;元清0
MOV DATA - S , # 00H
3 3 3 3 3 3 3 3 3 3 3
(分、时单元定时过程略)
FK:POP PSW;出栈,退出中断子
;程序
POP  ACC
RETI
     结束语
由于时钟电路的重要性,时钟电路在很多应用系统
中必不可少,用软件方法可以实现,但误差很大,主要用
在对时间精度要求不高的场合,在对时间精度要求很高
的情况下,通常采用时钟芯片来实现。典型的时钟芯片
有:DS1302 ,DS12887 ,X1203 等都可以满足精度要求。
关键字:单片机  电子时钟  汇编 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项