c51单片机流水灯显示花式程序,作业求详细
1实现流水灯从一端到另一端,显示到底时,反过来,从终端显示到开始端2实现流水灯从两端同时向中间显示,到中间后又分别往两端显示回去3实现流水灯从一端依次亮起到另一端,到底后...
1实现流水灯从一端到另一端,显示到底时,反过来,从终端显示到开始端
2实现流水灯从两端同时向中间显示,到中间后又分别往两端显示回去
3实现流水灯从一端依次亮起到另一端,到底后,从另一端依次熄灭到开始端 展开
2实现流水灯从两端同时向中间显示,到中间后又分别往两端显示回去
3实现流水灯从一端依次亮起到另一端,到底后,从另一端依次熄灭到开始端 展开
2个回答
展开全部
都11点多了看到你的帖子,没有问回答这个作业很简单,我给你花5分钟时间写一个例子,我是用单片机P0口8位LED,具体程序如下:
#include "REG52.H"
// 显示花样流水灯编码
const unsigned char Expetr_ROM[] = { 0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F,
0xFF, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB, 0xFD, 0xFE,
0x7E, 0xBD, 0xDB, 0xE7, 0xDB, 0xBD, 0x7E, 0xFF,
0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00,
0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF
} ;
// 延时1ms
void Delay_1ms(unsigned int Cnt)
{
unsigned int x, y;
for(x = Cnt; x > 0; x--)
for(y = 120; y > 0; y--);
}
int main(void)
{
unsigned char i;
while(1)
{
for(i = 0; i < 40; i++)
{
P1 = Expetr_ROM[i];
Delay_1ms(500);
}
}
}
#include "REG52.H"
// 显示花样流水灯编码
const unsigned char Expetr_ROM[] = { 0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F,
0xFF, 0xBF, 0xDF, 0xEF, 0xF7, 0xFB, 0xFD, 0xFE,
0x7E, 0xBD, 0xDB, 0xE7, 0xDB, 0xBD, 0x7E, 0xFF,
0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00,
0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF
} ;
// 延时1ms
void Delay_1ms(unsigned int Cnt)
{
unsigned int x, y;
for(x = Cnt; x > 0; x--)
for(y = 120; y > 0; y--);
}
int main(void)
{
unsigned char i;
while(1)
{
for(i = 0; i < 40; i++)
{
P1 = Expetr_ROM[i];
Delay_1ms(500);
}
}
}
追问
体谅一下学渣的痛苦
追答
都是这么锻炼出来的,我当年一开始也是你这样!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询