//数码管 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