徐海学院2008级单片机系统设计报告 第13页
}
x=0; y=0;
reg_code=0xfd; temp = key_addr & 0x0f; //第二列
if(temp==0x0b) { delay(200); if(temp==0x0b) {
key_n=9; if((x==1)&&(y==0) ) } }
{m=m+90;y=1;} else
{m=(m/10)*10+9;y=0;}
{ {
key_n=1;
if((x==1)&&(y==0) ) {m=m+10;y=1;} else
{m=(m/10)*10+1;y=0;} if(temp==0x0e) delay(200);
if(temp==0x0e)
} }
if(temp==0x0d) { {
key_n=5;
if((x==1)&&(y==0) ) {m=m+50;y=1;} else delay(200); if(temp==0x0d)
{m=(m/10)*10+5;y=0;} } }
徐海学院2008级单片机系统设计报告 第14页
if(temp==0x07)key_n=13; reg_code=0xfb; temp = key_addr & 0x0f; //第三列
if(temp==0x0e) { delay(200); if(temp==0x0e) {
key_n=2;
if((x==1)&&(y==0) ) {m=m+20;y=1;}
else {m=(m/10)*10+2;y=0;} } }
if(temp==0x0d) { delay(200); if(temp==0x0d) {
key_n=6;
if((x==1)&&(y==0) ) {m=m+60;y=1;} else
{m=(m/10)*10+6;y=0;} } }
if(temp==0x0b)key_n=10; if(temp==0x07)key_n=14;
reg_code=0xf7; temp = key_addr & 0x0f; //第四列
if(temp==0x0e) { delay(200); if(temp==0x0e) {
key_n=1; if((x==1)&&(y==0) ) } }
{m=m+30;y=1;} else
{m=(m/10)*10+3;y=0;}
徐海学院2008级单片机系统设计报告 第15页
}
if(temp==0x0d) { delay(200); if(temp==0x0d) {
key_n=1; }
}
if(temp==0x0b)key_n=11; if(temp==0x07) { }
key_n=15;
if((x==1)&&(y==0) ) {m=m+70;y=1;} else
{m=(m/10)*10+7;y=0;}
4 系统调试
系统调试包括硬件调试和软件调试两部分,介绍一下我在这两方面遇到一些问题,以及如何解决的。
4.1 硬件部分
硬件焊接
在焊接过程中单独的排针忘记焊上,并且在焊接芯片座得过程中出现了方向错误,导致在插芯片的过程出现了倒插的现象出现。
徐海学院2008级单片机系统设计报告 第16页
4.2软件部分
由于C语言对自己来说并不擅长,没有真正掌握,所以在编程时编写不出程序。但是,通过去图书馆找资料,翻阅书籍,以及在课堂上通过老师的讲解,让自己对C语言基本掌握,平时也对编写一些简单的编程来锻炼自己,让自己对C语言有了进一步的了解。最后,通过程序调试各个部分的功能,完成各功能模块,实现电秒计时器。
5总结
三周的单片机课程设计,重新对单片机及C语言进行了运用,从而让我在单片机的硬件结构和软件设计方法上有了更进一步的理解和提高。此次课程设计,让我对数码管动态显示原理使用方法有了详细的了解。并且学会用C语言编程对单片机进行开发。熟悉了各个功能模块的编程思想并学会加以应用。在提高了自己焊接水平的同时,对单片机的工作原理及应用有了更深一步的了解。
本次课程设计比较顺利的完成了,这些离不开老师的指导和同学的互相帮助。让我的水平有了很大的提升。
参考文献:
徐海学院2008级单片机系统设计报告 第17页
1、胡汉才,《单片机原理及其接口技术》(2版),清华大学出版社 2、单片机实验指导书
3、张毅刚,彭喜元,孟升卫,刘兆庆 MCS-51单片机实用子程序设计(第二版) 哈尔滨工业大学出版社 2003年
4、孙育才,《MCS-51系列单片微型计算机及其应用》,东南大学出版社 5、曹巧媛,《单片机原理及应用——教学、实践、设计指导》,电子工业出版社
6、谢自美,《电子线路设计·实验·测试》(2版),华中科技大学出版社 7、 求是科技 单片机通信技术与工程实践 人民邮电出版社 2005年
附录