倒计时器课程设计_第1页
倒计时器课程设计_第2页
倒计时器课程设计_第3页
倒计时器课程设计_第4页
倒计时器课程设计_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南机电高等专科学校课程设计报告书课程名称:单片机原理及系统设计课题名称:倒计时器课程设计专 业:计算机控制技术班 级:学 号:姓 名:成 绩:2013 年12月30日1. 设计目的12. 设计准备 13. 设计要求和设计指标14. 设计内容24.1 硬件部分 24.1.1 硬件部分工作原理 24.1.2 设计原理 44.1.3 PCB 图及 PCB$ 84.2 软件部分1.1.4.2.1 程序流程图125. 本设计改进建议 126. 总结(感想和心得等) 137. 主要参考文献 13附录 13自动控制系单片机课程设计1、设计目的1)掌握利用keil uv4进行软件的编程及编译。2)加深对单片

2、机原理及系统设计课程的理解。3)掌握倒计时的设计原理和方法。4)加深用Protel 99SE进行原理图的绘制、原理图库创建、PCB的生成及PCB库的创建的操作方式。2、设计准备1)单片机STC89C52RC、数码管、74HC573锁存器、按键及其他元件。2)软件 keil uv4 和 Protel99 SE。3、设计要求和设计指标1)设计要求设计一个倒计时电路,并具有显示功能。设置外部操作键,能对倒计时器进行修改、启动、停止和清零。当计时器递减为零时,实现声光报警(蜂鸣器鸣叫,LED丁闪烁),当重新计时时,报警关闭。利用六位数码管的动态显示,来显示倒计时时间(时、分、秒),中间利用小数点 隔开

3、。当利用外部功能键设置时间时,利用三个 LED灯来区分修改的是小时、分钟还是 秒。2)设计指标具有基本的倒计时功能。具有暂停、清零和报警的功能可以任意设置时间。开始时显示为六个零。4、设计内容4.1硬件部分4.11硬件部分工作原理1)显示部分利用六位七段数码管的动态显示,用来显示倒计时间和设置时间。数码管采用共阴 极接法,当阳极接入高电平时,数码管显示,位选送入低电平时,数码管被选中可以参 与显示(位选),再送入段选数值。段选采用共阴极接法,送入高电平可显示数值,如 图1-3。利用D8、D7、D6三个数码管用于显示功能键。2)按键部分利用51单片机P3端口独立键盘,即 P3A4、P3A5、P3

4、A& P3A7 (如图1-8)。 按键检测流程如图1-2所示,程序中用延时10ms的方式进行消抖。按键S1为复位按键。3)定时器部分用定时器T0和定时器T1,软启动、工作方式1。运用时首先打开全局中断、定时 器1中断和定时器0中断才能运行。装入初值时,因为晶振频率为 11.0592MHZ (如图 1-5),所以一个机器周期为1.09us,计算65536个数字小于1s,所以应装初值为: TH0=(65536-45872)/256;TL0=(65536-45872)%256;TH1=(65536-45872)/256;TL1=(65536-45872)%256;运行20次就1s。4)报警部分当倒计

5、时减为零时,用P1端口 PW0LED灯1s闪烁,蜂鸣器发声报警。LED灯为 共阳极接口,当送入低电平时发光,蜂鸣器图1-1,与单片机相连如图1-9.-17 -START寄存器初始化单片机I/O端口初始化延时10ms执行相应代码图1-2 按键检测流程图4.1.2、设计原理sbit key1=P3A4sbit key1=P3A5sbit key1=P3A6sbit key1=P3A7图1-1蜂鸣器原理图用于启动倒计时和停止倒计时。切换功能键(当第一次按下时切换到 seG此时D6灯亮。当第二次按下时切换到 min,此时D7灯亮。当第三次按下时切换到hour,止匕时D8灯亮)。设定数值(当D6灯亮时s

6、ec+,当D7灯亮时min+,当D8灯亮时hour+。)。清零。六位数码管:前两位显示小时,中间两位显示分,最后两位显示秒。中间用小数点隔开。图1-3六位数码管原理图=ii1Jnl 1 t 1nMILVPT二二修 purr? FXi1 W39D(J一3i A Al* A & TJl FJWU%,J3SDIJ.F-4J7 1 API需f-uirUL/ 1,4.2D2:X 1 J Pl4LLT 从 RUx,J3厂D3T、6Jr KWhftjf ATJiY36D4.r-r f尸in 团扇35D3,z3JTVJAUJJ34D6%9lr X /RWTrVOjHiJJ,D J33D7*10Jrl /|,a

7、LJ f fFA Vmn31111 rTvnZ-rL Vpp AT C DRAA30012DfTMTbjrLLlL JrJxLAJ2P13H2j.IL、1 u J 口。ftntFTiDT7跳*VELA14i J1 1JTblJjTHxJDULA15Jr J*rl Uj TJICjTI Y工口m q途上J1典1.JT) 1 /TVT? 工工二口-j.2517, n qfPTTj-jpi *24IS VTAT,E/1PIT2319HiL4尸工4pn i2220frhjn.Fa 1 pnn21rxUTC8?C52RC图1-4 STC89C52R印片机原理图图1-5复位电路及时钟原理图图1-6锁存器原

8、理图U1D3尸尸HP11J2EICP12P13PHPISPl?PIT图1-7 led灯连接原理图图1-8按键连接原理图图1-9蜂鸣器连接原理图图1-10原理图原理图介绍:STC89C52RO片机采用DIP40封装,电阻采用 AXIAL0.4封装,led 灯采用DIODE0.4封装,数码管采用SMG寸装(如图1-13),蜂鸣器采用beep封装(如 图1-11),按键采用S1封装(如图1-12),电容采用RAD0.1封装,极性电容采用RB.2/.4 封装,晶振采用XTAL1封装,三极管采用TO-92B封装。(PCB$如图1-11所示)4.1.3 PCB 图与 PC/Protel 99SE是Prok

9、lTechnology公司基于 Windows环境下开发的电路板设计软件。该软件功能强大,人机界面友好,易学易用,是大中专院校电学专业必学课程,同时也是业界人士首选的电路板设计工具。Protel 99SE由两大部分组成:电路原理图设计(Advanced Schematic和多层印 刷电路板设计(Advanced PCB)。其中Advanced Schematic由两部分组成:电路图编辑 器(Schemati。和元件库编辑器(Schematic Library)。图1-11蜂鸣器封装图(beep图1-12按键的封装图(S1)图1-13数码管的封装图(SMG)一,* * _ 北图1-14 PCB封

10、装图4.2软件部分Keil软件介绍:支持8051微控制器体系结构的Keil开发工具,适合每个阶段的开发 人员,不管是专业的应用工程师,还是刚学习嵌入式软件开发的学生。KEIL C51开发工具旨在解决 嵌入式软件开发商面临的复杂问题。当你开始一个新项目,只需简单的从设备数据库选择使用的设备,uVision IDE将设置好所有的编译器、汇编器、链接器和存储器选项。包含大量的例程,帮助你着手使用最流行的嵌入式8051设备。Keil仙Vision调试器准确地模拟8051设备的片上外围设备(IC、CAN UART SPI、中 断、I/O端口、A/D转换器、D/A转换器和PW喉块)。模拟帮助你了解硬件配置

11、,避免 在安装问题上浪费时间。止匕外,使用模拟器你可以在没有目标设备的情况下编写和测 试应用程序。当你准备在目标硬件上测试软件应用时,可以使用MON51 MON390 NONADI或者FlashMON51目标监视器、ISD51 In-System调试器、ULINKUSB-JTAGS配器在目标系统 上下载并测试程序代码。4.2.1程序流程图图1-12程序流程图4、本设计改进建议可以设计让其正计时,当计时时间到时报 不用数码管,用1602液晶显示。程序中设计时,设置只能加,不能减,可以设计让其可以减。利用矩阵键来设计。5、总结(感想和心得等)单片机是我们重要的一门课程,因为在生活中有很多地方都运用

12、了单片机方面的知 识,例如我们的手表、计算器、充电器等等,都运用到单片机方面的知识。经过多天的设计,设计基本完成,从中学习了很多知识。也知道了设计是多么不 容易的事情,需要很多知识才能设计出来。从这几天的设计中,学习到了很多知识,加 深了对学到的知识的理解,使对以前学习的知识有了深刻的理解。而且在设计发现好多 知识在课本中没有,还有许多知识记不住,基础知识没掌握好,明白了不能只读书,还 要多操作单片机,不断地学习。6、主要参考文献1单片机原理及运用主编董少明 中国铁道出版社2007.11出版2模拟电子技术 主编杨毅德 重庆大学出版社2004出版38051单片机实践与应用主编 吴金戌 沈庆阳 清

13、华大学出版社2002出版附录C语言程序:#include (头文件)#define uchar unsigned cha r(宏定义)#define uint unsigned intsbit dula=P2A6;(声明变量,锁存器U3锁存器U4位选端、led灯、蜂鸣器和四个按 键)sbit wela=P2A7;sbit key1=P3A4;sbit key2=P3A5;sbit key3=P3A6;sbit key4=P3A7;sbit beep=P2A3;sbit led=P1A0;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x

14、07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;(定义共阴数码管编码)uchar sec,min,hour,temp1,num1,num2,temp2定义所需使用的变量 )void delay(uint xms)(延时程序)uint i,j;for(i=xms;i0;i-)for(j=110;j0;j-);void display(uchar hour,uchar min,uchar sec)(显示程序)uchar s1,s2,m1,m2,h1,h2;s2=sec/10;(分开秒的十位和各位)s1=sec%10;m2=min/10;(分开分的十位和各位)m

15、1=min%10;h2=hour/10;(分开时的十位和各位)h1=hour%10;dula=1;(打开U4锁存端)P0=tableh2;(送入段选信号)dula=0;(关闭U4锁存端)P0=0xff;(消影)wela=1;(打开U3锁存端)P0=0xfe;(送入位选信号)wela=0;(关闭U3锁存端)自动控制系单片机课程设计delay(1);(延时1毫秒)dula=1;P0=tableh1+0x80; (+0x80 是为了显示小数点) dula=0;P0=0xff; wela=1;P0=0xfd ;wela=0;delay;dula=1;P0=tablem2;dula=0;P0=0xff;

16、wela=1;P0=0xfb;wela=0;delay;dula=1;P0=tablem1+0x80;dula=0;P0=0xff;wela=1;P0=0x亿wela=0;delay;dula=1;P0=tables2;P0=0xff;wela=1;P0=0xef;wela=0;delay;dula=1;P0=tables1;dula=0;P0=0xff;wela=1;P0=0xdf;wela=0;delay;void keyscan()(按键程序)if(key1=0)delay(10);(延时消抖)if(key1=0)while(!key1);(检测按键释放)temp1+; (keyl 键每

17、按一次 tempi 加一次)if(temp1=1) TR0=1;(启动定时器T0)TR1=0;(关闭定时器T1)if(temp1=2)TR0=0;-19 -自动控制系单片机课程设计TR1=0;beep=1;(关闭报警)led=1;temp1=0;if(key3=0)delay(10);if(key3=0)switch(temp2)(当temp2=1时功能键切换到秒,temp2=2时切换至U分,temp2=3 切换到时)case 1:sec+;if(sec=60)sec=0;break;(秒力口一)case 2:min+;if(min=60)min=0;break;(分力口一)case 3:ho

18、ur+;if(hour=24)hour=0;break;(时力口)while(!key3);(检测按键释放)if(key2=0)(功能键)delay(10);if(key2=0) while(!key2);temp2+;(功能键每按一次temp2力口一次,如图1-7当temp2=1时,D4 灯亮,表示切换到秒。当temp2=2时,D3灯亮,表示切换到秒分。当temp2=3时,D4 灯亮,表示切换到时。)if(temp2=1) P1=0xdf;if(temp2=2) P1=0xbf;if(temp2=3) P1=0x7f;if(temp2=4) temp2=0;P1=0xff;(关闭所有的灯)if(key4=0)(清零键并且能关闭报警)delay(10);if(key4=0) while(!key4);hour=0;min=0;sec=0;TR0=0;TR1=0;beep=1;(关闭声报警)led=1;(关闭光报警)void main()(主函数)TMOD=0x11;(设置定时器 T0、T1为工作方式1,软启动00010001 )TH0=(65536-45872)/256;(装初值为 50msTL0=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论