单片机实训报告教程.doc

单片机实训报告教程

单片机实训报告 通过一周的单片机实训,使我们对这门课有了许多新的了解,弥补了在课堂上的学习的不足,相信这对我们以后的学习和工作都有很大的帮助。我们一定要在最短的时间里对这些不足加以改正! 首先,在这次实训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性,这次通过ISIS 7 Professional仿真软件等辅助软件的共同效果,使这次实训有了鲜明的活力。 到这次实训不仅仅是一个软件的应用,更多的是使我们认识到学习到很多在课堂中无法得到的东西,特别是ISIS 7 Professional和Keil uVision4软件的功能使我们了解了当今开发系统的新方向。 单片机程序的简单录入是非常必要的。比如LED灯显示,单只数码管,花样灯,交通灯,霓虹灯的应用和原理。 在这次实训中我们每个人通过一个八位流水灯的制作,是我们深深地体会到了单片机在县市政或重的小小应用,既增强了我们的好奇心,又巩固了我们的理论知识。更让我们体会到了单片机手动的开始平台的完善和成熟。只要你有想法,单片机就有可能让他成为现实。这里我学习完ISIS 7 Professional和Keil uVision4软件后第一感觉是虽然这软件工作很繁琐但是会有相当不错的效果出现,这对我们以后工作一定会有帮助。 通过这几天的实训,使我的感触很深,真是“条条大路通罗马”,要达到目的,不同的人有不同的方法。只要你的方法不错!五花八门都可以,而且是各有特色。走出的结果都有各自的独到之处。 在实训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。感觉很欣慰,有一丝丝的甜意,一周的实训使自己的思维逻辑也有了小小的进步。 实训目的: 实训软件 KeilC51V9.00 Protens-crack-ha-7.8sp2 实训过程 周一:熟悉模拟软件中的零件 周二: 循环亮: 从左到右的流水灯 说明:接在 P0 口的 8 个 LED从左到右循环依次点亮,产生走马灯效果 循环亮C语言程序 #includereg51.h #includeintrins.h #define uchar unsigned char #define uint unsigned int //延¨?时o?à void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i120;i++); } } //主??程¨?序¨° void main() { uchar i; P2=0x01; while(1) { for(i=0;i7;i++) { P2=_crol_(P2,1); //P2 的ì?值|ì向¨°左á¨?循-环?¤移°?动?¥ DelayMS(150); } for(i=0;i7;i++) { P2=_cror_(P2,1); //P2 的ì?值|ì向¨°右?¨°循-环?¤移°?动?¥ DelayMS(150); } } } 周三: 交通灯: LED 模拟交通灯 说明:东西向绿灯亮若干秒,黄灯闪烁 5 次后红灯亮, 红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁 5 此后变红灯,东西向变绿灯,如此重复。 交通灯C语言程序 #includereg51.h #define uchar unsigned char #define uint unsigned int sbit RED_A=P0^0; //东?西??向¨°灯ì? sbit YELLOW_A=P0^1; sbit GREEN_A=P0^2; sbit RED_B=P0^3; //南?北à?à向¨°灯ì? sbit YELLOW_B=P0^4; sbit GREEN_B=P0^5; uchar Flash_Count=0,Operation_Type=1; //闪|¨¢烁?次??数oy,ê?操¨′作á??类¤¨¤型¨a变à?量¢? //延¨?时o?à void DelayMS(uint x) { uchar i; while(x--) for(i=0;i120;i++); } //交?通a?§灯ì?切D换? void Traffic_Light() { switch(Operation_Type) { case 1: //东?西??向¨°绿¨?灯ì?与??南?北à?à向¨°红¨?灯ì?亮¢¨¢ RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=0;YELLOW_B=1;GREEN_B=1; DelayMS(2000); Operation_

文档评论(0)

1亿VIP精品文档

相关文档