|
1金钱
本帖最后由 royjeans 于 2020-2-25 19:01 编辑
各位大神好,我是一名初学者刚开始学习单片机,零基础。有个问题请教一下。在LED流水灯试验中,为led赋初始值时用的是八进制,这里可以用2进制赋值吗,比如led=11111110;我试过了开发板结果是有3个灯是连续和间隔2个灯后的1个灯流水闪烁,就是同时有四个灯流水闪烁。请问是为什么?谢谢大神!还有一个问题,怎么蜂鸣器在滴答滴答响啊,动态数码管模块也在闪烁。
#include <REGX52.H>
#include <INTRINS.H>
typedef unsigned char u8;
typedef unsigned int u16;
#define led P2
void delay(u16 i)
{
while(i--);
}
void main()
{ u8 i=0;
led=0xfe; //1111 1110
delay(25000);
while(1)
{
for(i=0;i<7;i++)
{
led=_crol_(led,1);
delay(25000);
}
//0111 1111
for(i=0;i<7;i++)
{
led=_cror_(led,1);
delay(25000);
}
}
}
最佳答案
看来你确实是新手!
你没有学习到C51单片机程序的数据类型。
第一:C51程序,只能是十进制和十六进制数进行赋值,其中:十进制数没有任何说明,十六进制数以0x打头,例如你的程序中赋值0xfe。
第二:不能通过你的 ...
|
|