流水灯c语言程序 c51单片机流水灯每次亮两个?
c51单片机流水灯每次亮两个?
C51单片机运行灯,程序设计一次亮两次。硬件电路设计完成后,可以用汇编语言或C语言编写应用程序。程序编译完成后,由编程器下载并安装在电路板上。
单片机c语言编程点亮led灯?
c,让我想想:
1.跟硬件有关系。你知道这个吗?
2.假设led连接到端口p1。第一盏灯连接到p1.0,阴极连接到io,阳极连接到5v。
#包括
bitsecflag
未签名的护身符
voiddisplay(unsignedcharnum,unsignedcharsec)
{
数量%=8
p1=~(1
while(秒-!=0)
{
tr0=1
while(secflag==0)secflag=0
tr0=0
}
}
主()
{
未签名的chari
tmod=1ie=0x82
while(1)
{
显示((I) 8,1)
}
}
无效中断1
{
th0=(-50000)gtgt8tl0=-50000
女士
if(msgt 20){ ms=0 sec flag=1 }//12 MHz,50 ms定时中断,1秒定时。
}
您可以轻松扩展任何要求的闪烁运行灯。
显示器(2,1)
显示(1,1)
显示器(3,2)
显示器(1,2)
.把它放进去。祝你玩得愉快。
按键按下一次后流水灯的方向改变程序?
该程序分为两种状态。
状态“A”:数码管L1显示“A”,8位发光二极管在D2到D9方向一个接一个点亮。
状态“B”:数码管L1显示“B”8位发光二极管在D9到D2的方向上一个接一个亮起。
S0用于状态之间的切换。(注3360状态切换时,LED只改变流向。比如3360在LED从左向右流向D5的时候按S0,下一次就会从D5流向左边)。
附(失败项目 () )
#includeltreg52.hgt
#定义uint无符号整数
#定义uchar无符号字符
uchar编号
单位a
uchar代码表[]={
0xfe、0xfd、0xfb、0xf7、
0xef、0xdf、0xbf、0x7f }
sbit dula=P2^6
sbit wela=P2^7
sbit s2=P3^4
无效延迟(单位毫秒)
{
uint i,j
for(i=msigt0i -)
for(j=110jgt0j -)
}
void smg1()
{
wela=1
P0=0xfe
wela=0
杜拉=1
P0=0x77
杜拉=0
}
void smg2()
{
wela=1
P0=0xfe
wela=0
杜拉=1
P0=0x7c
杜拉=0
}
void键()
{
如果(s2==0)
延迟(10)
如果(s2==0)
{
a=~a
而(!s2)
}
}
void main()
{
a=1
数量=0
while(1)
{
P1=表[数字]
if(a==1){num smg1()delay(500)}
if(a==0){num - smg2()delay(500)}
if(num==8){num=0}
if(numlt0){num=7}
钥匙()
}
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。