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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字钟设计报告 精品.docx

1、数字钟设计报告 精品一、设计目的 本次综合应用课程设计的目的是训练我们把理论运用于实际的能力,加深对模拟电路、数字电路、微机原理、单片机(嵌入式、DSP、PLC)等相关课程理论知识的分析理解。通过实践把原理分析与工程设计结合,掌握软硬件系统设计的基本方法和一般规则,提高综合应用能力,培养我们的创新思维和实践能力。因此我们做的时钟只是一个简单的时钟设计,是用单片机AT89C52完成主要功能的简单设计,有最一般的时钟的功能。 此次课程设计,有助于我们对电子线路知识的整合和电子线路设计能力的训练,还有课程设计完成后的答辩的准备,为后继课程的学习和毕业设计打下一定的基础。二、设计内容与方案 (1)本次

2、设计时钟电路,最初的设想方案是用AT89C52单片机芯片控制外围电路,用6位共阴数码管显示时间,用上拉电阻来驱动数码管的显示,用喇叭进行整点报时,单片机编程用汇编语言。但由于在编程过程中,汇编语言指令多、编程难,因此改为用C语言编程。在用C语言编程来实现用按键转换12小时制和24小时制的时候遇到了困难,因此又把按键改为开关。另外学校只有4位和2位及1位的共阳数码管,因此又把6位共阴数码管换掉,同时接受老师的建议,把数码管的驱动电路改为数码管的段选用74LS245来驱动。最后在领元件的时候老师说单片机也不能驱动喇叭,把喇叭换成蜂鸣器。 (2)仿真时的设计方案是:使用AT89C52单片机芯片控制电

3、路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂;使用键盘键上的按键来调整时钟的时、分以及键盘上的开关实现12小时制和24小时制的转换;用一蜂鸣器来进行整点报时;同时使用C语言编程,使得编程变得更容易;用一个4位和一个2位共阳数码管来显示时间,且数码管的段选用74LS245来驱动,位选用74LS04驱动。这样通过四个模块:键盘、单片机芯片、蜂鸣器、数码管显示即可满足设计要求。硬件选择(1)单片机的选择 选用AT89c52单片机,并配备12MHz晶振,复位电路采用上电复位。(2)显示电路选择 采用软件译码动态显示,P3.0-P3.3作数码管的位选口。P1.0-P1.6作数码管的段选

4、口。考虑直接用单片机I/O口作位选时驱动功率不够,(3)电源选择 采用直流5V电源供电。(4)选择器的选择 74ls04。 (5)CTC89c52单片机是一种低功耗,高性能的片内含有4KB可编程/擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与AT89C52引脚和指令系统完全兼容。芯片上的FLASH允许在线编程或采用通用的非易失存储编程器对存储器重复编程。三、基本功能描述 (1)、 要求准确显示“时”、“分”、“秒”,24 小时制; (2)、 具有整点报时

5、功能,在每小时59 分51 秒、53 秒、55 秒、57 秒发出低音,59秒整发出高音; (3)、系统工作符合一般时钟要求。 整个电路的工作流程为:单片机内部计数器持续计数,得到的数据通过程序的控制转化成时间,并通过对输出端口输出不同的高低电平来控制数码管和蜂鸣器的工作。与此同时,单片机还在不停地扫描连接键盘的输入端口,通过得到输入端口的不同电平来判断键盘的工作情况,再通过程序的控制来影响数码管和蜂鸣器的工作四、设计原理示意图此电路包括以下四个部分:单片机,键盘,报时电路及显示电路。设计原理示意图五、仿真电路连接图设计的电路主要由四模块构成:单片机控制电路,显示电路、报时电路以及调时电路。该电

6、路的单片机复位采用上电复位,即给电路一通电,电路就从程序最初设置的状态开始工作。为了方便检测报时,我们把时钟的初始值设为00点59分48秒,当电路一通电,数码管就显示此值,三秒后蜂鸣器开始发音报时,并按59 分51 秒、53 秒、55 秒、57 秒发出低音,59秒整发出高音的规律发音。6、各芯片器件管脚图(1)4位共阳数码管引脚图【附】LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。共阴和共阳极数码管,它们的发光原理是一样的,只是它们的电源极性不同而已。(2)2位共阳数码管引脚图

7、(3)74LS04管脚图(4)74LS245管脚(5)主程序流程图(6)AT89C52单片机AT89c52单片机采用40条引脚双列直插式器件,引脚除5V( 40脚)和电源地( 20脚)外,其功能分为时钟电路、控制信号、输入/输出三大部分,逻辑框图及引脚图分别如图2.4(a)(b)所示 (a) (b) 区别: AT89C52单片机的内部硬件结构中除了程序存储器由FLASH取代了87C51单片机的EPROM外,其余部分完全相同7、总程序#includesbit BUZ =P33;sbit HOURADD=P30;/小时加1sbit MITADD=P31;/分钟加1sbit change=P32;/

8、进制转换unsigned int tmcnt;/定时器计数unsigned int h=0,m=59,s=50;/h为小时,m为分钟,s为秒钟unsigned char code seg7=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/共阳数码管0-9码值unsigned char code disp=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/位扫描unsigned char data disdata6;void Delayms(int ms) /延时函数 while(ms) unsigned char i; for

9、(i=0; i120; i+); ms-; void display()/扫描显示 unsigned char i; disdata0=h/10;/数据处理,小时高位 disdata1=h%10;/小时低位 disdata2=m/10;/分钟高位 disdata3=m%10;/分钟低位 disdata4=s/10;/秒钟高位 disdata5=s%10;/秒钟低位 for(i=0;i=12)/若h12,则执行h-12,转换成12进制 h=h-12; if(HOURADD=0)/判断是否按下小时加1键 Delayms(10); if(HOURADD=0) while(HOURADD=0); h+

10、; if(h=24) h=0; if(MITADD=0)/判断是否按下分钟加1键 Delayms(10); if(MITADD=0) while(MITADD=0); m+; if(m=60) m=0; main() unsigned int time(); TMOD=0x01;/软件启动计数器、工作方式为方式1 EA=1; ET0=1;/允许定时计数器中断 TR0=1;/启动计数 while(1) keyscan();/扫描键盘 display();/显示 voice();/发声 八、仿真蜂鸣器发音的调试打算用喇叭发音,因为驱动带不起问题,就换成了蜂鸣器。在用蜂鸣器进行仿真调试时,我们发现蜂

11、鸣器不发音。把蜂鸣器的高位端电压改为5v,发音频率改为14,蜂鸣器始终不发音。我们通过网上查阅资料,最后把蜂鸣器自身的频率调大,更换为6568三极管,蜂鸣器终于响了。 在交换着两个元件时对其驱动电压、自身频率、发音频率均需作出改变。9、硬件调试我们给硬件通电,数码管显示全8,蜂鸣器一直发音,及蜂鸣器和数码管的每一位每一段都一直导通,而且数码管的显示很微弱。仔细检查我们的硬件电路,首先检查出来的错误是驱动芯片74LS245的接地端未接地,将其接地以后再通电,数码管仍然显示全8,蜂鸣器仍然一直发音,但数码管的显示要亮一些了。数码管和蜂鸣器一直导通的原因,我们怀疑是震荡电路没起作用或者单片机是坏的。

12、我们先检测震荡电路的情况,用示波器测出来的信号杂乱无章,于是我们又检测震荡电路的连接情况,发现震荡电路未接地。将其接地后再测试,数码管仍然显示全8,蜂鸣器仍然一直发音,但有高低电平的震荡信号。找同学帮我们检查,他指出我们段选用的P0端口没有接上拉电阻,单片机只有P1和P2端口自带上拉电阻,P0口必须外接上拉电阻。我们把数码管的段选改为P1口,测试出仍然是相同的情况。在多次改正错误仍无果之后,我们全面仔细地检查了我们的硬件电路,并没有其他错误。又写了一个直接给P1口赋上高低电平的简单程序,用万用表测出P1口全为高电平,又测试了其他端口,也是全高。我们认真分析了出现这种情况的原因:首先我们的显示模块和发音电路没有错,因为数码管有显示,蜂鸣器有发音;其次我们的震荡电路没有错,因为测试出有震荡信号;程序没有错,因为我们仿真成功了的;最后得出单片机是坏的这一结论。最后我们换了一块单片机再测试,终于成功了

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

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