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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机AT89C51控制的电子时钟课题设计报告.docx

1、基于单片机AT89C51控制的电子时钟课题设计报告课 程 设 计 报 告论文题目 单片机-电子钟 专业班级 学生姓名 学 号 指导教师 宁波技师学院电气技术系二零一三 年 九月摘 要数字钟是一种用数字电路技术实现时、分、秒计时的装置,在现实生活中,各种数字钟已得到非常广泛的使用.数字钟的设计方法有许多种,例如可用中小规模集成电路组成数字钟,也可以利用好单片机来实现数字钟等。这些方法都各有特点,其中利用中小规模集成电路组建数字钟,原理简单,但由于集成电路集成度有限,对于需要实现较多功能的电路设计比较复杂,对于制作者焊接和布线有比较高的要求。用单片机实现的电子钟具有结构简单,并便于功能的扩展,但需

2、要涉及到汇编以及C语言编写程序,对设计者有较高的要求。1 引 言数字钟是采用数字电路实现对时、分、秒,数字显示的计时装置广泛用于个人家庭,车站,码头,办公室等公共场所,成为人民日常生活中不可少的必须品,由于数字集成电路的发展和石英振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给 人们生活带来极大的方便,而且大大地扩展了钟表原先的报时功能。比如定时自动报警,校时自动打铃,自动启闭路灯等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用有着非常现实的意义。2.总体设计方案2.1 系统设计方案本次设计的题目是可以正常的显示时、分、秒。本系统利用单片机实现具有计时、校

3、时等功能的数字时钟,是以单片机AT89C51为核心元件,同时采用四位一体数码管动态显示“时”、“分”、“秒”的现代计时装置。它具有显示直观,校时功能等特点,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。本次设计可分为两部分:硬件部分、软件部分。硬件部分包括:AT89C51单片机四位一体显示器。主要由AT89C51单片机、显示输出电路、按钮输入电路等几大部分组成。具体说来,系统智能控制部分由单片机及其相关的外围电路组成,外围电路包括复位电路、数字钟电路、键盘设计。利用单片机将复位电路、显示电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。2.2 结构框图3 硬件

4、设计3.1 时钟电路89C51片内没有一个由反向放大器所构成的震荡电路,XTAL1和XTAL2分别是振荡电路的输入端和输出端。内部方式时钟电路只要在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就能产生自激震荡,晶体频率可以在1.2MHZ到12MHZ之间,电容值在5PF到30PF之间,电容可起频率微调作用,在5PF到30PF之间,频率越高,电容值越小32复位电路按键电平复位是通过复位端经电阻与VCC接通而实现的,也是一个高电平有效电路,无极电容C的两端不能突变,所以Ua=Vcc,Uab=Ua-Ub,Ub=Ua-Uab 3.3 四位一体数码管显示4 软件设计4.1 主程序流程图4.2初始

5、化void csh(void) TMOD=0X11; TH0=0XF8; TL0=0X30; smg=0xff; EA=1; ET0=1; minute=0; minute1=0; TH1=0xd8; TL1=0xf0; TR1=1; ET1=1; lsd_4=1;4.3 数码管显示void smgxs(void) if(xtw=1) xt_en4=1; smg=smgxsmqw; xt_en1=0; if(xtw=2) xt_en1=1; smg1=smgxsmbw; if(dp_en=1) smg=smg1&0x7f; else smg=smg1; xt_en2=0; if(xtw=3)

6、xt_en2=1; smg=smgxsmsw; xt_en3=0; if(xtw=4) xt_en3=1; smg=smgxsmgw; xt_en4=0; 4.4数码管关闭void smggb(void) smg=0xff;4.5按键处理void key_cl(void) if(zqz=0) if(ziqz=1&dqz=1) smg_en=!smg_en; TR0=1; if(ziqz=2&dqz=2) smg_tz=!smg_tz; if(ziqz=3&dqz=3) sj_xz=!sj_xz; if(ziqz=4&dqz=4) sjsz+; if(sjsz=5) sjsz=0; if(ziq

7、z=7&dqz=7) clock_en=1; if(sjsz=1) lsd_1=0; if(ziqz=5&dqz=5) minute1+; if(minute1=10) minute1=0; minute+; if(minute=6) minute=0; minute1=0; if(ziqz=6&dqz=6) minute1-; if(minute1=-1) minute1=9; minute-; if(minute=-1) minute1=9; minute=5; if(sjsz=2) lsd_1=1; lsd_2=0; if(ziqz=5&dqz=5) hour1+; if(hour1=1

8、0) hour1=0; hour+; if(hour=2&hour1=4) hour=0; hour1=0; if(ziqz=6&dqz=6) hour1-; if(hour1=-1) hour1=9; hour-; if(hour=-1) hour=2; hour1=3; if(sjsz=3) lsd_3=0; lsd_2=0; if(ziqz=5&dqz=5) c_hour1+; if(c_hour1=10) c_hour1=0; c_hour+; if(c_hour=2&c_hour1=4) c_hour=0; c_hour1=0; if(ziqz=6&dqz=6) c_hour1-;

9、if(c_hour1=-1) c_hour1=9; c_hour-; if(c_hour=-1) c_hour=2; c_hour1= 3; if(sjsz=4) lsd_3=0; lsd_1=0; lsd_2=1; if(ziqz=5&dqz=5) c_minute1+; if(c_minute1=10) c_minute1=0; c_minute+; if(c_minute=6) c_minute=0; c_minute1=0; if(ziqz=6&dqz=6) c_minute1-; if(c_minute1=-1) c_minute1=9; c_minute-; if(c_minute

10、=-1) c_minute1=9; c_minute=5; 5制作与调试在决定做数字钟的时候,先在PROTUES上画好图,进行仿真,刚开始的时候出现了几个错误,用错了了几个元器件,经过几次修改之后,终于在PROTUES上做好了,接着到Protel99S进行画图,因为已经在PROTUES上画好图了,所以只要对着PROTUES画图就可以了,基本上没什么困难,但有些图在图库上没有,要自己手动去画,花了比较上的时间,还有一个四位一体数码管的管脚,只要一画错,基本上就很麻烦了,所以画封装的时候,一定要搞懂四位一体数码管管脚是怎么接的,另外有几个元器件封装也要自己画。在Protel99S上画完图之后打印给

11、老师看,老师看了之后给我指出了几个小错误,而且跟我一样的有很多,以前根本没注意到过,总是认为自己看的懂就行了,现在知道不仅要自己看的懂,别人也一样要看得懂,不然画图就没意义了,改好之后又给老师看了一遍,老师觉得没问题就给我签字了,去把器件领好。领好之后在Protel99S上画原理图,画完之后发现因为封装原因有好几个地方需要修改,浪费了比较长的时间,画好之后去打印出来给老师去看,老师说三极管的封装不对,太小了,会出问题,看了一下,发现真的有点小,改好之后检查一下,看看还有没有不够大的,发现按键貌似也有点小,很难放进去,于是把按钮的封装也改了一下,经过元器件一个一个放置之后,又给老师看了看,老师说

12、没问题就去做电路板吧,于是当天晚上就开始加夜班,争取把电路板早点完成,还好晚上人也不是很多,也就十多个,也就在腐蚀电路板的时候等了一些时间,其余的时候没人跟你抢,板完成之后就开始焊元器件了,不过因为之前腐蚀和打孔的时候有几个孔比较难焊,所以那几个焊的比较难看,之前数字钟的程序写过,已经烧进单片机里面了,所以直接插进去就行了,结果是失望的,但庆幸的是,最起码电路没接错,只是反应跟预期的不一样而已,反了一下,老师说有人看表是这样看的,还不累死,只能程序改一下,把位选通改了一下,又把程序烧到单片机内,还好,成功了,不然估计要崩溃了,确定没问题之后给老师看过,就把电路板上交了。6 结 论通过这次实习,我发现了自己的很多的坏习惯,有一些是经常犯的,已经不是一次两次了,明明知道是你对的,但有时候就是控制不住去犯了,比如粗心大意,经常出一些小问题,可是出的问题不是很难的那种,只要注意点根本就可以避免。还发现自己的很多不足,有时候有点懒散,专业知道学的也不够扎实,希望经过以后的时间能够改正这些坏习惯。附录1 系统实物图附录2 仿真图附录三 原理图附录四 PCB图 (注:可编辑下载,若有不当之处,请指正,谢谢!)

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

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