51單片機(jī)-數(shù)碼管
共陰極是指所有發(fā)光二極管陰極連接在一起,這個(gè)共陰極可以用來做片選。
如圖,這里有8個(gè)發(fā)光二極管,到底哪個(gè)亮需要進(jìn)行片選。
段選:8段數(shù)碼管每一段的控制段叫段選
位選:就是進(jìn)行哪個(gè)8段數(shù)碼管亮的選擇
TX-1C使用兩片鎖存器74HC573實(shí)現(xiàn)位選和段選
這里的D0"7是連在單片機(jī)的I/O口上,當(dāng)為高電平時(shí),Q與D中的數(shù)據(jù)一致,遇到負(fù)跳變沿時(shí)Q中的
數(shù)據(jù)保持住,D中的數(shù)據(jù)即使變化也不會影響Q。
MCUVersion2使用的是74HC245和38譯碼器74HC138
74HC245有一個(gè)緩沖和驅(qū)動(dòng)的作用,這樣可以使led顯示的更加穩(wěn)定,
數(shù)碼管顯示分動(dòng)態(tài)顯示和靜態(tài)顯示,每個(gè)數(shù)碼管的狀態(tài)都是被不斷更新的,利用的人的視覺暫留,
使看上去數(shù)值保持在一個(gè)固定的位置上,人的視覺是有延續(xù)性的,當(dāng)一個(gè)東西不斷變化時(shí),變化
的時(shí)間小于人眼的視覺暫留時(shí)間的話,人的眼睛會以為這個(gè)東西是連續(xù)的。靜態(tài)顯示是一幅畫面
放在那看上去是不動(dòng)的而它確實(shí)是不動(dòng)的。動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字型碼和相應(yīng)
位選,利用發(fā)光管的余暉和視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯示。
靜態(tài)顯示:
數(shù)碼管從左向右依次點(diǎn)亮:
#include <reg52.h>
void delay(){
int i,j;
for(i = 0; i < 0xff; i++)
for(j = 0; j < 0xff; j++)
;
}
unsigned int code duan[]={
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07};
unsigned int code wei[]={
0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff};
void main(){
while(1){
int i;
P2 = 0x39;
for(i = 0; i < 8; i++){
P2 = duan[ i];
P1 = wei[ i];
delay();
}
}
}
想讓哪個(gè)數(shù)碼管亮多少就亮多少:
評論