譯碼器74HC138應用
STC89C52RC隻有32個I/O,如果控制一些複雜的電路,這些I/O就要捉襟見肘了,如何擴展I/O呢?74HC138是一款三八譯碼器,能将三種輸入狀态譯碼成八種輸出狀态,也就是說,隻需要占用三個I/O就可以擴展為八個I/O。74HC138譯碼器外觀
74HC138
74HC138譯碼器圖型符号,
74HC138圖形符号
74HC138一共有16個引腳,16腳是VCC,8腳負極;A0、A1、A2是三八譯碼器的輸入端子,每一個輸入端子有兩個輸入狀态(1或0),三個輸入端子一共有8個輸入狀态;Y0~Y7是譯碼塊輸出端子;E1、E2、E3是譯碼塊的使能端子,隻有E1與E2同時接到負極,E3接到正極,譯碼塊才能具備正常工作條件。
三八譯碼塊真值表

三八譯碼器實現流水燈
1.電路
元器件清單
程序設計(3.9.1)
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit A0=P1^0;
sbit A1=P1^1;
sbit A2=P1^2;
void delay();
void main()
{
while(1)
{
A0=0;A1=0;A2=0;//Y0 0;
delay();
A0=1;A1=0;A2=0;//Y1 0;
delay();
A0=0;A1=1;A2=0;//Y2 0;
delay();
A0=1;A1=1;A2=0;//Y3 0;
delay();
A0=0;A1=0;A2=1;//Y4 0;
delay();
A0=1;A1=0;A2=1;//Y5 0;
delay();
A0=0;A1=1;A2=1;//Y6 0;
delay();
A0=1;A1=1;A2=1;//Y7 0;
delay();
}
}
void delay()
{
uint i,j;
for(j=500;j>0;j--)
for(i=110;i>0;i--);
}
程序解釋
為了程序布局美觀,可以在主函數之前先聲明函數,在主函數之後再寫完整,上面的程序在主函數之前先聲明“void delay();”,在主函數之後編寫該函數相對應的内容。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!