微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用单片机实现电子时钟(汇编)

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

时间:11-18 来源:互联网 点击:
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 等都可以满足精度要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top