【51单片机和数码管仿真显示问题共阴共阳代码】2022-9-24
缘由单片机和数码管仿真显示问题-嵌入式-CSDN问答
#include "REG52.h"
unsigned char code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f
,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0,64,15,56}; //共阴0~F消隐减号
void smxs(unsigned char mz, unsigned char w)
{unsigned char Xd=0;P0=0;P0=smgduan[mz];P2=~w;while(++Xd);
}
void main()
{unsigned char Xd=0,qh=0,ss=0;while(1){if(++qh==0)ss=~ss;//延时转变if(ss){smxs(5,1);smxs(6,2);smxs(7,4);smxs(8,8);}else{smxs(1,1);smxs(2,2);smxs(3,4);smxs(4,8);}}
}
void smxs(unsigned char mz, unsigned char w)
{unsigned char Xd=0;P0=~0;P0=~smgduan[mz];P2=w;while(++Xd);
}