基于单片机的六位智能秒表设计与实现
2017-04-08贾电如田俊芳贾利敏
贾电如++田俊芳++贾利敏
摘要:本设计以AT89C51单片机为核心元件,并配以微功耗LED显示屏和应用石英晶振作为单片机的外接频率,应用74LS245 寄存器来驱动数码管,组合成的六位智能秒表系统。并通用proteus7.7和keil uvision4仿真调试的实现。单片机应用开发中采用proteus仿真不仅提高了教学和开发质量,而且对于培养学生的自主能力、创新能力、分析和解决问题的能力都起到了潜移默化的作用。
关键词:单片机;六位秒表;定时中断;LED动态显示
中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2017)02-0035-02
单片机课程是一门理论实践性都很强的专业基础课程,但理论学习必须紧密地与实践结合起来。当今时代是一个新技术层出不穷的时代,特别是单片机已广泛应用到国家的经济建设和日常生活中,成为现代化测控技术必只不过所必不可少的重要工具,单片机体积小、功能强、成本低等优点,是智能控制与自动化控制[1]。在单片机应用开发中通过软件proteus技术仿真出实验结果,进一步开发产品,提高电子产品制作的效率,还节约了成本。下面以具体智能秒表设计。
1 硬件设计
基于AT89C51单片机所设计的一种六位智能秒表系统,硬件电路部分给出了单片机的最小系统,输入输出端口按键和数码管的显示[2]。时间的显示是通过LED数码管动态显示技术,应用单片机I/O扩展口,设计4个按键,分别控制小时,分钟,秒值,可以通过按键来设置时间,还有一个按键是清0键,保证复位操作,加电秒表会自动开始计时。下面简答介绍所用到的器件[3,4]。硬件设计框图如图1所示。
2 软件设计
在本系统中,软件的设计方面主要有两个方面,一个是主程序,另一个是中断子程序。主程序任务是实时监测有没有键按下,如果有键按下,则应判断是哪个键按下的,如果是小时键按下,则小时值加1;如果是分钟键按下,则分钟值加1;如果是秒键按下,则秒值加1;如果是rst键按下,则表示复位,各个时间值清0。并且通过led数码管动态显示出来。另一个定时中断服务子程序主要负责自动秒值的计算,如果没有外部打扰时,六位智能秒表一直工作在计时状态。如图2是判断按键部分的流程图及中断部分程序代码。
INT_T:
MOV TL0,#0B0H
MOV TH0,#3CH
INC TCNT
MOV A,TCNT
CJNE A,#20,RETEND
INC SECOND
MOV TCNT,#0
MOV A,SECOND
CJNE A,#60,RETEND
INC MINUTE
MOV SECOND,#0
MOV A,MINUTE
CJNE A,#60,RETEND
INC HOUR
MOV MINUTE,#0
MOV A,HOUR
CJNE A,#24,RETEND
MOV HOUR,#0
MOV MINUTE,#0
MOV SECOND,#0
MOV TCNT,#0
RETEND: RETI
3 系统仿真
通过proteus搭建硬件电路和利用keil uvision4编译软件对单片机进行编程,调试,产生HEX可执行文件,加载到AT89C51单片机中,可以实现六位智能秒表的显示,如图3所示,并且可以通过按键来设置时钟的时,分,秒,以达到了自动秒表和数字时钟的完美组合。
4 结语
通过上述的仿真设计,可以清晰看到实验结果,实现容易,所需器件造价低,操作简单。单片机应用开发中采用proteus仿真不仅提高了教学和开发质量,改善了教学手段,丰富了教学内容,提高了课堂教学效率,而且对于培养学生的自主能力、创新能力、分析和解决问题的能力都起到了潜移默化的作用。当然,也要注意仿真教學的辅助作用和实际工程能力的重要性,两者必须相辅相成,相互结合。
参考文献
[1]雷跃荣,詹旭,杜玲燕,等.基于单片机的只能秒表设计[J].《四川理工学院学报:自然科学报》,2010年第5期.
[2]司尚卓,杨恢东,等.基于单片机的超长时间定时控制器研制[J].微计算机信息,2010,2-2:113-115.
[3]樊清海,刘培培,耿娟平.基于单片机的数字时钟C语言设计[J].《北华航天工业学院学报》,2010年第6期.
[4]杨远成,赵创社,雷金利.基于FPGA的数字秒表的设计[J].《装备制造技术》,2009年第9期.