}
bear=1; P1=0xff; } }
/*void mainw() //主功能主程序// {
init(); while(1) {
keyscan(); alarm(); } }*/
void time1()interrupt 1 //定时器程序// {
uint m; m++;
if(m==3686) //250与后面的3886相乘约为100000us=1s,控制1秒程序 {
m=0;
sec1++; if(sec1==60) {
sec1=0; min1++;
if(min1==60) {
min1=0; hour1++;
if(hour1==24) {
hour1=0; day1++;
if(day1==31) {
day1=1; mon1++; if(mon1==13) {
}
}
}
}
} }
mon1=1; year1++;
if(year1==100) year1=0;
}
六、调试情况及小结
硬件调试
硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么问题的。没有出现什么问题。用所给的调试程序,调试结果很好,各模块都能正常工作。
静态调试一般采用的工具是万用表,其是在用户系统未工作时的一种硬件检测。
动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。调试步骤是:首先把电路分成若干模块,调式过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内;故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。
软件调试
软件调试是通过对程序的汇编、连接、执行来发现程序中存在的
语法错误与逻辑错误并加以排除纠正的过程。
软硬件调试
软硬件联调是指把调试无误的软件程序载入进单片机芯片内部,通上电源
后,检查硬件工作是否有预期的效果,如果没有则需检测软件是否在实现功能上有欠缺。若有错误,通过改写软件来调试,直至达到预期效果,则设计圆满成功。
七、设计总结
(个人体会总结 不要全抄 适当改改)经过这两周的课程设计,使我对单片机系统有了更深的认识,更加是锻炼了我对所学知识的认知应用能力,在老师的悉心指导下,使我们认识到课程的重要性,同时也感受到理论与实践之间的差距,使我们对单片机系统的应用有了更加深刻的认识。
通过本次课程设计,又进一步巩固了KEIL软件的使用方法,并学会了一些看似简单但又不一定会的东西,例如如何烧程序到芯片内以及如何对做出的硬件进行硬件和软件调试等。在软件设计过程中,通过查阅资料学会了许多指令的使用及其适用范围。比如:AJMP,LJMP,ACALL,LCALL;Nop;DJNE,CJNE等。除此之外,还了解了扫描按键的优先级判断等问题。
但本次的课程设计过程中也出现了不少问题,比如说编制的程序未能实现温度的控制,只编制了通过按键扫描控制单片机工作达到流水灯显示,音乐播放,实时显示时间及日期等功能。在硬件调试的过程中也出现了一些问题,比如显示不明显等,如若遇到问题,应该检查电路本身是否有问题,有无短路或断路。
通过这次课程设计,我明白了一次不能将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
这次的单片机课程设计重点是理论与实际的相结合,不单单只是书上的一条条分离的指令。通过这次设计让我更系统的了解了个个指令以及单片机的扩展内容,为这次的期末考试有了进一步的准备,同时也获得了一笔巨大的知识财富。
八、参考文献
《单片机实验与应用设计教程》 冶金工业出版社 邓 红 张 越 《单片机原理及接口技术》 清华大学出版社 胡汉才 《MCS-51系列单片机原理与接口技术》人民邮电出版社 李玉峰 倪虹霞
单片机课程作息时间控制设计报告



