51单片机 数码管操作

静态数码管

#include 

unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0xC7};

void Nixie(unsigned char location,Number){
	
	switch(location){
		case 1: P2_4=1; P2_3=1; P2_2=1;break;
		case 2: P2_4=1; P2_3=1; P2_2=0;break;
		case 3: P2_4=1; P2_3=0; P2_2=1;break;
		case 4: P2_4=1; P2_3=0; P2_2=0;break;
		case 5: P2_4=0; P2_3=1; P2_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[Number];
}

void main(){


	while(1){
		
		Nixie(6,6);
	}
}

动态数码管

#include 

#include "INTRINS.H"

void Delay(unsigned int xms)		
{
	unsigned char i, j;
	while(xms--){
			_nop_();
			i = 2;
			j = 199;
			do
			{
				while (--j);
			} while (--i);
	}


}


unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0xC7};


void Nixie(unsigned char location,Number){
	
	switch(location){
		case 1: P2_4=1; P2_3=1; P2_2=1;break;
		case 2: P2_4=1; P2_3=1; P2_2=0;break;
		case 3: P2_4=1; P2_3=0; P2_2=1;break;
		case 4: P2_4=1; P2_3=0; P2_2=0;break;
		case 5: P2_4=0; P2_3=1; P2_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[Number];
	Delay(1);	
	P0=0x00;
}

void main(){


	while(1){
		
		Nixie(4,6);
		Nixie(5,6);
		Nixie(6,6);
		
		
	}
}

你可能感兴趣的:(51单片机,嵌入式硬件,单片机)