已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机电子钟课程设计学 院 机械工程学院 班 级 机制1074 姓 名 庄建华 学 号 2010718126 成 绩 指导老师 王晓峰 2012年 01月 日1、 课程设计的目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。2、 课程设计任务(1)设计AT89S51的最小系统; (2)LED显示电路及与AT89S51接口,LED数码块显示时,分,秒;(3)时钟调整电路及与AT89S51接口; (4)电子时钟程序设计;(5)基于Proteus的电子时钟原理路及仿真实现;(6)电子时钟事物制作(可选) 3、 硬件结构概述(一)复位电路图1单片机复位电路单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。(二)晶振电路 下图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。图2晶振电路(三)按键电路 图3 按键电路 如图3所示,为按键部分。其中,K1为功能选择键,K2为确定键,K3为复位键,其原理为:检测P1.0-P1.1上点位,当有键按下时为高电平,当没有键按下时为低电平。(四)显示部分 图4 显示电路 如图4所示,为显示电路部分,P0口输出段码,P2口输出位码。采用六位共阳极七段数码管显示,用NPN型三极管驱动位,P0口接上拉电阻,驱动段。4、 软件结构概述(一)代码说明#include#define uint unsigned int#define uchar unsigned charsbit second_set=P10;sbit minute_set=P11;sbit hour_set=P12; sbit go=P13;uchar code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xbf;/数码管段选编码表uchar code disbit=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; /数码管位选编码表uchar aa,second,minute,hour;uchar buffer=0,0,0,0,0,0,0,0;void delay(uint t);void display();void main() TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; /定时器0初始化 aa=0; second=0; minute=0; hour=0; /各变量初始化 while(1) P1=0xff; /P1口作为读入口,检测按键状态 if(second_set=0) /秒设置键编码 delay(5); /按键消抖 5ms if(second_set=0) TR0=0; /设置时,关闭定时器0second+;delay(3); if(second=60) minute+;second=0;if(minute=60)hour+;minute=0;if(hour=24)hour=0; while(!second_set); /按键松手检测 display(); if(minute_set=0)/分设置键编码 delay(5);if(minute_set=0)TR0=0;minute+;delay(3);if(minute=60)hour+;minute=0;if(hour=24)hour=0;while(!minute_set); display(); if(hour_set=0) /时设置键编码 delay(5);if(hour_set=0)TR0=0;hour+;delay(3);if(hour=24)hour=0;while(!hour_set); display(); if(go=0) /开始键编码 delay(5);if(go=0)TR0=TR0;while(!go); display(); void timer0()interrupt 1 aa+; TH0=(65535-50000)/256; TL0=(65535-50000)%256; if(aa=20) /此时计满一秒 aa=0;second+;if(second=60)second=0;minute+;if(minute=60)minute=0;hour+;if(hour=24)hour=0; void delay(uint t) /延时子程序uint x,y;for(x=t;x0;x-)for(y=177;y0;y-);void display() /显示子程序uchar i;buffer0=second%10;buffer1=second/10;buffer2=10;buffer3=minute%10;buffer4=minute/10;buffer5=10;buffer6=hour%10;buffer7=hour/10;for(i=0;i8;i+)P0=tablebufferi; /段选P3=disbiti;/位选delay(3);P3=0x00; /P3作为驱动口5、 调试过程(一)系统仿真首先建立一个工程项目选择芯片确定选项,然后建立c源文件(将做好的*.c文件加入),再用项目管理器生成(编译)各种应用文件,最后检查并修改源文件中的错误。运行proteus软件进行仿真现在proteus软件中建立一个新的文件,再根据自己的要求选择所需的器件,把器件进行适当的排位后进行连接,连接后运行软件进行仿真。效果如图:图6 调试效果(二)仿真过程中出现的问题及解决方案1)子函数disp3( )原本想要的效果是,当对时钟的某位(时、分、秒)进行调整时,对应的两位数码管会闪烁,但在调试过程中,我们发现当设置同样的闪烁间隔时间时,不同电脑会有不同的效果。比如,在这台电脑上闪烁,而在另一台上调试时却不闪烁。2)开始调试时,经常会发现按键没有按照预定的功能进行工作,或者出现乱码,经过多次尝试,我们发现这都是我们在原来按键的基础上添加功能时,更改或影响了其他的计数器或状态值,根据这个原因,我们逐个排除了许多错误,最终所有的功能都达到了满意的效果。3)调试过程中,我们发现了一个奇怪的现象,到现在还不能解释清楚:在对计数器重装初值时,本来是要对初值进行加3-8个周期的修正以减小误差计数误差,但实际上我们发现适当减小计数初值,系统的误差会更小。经过多次的调时我们将时钟的误差保持在0.002s/25s,算是比较理想的了。6、 心得体会单片机作为我们主要的专业课程之一,我觉得单片机课程设计很有必要,而且很有意义。但当拿到题目时,确实不知道怎么着手,有些迷茫,上网查资料,问老师,在老师的帮助下,历时一个星期,解决一个又一个的困难,终于完成任务。在这次课程设计中,运用到了很多以前的专业知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的一大收获。另外,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,不能灵活运用。通过这次设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年董监高辅导模拟试题(含答案)
- 2026年二级建造师之二建矿业工程实务题库练习试卷B卷及答案详解
- 2026年财务注会模拟试题(含答案)
- 2026年台州消防考试模拟题及答案详解
- 受限空间知识考试题及答案详解
- 缝制机械装配调试工冲突解决竞赛考核试卷含答案
- 2026年历史学专业考研模拟试题(含答案)
- 智慧医疗智能药事管理系统技术知识考察试题及答案详解
- 2026年变应性肉芽肿性血管炎治疗模拟试题(含答案)
- 2026年小学语文教育模拟试题(含答案)
- 2026-2030中国新型农村社区与新农村综合体产业发展分析及典型案例研究报告
- 绿色粮食仓储设施项目技术方案
- 2026新版动火作业专题培训课件
- 兴国县江背河山洪沟防洪治理工程水土保持报告书
- 小学数学分层教学设计实践案例
- 珠江流域(片)水土保持规划
- 学前儿童家庭与社区教育(第2版)课件 第0-6章 绪论、家庭-家庭与儿童情绪能力的发展
- 纪委内部信息报送制度
- 充电桩安全检测仪器使用操作规范
- 《极限配合与技术测量基础(第六版)》中职全套教学课件
- 管道水压试验培训课件
评论
0/150
提交评论