Ⅰ 52单片机数码管功能:点亮第一个数码管后,不灭,第二个数码管也接着亮起来,最后八个数码管全亮
这种设计相当于用数码管代替了发光二极管的流水灯,流水灯是8个LED,变成8个数码管就行了,然后依此点亮8个数码管就行了。仿真效果如下所示。
Ⅱ 52RC单片机流水灯程序烧写不进是咋了..STC显示.停止下载,重新选择 RS-232 串口, 接好电缆
其实已经提示你了呀,可能的问题是:
串口可能坏了,选别的串口
单片机可能坏了。
USB-232的线可能存在不兼容
等等。
Ⅲ 求一个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;
a++;
if(a==20)//1秒时间到
{a=0;i++;P0=0XEF>>(i-1);}
if{i==8)i=0;
}
Ⅳ 52单片机流水灯,模式一,从左到右再从右到左,模式二,从两边到中间再从中间到两边,KEY1切换
#include<reg51.h>
#defineucharunsignedchar
ucharled1={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd};
ucharled2={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd};
sbitkey1=P3^2;
ucharkv;
voiddelay(uchara)
{
uchari;
while(a--)
for(i=0;i<120;i++);
}
voidext0()interrupt0
{
kv++;
kv%=2;
}
main()
{
ucharn;
EX0=1;
IT0=1;
EA=1;
while(1)
{
if(kv)
{
n%=6;
P0=led2[n];
n++;
}
else
{
n%=14;
P0=led1[n];
n++;
}
}
}
Ⅳ 52单片机独立按键控制LED流水灯
怎么个控制法,按一下,流水灯停下,再按一下开始,
还是按一下对应亮一个或亮下一个
还是想知道怎么用按键
教你用按键的方法,功能你自己去实现。把io口拉高电平后,接按键,如果按键按下,会接地,读出的io口电平会变为低,这样就可以判断说法按下按键,但要一直重复读取io口数据,而且要防抖动。
{
unsignedinttemp,k=9;
P2=0xff;//用P2检测键盘
temp=P2;
temp=temp&0xff;
if(temp!=0xff)//接地了,有按下
{
delayxms(10);//等键盘稳定,以确认不是误按、抖动
temp=P2;//再次检测
temp=temp&0xff; //防抖,确认是按下
if(temp!=0xff)//确认不是误按、抖动
{
switch(temp)
{
case0xfe:k=0;break;
case0xfd:k=1;break;//不同情况做出不同处理,变为0的是按下的键
case0xfb:k=2;break;
case0xf7:k=3;break;
case0xef:k=4;break;
case0xdf:k=5;break;
case0xbf:k=6;break;
case0x7f:k=7;break;
}
}
}
}
Ⅵ 单片机c52怎么用4个键控制四种方式的流水灯,还能暂停,求解决!!!
这个程序可以试一下
#include "reg52.h"
typedef unsigned int WORD;
sbit key = P3^4;
void Delay_ms(WORD n)//软件延时
{
WORD x;
while (n--)
{
x = 100;
while (x--);
}
}
void main()
{
bit Y=0;
P1=0X01;
P3=0XFF;
while(1)
{
if(key==0)
{
Delay_ms(10);
if(!key)
{
Y=~Y;
while(!key);
}
}
if(Y==1)
{
if(P1==0X00)P1=0X01;
Delay_ms(100);
P1=P1<<1;
}
}
}
Ⅶ 52单片机如何用c语言让流水灯从左到右循环5次停下急…………
流水灯程序最简单了,而且在知道这里可以搜到无数个例子。循环5次停下来,用for控制循环5次,结束后,用一个while(1); 语句就停了。
Ⅷ 用C语言编写C52单片机的流水灯程序
附上流水灯程序
#include<reg52.h>
#include<intrins.h>
unsigned char temp;
void delay(unsigned int x);
void main()
{
temp=0xfe; /*16进制的表示法,不能用:0eH这种形式了*/
while(1)
{
P1=temp;
delay(1000);
temp=_crol_(temp,1);
}
}
void delay(unsigned int x)
{
unsigned char j;
while(x--)
{
for(j=200;j>0;j--)
{
;
}
}
}
Ⅸ 求用STC89C52RC单片机实现流水灯(C语言)
用STC89C52RC单片机实现流水灯,这是最简单的程序,用左移函数_corl_( )实现很容易。P0口接8个LED灯,用proteus 仿真时的仿真图和仿真效果如下。