51单片机之数码管动态循环左移显示手机号

课设题目数码管手机号
要求:四位一体共阴数码管循环左移显示手机号,显示完成蜂鸣器响一次,重复循环
一:共阴极数码管16进制编码1~f如下:
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};


二:proteus中各元件符号表示CRYSTAL 晶振 ;电解电容:CAP-即可搜到;电阻:res;
7SEG-MPX4-CC 四个共阴二极管显示器 1234 是阴公共端;

排阻:respack

三:总体电路图

51单片机之数码管动态循环左移显示手机号_第1张图片   

实物图:(前三位的手机号,太懒,不想上传太多图片了)
51单片机之数码管动态循环左移显示手机号_第2张图片
四  代码实现
#include
#define uchar unsigned char;
#define uint unsigned int;

sbit beep=P1^2;
sbit P2_0 = P2^0;//位选数据的十位,即左边第一位数码管
sbit P2_1 = P2^1;//位选数据的个位,即第二位数码管
sbit P2_2 = P2^2;//位选数据的十位,即第三位数码管
sbit P2_3 = P2^3;//位选数据的个位,即最后一位数码管

unsigned char tcount,a=0,kk=0;
unsigned char table1[]={0x00,0x00,0x00,};//加上你想要显示的手机号对应十六进制

/*     延时1ms的延时函数         */
void delay_ms(unsigned int n)
{
    unsigned int i=0,j=0;
    for(i=0;i10)
		{
			kk=0;
			beep=0;
			delay_ms(50);
			beep=1;
		
		}
	 }
	}
/*     主函数                 */
void main()
{
	Timer0Init();
	while(1);
}

		

你可能感兴趣的:(51单片机之数码管动态循环左移显示手机号)