標(biāo)題:
單片機(jī)鍵控Led程序+仿真
[打印本頁]
作者:
丁宇12138
時間:
2017-10-13 12:56
標(biāo)題:
單片機(jī)鍵控Led程序+仿真
自己做的51單片機(jī)鍵控Led試驗,有喜歡的可以互相交流。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(17.55 KB, 下載次數(shù): 50)
下載附件
2017-10-13 16:57 上傳
0.png
(42.76 KB, 下載次數(shù): 59)
下載附件
2017-10-13 16:57 上傳
單片機(jī)源程序如下:
#include<reg51.h>
sbit S1=P1^0;
sbit S2=P1^1;
sbit S3=P1^2;
sbit S4=P1^3;
unsigned char keyval;
void key_scan(void);
void forward(void);
void backward(void);
void Alter(void);
void blink(void);
void led_delay(void);
void delay10ms(void);
void main(void)
{
keyval=0;
while(1)
{
key_scan( );
switch(keyval)
{
case 1:forward();
break;
case 2:backward();
break;
case 3:alter();
break;
case 4:blink();
break;
}
}
}
void key_scan(void)
{
P1=0xff;
if((P1&0x0f)!=0x0f)
{
delay10ms();
if(S1==0)
keyval=1;
if(S2==0)
keyval=2;
if(S3==0)
keyval=3;
if(S4==0)
keyval=4;
}
}
void forward(void)
{
P3=0xfe;
led_delay();
P3=0xfd;
led_delay();
P3=0xfb;
led_delay();
P3=0xf7;
led_delay();
P3=0xef;
led_delay();
P3=0xdf;
led_delay();
P3=0xbf;
led_delay();
P3=0x7f;
led_delay();
}
void backward(void)
{
P3=0x7f;
led_delay();
P3=0xbf;
led_delay();
P3=0xdf;
led_delay();
P3=0xef;
led_delay();
P3=0xf7;
led_delay();
P3=0xfb;
led_delay();
P3=0xfd;
led_delay();
P3=0xfe;
led_delay();
}
void Alter(void)
{
P3=0x0f;
led_delay;
P3=0xf0;
led_delay;
}
void blink(void)
{
P3=0xff;
led_delay;
P3=0x00;
led_delay;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
鍵控led.zip
(55.13 KB, 下載次數(shù): 13)
2017-10-13 12:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1