- 0
- 0
- 约7.65千字
- 约 8页
- 2026-01-08 发布于北京
- 举报
二、设计内容
利用单片机的定时/计数器、中断系统、以及阵列键盘和LED显示器进行设计。在数
码管显示器上实现电子时钟,并且能够进行设置时间和暂停、启动控制。
使用定时/计数器T0,工作于定时模式,采用方式1,对12MHz的系统时钟进行定
时计数,初值设为C34F,形成定时时间为50ms。用片内RAM的7BH单元对50ms进
行计数,计满20次后使秒计数器7BH单元加1。当秒计数器加到60时,分计数器79
H单元加1;当分计数器加到60时,时计数器7AH单元加1;当时计数器加到24时,时
计数器。然后将秒、分、时计数器的值分别拆分为十位和个位,存入8个数码管的显
示缓冲区,并通过数码管显示出来。显示格式为:小时十位、小时个位--分十位、分个
位--秒十位、秒个位。在处理过程中加入了按键判断程序,能够对按键进行处理。
三、代码说明
;主程序
;对78~7B初始化00
72H、75H#10,这是时钟间隔的段选码
定时开始
;输出时间(动态显示)
;检测按键
;延时1MS子程序
DL1MS:MOVR6,#14H
DL1:MOVR7,#19H
DL2:DJNZR7,DL2
DJNZR6,DL1
RET
;延时20MS子程序
二、设计内容
利用单片机的定时/计数器,中断系统,以及阵列键盘和LED显示器进行设计。在数码
管显示器上实现电子时钟,并且能进行设置时间和暂停、启动控制。
用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,
初值设为C34F。形成定时时间为50ms。用片内RAM的7BH单元对50ms计数,计20次
产生秒计数器7BH单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60
则时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分
成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。显示格式为小时十位、
小时个位分十位、分个位秒十位、秒个位。在处理过程中加上了按键判断程序,能对按
键处理。
三、代码说明
;主程序
START:MOVR0,#78H
MOVR7,#04H
INIT:MOV@R0,#00H
INCR0
DJNZR7,INIT;对78~7B初始化00
MOV72H,#10
MOV75H,#10;72H、75H=#10,这个是时钟间隔的段选码
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#03CH;定时T0初始化
SETBEA
SETBET0;开启定时中断
SETBTR0;定时开始
START1:LCALLSCAN;输出时间(动态显示)
LCALLKEYSCAN;检测按键
SJMPSTART1
;延时1MS子程序
DL1MS:MOVR6,#14H
DL1:MOVR7,#19H
DL2:DJNZR7,DL2
DJNZR6,DL1
RET
;延时20MS子程序
DL20MS:ACALLSCAN
ACALLSCAN;实际上包括了对数码管的3次动态显示
RET
;数码管显示程
原创力文档

文档评论(0)