欢迎来到天天文库
浏览记录
ID:57327862
大小:97.00 KB
页数:4页
时间:2020-08-12
《LED流水灯实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、——LED流水灯学院:计算机与信息工程学院专业:电子信息工程1401班一、设计要求及目的1.熟悉了解ST89C52的功能及各管脚2.熟悉并掌握KeiluVision和Proteus软件二、实验器材ST89C52、LED-RED、电阻、瓷片电容、电解电容、四脚开关、+5V电源三、实验原理P0口接低电平及可点亮LED灯,R2-R9是为了保证流经LED灯的电流在3-10mA以保证LED灯正常工作。XTAL1和XTAL2接外部晶振保证单片机正常工作,51系列单片机最大可接24MHz晶振,通常接12MHz的晶振。一、程序代码#include#includeuns
2、ignedchartemp;unsignedintj=0;voidmain(){TMOD=0x01;//让定时器0工作在方式1TH0=(65536-50000)/256;//给定时器0高八位赋初值TL0=(65536-50000)%256;//给定时器0低八位赋初值EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0temp=0xfe;P1=temp;while(1){if(j==20){j=0;P1=_crol_(temp,1);temp=P1;}}}voidINT()interrupt1//定时器0的中断{TH0=(65536-50000)/256;TL0=(
3、65536-50000)%256;j++;}在这个程序中我给单片机加了一个中断,让定时器0以方式1工作,这样做是为了让每个LED灯间隔1s闪烁,让时间更精确。在循环的部分我使用_crol_位左移代码,故加入了#include头文件。一、实验结果LED灯以1s的间隔正常循环闪烁。二、心得1.最主要的收获就是为了让LED灯正常循环,学会了很多不同的代码,最开始时是用调用了子函数delay()的方法控制间隔,后来发现循环时间长了以后就不准确了,所以又学习了加入中断的方法,加入了中断可以让时间间隔更准确2.现在已经非常熟悉keil和proteus软件的操作方法,为第二个设计做了
4、良好的铺垫3.更加深刻的理解了这门学科,从最初根本不知道单片机是什么、能干什么、该怎么做到现在已经可以用单片机做几个小的设计,感觉进步非常大。
此文档下载收益归作者所有