当前位置:文档之家› 单片机课程设计-30秒倒计时

单片机课程设计-30秒倒计时

《30秒倒计时计时器》课程设计专业班级:电子信息科学与技术3班姓名:韩飘飘(080212131)熊元甲(080212132)蔡正军(080212133)指导教师:郭玉设计时间:2013-2014学年第二学期物理与电气工程学院2014年5月28日目录题目,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1目录,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2第一章方案论证,,,,,,,,,,,,,,,,,,,,,,,,,,,,3 1.1课程设计的目的和要求,,,,,,,,,,,,,,,,,,,,3 1.2总体设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 第二章硬件设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.1CPU部分,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 2.2 LED数码管显示器概述,,,,,,,,,,,,,,,,,,,,5 2.3其他元器件介绍及参数选择,,,,,,,,,,,,,,,,,7第三章软件设计,,,,,,,,,,,,,,,,,,,,,,,8第四章4.1实验调试及结果(照片),,,,,,,,,,,,,,94.2 心得体会,,,,,,,,,,,,,,,,,,,,,,,,,,,,9附录A:软件程序,,,,,,,,,,,,,,,,,,,,,,,,,10附录B:参考文献,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12第一章方案论证1.1课程设计目的和要求(1)目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。

课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。

通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。

(2)要求用单片机80C51的定时器实现30s,20s倒计时。

本例中用两位数码管静态显示倒计时秒值。

(3)目标通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。

通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。

1.2总体设计本设计由硬件设计和软件设计两部分组成,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现30秒倒计时程序的编写,包括利用中断实现1秒的定时及30秒的倒计时。

具体设计:通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示30秒倒计时的目的。

第二章硬件设计2.1 CPU部分(1)P3.2口是复位键(2)P3.3口是转换30秒、30秒倒计时键(3)P3.0口是暂停/开始键(图二:80C51核心电路框图)·管脚说明:(1)电源及时钟引脚(4个) Vcc: 电源接入引脚 Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地); XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。

(2)控制线引脚(4个)RST/Vpd:复位信号输入引脚/备用电源输入引脚; ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚: EA:内外存储器选择引脚/片外EPROM编程电压输入引脚; PSEN:外部程序存储器选通信号输出引脚。

(3)并行I/O引脚P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚; P1.0-P1.7:一般I/O口引脚;P2.0-P2.7:一般I/O口引脚或高位地址总线引脚; P3.0-P3.7:一般I/O口引脚或第二功能引脚·振荡特性:XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.2 LED显示器概述本设计中采用的是7SEG–COM –ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。

实物如图三所示:(图三:LED数码管)·数码管的驱动方式:数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

①静态显示驱动:静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

②动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

2.3其他元器件介绍及参数选择本设计中还用到其他一些元器件,例如:晶振,电容,电阻排,电解电容,开关等等。

晶振采用频率为12MHZ,连接的两个电容为30pF;电阻排为470*8,能够实现8个470欧电阻的等效替换;电解电容为10u;开关功能是在仿真过程中,按下开关便能实现60秒复第三章软件设计(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。

(2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。

本设计中,设定中断每次溢出时间50ms。

(3)由上式得知,循环20次即可达到1秒定时,即:N=t/Tcy=0.05s/0.000001=5000 X=65536-5000=15536=3CB0H(4)(4)由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0H,此时第1次只要输入5000个脉冲输入,就会溢出;第2次至第20次,则需每1000000个计时脉冲,定时1秒。

上电时,显示60,开始倒数计时按下开关实现复位。

第四章试验程序调试及结果(20秒倒计时暂停) (30秒倒计时暂停)(30秒倒计时跳到20秒倒计时)(计时器清零)心得体会在这次单片机课程设计中,我觉得最大的收获就是提高了自己的动手及思考解决问题的能力,平常以为很明白的程序,在仿真过程中却发现并不是想象的那么简单,设计的过程中失败了很多次,但通过自己的不懈努力最终获得设计的成功!在这里要特别感谢郭玉老师,谢谢她课堂上的引导,使自己明确了设计方向,避免了许多错误。

附录A:ORG 0000HLJMP STARTORG 0003HLJMP INTTORG 000BHLJMP TT0ORG 0013HLJMP INTIORG 0100H START:SETB EASETB EX0SETB IT0SETB ET0SETB TR0SETB IT1SETB EX1MOV TMOD,#01HMOV TH0,#0D8HMOV TL0,#0F0HMOV R7,#10MOV R4,#10MOV R0,#29MOV R3,#29MOV R1,#9LJMP L3L1:MOV R0,#20MOV R3,#19MOV R1,9L3: JNB P3.0,L1MOV P2,#0FBHMOV B,#10MOV A,R0DIV ABMOV DPTR,#TABMOVC A,@A+DPTR MOV P0,ALCALL DELAYMOV P2,#0FDHMOV A,BMOV DPTR,#TABMOVC A,@A+DPTR MOV P0,ACLR P0.7LCALL DELAYMOV P2,#0FEHMOV A,R1MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ALCALL DELAYSJMP L3TT0:DJNZ R7,L4MOV R7,#10DJNZ R4,L2MOV R4,#10MOV R1,#9CJNE R0,#0,L5MOV R1,#0CPL TR0LJMP L4L2:DEC R1LJMP L4L5:DEC R0L4:MOV TH0,#0D8HMOV TL0,#0F0HRETIINTT:CPL TR0RETIINTI:MOV A,R3MOV R0,AMOV R1,#9SETB TR1RETITAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H SJMP $DELAY:MOV R2,#249DL:NOPNOPDJNZ R2,DLRETEND附录B :参考文献:1.李全利. 《单片机原理及接口技术》高等教育出版社2.吴金荣. 《8051单片机实践与应用》清华大学出版社3.张迎辉贡雪梅. 《单片机实训教程》北京大学出版社。

相关主题