单片机原理及系统课程设计。
专业:电气工程及其自动化。
班级。姓名。
学号: 指导教师。
兰州交通大学自动化与电气工程学院。
2012 年 7月1日
电子时钟。摘要。
本设计所用的硬件有hc373驱动芯片、74ls21、led数码管、门电路、按钮线等。利用单片机内部的定时器/计数器t0产生50ms作为适中的最小计时单位,每到50ms,t0的中断溢出,在中断服务程序中用软件计数器计数,当技术到20次时,即为1s,使秒单元内容加1;当秒单元内容为60时,使分单元内容加1,同时秒单元内容复位,当秒单元内容为60时,使分单元内容加1,同时秒单元内容复位;当分单元内容为60时,使小时单元内容加1,同时秒、分单元内容复位,当小时单元内容为24时,使时、分及秒单元内容均复位,本设计用以上原理设计电子时钟。可以实现电子钟的走时和校对;电子钟上电时开始走,通过6个led显示时、分、秒;通过按键可以进行时间的调整。
1.引言。单片机作为微型计算机发展的一个重要分支,以其高可靠性,高性能**比,低电压,低功耗等优势,赢得了广泛的应用。
单片机已经成为衡量工业发展水平的标志之一。并且可以使用汇编语言或c语言开发程序软件,所以被广泛应用在工业控制上。
基于单片机课程的学习,在本次课程设计中利用单片机实现时钟的显示,利用键盘和门电路控制时间的调整,在设计上采用硬件计数与软件计数相结合的方式,并且定时器t0采用了中断方式。采用二十四小时制计时。充分利用单片机的资源和空间,较大限度的实现了功能。
2.系统方案及原理。
本次课程设计是用80c51单片机cpu及接口电路设计一个数字时钟,其核心部件是80c51,时钟的显示采用6个共阴极led显示灯,四个开关方便的对秒、分、时分别调整,保证功能完善,工作可靠。硬件方面:独立式键盘可以消除时间误差的和方便时间的调整;显示电路采用led动态显示方式,共阴极端由p2口线控制,分为段选线和位选线,利用人的视觉停留达到显示的效果,段选线控制字符选择,位选线控制显示位的亮或暗,从而简化串行口线的连接。
软件方面:四个键盘输入与门74ls21,其输出用作中断信号,当四个键盘有一个键按下后就会向cpu申请中断,这样就可以提高cpu工作效率,达到调整时间的快速性与准确性;定时采用片内定时器定时,提高了电子时钟的准确度。显示电路可以采用点阵液晶显示模块(led)。
一上电,数码管显示的起始时间为0时0分0秒,也就是数码管显示000000,然后每过一秒,秒位加一,到9后10秒位加一,秒位回0.10秒位显示5,秒位显示9后一秒,分钟加一,秒位回0。以此类推,时钟显示的最大值位23小时59分钟59秒。
3.硬件设计。
3.1 硬件原理图。
根据要求,设计一个时钟。能够显示时间格式为时。分。
秒,并且设置键盘,根据按键任意调整时间。利用8051内部定时器0与软件结合来实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。显示部分用共阴极的led显示等显示。
硬件原理图如图一所示。四个开关方便的对秒、分、时分别调整,保证功能完善,工作可靠,定时采用片内定时器定时,提高了电子时钟的准确度。根据题目要求设计的总体框图,如图1所示。
图1 硬件原理图。
3.2proteus**图
根据硬件原理电路,用在keil生成hex的可执行文件,proteus中画图的**结果,如图2所示。
图2 proteus**结果。
4.软件设计。
3.1序包括以下几个部分:
1)主程序:主程序主要完成系统的初始化,以及对数码显示管和键盘子程序的调用。主程序流程图如图3所示。
图3 主程序流程图。
2)键盘断子程序:判断有无按键按下,若有按键按下时,返回键值键盘扫描子程序流程图如图4所示。
图4 键盘扫描子程序流程图。
3)处理子程序:确定按键的位置,并进行处理。
4)显示子程序:将显示缓冲区的数据送到led显示器显示。时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。
显示子程序流程图如图5所示。
图5 显示子程序流程图。
5)定时器中断服务程序:判断1s是否到,如果到了就修改时间。中断程序流程图如图6所示。
图6 中断程序流程图。
5.总结。历时一周的单片机课程设计结束了,此次课程设计中,我所做的是要用8051单片机及其他部件完成一个电子时钟。
可以实现电子钟的走时和校对;电子钟上电时开始走,通过6个led显示时、分、秒;通过按键可以进行时间的调整。在完成设计的过程中,我遇到了一些问题,在用keil uvision3调试程序时,软件提示说“**”超过2k。这个问题困扰了我半天的时间。
后来我直接编译、编译连接、全部重建、停止编译和对工程进行设置,生成了名为 文件。之后在proteus中画图**。通过这次单片机课程设计,我不仅将上学期所学的单片机知识应用到设计中,同时更进一步学习了80c51。
了解了74hc373驱动芯片、4ls21等芯片。更加熟悉了keil和proteus的使用。至于用visio画流程图,这很简单,以前的课程设计过程中一直是不可缺少的,所以比较熟悉。
每次课程设计都会遇到一些问题,随着问题的解决自己又学到了更多的知识。
6.参考文献。
1] 李华。单片机原理及应用[m].北京:兰州大学出版,2001.
2] 于殿泓。单片机原理实验教程[m].西安:西安电子科技大学出版社,2007.
3] 蔡明文,冯先成。单片机课程设计[m].武汉:华中科技大学出版社,2007.
附录。源程序**:
org 0000h
ajmp start
org 0003h
ljmp st1
org 000bh
ajmp tt0
org 0030h
start: mov 30h,#00h秒显示个位内存单元。
mov 31h,#00h秒显示十位内存单元。
mov 32h,#00h分显示个位内存单元。
mov 33h,#00h分显示十位内存单元。
mov 34h,#00h时显示个位内存单元
mov 35h,#00h时显示十位内存单元。
mov tmod,#01h定时器t0,工作方式1,mov th0,#3ch定时50ms
mov tl0,#0b0h
mov r0,#30h指针指向显示单元。
mov r5,#0feh选中秒个位。
mov r1,#
mov 36h,#00h时位键盘判断时用。
mov r3,#6秒十位判断时用。
mov r2, #6分十位判断时用
mov r4,#
mov 40h,#
mov ie, #81h
setb ea开中断。
setb et0开t0中断。
setb tr0记时开始。
main: lcall dis
ljmp main
显示子程序。
dis: mov a,r5先位码。
mov dptr,#7fffh位码选择p2.7
movx @dptr,a
mov a,@r0再段码。
mov dptr,#tab表地址。
movc a,@a+dptr查表。
mov dptr,#0bfffh段码选择p2.6
显示小数点。
cjne r0,#32h,go111小数点选择(r0)=/32h转移。
orl a,#80h
go111: cjne r0,#34h,min
orl a,#80h
min: movx @dptr,a送出去显示。
lcall delay1ms延时。
lcall delay
lcall delay
inc r0修改指针指向下一显示单元。
mov a,r5也可写为xch a,r5
jnb acc.5,lh判断显示完否?
rl a也可写为xch r5,a
mov r5,a
ajmp enr返回循环显示。
lh: mov r0,#30h重心定义显示指针。
mov r5,#0feh重设位码,形成循环acc.0-acc.3
enr: ret
定时中断。tt0:
mov th0,#3ch
mov tl0,#0b0h
djnz r1,fanhui判断1秒到否?未到跳转。
mov r1,#
inc 30h秒个位加一。
djnz r4,fanhui判断10秒到否?未到跳转。
mov r4,#
mov 30h,#00h
inc 31h
djnz r3,fanhui
mov r3,#
mov 31h,#00h
inc 32h
djnz 40h,fanhui
mov 40h,#
mov 32h,#00h
inc 33h
djnz r2,fanhui
mov r2,#
mov 33h,#00h
inc 36h时位判断时用。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...