本節重點:動態數碼顯示
動態數碼管顯示原理:
動態顯示的特點是將所有數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。選亮數碼管采用動態掃描顯示。所謂動態掃描顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。動態顯示的亮度比靜態顯示要差一些,所以在選擇限流電阻時應略小于靜態顯示電路中的。
芯片介紹:
1、74HC138芯片
74HC138芯片是一種高速CMOS器件,它可以實現3線到8線的解碼或分離功能。它有三個使能輸入端,兩個低有效,一個高有效。它可以根據三位二進制的地址輸入,從八個輸出端中選擇一個輸出低電平,其余輸出高電平。74HC138芯片可以用于內存地址譯碼或數據路由等應用。
管腳說明:
邏輯控制圖:
當我們使得芯片使能觸發時,輸入的A2、A1、A0三個數字經過二進制的排列轉換,可以使得Y0~Y7之中其中一個輸出低點平信號控制輸出。
真值表:
從真值表可以看出,當且只當E1、E2為低電平,E3為高電平時,控制輸入的A0 ~ A2數字組合來控制Y0~Y7的輸出信號,其余全部輸出無效。
2、74HC573
SL74HC573跟LS/AL573的管腳一樣。器件的輸入是和標準CMOS輸出兼容的;加上拉電阻,他們能和LS/ALSTTL輸出兼容。當鎖存使能端為高時,這些器件的鎖存對于數據是透明的(也就是說輸出同步)。當鎖存使能變低時,符合建立時間和保持時間的數據會被鎖存。
性能特性:
X輸出能直接接到CMOS,NMOS和TTL接口上X操作電壓范圍:20V~6.0V
X低輸入電流:1.0uA
XCMOS器件的高噪聲抵抗特性
程序編寫:
#include
typedef unsigned char u8;
typedef unsigned int u16;
sbit LSA=P1^0;
sbit LSB=P1^1;
sbit LSC=P1^2;
unsigned char code sunduan[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
void delay(u16 t)
{
while(t--);
}
void display()
{
u8 i;
for(i=0;i<4;i++)
{
switch(i)
{
case 0:LSA=0;LSB=0;LSC=0;break;
case 1:LSA=1;LSB=0;LSC=0;break;
case 2:LSA=0;LSB=1;LSC=0;break;
case 3:LSA=1;LSB=1;LSC=0;break;
}
delay(100);
P2=sunduan[i];
delay(100000);
P2=0xFF; //消隱
}
}
void main()
{
while(1)
{
display();
}
}
效果展示:
可以看到,每次經過一個for循環之后,就換切換一位,然后顯示出數值出來。
-
接口
+關注
關注
33文章
7829瀏覽量
148908 -
數碼管
+關注
關注
31文章
1836瀏覽量
90092 -
顯示原理
+關注
關注
0文章
5瀏覽量
8832 -
動態數碼管
+關注
關注
1文章
11瀏覽量
7445
發布評論請先 登錄
相關推薦
評論