求52单片机流水灯程序
发布网友
发布时间:2022-04-27 08:38
我来回答
共5个回答
热心网友
时间:2022-06-09 16:20
//单片机流水灯程序,是学习单片机的最简单的程序。
//流水灯
#include <REG51.h> //51头文件
#define DY_PORT P1 //设置LED连接的I/O组
#define DY_SPEED 100 //设置每一个明亮级的停留时间(值域:0~65535)
void delay (unsigned int a){ // 1ms延时程序
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++);
}
}
void main(void){
unsigned int i;
unsigned int temp;
while(1){
temp=0x01;
for(i=0;i<8;i++){ //8个流水灯逐个闪动
DY_PORT=~temp;
delay(DY_SPEED); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++){ //8个流水灯反向逐个闪动
DY_PORT=~temp;
delay(DY_SPEED); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++){ //8个流水灯依次全部点亮
DY_PORT=temp;
delay(DY_SPEED); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++){ //8个流水灯依次反向全部点亮
DY_PORT=temp;
delay(DY_SPEED); //调用延时函数
temp>>=1;
}
}
}
热心网友
时间:2022-06-09 16:21
#include<reg51.h>
#define uchar unsigned char
uchar led1,led2,led3,led4;
void delay(uchar a)
{
uchar i,j;
for(i=0;i<a;i++)
for(j=0;j<120;j++);
}
main()
{
uchar num;
unsigned long int led;
while(1)
{
led=0x00000001;
num=0;
while(num<32)
{
led1=(led<<num)>>24;
led2=(led<<num)>>16;
led3=(led<<num)>>8;
led4=led<<num;
P0=led1;
P1=led2;
P2=led3;
P3=led4;
delay(20);
num++;
}
for(num=0;num<5;num++)
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
delay(20);
P0=0xff;
P0=0xff;
P0=0xff;
P0=0xff;
delay(20);
}
}
}
热心网友
时间:2022-06-09 16:21
不知道啊可以百度一下,百度什么都知道的吆!
热心网友
时间:2022-06-09 16:22
不知道啊可以百度一下百度君什么都知道的
热心网友
时间:2022-06-09 16:23
随便打几个字
单片机流水灯程序
程序如下:include <reg52.h> sbit led1 = P2^0;sbit led2 = P2^1;sbit led3 = P2^2;sbit led4 = P2^3。让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提...
基于52单片机的音频播放+流水灯
5只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY ;延时60秒 LCALL DELAY ;延时60秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY ;延时60秒 LCALL DELAY ;...
求一个AT89C52单片机流水灯程序,8个灯从左到右亮1个,亮2个亮3个,以此...
假设灯接P0口,低电平点亮 主程序 void main(){ unsigned char a=0, i=0;TMOD=0X01;TH0=(65536-50000)/256;/定时50ms TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;P0=0XFF ;while(1);} 中断程序 void timer0 (void) interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-50000)%256...
求52单片机程序代码
程序代码如下:#include<reg51.h>sbit K1=P1^0;sbit K2=P1^1;void delay(int a){int i;while(a--)for(i=0;i<120;i++);}main(){unsigned char keyval=0,led=0xfe;while(1) { if(K1==0) { delay(10); if(K1==0) { keyval==1; while(K1==0); ...
求一89c52单片机c语言程序,流水灯+数码管 共同作用
LED=(LED<<1);//循环左移实现流水灯功能 } display();} } void init(){ temp=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;} void timer0() interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-50000)%256;a++;if(a==20){ a=0;temp++;if...
单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
单片机流水灯C语言程序的源代码如下:include //51系列单片机定义文件 define uchar unsigned char //定义无符号字符 define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) //8个流水灯...
单片机流水灯c语言程序。灯按从左到右2468然后1357依次循环亮。速求...
include "REG52.H"// 显示花样流水灯编码 const unsigned char Expetr_ROM[] = { 0xFD, 0xF7, 0xDF, 0x7F, 0xFE, 0xFB, 0xEF, 0xBF } ;// 延时1ms void Delay_1ms(unsigned int Cnt){ unsigned int x, y;for(x = Cnt; x > 0; x--)for(y = 120; y > 0; y--);}...
单片机流水灯由两边向中间流再由中间向两边流的程序怎么写?
如果你的点灯是低电平 那么编码如下:0x7e,0xbd,0xdb,0xe7;这四个编码实现从两边向中间流 0xdb,0xbd,0x7e;由上面的四个编码加上下面的四个编码就达到了从中间向两边显示的效果了 循环显示这七个编码就OK
单片机流水灯代码
单片机流水灯代码:#include<reg51.h>//51头文件void delay(int t)//定义延时函数{int j;while(t--){for(j=0;j<500;j++);}}void main(){int i;while(1){for(i=0;i<7;i++)//循环点亮LED,到第7个LED延时一会就结束循环。在这个单片机流水灯代码中,假设使用的是8051...
求单片机C语言流水灯程序,能只让第五个和第八个灯亮着,其他灯不亮
什么样单片机思路都一样,先实现流水灯(用移位或数组什么的),输出到IO时再进行运算,第5,8灯是10010000,即0x90 高电平点亮,直接和0x90"或"运算,即可置位 低电平点亮,先取反0x90再"与"运算,即可清除位