7.靜態數碼管

工作原理:

LED顯示器兩種顯示結構:段顯示(7段,米字型)和點陣顯示(58、88)
在這裏插入圖片描述
共陰接法:8個LED陰極相連(不一定要接到GND)開發板使用的是共陰數碼管
在這裏插入圖片描述
共陽接法:8個LED陽極相連接(不一定要接+5V)
在這裏插入圖片描述
LED顯示器提供的編碼爲一個字節(8位,七段數碼管加小數點)dp爲最高位,a爲最低位
共陰數碼管碼錶:
0:0x3f 00111111
1:0x06 00000110
2:0x5b 01011011
3:0x4f 01001111
4:0x66 01100110
5:0x6d 01101101
6:0x7d 01111101
7:0x07 00000111
8:0x7f 01111111
9:0x6f 01101111
A:0x77 01110111
B:0x7c 01111100
C:0x39 00111001
D:0x5e 01011110
E:0x79 01111001
F:0x71 01110001
無顯示:0x00 00000000
共陽極的0和1與共陰極情況相反
靜態數碼管每個數碼管的段選必須接一個8位數據線來保持現實的字形碼,送入一次可一直保持,直至送入新的字形碼。
在這裏插入圖片描述
P0口漏極開路,需要加上拉電阻,P1,P2,P3在單片機內部有上拉電阻,可以不加,但是爲了驅動電流的需要,還是會加上拉電阻,但是P30和P31沒有加上拉是因爲用在串口的下載,P34根據後面的使用也沒有加上拉電阻。

74H573:
在這裏插入圖片描述
當OE爲低電平,開始工作,默認接地
LE爲鎖存器,高電平爲置數,低電平爲鎖存狀態,保持。LE默認短接到Vcc,即爲高電平置數狀態。
在這裏插入圖片描述
104爲濾波電容
74LS138芯片的Y0輸出低電平,靜態數碼管顯示

程序如下(使最右邊一個數碼管即靜態數碼管顯示爲F):

#include<reg51.h>
typedef unsigned char u8;
typedef unsigned int u16;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

u8 code smgduanxuan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                     0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//定義一個數組,將16個數據存入
 //code使得數據存入flash,節省數據大小
void main()
{
	P0=smgduanxuan[15];//數組中第16個數據賦值給P0口
	LSA=0;
	LSB=0;
	LSC=0;//使38譯碼器的Y0=0以選定LED1
	while(1);//只需要循環即可
}

*加code與不加code都是定義一個全局變量,區別在於:
加:將數據儲存到flash裏,節省數據大小
在這裏插入圖片描述
不加:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章