ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:642.83KB ,
资源ID:7369727      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7369727.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(08080定稿.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

08080定稿.docx

1、08080定稿赣南师院物理与电子信息学院课程设计报告书姓名: 刘祖亮 班级: 08电信(本) 学号: 080802029 时间: 2010年12月 设计题目基于AT89S52单片机实现的简易电子挂钟设计要求1.能在8个数码管上同时显示时、分、秒;2.具备上电清零等功能;3.通过四个按键能分别增减任意调节时和分;4. 采用24小时制。设计过程1.选题的意义分析钟表作为一种定时工具被广泛的使用在生产生活的各方面。人类最初依靠太阳的角度来进行定时,所以受天气的影响比较大,为了克服依靠自然现象定时的缺点人们发明的机器钟表,电子钟表一系列的定时工具。而电子钟表具有价格便宜,质量轻,定时误差小等优点,被广

2、泛的应用在生产,生活的各个方面。由于电子钟的能提供精确定时又被广泛的运用在测量之中。此电子钟采用单片机进行设计,8段数码通过单片机进行刷新显示。其设计的产品除了单片机之外没有用到其他集成块,使其成本可以大大降低,而其便于维修。成品可以被广泛的用于公共场所,匾额装饰,以及教学等方面。本课程设计的实验目的是通过该实验掌握较简单程序的设计,能够独立完成用程序对AT89S52控制独立键盘和LED数码管的控制,完成电子钟的显示和时钟功能,独立编写程序明白电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼,通过这次设计实践能使自己的设计水平和对所学的知

3、识的应用能力以及分析问题和解决问题的能力得到全面的提高。2.设计原理及相关理论分析本设计采用单片机AT89C52作为控制芯片,用C语言对其进行编程实现,利用单片机的定时器和中断功能,实现时钟的计时功能,利用独立按键实现调时、调分功能。由于单片机的I/O端口不能直接驱动数码管,所以用74HC573作为驱动数码管的芯片,使数码管能以正常亮度显示,而没有用到74HC573的锁存功能。由于C语言库函数繁多,所以我采用调用C语言库函数来解决多种运算类型,这样编程更简单,运行起来也更可靠。3.设计整体方案 设计框架图如图1所示总共分为5小部分:时间显示部分,键盘控制部分,单片机部分,电源部分。本设计各部分

4、由统一电源集中供电,外加被用电源确保主电源断电时备用电源及时供电避免时间的丢失.采用12MHZ晶振为单片机提供时钟。显示部分采用容易购买的LED八段数码显示管 ,利用单片机输出高低电平实现数码管的刷新显示。LED具有显示明亮,容易识别,价格便宜等优点,特别适合时间的显示。;利用74HC573作为驱动数码管的芯片,使数码管能以正常亮度显示。按键部分采用普通的按建开关,使用查询方式从而节约元件。 图1 设计方案整体方框图3.1控制器模块3.1.1概述AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的

5、可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flas

6、h存储器可有效地降低开发成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。 3.1.2主要功能特性 兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共8个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能3.1.3 AT89C52各引脚功能及管脚电压图2 AT89C52管脚图AT89C52为40 脚双列直插封装的8 位通用微处理器,

7、采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被

8、定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。3.2输入模块本设计要求能输入一个低电平信号,只要在程序中写入去抖程序,即可很容易实现调节电子钟的时分的作用,而且这种键盘的编程方法已很成熟。3.3输出模块考虑到输出的数字能清晰可见,而且同时显示时分秒,而且在比较远的距离都能看清楚,所有不考虑使用1602液晶来显示,用数码管来显示虽较

9、硬件电路复杂,但能清晰美观的显示出0-9的数字,而且在比较远的距离都能看清楚,所有本设计选用两个四位七段数码管来显示,并且硬件电路设计简单,显示美观。经过方案论证,最终确定的系统组成框图如图3-1所示。其中单片机作为主控设备对采集输入信号后并进行处理,最后通过四位七段数码管输出给使用者。该系统的结构框图如图3。 图3 系统输出模块框图 图4 时钟电路4.硬件电路原理分析4.1单片机时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在MCS-51芯片内部有一个高增益反相放大器,其

10、输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。 此电路采用12MHz的石英晶体。时钟电路如图4。4.2单片机复位电路复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,若使用频率为12MHz的晶振,则复位信号持续时间应超过4s才能完成复位操作。

11、复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。在本设计中采用了按键电平复位方式,其复位电路如图5。图5 复位电路4.3 四位八段数码管显示电路4.3.1 四位共阴数码管3461工作特性型号:3461AS;引脚数:12(6*2);极性:共阴;尺寸:3.0cm(L)*1.4cm(H)发光颜色:红;亮度:高亮;工作电压:3-3.6V(小数点位2.0V);工作电流:20mA4.3.2 四位共阴数码管3461内部结构内部的四个数码管共用adp这8根数据线,为人们的使用提供了方便,因为里面有四个数码

12、管,所以它有四个公共端,加上adp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为112脚,图6中的数字与之一一对应。图6 四位共阴数码管3461内部结构图4.3.3 四位共阴数码管3461外部尺寸图7 四位共阴数码管3461外形尺寸4.3.4 四位共阴数码管管脚定义对于四位一体数码管:A-11;B-7;C-4;D-2;E-1;F-10;G-5;BIT1-6;BIT2-8;BIT3-9;BIT4-12;DP-3;图8 MCU与8段数码管的连接图9 四位共阴数码管AT1602与单片机接口电路4.4 驱动锁

13、存电路本系统采用74hc573作为驱动数码管显示电路,而没有使用其锁存功能。4.4.1 74hc573特性74hc573是高性能硅门 CMOS器件 ,SL74HC573跟 LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和 LS/ALSTTL输出兼容。 当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 输出能直接接到CMOS,NMOS和 TTL接口上 操作电压范围:2.0V6.0V 低输入电流:1.0uA CMOS器件的高噪声抵抗特性4.4.2 74hc573管脚介绍图10 74

14、HC573管脚图OE120Vcc1D2191Q2D3182Q3D4173Q4D5164Q5D6155Q6D7146Q7D8137Q8D9128QGND1011LE1脚三态允许控制端低电平有效1D8D为数据输入端1Q8Q为数据输出端74HC573引脚图图11 74HC573功能表4.4.2 74hc573时序图12 74HC573时序图4.5 键盘电路独立式键盘。其电路图如图所示,这种键盘的硬件简单,使用的I/O口也不多,而且这种键盘的编程方法已很成熟。所以本次设计采用这种独立式键盘。其电路图如图。图13独立式键盘5.软件设计5.1 程序流程图5.1.1主程序流程图初始化:定时器初始化、中断模式

15、选择,附初值,开中断、时分秒初始化,主程序是系统的主要部分,它调用各个子程序,完成系统功能。实现时分秒在数码管上的正确显示,并且具有较时功能。处理子程序:主要是判断是有有键按下,是对应的调时,调分的哪个键按下,判断之后,进入相应的处理程序,本系统使用的是case语句,来实现有键按下究竟是实行时加、时减,还是分加、分减。图14 系统程序总流程图5.1.2 显示子程序流程图显示子程序的功能是将时分秒的变化在数码管上显示出来,采用的是动态扫描的方法,在程序中分别按秒、分、时的格式送信号,这一这样在主程序循环调用显示子程序,就能把时分秒在数码管上显示出来,因为时间很短,肉眼是分辨不出数码管是一个一个在

16、亮的,看起来是一直在显示。图15 显示子程序流程图 图16 按键处理子程序流程图5.1.3 按键处理子程序流程图 本子程序主要是检测是否有调时的按键输入,并判断是调时还是调分,并且一些效果处理语句组成。6. 调试与测试结果分析6.1系统总的原理图图17 电子钟系统原理图6.2硬件调试(1) 把电路板焊好后,先通过检查电路板表面检查是否有漏焊、错焊、接触不良等;(2) 编写检测程序逐个点亮数码管,检查数码显示部分是否有硬件问题; (3)编写检测程序检测矩阵扫描是否有硬件问题。6.3程序调试重点就是这个部分,很多程序就是在调试过程中慢慢完善,先前所完成的程序部分只能算一个基本框架,当然,这一切是建

17、立在硬件没用问题的基础上程序在进行调试时,可以像硬件一样使用分模块调试,这样可以最迅捷的找出问题所在,不受其他模块的影响在硬件调试时,一开始时51芯片不工作,经过反复检查后发现原来51芯片的31脚(/EA/VPP)必须接入高电平才能使单片机在读取程序时优先访问内部程序存储器,否则只访问外部程序存储器,而我们的程序是在内部的,故芯片不工作,我们随即在31脚外接VCC和限流电阻,在解决了这个后,硬件OK了,在测试的时候黄老师说的板子线太乱,然后我就拿回去把板子重新布置了,果然美观多了.开始的时候还因为没驱动芯片直接用单片机驱动数码管虽然亮度很暗,后来在焊上74HC作为驱动电路,果然效果好多了,为什

18、么会出现这个焊驱动呢,因为我在protues做仿真时,没有发现亮度很暗,由此让我懂得了软件调试和硬件还是有差别的。软件调试时问题就比较多了,很多都是小问题,大多是因为在编写程序时一些地方不够注意或笔误引起的,在这里就不过多解释,少部分是一些难以解决的大问题,一开始的程序在protues调试时,每按一下调节按键时显示都会闪一下,但通过去抖程序后,问题得到了很好的解决。7.心得体会从这次课题设计任务中,我学习到了很多,经过个人的努力,黄老师的精心指导,还有和在网上找到的一些资料,主要让我掌握了数码管的编程方法,掌握了独立式扫描的编程方法,这也是编程必须掌握的知识。当然调试的时候你也是一个重点,也让

19、我收获良多,这其中就分硬件和软件两部分,硬件虽没有焊接问题,但是板子的美观问题不是很好,让我懂得了什么都不仅要有内在的东西,外在功夫也是要的。通过此次单片机课程设计,在黄老师严格按照毕业论文的要求的情况下,做的时间比较久,但还是学到了很东西,为明年的毕业论文打下了基础。本次试验的程序是自己独立设计完成的,虽然是比较简单的电子钟程序,但是要美一步都安自己的思路来走通的话也不是那么容易的,让我对单片机和我们的专业有了更深的了解和兴趣。其中最重要,最麻烦,也是学到和掌握的东西最多的地方就是软件调试了,这样你出现问题是你才能根据问题改变程序内容而达到目的。我们出问题最多的也是这个地方,这证明了我们对程

20、序的掌握还有欠缺,不能熟悉的掌握和运用程序,所以导致我们不能很快很好的完成课题任务。当然也还有很多细节方面和人工的失误问题,我们几个第一次的配合还是不能很好的进行。程序编写上也出现了很多细节的错误,并不能把程序依次性就编写好,这也浪费了我们很多的时间,这主要也是我们没有把这方面的知识学扎实。所以我们要把一次课题设计好,不但要学习好课堂的知识,而且要注意各方面的细节。这次课题设计使我们各方面都得到了一定的锻炼。参考文献1 李全利,仲伟峰,徐军著.单片机原理及应用M.北京:清华大学社,2006.2 何立民著单片机高级教程M.北京:北京航空航天大学出版社,2000.3 谭浩强著程序设计与开发技术M北

21、京:清华大学出版社,1991.4 钟富昭著.8051单片机典型模块设计与应用M.北京:人民邮电出版,2007.5 于永,戴佳,常江著.51单片机C语言常用模块与综合系统设计实例精讲M.北京:电子工业出版社,2007.附录1 程序清单/*本实验图单片机的定时器和中断实现简易的电子钟*/#include #define unchar unsigned char #define unint unsigned int sbit le=P35; char led_mod=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; unchar shi,fen,m

22、iao,count,key2; void display(unchar ,unchar,unchar ); unsigned char Getkey(void); void delay(unchar time) int x,y; for(y=time;y0;y-) for(x=110;x0;x-); /*定时器中断*/ void timer0 (void) interrupt 1 using 1 TH0=-(50000/256); TL0=-(50000%256); count+; void main() TMOD=0X01; TH0=-(50000/256); TL0=-(50000%256

23、); EA=1; ET0=1; TR0=1; shi=0; fen=0; miao=0; count=0;while(1) if(count=20) count=0; if(miao=59) if(fen=59) miao=0; fen=0; shi+; if(shi=24) miao=0; fen=0; shi=0; else miao=0;fen+; else miao+; key2=Getkey(); switch(key2) case 1: shi+; if(shi=24) shi=0; break; case 2: fen+; if(fen=60) fen=0; break; cas

24、e 3: fen-; if(fen=(-1) fen=59; break; case 4: shi-; if(shi=(-1) shi=23; default: break; display(shi,fen,miao); /*显示子程序*/ void display(unchar a,unchar b,unchar c) P1=0xfe; le=1; P2=led_moda/10; le=0; delay(1); P1=0xfd; le=1; P2=led_moda%10; le=0; delay(1); P1=0xfb; le=1; P2=0x40; le=0; delay(1); P1=0

25、xf7; le=1; P2=led_modb/10; le=0; delay(1); P1=0xef; le=1; P2=led_modb%10; le=0; delay(1); P1=0xdf; le=1; P2=0x40; le=0; delay(1); P1=0xbf; le=1; P2=led_modc/10; le=0; delay(1); P1=0x7f; le=1; P2=led_modc%10; le=0; delay(1) /*时钟调节子程序*/unsigned char bool;/bool 是否松键的标志unsigned char Getkey(void) unsigne

26、d char temp,key=0;P3=(P3&0xff)|0xc3;if(P3&0xff)!=(P3&0xff)|0xc3) /有键按下 /delay01s(); if(P3&0xff)!=(P3&0xff)|0xc3) &(bool=0) / 有键按下 temp=(P3|0x3c); if(temp=0x01) key=1; else if(temp=0x02) key=2; else if(temp=0x40) key=3; else if(temp=0x80) key=4; bool=1; if(P3&0xff)=(P3&0xff)|0xc3) &(bool=1) bool=0; r

27、eturn key; /返回116键值附录2 软件仿真截图图18软件仿真截图附录3 实物图19实物图赣南师范学院20102011学年第二学期单片机与接口技术课 程 设 计行政班级 08电信(本) 学号 080802029 姓名刘祖亮论文题目:基于AT89S52单片机实现的简易电子挂钟论文要求:1.能在8个数码管上同时显示时、分、秒;2.具备上电清零等功能;3.通过四个按键能分别增减任意调节时和分;4. 采用24小时制。教师评语: 本课程设计运用单片机AT89C52实现了简易电子挂钟的设计,选题体现了课程培养目标。论文中对相关理论的论述、硬件结构和软件的分析说明也比较到位。本设计经检测实现了全部功能。论文格式规范,功能程序论述到位。刘祖亮同学在设计的整个过程,态度还算认真,有一定的钻研精神。本设计难度中等,基本无创新。本课程设计成绩评定为: 教师签字:年 月 日选课班级 08电信(本)任课教师 黄隆胜 成绩

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1