课程设计时钟.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计时钟

单片机课程设计报告 系 部: 机电工程系 班级组别: 机电六班 四组 组 长: 汪碧君 成 员: 柳松 李柏林 设计题目: 数字钟的设计与制作 指导教师: 龙 芬老师 设计日期: 2012年12月21日 数字钟的设计与制作报告 一、设计要求 设计并制作出具有如下功能的数字钟: 1)自动计时,由4位LED显示器显示时、分。第二个数码管的小数点每隔1s闪烁一次,表示秒。 2)具备校准功能,可以设置当前时间。 二、系统总体方案设计 1.单片机的选择 该课程设计选用型号的单片机。 STC89c52的简介:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。 2. 计时方案 从00:00:00开始计时,到23:59:59为一天。 3.显示方案 四位数码管显示,显示“时”和“分”,“秒”以第二个数码管的闪烁小数点作 为显示。 STC89C52——数码管显示、电源、键盘、复位电路、时钟电路 三、系统硬件电路设计 1、键盘功能定义 1S1:时钟参数修改功能选择键 按一次——选择修改“分”; 按二次——选择修改“时”。 2S2:增一功能键 修改“分”——“分”加一,加到59后再加一清零; 修改“时”——“时”加一,加到23后再加一清零。 3S3:确认键 确定修改的当前时间。 四、系统软件设计 1模块的划分 主程序函数——LCD数码管显示子函数、键盘子函数、时钟子函数、加一修改功能子 函数、确认子函数、定时器中断子函数。 2软件流程图设计 开始main()——时钟单元标志位初始化——定时器中断初始化——调用键盘子函数 ——调用显示子函数——调用键盘子函数 3程序 五、总结 通过这次的课程设计,学会了很多,首先来说这次的课程设计是团队合作完 成的一个综合性设计,在设计过程找出以前所学知识的不足、生疏的地方,更好的巩 固所学的知识。再就是这次课程设计把以前学到的大多数知识都连接到了一起,更好 的让我们把所学的知识融会贯通,做到学与用的结合。 这次课程设计由于用的是四位数码管显示时钟,只能显示“时”和“分”,故而 所显示时间不是更加的一目了然。 附录一:原理电路图 附录二:程序清单 #includereg52.h #define uchar unsigned char #define uint unsigned int uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar hour,min,sec,msec,timdata; bit xgmin,xghour,flag; void fs1(); void fs2(); void fs3(); void delay(uchar u); void key(); void display1(uchar t1,uchar t2); void display2(uchar t1,uchar t2); void main()//主函数 { TMOD=0x01;// 定时器0,方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256;//50ms定时初值 EA=1;//总中断开 ET0=1;//定时器中断开 TR0=1;//定时器启动 while(1) { key(); if(flag==0) display1(hour,min); if(flag==1) display2(hour,min); } } vo

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档