版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...---可修编.目录摘要0引言0第一章设计简介及方案论述1第二章设计思路与方案12.1单片机总体设计思路12.2各功能模块程序实现原理分析22.3AT89C51单片机性能介绍2第三章电子打铃系统硬件设计53.1系统主要硬件电路53.3蜂鸣器驱动模块的硬件设计7第四章系统软件设计74.1系统软件设计的主要容84.2主程序流程设计8第五章系统调试与测试结果分析105.1系统调试105.2调试现象及分析105.3仿真结果10第六章、心得体会12参考文献:12附录:13摘要本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比拟,本系统在不显著地增加系统本钱的情况下,可支持更多的LED数码管稳定显示。设计采用AT98C51单片机,使用5V电源供电,并且在按键的作用下可以进展调时,调分,复位功能。计时数据的更新在计算机C语言的驱动下每秒自动进展一次,但不需程序干预其输出状态。关键词:AT89C51;数码管;LED..引言本设计是根据我们所学习的单片机课程,按照大纲要求对我们进展的一次课程检验,是进展单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速开展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、本钱低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效的方法就是理论与实践并重,本文用AT89C51单片机设计的一个电子打铃系统。..第一章设计简介及方案论述1.1作息时间控制钟系统概述:
本设计是一个具有打铃功能的作息时间控制钟。它利用89C51单片机的2Hz时基计时,进展年历计算,并用的蜂鸣器驱动模块将它打出来;在进展时间计算,分每加一时,都与规定的作息时间比拟,如果相等那么进展相应的控制或动作。由七段显示驱动模块、蜂鸣器驱动模块和按钮控制模块三局部组成,四个按键用于报时及校正时间。现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放播送,以保证学习与工作的正常运行。本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。1.2设计要求:利用单片机组成一个电子打铃器。按照学校上下课铃声次序设定定时间用一个蜂鸣器模拟电铃,响铃10s。周六周日不打铃通过"周〞"时〞键和"分〞键分别校正周、时和分,每按一次对应+1。第二章设计思路与方案2.1单片机总体设计思路(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏;
(2)进展软件设计,利用单片机系统时钟先设计一个高精度的部时钟系统,最小准确时间为期1秒;
(3)在秒计数器的根底上设计一个24小时时钟,并设计假设干定时功能;(4)设计打铃执行机构,完成自动打铃功能。2.2各功能模块程序实现原理分析图2-1模块组成框图如图2-1所示,该模块由蜂鸣器驱动模块、蜂鸣器驱动模块和按钮控制模块三局部组成。且三局部都通过AT89C51来实现。EQ\o\ac(○,1)七段式数码管驱动模块采用动态扫描方式,通过一组单片机端口驱动并联在一起的LED发光管的一端(共阴或共阳端),LED发光管的另一脚接通用I/O口,控制其亮灭。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。EQ\o\ac(○,2.)蜂鸣器驱动模块采用压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后〔1.5-15V直流工作电压〕,多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。EQ\o\ac(○,3)按钮控制模块四个按钮的一端分别接地,另一端接单片机一个端口的四个引脚,当某一个按钮按下的时候,其对应的引脚就由高电平变成低电平,然后通过单片机扫描读取引脚的电平来判断按钮是否按下。2.3AT89C51单片机性能介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
引脚说明:
VCC:供电电压。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进展校验时,P0输出原码,此时P0外部必须被拉高。
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〕这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2/INT0〔外部中断0〕
P3.3/INT1〔外部中断1〕P3.4T0〔记时器0外部输入〕P3.5T1〔记时器1外部输入〕
P3.6/WR〔外部数据存储器写选通〕P3.7/RD〔外部数据存储器读选通〕
P3口同时为闪烁编程和编程校验接收一些控制信号。89C51各局部引脚图如下:P1.0140VccP1.1239P0.0
P1.2338P0.1
P1.3437P0.2
P1.4536P0.3
P1.5635P0.4
P1.6734P0.5
P1.7833P0.6RST/Vpd932P0.7
RXDP3.01031EA/Vpp
TXDP3.11130ALE/-P
INT0P3.21229PSEN
INT1P3.31328P2.7
T0P3.41427P2.6
T1P3.51526P2.5
WRP3.61625P2.4
RDP3.71724P2.3
X21823P2.2
X11922P2.1
GND2021P2.0图2-289C51引脚图RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想制止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE制止,置位无效。为使该模块化自动打铃系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。硬件电路包括七段式数码管驱动模块、蜂鸣器驱动模块、按钮控制模块等三大模块。第三章电子打铃系统硬件设计3.1系统主要硬件电路系统主要硬件电路作为驱动整个打铃系统的电路又分为七段数码显示电路和蜂鸣器驱动电路。由显示七段数码显示电路和蜂鸣器驱动电路组成的系统硬件主要电路如下:图3-3:系统主要硬件电路该系统通过按钮控制〔系统使用4只按键,3只按键用来调整时间,另一只为强制打铃按钮;调整选择键SET_KEY:P1.0通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:P1.1按一次使选中位加1;减少键DEC_KEY:P1.2按一次使选中位减1;如果长按ADD_KEY或DEC_KEY,识别后那么进展调时快进,此时停顿闪烁〕AT89C51的计时和定时,在七段数码管上显示出来〔实现24小时制电子钟,8位数码管显示,显示时分秒〕,再通过蜂鸣器(BEEP:P3.7)来实现打铃。3.2七段式数码管驱动模块的硬件设计LED数码管显示器部有七个条形发光二极管和一个小圆点发光二极管组成,其结果图如下所示:ABCABCDEFG图3-4:七段数码显示管因而它的控制原理和发光二极管的控制原理是一样的。根据各管接线的形式,可分成共阴极型和共阳极型。其八个接口对应的字形如下表:表一:数码管字型码表显示字形dpgfedcba共阴极字型码共阳极字型码0001111110x3F0xC01000001100x060xF92010110110x5B0xA43010011110x4F0xB04011001100x660x995011011010x6D0x926011111010x7D0x827000001110x070xF88011111110x7F0x809011011110x6F0x90A011101110x770x88B011111000x7C0x83C001110010x390xC6D010111100x5E0xA1E011110010x790x86F011100010x710x8E3.3蜂鸣器驱动模块的硬件设计本设计中的蜂鸣器驱动模块用到了蜂鸣器〔SPEAKER〕、三极管、100欧姆的电阻。将蜂鸣器的一段接地,另一端接三极管的发射极,三极管的基极通过100欧姆的电阻接在三极管的P3.7引脚,三极管的集电极接+5V的电源。其电路图如下列图所示:图3-5:蜂鸣器驱动电路图第四章系统软件设计软件是该LED显示屏控制系统的重要组成局部,在系统的软件设计中我们也才用了模块化设计,将系统的各局部功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。4.1系统软件设计的主要容系统软件设计由三个模块编程组成:蜂鸣器打铃编程,七段显示管显示编程,按键编程。4.2主程序流程设计主程序初始化,并翻开中断,然后执行中断效劳程序。实现24小时制电子钟,8位数码管显示,显示时分秒显示格式:23-59-59〔小时十位如果为0那么不显示〕到预定时间启动蜂鸣器模拟打铃,蜂鸣器BEEP:P3.7打铃方式分起床、熄灯铃和上、下课铃两种系统使用4只按键,3只按键用来调整时间,另一只为强制打铃按钮调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁增加键ADD_KEY:P1.1;按一次使选中位加1减少键DEC_KEY;P1.2;按一次使选中位减1,如果长按ADD_KEY或DEC_KEY,识别后那么进展调时快进,此时停顿闪烁。主程序流程设计图:图4.1如下图主程序开场初始化后,就跳转到中断效劳程序,如正常走时,那么往下进展打铃时间的比拟,继续向下执行对打铃的判断程序;如不正常走时,那么直接转到显示程序。这以后,继续执行按键的检测,假设有键按下,那么取值打铃;反之,那么返回到中断效劳程序的开场继续执行。主程序清单见附录。第五章系统调试与测试结果分析5.1系统调试根据系统设计方案,本系统的调试共分为三大局部:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进展逐级测试:LED驱动模块的调试,数据存储模块的调试,PC机通信模块的调试等,最后将各模块组合后进展整体测试。5.2调试现象及分析进入调试状态后应该在关键的地方设置断点然后按步运行,同时观察参数的变化,通过变化来判断程序运行的过程即可找出程序中混乱的局部,进展改正,这需要对软件熟练的掌握和对语言程序的很好的理解,实验板搭建成功后,我们就进入了程序的设计和调试阶段,开场编写程序时很顺利,但是后来在调试过程中出现了很多的错误,比方定时器准确度的设置,子程序的调用问题,最困难的就是对没步程序执行顺序的分析,由于程序中一些语句的错误理解和执行顺序的判断失误,让我掉进了误区,耽误了很长时间,最后在同学的帮助下终于找到了错误的关键点,更正成功了。看来对程序的调试能力我还需要加强,程序的调试需要耐心,而且需要熟练掌握软件的跟局部功能。5.3仿真结果此系统的仿真效果很好,能实现设计要求和目的所规定的容。下面是两幅仿真结果图:图5-1图5-2第六章、心得体会本系统被广泛用企事业单位,设计比拟简单。经过一学期的学习,使我对单片机有了初步的认识,了解了一些软件编程的技巧。经过这次的课程设计,使我学会了课堂上学不到的知识,颇有一番感受,对于单片机更加的了解了,对各种器件的使用方法更加熟悉,学会了电路的根本设计思路和原理,掌握单片机设计步骤,知道这门课程在工作中的重要性。由于知识点不够精通,所以经常出现问题,在程序设计中我太过马虎,导致第一次制作出来的打铃器不正常工作,仔细检查后我发现程序有错误,然后经过仔细排查我修改了错误。在电路调试过程中我发现了电路的一些问题,但在教师和同学们的同共努力下都得到解决,。这些教训使我领悟到了科学是严谨的,不能有一点马虎,所以我们在对待科学的态度上应该要一丝不苟。最终看到了成果。另外,如果在工作中遇到困难,就要及时虚心向他人请教,提早解决问题,这样才不至于延误工作。课程设计加深了学生对所学课程理论的理解,扩展了教学中的实验容和要求,积累了实践体验和经历,让我们提前感受到毕业设计的大致过程,进而能顺利进入毕业设计,提高毕业设计质量和学生实际应用能力。参考文献:"电子技术根底:模拟局部"高等教育康华光1999"单片机原理及接口技术"航空航天大学朝青2005"单片机课程设计指导"航空航天大学楼然苗2007"单片机实验与实践教程"航空航天大学何立民2004附录:#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharucharcodesegcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//0,1,2,3,4,5,6,7,8,9,-ucharcodedispbit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//数码管位选码uintcodexshijianbiao[]={10500,75000,80000,84500,85500,94000,100000,104500,105500,114000,150000,154500,155500,164000,165000,173500,193000,213000};//夏季时间uintcodedshijianbiao[]={11000,75000,80000,84500,85500,94000,100000,104500,105500,114000,143000,151500,152500,160500,161500,170000,190000,210000};//冬季时间ucharbuffer[]={1,1,0,0,0,0,0,0};uintzhou,hour,min,sec,shijian;uintstatus;sbitspot=P0^7;sbitled=P3^7;sbitd**z=P1^0;//函数声明voiddelayMS(uintt);voidkeyprocess(unsignedcharkey);voiddisplay();voidtimer0();voidshanl();//延时函数voiddelayMS(uintt)//晶振频率12M{ uinti; while(t--) for(i=0;i<125;i++);}//比拟打铃函数voidpare(){ uinti; shijian=hour*10000+min*100+sec; for(i=0;i<18;i++) { if(d**z==1) { if(dshijianbiao[i]==shijian&&zhou!=6&&zhou!=7) { uinti; for(i=0;i<235;i++) { display(); led=0; delayMS(20); led=1; } } } else { if(xshijianbiao[i]==shijian&&zhou!=6&&zhou!=7) { uinti; for(i=0;i<235;i++) { display(); led=0; delayMS(20); led=1; } } } }}//按键处理函数voidkeyprocess(unsignedcharkey)//键值处理,正常计时,设置时分秒{ switch(key) {case0xB0:if(zhou<7)zhou++;elsezhou=1;break;case0xe0: if(hour<23) hour++;//小时加1 elsehour=0;break; case0xd0: if(min<59)min++;//分钟加1 elsemin=0;break; break; default:break;}}//数码管显示函数voiddisplay(){ uchari;//正常计时显示 buffer[0]=zhou;buffer[1]=hour/10;//显示时的十位 buffer[2]=hour%10;//显示时的个位 buffer[3]=min/10;//显示分的十位 buffer[4]=min%10;//显示分的个位 buffer[6]=sec/10;//显示秒的十位 buffer[7]=sec%10;//显示秒的个位 for(i=0;i<8;i++) { if(i==0||i==2||i==4) { P0=segcode[buffer[i]];//赋于段选值 { if(sec%2==0) spot=0; else spot=1; } P2=dispbit[i];//赋于位选值 } else { P0=segcode[buffer[i]]; P2=dispbit[i]; } delayMS(1);//防止数码管显示的时候闪动 P2=0x0; } }//定时器0中断函数voidtimer0()interrupt1using2{staticuintcount;TH0=(65536-1000)/256;//定时器0设置初始值1ms中断初始值TL0=(65536-1000)%256;TR0=1;count++;//正常计时if(count>=1000)//定时1S到,以下为时钟的正常走钟逻辑{c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 橡胶制品的动态储能性能研究与评估考核试卷
- 《沙格列汀对糖尿病大鼠肾损伤的保护作用及其干预机制》
- 危险品仓储安全防范措施考核试卷
- 《共存物增强类芬顿体系降解有机污染物及机理研究》
- 《基于FeS2-ZIF-8@CNTs电芬顿降解盐酸环丙沙星及响应面优化》
- 提高竞争力的专业培训考核试卷
- 水果和坚果加工行业的产品创新考核试卷
- 《珠海市在京津冀地区招商引资建议报告》范文
- 2024至2030年中国菠萝汁汽水行业投资前景及策略咨询研究报告
- 2024-2030年中国气泡水行业市场发展策略及竞争趋势分析报告
- 新课标背景下的大单元教学研究:国内外大单元教学发展与演进综述
- 2024年中考历史八年级上册重点知识点复习提纲(部编版)
- 小儿过敏性休克课件
- GB/T 144-2024原木检验
- (高清版)TDT 1062-2021 社区生活圈规划技术指南
- 安全生产治本攻坚三年行动方案(2024-2026年)解读
- T-GDWJ 020-2023 医疗机构医疗护理员服务规范
- 子宫内低氧症护理措施
- 中国健康生活方式预防心血管代谢疾病指南
- 跨境电子商务平台的数据治理策略
- 2024教师行业分析
评论
0/150
提交评论