80c51流水灯,先135亮,延时1秒,再反过来,再延时3秒1234亮 再反过来 再循环3次

如题所述

刚刚出炉的,纯手打,如有错误,望指点~

#include<reg51.h> //头文件
#define uint unsigned int
void delay(); //声明子函数
void main()
{

while(1) //P0为你灯接的I/O口,如果是其他自己改,

{
P0=0x55; //亮1357,我看你的灯应该是8个。

delay(100); //延时1S

P0=~P0; //取反,2468亮;

delay(100);

P0=0xf; //1234亮;

delay(300);

P0=~P0; //取反;

delay(300);

}

}
void delay(uint s) //延时函数
{
int x,y;

for(x=s;x>0;x--)

for(y=110;y>0;y--)

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-03
用单片机的定时器,设置一个定时中断;把灯的亮灭存成一个数组,很容易解决

...再反过来,再延时3秒1234亮 再反过来 再循环3次
while(1) \/\/P0为你灯接的I\/O口,如果是其他自己改,{ P0=0x55; \/\/亮1357,我看你的灯应该是8个。delay(100); \/\/延时1S P0=~P0; \/\/取反,2468亮;delay(100);P0=0xf; \/\/1234亮;delay(300);P0=~P0; \/\/取反;delay(300);} } void delay(uint s) \/\/延...

80C51for程序里面出问题了。流水灯 本意是让 每一个灯闪三次,然后移位...
问题点:P0 =0XFF;后面没有加延时 其实是能够闪3次的,只是没加延时,速度很快,眼睛看分辨不了。参考资料:100009

霓虹灯广告 plc s7梯形图
工作量太大了

相似回答
大家正在搜