51微控制器的靜態數碼管

2021-08-17 00:00:34 字數 979 閱讀 7932

1.138解碼器

1.74hc138是一款高速

cmos

器件,74hc138引腳相容低功耗肖特基ttl(lsttl)系列。74hc138解碼器可接受3位二進位制加權位址輸入(a0, a1和a2),並當使能時,提供8個互斥的低有效輸出(y0至y7)。

2.使用138解碼器,可以用三位來控制八位,如下圖所示,定義lsa=0,lsb=0,lsc=0,則邏輯值為0,根據微控制器原理圖,則led1為低電平,再控制相應的數碼管,達到靜態控制數碼管的效果

2.數碼管

1.led顯示器工作方式有兩種:靜態顯示方式和動態顯示方式。靜態顯示的特點是每個數碼管的段選必須接乙個8位資料線來保持顯示的字形碼。當送入一次字形碼後,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優點是占用cpu時間少,顯示便於監測和控制。缺點是硬體電路比較複雜,成本較高。

2.採用16進製制數的方法,1為亮,0為滅,於是可以建立陣列來表示0到9以及a到f的字元(由下至上來算16進製制數);

3.分析數碼管的形狀,確定八位數字,從而確定圖案;

4.0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;//定義數碼管的字碼(0到9和a到f)

#includetypedef unsigned char u8;

typedef unsigned int u16;

/*實現38解碼器的使用*/

sbit lsa=p2^2;

sbit lsb=p2^3;

sbit lsc=p2^4;

//使用陣列定義,code為定義常量陣列,將陣列定義在rom中

u8 code smgduan=;//定義數碼管的字碼

void main()

51微控制器 靜態數碼管詳細教程

二.實現程式 三.結果與總結 單個數碼管有8個小led燈,通過點亮其中若干個可以顯示0 9和部分字母,下面是原理圖 1 通過原理圖,可以看出數碼管分為共陽 b右 和共陰 b左 兩種,想要使led通電,需要形成電勢差,例如在共陰下,想使a管亮,需要在a管輸入高電平,其他情況以此類推。點亮數碼管指定段,...

51微控制器數碼管詳解

led數碼管是由多個發光二極體封裝在一起組成 8 字型的器件,引線已在內部連線完成,只需引出它們的各個筆劃,公共電極。led數碼管常用的段數一般為7段,有的另加乙個小數點 led數碼管根據led的接法不同,分為共陽和共陰兩類 1.共陽極數碼管 指八段數碼管的八段發光二極體的陽極 正極 都連在一起,而...

51微控制器攻略 數碼管

使用前先明確數碼管是共陰極接法還是共陽極接法,若是共陰極接法,定義char型按位控制其輸出 共陽極與下圖相反 工作方式分為靜態顯示和動態顯示,靜態顯示數碼管必須段選接八位資料線保持字碼。下圖是共陽極數碼管,通過we控制段,p0控制位,四個數碼管共占用12個i o口,若使用74hc573等鎖存器可簡化...