您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于AT89S52单片机的数字倒计时器设计
单片机课程设计说明书单片机课程设计题目基于AT89S52单片机LED数字倒计时器设计系部物理与电子工程学院专业物理学班级2010级1班学生姓名王波学号1009020137指导教师彭仁明(副教授)2011年06月单片机课程设计说明书目录1设计任务与要求............................................32设计方案..................................................33硬件电路设计与主要元器件分析..............................43.16位LED数码管显示.....................................43.2LED倒计时器元件清单...................................43.3主要元器件分析.........................................53.3.1单片机AT89S52.....................................53.3.2集成块74LS245.....................................53.4基本硬件电路分析.......................................63.4.1复位电路...........................................63.4.2按键电路...........................................63.4.3单片机最小系统………………………………………………63.5LED倒计时器原理图.....................................74软件设计...................................................94.1程序流程图..............................................94.2程序清单..............................................105调试过程.................................................116结束语....................................................11单片机课程设计说明书1设计任务与要求近年来随着计算机在社会领域的渗透,单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,针对具体应用特点与软件结合。本项目讨论了LED数字倒计时器的设计与制作,此方案线路简单,成本低,应用前景广阔。本次设计的任务与要求是,使基于AT89S52单片机的LED数字倒计时器主要具有如下功能:(1)LED数码管显示倒计时时间。(2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出约2s的报警声音。(3)通过按键可以对倒计时设定初值。倒计时初始值范围在24:00:00~00:00:60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值。2设计方案LED数字倒计时器以AT89S52单片机为核心,系统包括六位数码管显示电路,按键电路,电源电路,复位电路,晶振电路以及蜂鸣器电路几部分,LED数字倒计时器设计框图如下:图1LED数字倒计时器设计框图AT89S52单片机电源电路复位电路晶振电路6位数码管显示电路蜂鸣器电路按键电路单片机课程设计说明书3硬件电路设计与主要元器件分析3.16位LED数码管显示本项目设计采用了6位数码管显示电路,在设计6位LED显示时,为了简化电路,降低成本,采用动态显示方式,6个LED显示器共用一个8位的I/O,6位LED数码管的位选线分别由相应的P2.0~p2.5控制,而将相应的段选线并联在一起,由一个8位的I/O口控制,即p0口。译码显示电路将“时”、“分”、“秒”显示数字进行校对调整。3.2LED倒计时器元件清单表1LED数字倒计时器元件清单元件名称型号数量/个用途单片机AT89S521控制核心晶振12MHz1晶振电路电容30pF2晶振电路电解电容22μF/10V1复位电路电阻10kΩ1复位电路按键5按键电路数码管共阳6显示器集成块74LS2453驱动三极管2N50881蜂鸣器喇叭8Ω/0.5W1蜂鸣器电阻1kΩ2蜂鸣器单片机课程设计说明书电阻100Ω1蜂鸣器电阻2.7kΩ4上拉电阻电阻330Ω8上拉电阻电源+5V/0.5A1提供+5V集成块74LS071驱动3.3主要元器件分析3.3.1单片机AT89S52AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。。3.3.2集成块74LS24574LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)*DIR=“1”,信号由A向B传输;(发送)当/CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,/E端接地,保证数据现畅通。单片机课程设计说明书3.4基本硬件电路分析3.4.1复位电路复位是单片机的初始化操作,只需给AT89S52的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位,复位时,PC初始化为0000H,使单片机从OUT单元开始执行程序。除了进入系统的正常初始化之外由于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位键使得RST脚为高电平,使单片机重新启动。图2复位电路原理图3.4.2按键电路按键电路的按键功能说明:(1)K1用于设置时间和闹钟的小时。(2)K2用于设置小时以及设置闹钟的开关。(3)K3用于设置分钟和闹钟的分钟。(4)K4用于设置完成退出。.3.4.3单片机最小系统模块电路单片机课程设计说明书单片机选用Atmel公司的单片机芯片STC89C52RC,它完全可以满足本设计中采集控制和数据处理的需要。它小巧灵活、成本低、可靠性好、适应温度范围宽,易于扩展等优点,在工业自动化、智能仪器仪表、家用电器等方面得到了广泛应用。EA/VP31X119X218RESET9RD/P3.717WR/P3.616INT0/P3.212INT1/P3.313T0/P3.414T1/P3.515P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/P30TXD/P3.111RXD/P3.010IC189C5XDB0DB1DB2DB3DB4DB5DB6DB7P10P11P12P13P14P15P16P17ERWRSRDX111.0592MFMINT0C130PC230PGNDX1X2X1X2R21KGNDVCCC310uRESRESLED1LED2LED3VCCRP?RP8VCCDB0DB1DB2DB3DB4DB5DB6DB7R1100SRESTRXDTXD图3.1.1单片机最小系统模块电路单片机课程设计说明书3.5LED倒计时器原理图LEA31XTAL119XTAL218RST9P3.7RD17P3.6WR16P32/INT012P33/INT113P34/T014P35/T115P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P0.0/ADS039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE30P31/TXD11P30/RXD10AT89C51Q2N390430pFC150pFC220pFC312MHzk1k2k3k410KΩR827KΩR127KΩR227KΩR327KΩR41KΩR81KΩR5100ΩR7L61SPEAKER330Ω×6A0A7B0B7CE1A0A7B0B7CE1A0A7B0B7CE1AABBCCFFDDEEGGDPDP1122AABBCCFFDDEEGGDPDP1122AABBCCFFDDEEGGDPDP1122330Ω×8+5V+5V+5V+5V+5V+5V+5VR9~R16图3LED数字倒计时器原理图单片机课程设计说明书4软件设计4.1程序流程图图4LED数字倒计时器程序流程图开始CPU系统初始化定时器0初始化中断初始化设置时间?设置闹铃时间显示刷新启动走时有关变量初始化时分变化?刷新显示1秒到秒指示闹铃时间?蜂鸣器结束YNYNYNYN单片机课程设计说明书4.2程序清单程序清单如下:#includereg52.h#defineucharchar#defineuintunsignedintsbitwei=P1^0;sbitduan=P1^1;sbitkey=P1^2;sbitled_1=P1^3;ucharmiao=0,fen=5;ucharcodeled[]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F};ucharcodetable_wei[]={0x00,0x7f,0xbf,0xdf,0xef,0xf7};voiddelay(uintms){uinti=0,j=0;for(i=ms;i0;i--)for(j=120;j0;j--);}voiddsplay(ucharw,uchard){P0=table_wei[w];wei=1;wei=0;P0=led[d];duan=1;duan=0;delay(1);}voidTimer_Init(){TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;}voidkeyscan(){if(key==0){delay(3);if(key==0)单片机课程设计说明书{while(!key);TR0=1;miao=0;fen=5;led_1=1;}}}voidmain(){Timer_Init();while(1){keyscan();if(miao==-1){if(fen!=0)fen--;miao=59;}if((fen==2)&&(miao==0)){
本文标题:基于AT89S52单片机的数字倒计时器设计
链接地址:https://www.777doc.com/doc-2568549 .html