数组是事先放好的一种对应关系。在汇编当中叫做“格”。
静态显示
静态显示不能显示不同的数,因为阴极...
选“段”、“位”,让数码管显示我们需要的数值
#include<reg51.h>//头文件
unsigned char code leddata[]={0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ledddata就是指针
void main(void)//主函数
{
P0=leddata[8];//叫做“断码”,P0控制哪一点亮“0”,哪一点灭“1”
P1=0xfe;//控制哪一位亮“1”,哪一位灭“0”
while(1);
}
动态显示:做切换,切一个位,显示一个断码
#include<reg51.h>//头文件
#define u8 unsigned char//给它起个名“u8”
#define u16 unsigned int//也是起名
unsigned char code leddata[]={0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ledddata就是指针
void delay(u16 time);//声明
void main(void)//主函数
{
while(1)
{
P1=0xff;
P0=leddata[6];//通过数组的索引,与断码实现一对一的对应关系
P1=0xfe;
delay(500);
P1=0xff;
P0=leddata[0];
P1=0xfed;
delay(500);
}
}
void delay(u16 time)
{
u16 t1,t2;
for(t1=0;t1<time;t1++)
{
for(t2=0;t2<125;t2++)
}
}
#include<reg51.h>//头文件
#define u8 unsigned char//给无符号的char起个名“u8”
#define u16 unsigned int//也是起名
unsigned char code leddata[]={0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ledddata就是指针
u8 code wei[]={0x01,0x02,0x08,0x10,0x20,0x40,0x80};//用反码表示,这样比较简单
void delay(u16 time);//声明
void main(void)//主函数
{
u8 i;//定义循环变量i
while(1)
{
for(i=0;i<8;i++)
{
P1=0xff;
P0=leddata[i];
P1=~wei[i];
delay(1);
}
// P1=0xff;
// P0=leddata[6];
// P1=~wei[0];//~表示取反
// delay(1);
// P1=0xff;
// P0=leddata[0];
// P1=~wei[1];
// delay(1);
}
}
void delay(u16 time)
{
u16 t1,t2;
for(t1=0;t1<time;t1++)
{
for(t2=0;t2<125;t2++)
}
}