图13
上半场结束后,停止计时,蜂鸣器报警,按下暂停\\启动按键启动下半场计时,同时可实现甲队和乙队交换分数,下半场指示灯亮。
25
5. 硬件焊接与调试
对照原理图进行焊接工作,把硬件先依次正确插到相应的位置,然后再次检查器件是否都正确,确定无误后进行焊接.在焊接的过程中要注意不要将相临的两个引脚焊接在一起,防止短路影响使用。
硬件连接好以后,通过ISP下载线向单片机内烧制HEX程序,观察各部分工作情况。硬件连接如图
.
26
6.课程设计体会
通过这几天的单片机的实训,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。
通过实训,让我更熟悉掌握了Keil uVision3, proteus ISIS这些应用程序的运用,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,还有焊接和程序下载,。但在中间暴露出很多问题:对平时上课讲的理论知识没有完全掌握消化,到了实际操作中还得请教同学,在焊接中焊接的基本工夫掌握不到家,手上工夫还是很欠缺的,使得电路板不是很美观。
这些问题的发现,有助于提高我在以后的工作和学习中对此类问题的认识,确保不在同一问题上再次犯错。严谨求实、踏实务实,是我这次实训的深刻总结。 做课程设计的这几天翻阅了很多书,也上了很多网站去寻找自己需要的资料。这种寻找有很强的目的性,只是为了自己选定的课题内容而查阅,所以除了自己课题以外的其他方面几乎还是一无所知。这让我深刻的认识到了自己专业知识的贫乏。为我对自己大四生活的规划敲响了警钟。我对单片机的学习不会因为课程设计的结束而结束,在接触的众多资料里,做设计只是走马观花般的点到。 通过单片机课程设计,我加深了对单片机理论的理解,学回了怎样将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的不畏困难的挑战精神,从而不断地战胜自己,超越自己,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
27
参考文献
【1】余发山,单片机原理及应用技术:中国矿业大学出社,2003 【2】 河南理工大学电气学院:单片机实验报告指导册,2008 【3】刘法治,常用电子器件及典型芯片应用技术:机械工业出版社,2007 【4】何立民,MSC--51系列单片机应用系统设计:北京航空航天大学出版社,1993
28
附1 源程序
#include
//其中{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} //分别对应数码管显示的字形0到9
int m=1,n=60,x=0,y=0,i=0,jie=2,zidong=1,bujin=1,zanting=0,chuzanting=0;
//定义全局变量m,n,x,y,i,jie,zidong,bujin,zanting,chuzanting //并初始化,其中m,n分别表示分钟与秒计时,x,y分别表示甲乙//两队的分数,其余中间变量
void delay(int t) {
while(t--) {
unsigned int i; for(i=0;i<200;i++); } }
void display(int i,int j,int x,int y) // 数码管动态刷新显示程序 {
if(jie==1&&bujin!=2) //中间变量jie==1时,为上半场,对P1赋值
P1=0xbf; //P1=0xbf, 即P1=1011 1111B,点亮对应上半场指示灯
// 延时子程序 通过参数t,可以调整暂停时间
P2=0xfe;
//数码管动态刷新显示程序 P2=1111 1110,i为分钟
P0=seg[i0/10]; //刷新显示时间显示分钟十位,调用延时程序, delay(1); //延时数码管的点亮 P2=0xff; P0=0;
29