欢迎光临~啄木鸟电子科技

软件设计

软件 LED 3位 数码管 显示屏

 

//数码管 0 ~ F 的代码数组
unsigned char const Data[16] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e}; // 值( 7位 段码 共阳 );  
unsigned char const Wu[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};   // 位( 要不断的扫描); 

#pragma vector = 25     	//设置 定时器4 重载的中断向量号 = 25
__interrupt void Inter_TIM4(void)
{
  	TIM4_SR_UIF = 0;  		// 清除 中断标志
  	ms_count ++;           	// 中断使 ms_count++ 做加法,记录 1毫秒 产生的中断次数
  	
  	if(ms_count >= 2)     	// 2毫秒 点亮 一位 数码管 , 就是快速显示,等于 16毫秒 显示完 8个数码管,我们人眼 根本反应不过来,感觉是 8位数码管 同时显示
  	{
    	ms_count = 0;
   
//   	 HC595_WriteData(Data[number[SMGtimes]] , Wu[SMGtimes]);    	//往数码管发送显示一个数码显示数据
//   	 HC595_WriteData(Data[number[SMGtimes]] , Wu[0]);    		//往数码管发送显示一个数码显示数据

		// 设置模式; 显示 设置的数值; 
		if( distance_x < 10 ) // 1 位 数据值时; { number[1] = distance_x % 10; // 1 位数:个 位; HC595_WriteData(Data[number[1]] , Wu[1]); //往数码管发送显示一个数码显示数据 } if((distance_x >= 10) && (distance_x <= 99)) // 2 位数:个位 + 十位 { number[0] = distance_x / 10; // 十 位; number[1] = distance_x % 10; // 个 位; // HC595_WriteData(Data[number[0]] , Wu[0]); //往数码管发送显示一个数码显示数据 // HC595_WriteData(Data[number[1]] , Wu[1]); //往数码管发送显示一个数码显示数据 HC595_WriteData(Data[number[SMGtimes]] , Wu[SMGtimes]); //往数码管发送显示一个数码显示数据 // 在 0,1,2 数据间 SMGtimes ++; if(SMGtimes >= 2)    //2位 数据管 循环显示
		   	{
		      	SMGtimes = 0 ;
		   	} 							 	
		}
		
		if((distance_x >= 100) && (distance_x <= 999)) // 3 位数:个位 + 十位 { number[0] = distance_x / 100; // 百位; number[1] = distance_x / 10 % 10; // 十 位; number[2] = distance_x % 10; // 个 位; // HC595_WriteData(Data[number[0]] , Wu[0]); //往数码管发送显示一个数码显示数据 // HC595_WriteData(Data[number[1]] , Wu[1]); //往数码管发送显示一个数码显示数据 HC595_WriteData(Data[number[SMGtimes]] , Wu[SMGtimes]); //往数码管发送显示一个数码显示数据 // 在 0,1,2 数据间 SMGtimes ++; if(SMGtimes >= 2)    //3位 数据管 循环显示
		   	{
		      	SMGtimes = 0 ;
		   	} 							 	
		}											 	
  	} 	
}

http://m.qpic.cn/psc?/V10gy0Du2rJU6T/TmEUgtj9EK6.7V8ajmQrEMUroTlyrEH7se7spR6bc9FYPcdKg*Z4xdOdAE2muJ8wZsja6onVL3KKByz8KVSKv1G.vbUJHQ*SSnXRygTcEs0!/b&bo=pwH2AgAAAAABF2I!&rf=viewer_4

1 高电平 | 0 低电平

数值


g

f

e

d

c

b

a

共阳

共阴

0 1 1 0 0 0 0 0 0 0xC0
1 1 1 1 1 1 0 0 1 0xf9
2 1 0 1 0 0 1 0 0 0xa4
3 1 0 1 1 0 0 0 0 0xb0
4 1 0 0 1 1 0 0 1 0x99
5 1 0 0 1 0 0 1 0 0x92
6 1 0 0 0 0 0 1 0 0x82
7 1 1 1 1 1 0 0 0 0xf8
8 1 0 0 0 0 0 0 0 0x80
9 1 0 0 1 0 0 0 0 0x90
A 1 0 0 0 1 0 0 0 0x88
B 1 0 0 0 0 0 1 1 0x83
C 1 1 0 0 0 1 1 0 0xc6
d 1 0 1 0 0 0 0 1 0xa1
E 1 0 0 0 0 1 1 0 0x86
F 1 0 0 0 1 1 1 0 0x8e

共阳:片选出 高 电平,端口出 低 电平; 

共阴:片选出 低 电平,端口出 高 电平; 

片 选

0 0 0 0 0 0 0 1 0x01
0 0 0 0 0 0 1 0 0x02
0 0 0 0 0 1 0 0 0x04
0 0 0 0 1 0 0 0 0x08
0 0 0 1 0 0 0 0 0x10
0 0 1 0 0 0 0 0 0x20
0 1 0 0 0 0 0 0 0x40
1 0 0 0 0 0 0 0 0x80


联系我们

联系人:客服在线

手机:全工:13903011251

电话:李R:13530006400

邮箱:729986191@qq.com

地址: GUANGDONG PROVINCE

用手机扫描二维码关闭
二维码