<track id="vsrno"><strike id="vsrno"><tt id="vsrno"></tt></strike></track>
    1. <p id="vsrno"><strong id="vsrno"><xmp id="vsrno"></xmp></strong></p><acronym id="vsrno"><label id="vsrno"></label></acronym>
      1. <p id="vsrno"></p>
      2. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        51單片機最小系統原理及編程電路設計

        作者:mcu110   來源:51hei   點擊數:  更新時間:2007年08月01日   【字體:

        本課以AT89S51單片機最小系統來教你如何實現單片機編程,該程序驅動單片機P1.7端口上的發光二極管不停閃爍,系統程序用keil 匯編語言編寫,電路參考下圖1所示。


        《51單片機最小系統原理及編程電路設計》

        首先來認識一下發光二極管(LED),發光二極管實物如下圖2所示,發光二極管具有單項導電,體積小、耗電省、壽命長、響應速度快、顯示清晰等特點,廣泛用于電子電路中當作LED數碼管、LED指示燈、LED電子顯示屏,既然是51單片機最小系統我們當然只進行了最簡單的電路設計與編程


        圖2: 《發光二極管介紹》

        發光二極管導通時,產生一個正向的工作電流IF,工作電流根據發光二極管的材料、功率等不同,額定電流一般在10~40mA左右,發光二極管導通時的正向壓降VF比較大,一般為1.5~3V(普通硅二極管約為0.7V)。因此在正常使用中,為了保證發光二極管在電源電壓V的作用下管子的工作電流不超過額定值,必須給發光二極管串聯一只限流電阻R,R的阻值可由下式算出:R=(V-VF)/IF。其中V為工作電源電壓,VF為發光二極管的正向壓降,IF為額定工作電流。

        從上面原理圖1可知,當單片機的P1.7輸出低電平(0V)時,有正向工作電流流過發光二極管,發光二極管就亮;相反,當P1.7輸出高電平(5V)時,發光二極管沒有足夠電壓差產生工作電流,此時發光二極管不亮。因此,程序中只需交替讓單片機的P1.7輸出低電平“0”和高電平“1”就可以讓發光二極管閃爍發光。

        下面以51單片機匯編語言來編程,讓某個端口輸出高電平語句是SETB,讓端口輸出低電平的語句是CLR語句,讓P1.7端口輸出高電平的語句是: SETBP1.7; 讓P1.7端口輸出低電平的語句是: CLRP1.7,實現發光二極管LED閃爍的編程思路如下圖3所示。

        圖3: 《51單片機最小系統原理編程框圖》

        完整的源程序如下:
        ;******** 51單片機最小系統原理及編程電路設計主程序 ********
        MAIN: CLRP1.7;主程序開始,P1.7輸出低電平"0",讓點亮發光二極管
        ACALLDELAY ;調用延時子程序延時一段時間,讓發光二極管亮一段時間
        SETB P1.7;P1.7輸出高電平"1",熄滅發光二極管
        ACALLDELAY ;調用延時子程序延時一段時間,讓發光二極管熄滅一段時間
        AJMP MAIN;跳轉到程序開頭重復執行

        ;******** 下面是延時子程序 ********
        DELAY:MOVR7,#255
        Y1: MOVR6,#255
        DJNZ R6,$
        DJNZ R7,Y1
        RET;延時子程序返回
        END;程序結束

        啟動“Keil uVision2”單片機集成開發環境,如沒有請再這里下載 keil下載 建立一個新工程,輸入上面的源程序,最后編譯得到一個lich1.hex目標文件,用編程器把lich1.hex寫入單片機AT89S51中,插到實驗板上就可以看到第一個程序的運行效果了(P1.7端口的發光二極管不停閃爍)。這就是我們學習的第一個最簡單的程序,是一個完整的單片機開發過程,再復雜龐大的程序都是由簡單的語句、程序構成的,希望該教程能給初學者對單片機開發有一個感性的認識。不懂如何在Keil中編輯源程序的初學者請看 keil教程

        圖4:ISP編程器將產生的目標程序lich1.hex寫入AT89S51單片機

        圖5:單片機插入實驗板上程序的運行效果

        單片機的學習是一個循序漸進的過程,制作單片機最小系統,并徹底了解其原理,能把你快速帶入單片機世界的大門,這只是一個最簡單的制作,有什么問題請聯系我

        關閉窗口
        真实国产乱子伦对白视频不卡|国产欧美日韩一区二区搜索|狼狼狼色在线精品视频免费|欧美老人巨大XXXX做受|五月天婷婷一区二区三区久久
        <track id="vsrno"><strike id="vsrno"><tt id="vsrno"></tt></strike></track>
        1. <p id="vsrno"><strong id="vsrno"><xmp id="vsrno"></xmp></strong></p><acronym id="vsrno"><label id="vsrno"></label></acronym>
          1. <p id="vsrno"></p>