单片机原理及应用实训报告班级: 学号: 姓名: 指导老师: 实训总成绩: 一、 节日彩灯设计题目:8 位逻辑电平模块上的 LED 小灯从左向右呈现“鞭甩”的实验现象,状态间隔为 0.25 秒;按键 1 开始,按键 2 结束。原理图程序代码:#include#define uchar unsigned charuchar tab[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};sbit S1=P1^4;sbit S2=P1^7;unsigned char i,j;delay(unsigned int x){for(j=0;j#includeint lamp = 0xfe ; int cnt = 0;main(){P2 = 0xfe;TMOD = 0x01;TL0 = (65536 - 50000) % 256; TH0 = (65536 - 50000) / 256; TR0 = 1 ;ET0 = 1; EA = 1;while(1)P2=lamp;}void _time0(void ) interrupt 1{TL0 = (65536 - 50000) % 256; TH0 = (65536 - 50000) / 256; cnt++;if(cnt == 40){cnt=0;lamp=_crol_(lamp,1);P2 = lamp;}}设计思想总结当 AT89C51 的 P2 口有低电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个 LED,通过定期器来保证每个 LED 灯点亮时间大约为 2 秒。三、LED 数显屏设计题目:P0 端口控制动态数码管的段码显示,P2 端口控制动态数码管的位码显示,P1.7 接一个开关,当开关接高电平常,显示“12345”字样;当开关接低电平常,显示“54321”字样。原理图程序代码#includeunsigned char seg[]={0xf9,0xa4,0xb0,0x99,0x92};unsigned char i,j;sbit P1_7=P1^7 ;delay( unsigned int x) { for (j=0;j