全球旧事资料 分类
按键进行扫描,实现秒表,时间调整,复位清零等功能,系统总流程图如下图5:
图5系统总体流程图
f五调试及性能分析
电子时钟主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。下述为18:30:30的仿真图:
首先确保各器件的完好性,其次检测各芯片的电源线和地线是否接触良好,然后焊接器件,接好电源用万用表检测各电源端、地端的状态是否正常。检查无误后插上AT89S51并烧写一简易的程序,观察电路是否能协同工作。最后烧写工作程序,根据显示现象调试程序直至成功。上电运行时,数码管开始显示00:00:00,时钟开始走时。
程序的编写和调试是一个比较复杂的过程。由于对C语言知识的薄弱,所以在编译过程中总是有很多语法上的错误,但是在和同学一起讨论研究后,程序是编写出来了,但结合到硬件调试中又出现各种问题。在调试过程中出现了很多问题,在第一次把程序烧到单片机里,通电运行时,虽然控制时、分、秒的按钮能够对数码管显示进行调整,但是数码管全亮,不能通过按键变化显示,更改程序中的问题,但是调时设置又没有用了。经过检查及修改,终于完成了所做的设计,不容易啊。
六.控制源程序清单
i
cludereg51h
fi
cludeabsacch
defi
eucharu
sig
edchar
defi
eui
tu
sig
edi
t
七段共阴管显示定义
ucharcodedispcode0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F
0xBF0x860xCB0xCF0xEF0xED0xFD0x870xFF0xDF
定义并初始化变量
ucharseco
de0
ucharmi
ite0
ucharhour12
ucharmstc
t0
sbitP1_0P10
seco
d调整定义
sbitP1_1P11
mi
ite调整定义
sbitP1_2P12
hour调整定义
函数声明
voiddelayuchark
延时子程序
voidtime_pro时间处理子程序
voiddisplay
显示子程序
voidkeysca

键盘扫描子程序

延时子程序

voiddelayuchark

ucharj
whilek0

forj0j125j




时间处理子程序

voidtime_provoid

ifseco
de60
秒钟设为60进制
seco
de0
mi
ite
ifmi
ite60
分钟设为60进制
mi
ite0
hour
ifhour24
时钟设为24进制
hour0
f


显示子程序

voiddisplayvoid

P20xfe
P0dispcodehour10
显示小时的十位
delay4
P20xfd
P0dispcodehour100X80
显示小时的个位
delay4
P20xfb
P0dispcodemi
ite10
显r
好听全球资料 返回顶部