静态数码管学习
共阳数码管与共阴数码管数码表互为取反
下面时使数码管从0-F变化的代码
#include <reg51.h>
typedef unsigned int u16;
typedef unsigned char u8;
u8 i=0;
void delay1s(void) //延迟1s,误差 0us
{
unsigned char a,b,c;
for(c=167;c>0;c–)
for(b=171;b>0;b–)
for(a=16;a>0;a–);
}
char code num[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
//数码管 0-f 16个数,加0xff不显示
//加个code 指令将num这个数组放到code段内就是rom段。
void main()
{
//P0=6;//共阴数码管, 1
//P0=7;//
P0=0xff;//共阳数码管, 2
while(1)
{
for(i=0;i<17;i++)
{
delay1s();
P0=num[i];
}
}
}