|
51單片機(jī)和38譯碼器的proteus仿真電路圖如下,單片機(jī)通過譯碼器控制led燈.
0.png (26.24 KB, 下載次數(shù): 106)
下載附件
2016-5-29 16:00 上傳
38譯碼器的真值表:
0.png (12.83 KB, 下載次數(shù): 108)
下載附件
2016-5-29 15:59 上傳
0.png (81.95 KB, 下載次數(shù): 138)
下載附件
2016-5-29 15:59 上傳
38譯碼器的仿真文件及源碼下載:http://www.zg4o1577.cn/bbs/dpj-50777-1.html
源程序如下:
- #include <reg51.h>
- //38譯碼器輸入端設(shè)置
- sbit INPUT1 = P2^0;
- sbit INPUT2 = P2^1;
- sbit INPUT3 = P2^2;
- void delay(char time) //延時函數(shù)
- {
- int i = 0;
- for (; time > 0; time-- )
- for (i = time; i > 0; i--)
- ;
- }
- int main(void)
- {
- while (1)
- {
- INPUT1 = 0; INPUT2 = 0; INPUT3 = 0; //設(shè)置譯碼器輸出端口8個引腳為0111 1111
- delay(100);
-
- INPUT1 = 0; INPUT2 = 0; INPUT3 = 1; //設(shè)置譯碼器輸出值為二進(jìn)制值 1011 1111
- delay(100);
-
- INPUT1 = 0; INPUT2 = 1; INPUT3 = 0; //設(shè)置譯碼器輸出值為二進(jìn)制值 1101 1111
- delay(100);
-
- INPUT1 = 0; INPUT2 = 1; INPUT3 = 1; //設(shè)置譯碼器輸出值為二進(jìn)制值 1110 1111
- delay(100);
-
- INPUT1 = 1; INPUT2 = 0; INPUT3 = 0; //設(shè)置譯碼器輸出值為二進(jìn)制值 1111 0111
- delay(100);
-
- INPUT1 = 1; INPUT2 = 0; INPUT3 = 1; //設(shè)置譯碼器輸出值為二進(jìn)制值 1111 1011
- delay(100);
-
- INPUT1 = 1; INPUT2 = 1; INPUT3 = 0; //設(shè)置譯碼器輸出值為二進(jìn)制值 1111 1101
- delay(100);
-
- INPUT1 = 1; INPUT2 = 1; INPUT3 = 1; //設(shè)置譯碼器輸出值為二進(jìn)制值1111 1110
- delay(100);
- }
- } //小月子2016年5月21日編輯 如果您有什么不理解的地方請加小月子
- //小月子是個電子發(fā)燒友,小月子電子網(wǎng)店賣的是電子電路類、編程類學(xué)習(xí)資料教學(xué)視頻
- //請關(guān)注我的網(wǎng)
復(fù)制代碼
|
|