日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

38译码器数码管c语言代码,38译码器驱动数码管电路图

發(fā)布時(shí)間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 38译码器数码管c语言代码,38译码器驱动数码管电路图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用38譯碼器來驅(qū)動(dòng)數(shù)碼管來節(jié)省IO端口

(1)什么是38譯碼器?

38譯碼器有3個(gè)輸入端口A、B、C和8個(gè)輸出端口Y0-Y7。由輸入端口控制輸出端口的值

(2)為什么要使用38譯碼器

回想之前的驅(qū)動(dòng)動(dòng)態(tài)數(shù)碼管的時(shí)候,一個(gè)段碼端口控制顯示的數(shù)字,一個(gè)com端口控制哪個(gè)數(shù)碼管工作,段碼端口接8個(gè)IO引腳,com端口接8個(gè)IO引腳。這樣很浪費(fèi)IO口資源,為了節(jié)省IO資源,使用38譯碼器接在com口,這樣可以使用3個(gè)輸入引腳控制8個(gè)com端口了。J15接到J16端口。

(3)為什么3個(gè)輸入端可以控制8個(gè)輸出端口值?

3個(gè)輸入端口,每一個(gè)端口有兩種狀態(tài)(0或1),3個(gè)端口可以組成8中不同的狀態(tài)。

(4)3個(gè)輸入端口如何控制8個(gè)輸出端口?

根據(jù)74LS138芯片的數(shù)據(jù)手冊(cè)查詢38譯碼器芯片的譯碼表即可。

分析數(shù)據(jù)手冊(cè)可以得到:

(1)G1、G2*兩個(gè)端口是使能引腳,并且要想讓38譯碼器工作,G1接高電平,G2*接低電平。所以看上面38譯碼器的原理圖中G1接VCC,G2*接GND。

(2)當(dāng)ABC三個(gè)輸入端口輸入不同的值時(shí),Y0-Y7會(huì)對(duì)應(yīng)的輸出低電平,回想動(dòng)態(tài)數(shù)碼管是共陰數(shù)碼管,而38譯碼器Y0-Y7默認(rèn)輸出高電平,這樣銜接的天衣無(wú)縫。

實(shí)驗(yàn)分析:

第一步:八個(gè)數(shù)碼管陽(yáng)極接一個(gè)IO端口,來負(fù)責(zé)輸出顯示的數(shù)字(也就是輸出對(duì)應(yīng)的段碼)。

第二步:八個(gè)數(shù)碼管的com端分別接入38譯碼器的Y0-Y7引腳。由38譯碼器的ABC三個(gè)輸入端來控制數(shù)碼管的com端口從而達(dá)到控制哪個(gè)數(shù)碼管工作的目的。

第三步:根據(jù)原理圖接線,J15-J16、ABC分別接P1.0、P1.1、P1.2

第四步:測(cè)出數(shù)碼管的段碼和38譯碼器的譯碼表。

第五步:編程。

實(shí)驗(yàn)代碼:

#include

void delay(void)

{

unsigned char i=0,j=0;

for(i=0;i<100;i++);

for(j=0;j<20;j++);

}

void main(void)

{

/*? P0.0接到 A,P0.1接到B,P0.2接到C

P0端口是段碼口,控制要顯示的數(shù)字

P1端口是38譯碼器的端口,通過com端控制第幾個(gè)數(shù)碼管工作

*/

/*? 測(cè)試38譯碼器的位碼

c b a

000???? Y0輸出低電平 第1個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x1

001???? Y1輸出低電平 第2個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x2

010???? Y2輸出低電平 第3個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x3

011???? Y3輸出低電平 第4個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x4

100???? Y4輸出低電平 第5個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x5

101???? Y5輸出低電平 第6個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x6

110???? Y6輸出低電平 第7個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x7

111???? Y7輸出低電平 第8個(gè)數(shù)碼管工作??????? 對(duì)應(yīng)十六進(jìn)制數(shù)0x8

*/

unsigned char duanma[8]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};

//段碼

unsigned char weima[8]={0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7};????????????????? //38譯碼器的位碼

unsigned char i=0;

while(1)

{

for(i=0;i<=7;i++)

{

P1=weima[i];??? //38譯碼器的位碼

P0=duanma[i];?? //八個(gè)數(shù)碼管的段碼

delay();

P0=0;?????? //消隱

}

}

}

實(shí)驗(yàn)總結(jié):

(1)使用38譯碼器就是為了節(jié)省IO口,如果IO口夠用可以不使用38譯碼器。

(2)動(dòng)態(tài)數(shù)碼管的陽(yáng)極接在P0這個(gè)IO端口上,控制數(shù)碼管顯示的數(shù)字,陰極接在38譯碼器的八個(gè)輸出引腳上Y0-Y7,Y0-Y7由38譯碼器的ABC三個(gè)輸入引腳控制。控制哪個(gè)數(shù)碼管工作。

(3)測(cè)試數(shù)碼管的段碼和38譯碼器的位碼。

(4)先分析原理圖看如何接線,再看38譯碼器的數(shù)據(jù)手冊(cè)看它怎么工作。最后編程。

(5)著重實(shí)驗(yàn)分析過程,而非知識(shí)本身,多總結(jié)學(xué)習(xí)方法。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的38译码器数码管c语言代码,38译码器驱动数码管电路图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。