1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。
2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。
3、接着创建延迟函数,如下图所示,输入以下代码。
4、然后创建C语言主函数,如下图所示,输入以下代码。
5、接着输入对输出取反,最后调用延迟函数,如下图所示就完成了。
// 单片机控制八个led灯, 仿真实例 可以改为 各种花样。
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
unsigned char TAB[]= {0xff,0xaa,0xff,0xaa,0xff,0xaa,0xff,0xaa,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0xff,0xff}; // 改变这里 LED 各种花样
uchar t,i;
void main()
{
TMOD=0x10;
TH1=(65535-50000)/256; // 50ms一次
TL1=(65535-50000)%256;
EA=1;
ET1=1;//开定时器1中断
TR1=1;//启动定时器1
t=0;
i=0;
while(1)
{
}
}
void timer1() interrupt 3
{
TH1=(65535-50000)/256; // 50ms一次
TL1=(65535-50000)%256;
t++;
if(t==20)
{
t=0;
P1=TAB[i];
i++;
if(i==18) { i=0;}
}
}
用汇编编程如下:
ORG 0000H
LJMP MAIN
MAIN:
ORG 0100H
MOV A ,#80H ; 高电平亮灯。如低电平亮灯,改成#7FH
;
;正向循环
ZXH :
MOV P0 , A
RR A
LCALL S50MS ; 延时50MS
JB P1.0 , FXH
LJMP ZXH
;
;反向循环
FXH :
MOV P0 , A
RL A
LCALL S50MS ; 延时50MS
JNB P1.0 , ZXH
LJMP FXH
;
;延时50MS 子程序,自己编编
S50MS:
.......
RET
END
单片机8只彩灯变换编程的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:单片机8只彩灯变换编程