单片机模块学习之数码管
生活随笔
收集整理的這篇文章主要介紹了
单片机模块学习之数码管
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)碼管是led的升級(jí)版,用到段選位選,其實(shí)都差不多
位選就是選某個(gè)數(shù)碼管com,段選就是數(shù)碼管送入數(shù)據(jù)
還有轉(zhuǎn)碼表
共陰
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
共陽(yáng)
0xc0,xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e
驅(qū)動(dòng)思路就是打開(kāi)位選,然后送段選
藍(lán)橋杯數(shù)碼管驅(qū)動(dòng)代碼
void LedScan() {static u8 index=0;P2=(P2&0x1f)|0xe0;P0=0xff;P2=P2&0x1f;P2=(P2&0x1f)|0xc0;P0=0x80>>index;P2=P2&0x1f;P2=(P2&0x1f)|0xe0;P0=LedBuff[index];P2=P2&0x1f;index++;index&=7; }另外兩個(gè)數(shù)組數(shù)碼管轉(zhuǎn)碼LedChar[]和數(shù)碼管緩沖LedBuff[]
u8 code LedChar[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
u8 LedBuff[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
數(shù)碼管緩沖顯示
void ShowNumber(u16 dat) {char i;u8 buff[8];for(i=0;i<8;i++){buff[i]=dat%10;dat/=10;}for(i=7;i>0;i--){if(buff[i]==0)LedBuff[i]=0xff;elsebreak;}for(;i>=0;i--){LedBuff[i]=LedChar[buff[i]];} }總結(jié)
以上是生活随笔為你收集整理的单片机模块学习之数码管的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 单片机模块学习之LED
- 下一篇: 单片机模块学习之键盘