热门

最新

红包

立Flag

投票

同城

我的

发布
qq_45925928
歧影
5 年前
trueqq_45925928

小白求助,刚学习单片机,跟着视频写了个动态数码管的程序但是,P2^2,P2^3,P2^4这几个管脚既是38译码器的,也是LED模块的,所以编出来结果就是LED灯亮了,动态数码管没反应,到底是代码错了还是哪里没对啊,求助。下面是代码


#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(u16 i)
{
while (i--);
}
void display ()
{ u16 i;
for (i=7;i>=0;i--)
{ switch(i)
{
case(0):LSA=0;LSB=0;LSC=0;break; case(1):LSA=1;LSB=0;LSC=0;break; case(2):LSA=0;LSB=1;LSC=0;break; case(3):LSA=1;LSB=1;LSC=0;break; case(4):LSA=0;LSB=0;LSC=1;break; case(5):LSA=1;LSB=0;LSC=1;break; case(6):LSA=0;LSB=1;LSC=1;break; case(7):LSA=1;LSB=1;LSC=1;break;
}
}
P0=smgduan[i];
delay(10);
P0=0x00;
}
void main()
{ P0=!smgduan[0];
while (1)
{
display();
}
}

CSDN App 扫码分享
分享
1
6
打赏
  • 复制链接
  • 举报
下一条:
大北京夜景🌃
立即登录