基於proteus的51單片機仿真實例七十三、3-8譯碼器74HC138應用實例

1、本例在單片機的P2端口的低三位(P2.0-P2.2)上連接3-8譯碼器74HC138的3線輸入端,然後在8線輸出端連接8個LED,通過譯碼器控制8個LED循環點亮。
具體操作需要參照74HC138的真值表來進行。
 
2、在keil c51中新建工程ex61,編寫如下程序代碼,編譯並生成ex61.hex文件
// 3-8譯碼器74HC138應用實例
#include <reg51.h>
//延時函數
void delayms(unsigned int x)
{
  unsigned char i;
 while(x--)
 {
   for(i = 0;i < 120;i++);
 }
}
//主函數
void main(void)
{
  P2 = 0x00;    //
 while(1)
 {
   P2 = (P2 + 1) % 8;    //輸出3位碼
  delayms(500); 
 }
}
3、在proteus中新建仿真文件ex61.dsn,電路原理圖如下所示

4、將ex61.hex文件載入at89c51中,啓動仿真,按動撥碼開關,觀察運行結果。下圖是某一時刻程序運行結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章