(此数码管为共阴极)

首先写一个函数,在指定的其中数码管显示单个1位数数字

参数一:第几个数码管

参数二:要显示的数字

unsigned char arr[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void show1number(unsigned int 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=arr[number];
	//yanshi(1);//加上延时会更亮
	P0=0x00;//清空状态,清空前加延时会更亮
	
}

再来写一个函数  显示int数字 

void show_int(int number){//这里只是用前4个数码管,最大显示9999  显示4位数字    更多位数的要重新判断
	if(number>0){show1number(4,number%10);}	
	if(number>9){show1number(3,number%100/10);}	
	if(number>99){show1number(2,number%1000/100);}	
	if(number>999){show1number(1,number%10000/1000);}
}


相关推荐

51单片机点亮一个LED 和 LED闪烁

在51单片机的原理图中,共有8个LED 其中一侧在串联电阻后,连接到了电源的正极(VCC)另一端分别连接到了P20,P21,P22,P23.....P27(这些相当于编号,跟单片机对应的编号都是通着

51单片机延时函

在51单片机开发板的晶振上写着11.0592代表了11.0592MHz我们可以用STC-ISP软件上的 软件延时计算器 来生成一个代码,需在系统频率那里选择11.0592指令集选择STC-Y1(因为我

51单片机定时器,时钟周期事件

以下为51单片机,11.0592的晶振直接定义一个初始化时钟的函数,这里定义的是1毫秒,一般情况足够了/*定时器0初始化*/ void Timer0Init(void) //1毫秒@11.0592

74HC245的作用 引脚图以及功能 (解决单片机输出功率不足的问题)

以下仅为简单总结,详情请参阅购买开发板附带的资料作用: 由于单片机输出的功率不足,所以可以通过74HC245来增强他的电流上限功能:八个输入信号原封不动的输出,只不过可接的电流更大一些。可解决led太

VARCHAR(250) 里面的数字有什么作用

一直很好奇 VARCHAR(10) 和 VARCHAR(255) 有什么区别如果没有区别 为什么要设计这个?后来突然想到了可能的原因 只是猜测 没查阅资料也没验证很可能是这个数字就是决定 记录长度是使

zblog插件内取当前 文章列表每页显示数

$zbp->option['ZC_DISPLAY_COUNT']

DRAWTEXT_FIX(COND,X,Y,TYPE,TEXT) 通达信在固定显示

固定位置显示文字;在指标排序中显示字符串栏目.用法:DRAWTEXT_FIX(COND,X,Y,TYPE,TEXT) 当COND条件满足时,在当前指标窗口内(X,Y)位置书写文字TEXT,X,Y为

通达信统计天指标 显示上市天

在使用此指标的时候.需要注意数据类型的转换. 把数值型转换为字符串型转换函数:CON2STR应用实例:显示上市天数:DRAWTEXT_FIX(ISLASTBAR,0.01,0.05,0,CON2STR

帝国后台文章列表每页显示数量修改(帝国cms批量删除文章方法)

帝国文章批量删除方法:帝国后台文章列表,默认每页显示30条,批量删除很费劲如何修改呢?就喜欢一张图说明问题,按照箭头操作即可!直接修改成1000条,或者5000 一万 随意然后就可以一次性全选,一次性

通达信主图显示概念板块题材/流通市值 + 涨停和跌停标记

MA5:MA(C,5); { MA10:MA(C,10); MA20:MA(C,20); MA60:MA(C,60); } 涨幅:=(C-REF(C,1))/REF(C,1)*100;