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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

简易数字钟.docx

1、简易数字钟何衣工其會科信学院课程设计说明(2012 /2013学年第学期)课程名称:单片机应用简易数字钟设计周数:设计成绩:2013年 6 月 26 日第一章第二章2.12.22.3第三章3.1课程设计目的 *3课程设计任;*3设计题目 *原始数据及主要任务 *技术要求 *课程设计内容 *3案设*3.2 CD4511 芯片功能和使用方法 *3.3 MCS-51单片机定时器/计数器介*53 4 纟综合电路设*3 5 单元电路设计 *3.5.1辛键盘单.元 *3.5.2码管显*3.5.3时钟产生单元 *3.5.4虫蜂鸣器电路 单元 *第四章.原壬理和仿真 *3.6丿原理 I图和仿真 *3.7系统调

2、*103.8实习心得体*11考文*录(c 语言程序)*14一、课程设计目的:1.1综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现, 从 而加深对单片机软硬知识的理解,获得初步的应用经验。1.2学习AT89C51 定时/计数器的原理及基本应用,掌握多位数码管动态显示方 法以及芯片CD4511等的特点。1.3掌握Keil uVision2 的使用方法和PROTEU软件使用过程。二、课程设计任务2.1 设计题目:简易数字钟设计2.2原始数据及任务:采用AT89S51作为控制单元,实现简易数字钟设计。1、确定总体设计方案;2、设计键盘输入电路;3、设计显示电路;4、合理 分配地址,编写

3、系统程序;5、利用Protel设计硬件电路原理图和PCB图;6、 软硬件联机调试。2.3技术要求设计一台以MCS-51为核心的简易数字钟。四位数码管显示小时和分钟,中间的 那个点来区分小时和分钟;每秒用LED闪烁一下;用了 4个按键,一个是选择键,一个是加键,一个确认键。时间要精确,整点报时,声音间隔为一秒,并且可以 调整时间调整位闪烁提示。三、课程设计内容3.1 :方案设计过程如下根据题目要求利用P rotel设计原理图,请老师检查是否有错误。 利用仿真软件Protus铺设电路,进行合理安排布局。学习keil编程软件,按照功能要求进行编程。在确认无误后,将程序加载到 Protus进行仿真。根

4、据原理图进行硬件焊接电路板和检测。单元器件选择主要器件如下:STC90C52AD+ 片机470欧电阻,1个;(DIP40); 4位共阴数码显示管,4个300欧电阻,7个;NPN三极管4个3.2CD4511简介说明和使用方法简介:CD4511是一片CMOS BC锁存/7段译码/驱动器,用于驱动共阴极LED (数码管)显示器的BCD码一七段码译码器。具有BCD转换、消隐和锁 存控制、七段译码及驱动功能的 CMO电路能提供较大的拉电流。可直接驱动共阴LED数码管。使用方法:其中a b c d 为BCD码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“ 8

5、”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段 均消隐,正常显示时,B1端应加高电平。另外CD4511有拒绝伪码的特点,当 输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高 电平时锁存,低电平时传输数据。ag是7段输出,可驱动共阴LED数码管。 另外,CD4511显示数“6”时,a段消隐;显示数“ 9”时,d段消隐,所以显示 6 9这两个数时,字形不太美观,若要多位计数,只需将计数器级联,每级输出接一只CD4511和LED数码管即可。所谓共阴LED数码管是指7段LED的阴 极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选

6、取, 电源电压5V时可使用300Q的限流电阻。其真值表如下图所示:A,JULELTeAbcdefgfl.0V1:1111I01XXx0000000011000011I11I001100010t10000101100101I01101a01100111111001a011010001I0011H6101011o110115G1101100011111bG11O1111110o0o10111O0011I11i1aO111OO11I1001193.3 MCS-51单片机内部定时器/计数器中断系统简介用定时/计数器TO,工作于定时,采用方式1,对6MHZ勺系统时钟进行定 时计数,形成定时时间50ms计

7、1200次分计数器自增1,时计数器加到24则时 计数器清0。然后把分、时计数器分成十位和个位放到4个数码管的显示缓冲区,通过数码管显示出来。在处理过程中加上了按键判断程序,能对按键处理。3.4综合电路设计本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源序等组成。其原理框图如下图硕件设订模块丈现:341键盘单元键盘设计如下图所示(P0 口需要通过上拉电阻接到+5V电源,这其中12个键的功能分配如下S1:选择键S2 :加键 S3 :减键S4 :确认键采用扫描控制端口 P0的值来确定有没有键按下,按下的是那个键。342数码管显示我们采用共阴数码管显示共4个,段选端接P2 口,位选段接P

8、1 口,具体接 法如下:g NtKJJt i夫 t?. 一. . II11数码管位选端由P1 口高四位的4个端口控制,分别通过NPN接到数码管的公共端,其接法如上图:数码管显示是单片机中应用最为广泛的一种显示方式之一,共阴极数码管0到9十个数的代码如下:0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;343时钟产生单元51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振

9、荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图中,电容器C起稳定振荡频率、快速起振的作用,其电容值般在5-3OpF。晶振频率的典型值为12MH2采用6MHZ的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。外部振荡方式是把外部已有 的时钟信号引入单片机内。这种方式适用来使单片机的时钟与外部信号保持同步。344蜂鸣器电路单元:如图下所示vcg|R23U2BELL第四章原理和仿真3.5 P rotel 系统原理图如下:1卄?十I -I : Jvm204T -4+彳一”卜卜斗卜幷丁 -J -Tip-n V r 7|. .R-B. 卜 - | 1 ! I I : I

10、I J 丄ij_1 ; i 半 !-tswsaws I 1 1 I 1 I 1 i 1 j ! i n 厂1 1 1 1 一-J 厂1 一1 ! 一! 1 L 1 .-J: 7F坤m廿持WI !越卜1 -1占 丄:丄卜 ,J IF丄叩1严1IIG 1UT J Pt?TTGI IT心 F -RiOW i TW 酋: Ch : UU 1.! FTTm iiiTTST 卫刊丄 K JCi ;T. NJ K. t jcxk: : Aic h J A_iN - JO; K J X;=nag 曲JulK A Ail 札 1 M风 S jQJ F; 0 AtWE 心 li -R.Q lPl : r Jh二

11、g ?!-:J 祇 L;!芥ff1I_ 1LI r I II i.J1I4J2.J.D III SJrILRfl3JhlTIIlT-I.tjt一Protus仿真图如下:硬件调试时可先检查面包板及焊接的质量情况,在检查无误后可通电检查LED显示器的点亮状况。若亮度不理想,可以调整 P3 口的电阻大小,一般情况F取200Q电阻即可获得满意的亮度效果。硬件调试是利用基本测试仪器(万用表等),检查用户系统硬件第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点, 再检测各 种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插

12、座或是器件的电源端是否符合要 求的值第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。动态调试:是在用户系统工作的情况下发现和排除用户系统硬件中存在的器 件内部故障、器件连接逻辑错误等的一种硬件检查。 动态调试的一般方法是由近 及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块, 当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障 范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。 由分到合的调试既 告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进

13、行由近及 远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去, 就会定位故障元件了。软件调试:软件调试是通过对程序的汇编、 连接、执行来发现程序中存在的 语法错误与逻辑错误并加以排除纠正的过程。可以利用仿真器加以调试,对系统单个单元进行调试,当单元电路成功后, 在对整个程序调试,最后在用 CPU芯片调试。通过软硬结合的方式对电路板进行硬件调试, 硬件没错误之后,开始进行软 件编程,直到整个功能实现,并进行优化。3.7课程设计心得体会和收获:我经过这两个星期单片机课程设计的学习,我们组从画原理图。到的Protus仿真图修改,再到程序的编写和电路板的焊接都主要是我自己解决的,

14、,错了向 老师和同学们请教然后再次去修改。在这个过程中我不仅加深了对单片机理论的 理解,懂得了更多理论的知识,而且我还学会了将理论知识更好的运用到实际当 中去。课程设计是对我们能力的训练, 随着科学技术的不断发展,单片机已运用广泛。在生活当中可谓是无所不在,小到遥控器、手机,大到电脑等家用电器, 可以说跟我们的生活息息相关。因此作为二十一世纪的大学生来说掌握单片机的 开发及时是十分重要的。回想两个星期的课程设计,真的是感慨颇多,从刚刚开始的容易上手到后面的 摸不着方向,通过查询资料请教老师解决了所有的问题。通过这次的课程设计, 让我懂得了理论与实际的结合时非常重要的,只有结合起来才能得出想要的

15、结 论,从理论当中得出结论,从而提高自己的实际动手能力和独立思考能力。 在设 计的过程中发现自己的不足之处, 对以前所学的知识理解的不够深刻,掌握的不够不够牢固,比如对单片机的汇编语言不能理解,不懂得一些元件的运用等等。课程设计结束后,一定要把自己以前没学有车的重新温过一次。 在设计中遇到的 许多的问题,都在老师的帮助下和同学的指导下完成了, 让我体会到了团队合作 的重要性,同时也感谢同学和老师对我的指导。参考文献电力电子技术基础(第五版)康华光主编 高等教育出版社。单片机原理及应用张毅刚主编 高等教育出版社。电路设计与制版Protel 99入门与提高 老虎工作室编制。PROTEU入门实用教程

16、第2版周润景蔡雨恬编著机单片机10天征服你郭天祥 哈尔滨工程大学录制。2013生:专业班级:口号:周艳强10级自动化1023100412330年6月28日星期五附录:C语言实验程序如下#include vreg52.h #define uchar unsigned char #define uint unsigned int uchar code table=0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90;uchar t0,t1,min,hour,function,a0,a1,a2,a3;bit shan;void delay(uint count);

17、uchar keychuli();uchar key();void dis pl ay(uchar,uchar,uchar,uchar);void send();void ini();void chuli();/* 主函*void main()ini();while(1) dis play(16,16,16,17);TR0=1;function=1;shan=0;while(1)send(); / 送数void ini()/定时50ms中断一次TMOD=0x01,TH0=0x3c,TL0=0xb0;TH1=0x3c,TL1=0xb0;EA=1,ET0=1,TR0=0;ET1=1;TR1=0;/

18、*键值处理程序 *void chuli() switch(key()case 0: break;case 1:/当按键k1按下后function+; /判断按下的次数switch(function)case 1:TR0=1;TR1=0;shan=0;break;/一次条秒同时闪烁case 2:/两次调分同时闪烁case 3:/三次调分同时闪烁case 4:TR0=0;TR1=1;shan=1;break; /四次跳出调整状态时钟继续走时case 5:function=1;TR0=1;TR1=0;shan=0;break;/轮流循环break;case 2:/k2键上调 switch(funct

19、ion)break;switch(function)case 1:break;case 2:min-;if(min=255) min=59;break;case 3:hour-;if(hour=255) hour=23;break;break;/*定时器0的中断服务程序*void timerO() interr upt 1 using 3TH0=0x3c,TL0=0xb0;to+;if(t0=1200)t0=0;min+;if(min=60) min=0;hour+;if(hour=24)hour=0; /*定时器1的中数服务程序,对shan取反,以使灯闪烁*void timer1() int

20、err upt 3 using 2TH0=0x3c,TL0=0xb0;t1+;if(t1=40)t1=0;shan=shan;uchar keychuli() uchar k;k=P1;/P1 口内容送Kk=k;/取反/返回键值/屏蔽高4位,如果扫描8键,屏蔽该句。return(k);/*函数原型:key();功能:键盘扫描函数,函数返回值即键值。uchar key()send();dis play(a0, a1, a2, a3);dis play(a0, a1, a2, a3);keyzhii=keyzhi;send();dis pl ay(a0, a1, a2, a3);dis play(

21、a0, a1, a2, a3);keyzhi=keychuli();keyzhi=keyzhii;/按键释放后恢复按键键值return(keyzhi);/返回按键键值/*显示了稈序 *void dis pl ay(uchar a3,uchar a2,uchar a1,uchar aO)P2=tablea3; P1=0x10;delay(1); P2=tablea2;P1=0x20;delay(1); P 2=tablea1 ;P 1=0x40;/*delay(1); P2=tablea0; P1=0x80;delay(1);将数送至缓冲单元,当shan的标志位为1时,再根据此时的此时的功能标示, 对该位熄灭*void send()a0=min%10;a1=min/10;a2=hour%10;a3=hour/10;if(shan=1)switch(function)case 2:a0=16,a1=16;break;case 3:a2=16,a3=16;break;/*延时子程序基数为 1毫秒*void delay(uint count)uint j;while(count-!=0)for(j=0;j80;j+);

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

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