智能倒计时器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计(论文)
(2010届)
题目智能倒计时器的设计
指导教师
院系机械电子与建筑工程学院
智能倒计时器的设计
院系:机械电子与建筑工程学院班级:指导老师:姓名:
4.1 硬件设计
本电路设计以AT89S51单片机为系统核心,通过对AT89S51的编程加上一些外围电路来完成所要求的所有功能,电路的原理框图如图1所示。
该图包括单片机时钟电路、单片机复位电路、控制电路、显示电路、报警电路和单片机等6个部分。
图1 基于单片机的设计参考方案框图
4.1.1主要单元电路设计
1.AT89S51单片机电路设计
AT89系列单片机是美国ATMEL公司继承INTEL公司80C31的核心技术并和自身先进的闪电存储器(FLASH MEMORY)技术相结合而产生的FLASH单片机系列。
它是一种低功耗、高性能、内含4K/8K字节闪电存储器、用CHMOS工艺制作的8位单片机。
AT89S51是ATMEL公司的产品,它具有8位CPU,4个I/O口,32根I/O口线,两个16位的定时器/计数器,五个中断源,两个优先级等特点。
1.主要特性
与MCS-51 兼容
4K字节可编程闪烁存储器
寿命:1000写/擦循环
数据保留时间:10年
全静态工作:0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器,5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
2.管脚说明
VCC:供电电压。
GND:接地。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
AT89S51单片机外围电路设计
(1)单片机振荡电路
单片机振荡电路的作用是产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保护同步工作方式的实现,电路应在唯一的时钟信
号控制下严格地按时序进行工作。
而时序所研究的则是指令执行中各信号之间的相
互时间关系。
1)时钟信号的产生
如图2所示,此图为单片机时钟信号的产生电路。
电路中的两个电容取30pF,振荡电路中的晶振的频率为11.0592MHz。
2)引入外部脉冲信号
在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。
图2振荡电路
(2)单片机复位电路
在单片机应用系统工作时,除了进入系统正常的初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键进行重新启
动。
复位电路是通过外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲以上的高电平,单片机便实现复位。
复位电路采用上电自动复位;
当采用11.0592MHz晶振时,C为22uF,R为1KΩ时,断电后上电便能自动复位。
如图:
2.显示电路的设计与分析
在显示电路的设计中,利用了多位Led显示驱动器MAX7219进行动态显示,max7219是美国MAXIM公司推出的三线串行8位LED显示驱动器,具有多种显示(可控)方式。
其管脚说明与单片机接口电路如图4-1所示。
由AT89S51的P2.0到.P2.2口输出至MAX7219芯片来控制数码管显示及点亮方式。
该电路为动态显示方式,每个数码管轮流点亮1ms,有良好的视觉效果极显示的同步性及可靠性。
图4-1 MAX7219的管脚说明与显示电路
各引脚的功能为:
DIN:串行数据输入端
DOUT:串行数据输出端,用于级连扩展
LOAD:装载数据输入
CLK:串行时钟输入
DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流
SEG A~SEG G DP 7段驱动和小数点驱动
ISET:通过一个10k电阻和Vcc相连,设置段电流
V+:正电源
GND:地
如图,工作时,MAX7219规定一次接收16位数据,在接收的16位数据中:D15~D12可以与操作无关,可以任意写入,D11~D8决定所选通的内部寄存器地址,D7~D0为待显示数据或是初始化
控制字。
在CLK脉冲作用下,DIN的数据以串行方式依次移入内部16位寄存器,然后在一个LOAD上升沿作用下,锁存到内部的寄存器中。
注意在接收时,先接收最高位D16,最后是D0,因此,在程序发送时必须先送高位数据,在循环移位。
工作时序图见图7。
由于51是8位单片机故需要分两次来送数据。
图7 数据读写时序
MAX7219与单片机的连接只需要3条线:LOAD(CS)片选引脚、CLK串行时钟引脚、DIN 串行数据引脚。
时间倒计时电路的硬件工作原理是:单片机(AT89S51)控制MAX7219芯片来控制显示数码管的倒计时时间。
MAX7219的a~~h端口来控制倒计时时间,DIG3端口控制右边数码管上的十位,DIG2端口控制右边数码管上的个位,DIG1端口控制左边数码管上的十位,DIG0端口控制左边数码管上的个位。
DIG 0~7端口输入高电位时工作,输入低电位时不工作,显示电路框图如图4-2所示。
图4-2 显示电路图
3.按键控制电路设计
该部分电路主要起人机操作,该电路按键控制部分的电路接线图如图4-3所示:
图4-3 按键部分接线图
当按S3时可实现设定要倒计时的天数及时间,对S3按一下时,是对第十位的天数设置参数,接着按下S1,调整天数的十位数的0—9间的值,按下S2时是返回设备正常动作状态。
如果想设置个位数的天数时,按下S3键时,在没有按返回键S2时,再按一下就可以对个位数的天数设置。
其余设置与上述步骤一样。
4.LED显示器的设计
LED显示器有共阴和共阳两种接法。
当选共阴极接法的LED显示器时,所有发光二极管的阴极连在一起接地,当某个发光二极管的阳极加入高电平时,对应的二极管点亮,加入低电平对应的二极管熄灭。
LED(Light Emitting Diode)是发光二极管的缩写,通常所说的LED显示器是由七个发光二极管组成,按“日”字形排列,也称七段LED显示器。
此外,显示器中还有一个圆点型的发光二极管,表示小数点,图中以dp表示。
LED数码显示器的字形(段)码表如表1所列:
表1 LED数码显示器的字形(段)码表
显示字形
字形码
(共阳极)
字形码
(共阴极)
显示字形
字形码
(共阳极)
字形码
(共阴极)
0 C0H 3FH 9 90H 6FH
1 F9H06H A 88H 77H
2 A4H5BH B 83H 7CH
3 B0H4FH C C6H 39H
4 99H66H D A1H 5EH
5 92H 6DH E 86H 79H
6 82H 7DH F 8RH 71H
7 F8H 07H 熄灭FFH 00H
8 80H 7FH
系统选用共阴极的LED显示器,所有发光二极管的阴极连在一起接低电平,当某个发光二极管的阳极加到高电平时,对应的二极管点亮,而加低电平的则不亮。
4.2 软件设计
系统的软件设计采用汇编语言,对单片机进行编程实现各项功能。
程序是在WINDOWS XP环境下采用keil软件编写的,并在Proteus仿真软件中仿真的。
4.2.1 主程序的设计
主程序首先对片内RAM地址单元进行初始化定义,初始化完后调用显示子程序,实现对数码的显示,接着开启中断与定时器,来完成系统的各项功能。
程序的具体流程图如图5所示。
图5 主程序流程图
4
4.3.3 硬件安装与调试
在硬件安装于调试过程中总体来讲还算顺利,在布线工作都完成的情况,把编写好的程序通过烧录器把程序烧入到AT89S51芯片中,最后把芯片插入已焊好的芯片槽。
通电时发现系统的显示电路显示乱码。
问题进行分析可以确定为两个方面。
1.单片机的复位电路部分没有接好,单片机不工作;2.系统的软件编写可能I/O 口与接好的硬件电路的口不一致。
经过我的再三检查,后面发现原来把单片机的P1口当成了单片机的P2口接了啊,因此单片机工作时,P1口输出全部为高电平,因此硬件运行时,出现全部点亮。
经过更改硬件电路后,再接通电源,硬件设备能正常运行。
5 总结评价
在这次独立设计和制作的过程中使我提高了各方面的能力,当在对单片机编程的时候,通过自己的思考和努力,提高了自己的编程能力。
现时也使自己提高了模拟电路的知识,同时也掌握了模拟电路和单片机电路的综合设计知识。
而且在对论文撰写的过程中也提高了自己的文字处理能力。
通过这次设计使自己在各方面都有所提高的同时,也发现了自己的不足之处。
比如对文章格式的更改等问题还存在着不足的地方。
在以后的工作和学习中我会更加努力继续学习,争取改善自己的不足之处,使自己成为一个对社会有用的人才。
致谢
本论文是在老师的精心指导下,经过本人努力完成的。
在本课题的设计过程中,不论是制定方案,软硬件的设计,还是最后论文的编写工作,都得到了各位老师悉心的指导和帮助,老师们治学严谨的态度、渊博的知识,给本人留下了深刻的印象,对本人今后的工作、学习和生活产生了深远的影响。
在此,向老师们致以衷心的感谢。
参考文献
[1] 谢自美.电子线路设计·实验·测试(第3版).华中科技大学出版社,2006
[2] 赵晓安.MCS-51单片机原理及应用.天津:天津大学出版社,2005,06
[3] 李广第.单片机基础(第3版).北京:北京航空航天大学出版社,2006
[4] 夏继强.单片机实验与实践教程.北京:北京航空航天大学出版社,2006
[5徐惠民,安德宁.单片微型计算机原理接口与应用(第2版).北京:北京邮电大学出版社,2005
[6] 周明德.微型计算机系统原理及应用.清华大学出版社,2006
实物图
附录一:电路原理图
电路总设计图
附录二:电路印刷图
PCB版图
附录三:元器件清单
名称数量规格
1k1电阻
10k 5 电阻
33pF2瓷片电容10uf/50v1电解电容22uf/50v1电解电容显示驱动器1MAX7219 CPU1AT89S51 12pin Ic座2插数码管用40pin Ic座1插AT89S51用11.0592 M1晶振
4位数码管2共阴按键4
通用电路板1
蜂鸣器1
附录三:单片机源程序。