1.数码管
共阴极连接:led的阴极连接到一个端口上
共阳极链接:led的阳极连接到一个端口上
共阴极点亮:公共端接地,亮的对应端口接高电频
2.数组:把相同类型的一系列数据统一编制到某一组别中
定义:
int x[3];//定义一组变量(3个)
int x[ ]={1,2,3};//定义一组变量并初始化([ ]中也可以写3)
引用:
x[0]//引用数组第0个变量
x[1]//引用数组第1个变量
点亮数码管
#include <REGX52.H>
Unsigned char NixieTable [ ] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}//0,1,2,3,4,5,6,7,8,9
void Delay (unsigned int xms)
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
void Nixietube (unsigned char Location,Number)
{
switch(Location)
{
case 1: P2_4=12_3=12_2=1;break;//第一个数码管对应led7
case 2: P2_4=12_3=12_2=0;break;
case 3: P2_4=12_3=02_2=1;break;
case 4: P2_4=12_3=02_2=0;break;
case 5: P2_4=02_3=12_2=1;break;
case 6: P2_4=0;P2_3=1;P2_2=0;break;
case 7: P2_4=0;P2_3=0;P2_2=1;break;
case 8: P2_4=0;P2_3=0;P2_2=0;break;
}
P0=NixieTable [Numble];
Delay(1);
P0=0x00;//清零
}
Void main ( )
{
While (1)
{
Nixietube (1,1);//第1个数码管显示1
Delay(500);
Nixietube (2,2);
Delay(500);
Nixietube (3,3);
Delay(500)
}
}
|