基于单片机的数字电子时钟.doc_第1页
基于单片机的数字电子时钟.doc_第2页
基于单片机的数字电子时钟.doc_第3页
基于单片机的数字电子时钟.doc_第4页
基于单片机的数字电子时钟.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

等级:湖南工程学院课 程 设 计课程名称 单片机课程设计 课题名称 基于单片机的数字电子时钟 专 业 班 级 学 号 姓 名 指导教师 2013年 5 月 21日湖南工程学院课程设计任务书 课程名称: 单片机课程设计 题 目:基于单片机的数字电子时钟 专业班级: 学生姓名: 学号: 指导老师: 审 批: 任务书下达日期 2013年 5月12日星期一设计完成日期 2013年 5月21日星期二 设计内容与设计要求一、 设计内容:1.设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动进入时钟准备状态;2.第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;3.再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。4.要求画出电路原理图,绘制元件封装,并打印出pcb图二、设计要求:1、思路清晰,给出整体设计框图和总电路图以及程序清单;2、单元电路设计,给出具体设计思路和电路;3、写出设计报告; 主要设计条件1 提供系统电路所需元件及芯片;2 所用设备及元件需在设计后归还。 说明书格式1 课程设计封面;2 任务书;3 说明书目录;4 设计总体思路,基本原理和框图(总电路图);5 单元电路设计,程序设计6 安装、调试步骤;7 故障分析与电路改进;8 总结与体会;9 附录(元器件清单);10 参考文献11、课程设计成绩评分表 进 度 安 排 第一周星期一:课题内容介绍和查找资料; 星期二:总体电路设计和分电路设计; 星期三:电路仿真,修改方案星期四 :确定设计方案,拟订调试方案,画出调试电路图,安装电路; 星期五:安装、调试电路;第二周星期一二 :安装、调试电路; 星期三 :验收电路;星期四五:写设计报告,打印相关图纸; 星期五下午:带调试电路板及设计报告书进行答辩; 整理实验室及其它事情。目录一、设计总体思路,基本原理和框图(总电路图)5二、单元电路设计,程序设计8三、安装、调试步骤25四、故障分析与电路改进25五、总结与体会25六、附录(元器件清单)26七、参考文献27八、评分表28一、设计总体思路,基本原理和框图(总电路图)计时模块(主函数部分):利用单片机定时器实现时钟的计时功能,定义每50ms发一次中断,定时器计数加1,当定时器计数到20次的时候就完成了1s的计时,依次每60s进位1min,每60min进位1h。显示模块:利用八段共阴数码管进行显示,这里用P0口对其段位进行控制,首先对六位数码管的段赋值,这控制数码管显示的数值,然后打开段经过锁存器进行所存然后关闭段;然后对位赋值,这控制是具体哪一位显示。按键模块:利用四个独立按键控制,K1控制时钟的运行、停止,K2控制调整的位,并由LED灯显示其对应的位,K3控制各位时间值的改变,K4控制24小时进制和12小时进制的切换。总体电路图如下:图1 单片机时钟仿真图原理图如下:图2 单片机时钟原理图PCB图如下:图3 单片机时钟 PCB图二、单元电路设计,程序设计USB通信模块原理图如下:图4 USB通信模块原理图电源供电系统电路原理图如下:图5 电源供电系统电路原理图复位模块、报警器模块、单片机晶振、ISP烧写接口原理图如下:图6 左上复位模块、右上报警器模块、左下单片机晶振、右下ISP烧写接口单片机最小系统原理图如下:图7 单片机最小系统原理图其他模块如数码管显示模块等请参照总图。程序流程图如下:开始扫描键盘K1是否按下开启定时器计时按键处理(修改时钟)调用keyscan1()显示是否图8 程序流程图显示模块是利用一组IO口对整个数码管进行控制,这里用P0口通过锁存器控制数码管的段值和位值,并分别通过P26和P27口控制两个74HC573锁存器的片选端,从而实现数码管的动态显示。显示模块程序如下:void display(uchar h1,uchar h2,uchar min1,uchar min2,uchar s1,uchar s2) P0=0x80; DU=1; DU=0; P0=0xf5; WE=1; WE=0; delay(5); DU=0; P0=tableh1; DU=1; DU=0; WE=0; P0=0xfe; WE=1; WE=0; delay(5); DU=0; P0=tableh2; DU=1; DU=0; WE=0; P0=0xfd; WE=1; WE=0; delay(5); DU=0; P0=tablemin1; DU=1; DU=0; WE=0; P0=0xfb; WE=1; WE=0; delay(5); DU=0; P0=tablemin2; DU=1; DU=0; WE=0; P0=0xf7; WE=1; WE=0; delay(5); DU=0; P0=tables1; DU=1; DU=0; WE=0; P0=0xef; WE=1; WE=0; delay(5); DU=0; P0=tables2; DU=1; DU=0; WE=0; P0=0xdf; WE=1; WE=0; delay(5);按键部分是使用了三个独立按键,分别由K1,P34;K2,P35和K3,P36控制,其中K1控制时钟的开启和关闭,当第一次按下的时候时钟开启,再次按下的时候时钟关闭。K2控制修改位,总共六位,初始默认为小时的最高位,并通过LED灯显示对应的数码管位,每按下一次循环右移一位。K3控制数字的递增。按键模块程序如下:void keyscan0()if(K1=0)delay(10);if(K1=0)while(!K1)FM=0;display(shi1,shi2,fen1,fen2,miao1,miao2);FM=1;ok+;if(ok=2)ok=0;void keyscan1()switch(wei)case 0:P1=0xfe;break;case 1:P1=0xfd;break;case 2:P1=0xfb;break;case 3:P1=0xf7;break;case 4:P1=0xef;break;case 5:P1=0xdf;break;if(K2=0)delay(10);if(K2=0)if(wei=4)&(shi11)|(shi24)&(shi12)shi1+;else shi1=0;break;case 1:if(shi29)&(shi12)|(shi23)&(shi1=2)shi2+;elseshi2=0;break;case 2:if(fen15)fen1+;elsefen1=0; break;case 3:if(fen29)fen2+;elsefen2=0; break;case 4:if(miao15)miao1+;elsemiao1=0;break;case 5:if(miao29)miao2+;elsemiao2=0; break;while(K3=0)display(shi1,shi2,fen1,fen2,miao1,miao2);计数部分写在了主函数里面,通过定时器定义了50ms的初值,每发一次中断就返回一个p值,当p=20的时候,即计时达到1s的时候,p清零,秒递增,以此类推。主函数及定时器中断函数如下:void main() TMOD=0x01; TH0=(65536-46080)/256; TL0=(65536-46080)%256; EA=1; ET0=1; while(1) keyscan0();if(ok%2=1)P1=0xff;TR0=1;if(p=20)p=0;miao2+;if(miao2=10)miao2=0;miao1+;if(miao1=6)miao1=0;fen2+;if(fen2=10)fen2=0;fen1+;if(fen1=6)fen1=0;shi2+;if(shi1=10)shi2=0;shi1+;if(shi1=2&shi2=4)shi1=shi2=0;display(shi1,shi2,fen1,fen2,miao1,miao2);if(ok%2=0)TR0=0;keyscan1();display(shi1,shi2,fen1,fen2,miao1,miao2);if(miao1=0&miao2=0&fen1=0&fen2=0&ok%2=1) FM=0; else FM=1; void time0(void) interrupt 1 /using 1 TH0=(65536-46080)/256; TL0=(65536-46080)%256; p+;三、安装、调试步骤首先画出原理图,然后参照原理图再在protues上进行仿真调试,调试成功后进行焊接,最后进行硬件测试。四、故障分析与电路改进安装调试的时候一定要按照正确的原理图进行操作。在进行仿真调试的时候数码管一直是乱码的形式,检查原理图检查了很多遍都没有查出错误,而程序虽在正确的硬件上烧写调试正确,但终究是有问题,原因是开段选和位选的顺序颠倒了,导致出现乱码,程序经稍加修改便正确了。五、总结与体会通过这次课程设计,我对单片机的原理有了更进一步的认识,提高了我写程序的能力,对以往一些模糊的概念有了更清楚地认识。写程序之初,因为没有写过多少程序,以前总是按照教程一步步的做,没有感觉,所以无从下手。于是我通过看教程、上网找资料、和同学讨论的方法写出了自己的程序,并且经过不断的完善完全实现了所要求的功能,我又自己添加了一些其他的功能。此次课设最难的不是程序,而是做PCB图,但我也学到了不少,学会了做自己的原件库、封装库,从画图到查错再到摆放元件、布线,这基本都是从零学起,熬了不少个日日夜夜,颇感充实。六、附录(元器件清单)STC89C52RC 片74HC573 片USB转串口芯片CH340T 片ISP烧写芯片 片电容 11个LED发光二极管 10个八段共阴数码管个按键个电阻个蜂鸣器个12M晶振 个11.0592M晶振 1个排阻个跳线帽个三极管个开关个七、参考文献参考文献1、8051系列单片机C程序设计完全手册 人民邮电出版社 求是科技 主编2、新概念51单片机C语言教程:入门、提高、开发、拓展全攻略电子工业出版社 郭天祥 编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论