void display()
{
unsigned char n,bsel;
bsel=0x01;
for(n=0;n<8;n++)
{
P1=bsel;
P0=segtab[dbuf[n]];
if(dp&(1<<n))
P0=P0&0x7f;
bsel=_crol_(bsel,1);
delay1();
P0=0xff;
}
**#原理:**
宏定义 dp 是小数点位,如0x01 -->0000 0001,第一个数码管带小数点。
if(dp&(1<<n))//如果dp和相应位的1相与,dp如果是1则执行if语句,将字形码的最高位使能,点亮小数点。
单片机数码管显示代码(带小数点)
最新推荐文章于 2024-07-19 10:54:36 发布