1. 程式人生 > >基於proteus的51微控制器模擬例項七十三、3-8譯碼器74HC138應用例項

基於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中,啟動模擬,按動撥碼開關,觀察執行結果。下圖是某一時刻程式執行結果。