实训总结(通用28篇)
2.每秒钟的设定
延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。
3.计数器初值计算
定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:TC=M-C
C语言程序
#include"reg52.h"//宏包含MCS-52系列单片机的头文件
#defineucharunsignedchar
#defineuintunsignedint
ucharcodeduanmatable={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//数码管段码数组
ucharcodeweima={0x7f,0xbf,0xdf,0xef};//位码数组
ucharcodexiangwei={0xdb,30,0x7b,3,0xbd,15,0xb7,3};//实现相位的切换,数码管的倒计时与
交通灯的相位切换巧妙结合。
voiddelay(uintz);//延时程序声明
ucharn50ms,greentime;
ucharxianshi[2]={10,10};//显示数组
voidintital;
main
{intital;
while(1)
{
uchari,j;
for(;greentime==0&&j=20)//定时器精确延时
{n50ms=0;
greentime-=1;
}
for(i=0;i0;x--)
for(y=122;y>0;y--);
}
/延时子程序结束/
voidtimer0isrinterrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
n50ms++;
}
voidintital
{
TMOD|=0X01;//定时器1,方式0
TMOD&=0XF1;
TH0=(65536-50000)/256;//赋初值
TL0=(65536-50000)%256;
ET0=1;//开定时器中断
EA=1;//开总中断
TR0=1;//开总中断
}
2、连线说明三、结论:硬件平台:I51学习板。1、硬件平台及用到的资源用到的资源:数码管显示、发光二极管等。3.1设计制作过程中遇到的问题及如何解决的交通灯电路图简易交通灯硬件接线说明单片机P0.1-P0.3、P0.5-P0.7依次控制东西方向的绿红黄,南北方向的绿红黄。在接线时总接反,有时候还接错。在编程时,有时忘记生成机器码,忘记保存。的问题就是编程了,我在网上也找了许多相关程序但是许多都看不懂,不过老师也给了一些程序数码管显示电路:段码控制接口P8用8P杜邦线连接单片机P2口;位码控制接口P9用4P杜邦线用4P杜邦线接单片机P3.4-P3.7。
不过还是都看不懂。前面一些问题在同学和老师的帮助下我都一一解决,但是在编程这一块还存在很大问题。
3.2通过设计制作过程有哪些提高还有哪些不足及今后学习提高计划
在这次的实训过程中我懂得了无论大事还是小事都应该注意细节,在硬件连接、keil开发平台已经熟练掌握。但是在c语言编程、pcb制图、画电路图在今后的学习中应该进一步提高。四、心得体会:
在实验过程中,单片机作为核心控制元件,使得电路的可靠性比较高,功能也比较强大、多变。而且可以随时的更新系统,下载新的文件进行不同状态的切换,进行不同状态的组合。一开始感觉很好奇,于是产生浓厚兴趣,梦想成为电子产品中的魔术师!
在一开始硬件连线的过程中从在问题:杜邦线不知道该往哪插,接线时顺序总结反。在编程时有时忘记保存,有时忘记生成机器码,编译之后的错误很多。但是在设计和调试过程中,也发现一些问题,譬如红绿灯的切换速度不够,绿灯时而亮时而不亮,红绿灯规则效率偏低等,亮度不够是因为在焊接硬件时把排阻接错了,应该是排阻的阻值用的较大了。在焊接外接电路时没按照老师的步骤走,最后导致接错、焊错。交通灯的外接电路虽然只有几个电阻、三极管、发光二极管和几个接线口以及一个接线板,但是到了自己的手里却无从下手没有头绪,最后在同学的帮助下最后完成了焊接。
还有,老师说我的外接电路排版不是很好,例如电阻,因为我是用手折弯的,而不是用镊子,所以这是我以后需要注意的地方。还有一个晶振焊接的不是很整齐,应该从新焊一下,但因为我怕麻烦,也怕重焊后会影响美观,所以就没再去重试了。另外,由于画PCB时,我漏画了一条线,以至于转化为板时那边出了问题,后来我就得自己对照着PCB再用导线把遗漏的导线连接上,花了不少时间,增加了许多工作量,所以说这些都还需要我们在实践中继续加强改进,得到进一步的完善。
这次课程设计,我发现单片机原理应用性很强,只在老师的课堂讲解是远远不够的,老师经常说:“只有清华的学生用上课时间才能听懂,而且课余时间不用练习,就上课的时间就够了。”当然我们不属于他们其中的一部分,要想做到的话只有自己多下功夫勤于动手去做才有可能做到,才能不断的发现自己的不足之处,从而有针对性的去学习,去查资料。许多的余力和程序看似简单,但真正去做才知道知识并没有自己想的那样扎实,就拿编程来说吧,有些程序看似好像懂了,但自己在keil软件一编程就一塌糊涂、手忙脚乱、不知所措了,可想结果如何。
在此,从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学理论与实际结合起来,才能真正提高自己的动手能力与思考能力,树立自己的工作信心。相信会对今后的学习工作和生活有非常重要的影响