AT89C51单片机电子时钟设计 下载本文

.

3.4 键盘电路设计

该设计只用了一个键盘,但实现的功能却是比较完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间调节的目的。选择的多功能按键如图3所示。

图3 多功能控制键

3.5 主控模块AT89C51

AT89C51是一个8位单片机,片内ROM全部采用FLASH ROM技术,晶振时钟为12MHz。AT89C51是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。第31引脚需要接高电位使单片机选用内部程序存储器;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1μF高频滤波电容。

4 系统软件设计

在主程序的开始定义了一组固定单元用来存储计数的分、秒、时的存储单元。在主程序中,对不同的按键进行扫描,实现秒表,时间调整。系统总体流程图如图4所示。

教育资料

.

数码位选加1 N 位选值=8 Y 位选数值=0 通过查表方式显示数据 T0中断入口 开始 秒计数加1 N 秒计数=500 Y 秒计数=0 SECOND加1 中断返回

系统子程序流程图如图5所示。

教育资料

图4 总体流程图

.

教育资料子程序入口 N SECOND=60 Y SECOND=0,并MINUTE加1 N MINUTE=60 Y MINUTE=0,并HOUR加1 Y N HOUR=24 显示数据处理 中断返回 图5 子程序流程图

.

附录

程序清单 源程序

ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 ORG 0013H ;外中断1中断程序入口 RETI ;外中断1中断返回 ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ;跳至INTT1执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回 START: MOV R0,#70H ;清70H-7AH共11个内存单元 MOV R7,#0BH

CLEARDISP: MOV @R0,#00H INC R0 DJNZ R7,CLEARDISP

MOV 20H,#00H ;清20H(标志用) MOV 7AH,#0AH ;放入\熄灭符\数据 MOV TMOD,#11H ;设T0、T1为16位定时器 MOV TL0,#0B0H ;50MS定时初值(T0计时用) MOV TH0,#3CH ;50MS定时初值

MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用) MOV TH1,#3CH ;50MS定时初值 SETB EA ;总中断开放

教育资料