预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

咸宁职业技术学院课程设计报告第PAGE\*MERGEFORMAT13页共NUMPAGES\*MERGEFORMAT13页单片机课程设计报告系部:机电工程系班级组别:机电六班四组组长:汪碧君成员:柳松李柏林设计题目:数字钟的设计与制作指导教师:龙芬老师设计日期: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口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。2.计时方案从00:00:00开始计时,到23:59:59为一天。3.显示方案四位数码管显示,显示“时”和“分”,“秒”以第二个数码管的闪烁小数点作为显示。STC89C52——数码管显示、电源、键盘、复位电路、时钟电路三、系统硬件电路设计1、键盘功能定义<1>S1:时钟参数修改功能选择键按一次——选择修改“分”;按二次——选择修改“时”。<2>S2:增一功能键修改“分”——“分”加一,加到59后再加一清零;修改“时”——“时”加一,加到23后再加一清零。<3>S3:确认键确定修改的当前时间。四、系统软件设计<1>模块的划分主程序函数——LCD数码管显示子函数、键盘子函数、时钟子函数、加一修改功能子函数、确认子函数、定时器中断子函数。<2>软件流程图设计开始main()——时钟单元标志位初始化——定时器中断初始化——调用键盘子函数——调用显示子函数——调用键盘子函数<3>程序五、总结通过这次的课程设计,学会了很多,首先来说这次的课程设计是团队合作完成的一个综合性设计,在设计过程找出以前所学知识的不足、生疏的地方,更好的巩固所学的知识。再就是这次课程设计把以前学到的大多数知识都连接到了一起,更好的让我们把所学的知识融会贯通,做到学与用的结合。这次课程设计由于用的是四位数码管显示时钟,只能显示“时”和“分”,故而所显示时间不是更加的一目了然。附录一:原理电路图附录二:程序清单#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharhour,min,sec,msec,timdata;bitxgmin,xghour,flag;voidfs1();voidfs2();voidfs3();voiddelay(ucharu);voidkey();voiddisplay1(uchart1,uchart2);voiddisplay2(uchart1,uchart2);voidmain()//主函数{TMOD=0x01;//定时器0,方式1TH0=(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);}}voidtimer0()interrupt1//定时器0,中断类型号为1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;//重新赋初值msec++;if(msec==2