新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機的最小化應用系統

        51單片機的最小化應用系統

        作者: 時間:2013-01-15 來源:網絡 收藏

        3、接著我們給單片機加一個指示燈。我們在單片機P1.7(8腳)上接一個發光二極管,這樣就可以用來做單片機驅動發光二極管的簡單實驗了,圖中發光二極管負極對單片機引腳P1.7之間串接了一個560歐姆的限流電阻,防止發光二極管和單片機的引腳P1.7因為電流過大燒壞,使發光二極管和單片機都工作在安全狀態。

        4、控制引腳EA接法。EA/VPP(31腳)為內外程序存儲器選擇控制引腳,當EA為低電位時,單片機從外部程序存儲器取指令;當EA接高電平時,單片機從內部程序存儲器取指令。。。AT89S內部有4KB可反復擦寫1000次以上的程序存儲器,因此我們把EA接到+5V高電平,讓單片機運行內部的程序,我們就可以通過反復燒寫來驗證我們的程序了。

        5、復位電路:在復位引腳(9腳)腳持續出現24個振蕩器脈沖周期(即2個機器周期)的高電平信號將使單片機復位。如下圖所示電容C和電阻R構成了單片機上電自動復位電路,復位后,單片機從0000H單元開始執行程序,并初始化一些專用寄存器為復位狀態值,受影響的專用寄存器如下表所示:

        寄存器
        狀態寄存器狀態
        PC
        0000H
        TCON
        00H
        ACC
        00H
        TL0
        00H
        PSW
        00H
        TH0
        00H
        SP
        07H
        TL1
        00H
        DPTR
        0000H
        TH1
        00H
        P0 -- P3
        FFH
        SCON
        00H
        IP
        xxx00000H
        SBUF
        不確定
        IE
        0xx00000H
        PCON
        0xxx0000H
        TMOD
        00H

        至此,我們完成了的最小化應用系統的連接,只要正確的燒寫程序,并接上+5V電源就可以了,單片機剩下的其他可以不接線懸空。

        下面我們來寫一個驅動發光二極管閃爍的程序,這是很簡單的事情,只需要以一定的世界間隔,給p1.7高電平,然后低電平,如此重復,我們就看到了發光2極管在閃爍,程序如下:
        完整的源程序如下:
        ;******** 的最小化應用系統主程序 ********
          MAIN:  CLR   P1.7   ;主程序開始,P1.7輸出低電平"0",讓點亮發光二極管
              ACALL  DELAY   ;調用延時子程序延時一段時間,讓發光二極管亮一段時間
              SETB   P1.7   ;P1.7輸出高電平"1",熄滅發光二極管
              ACALL  DELAY   ;調用延時子程序延時一段時間,讓發光二極管熄滅一段時間
              AJMP   MAIN   ;跳轉到程序開頭重復執行

          ;******** 51單片機的最小化應用系統延時子程序 ********
          DELAY: MOV   R7,#255
          Y1:   MOV   R6,#255
              DJNZ   R6,$
              DJNZ   R7,Y1
              RET        ;延時子程序返回
              END        ;程序結束

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        晶振相關文章:晶振原理

        上一頁 1 2 下一頁

        關鍵詞: 51單片機 最小系統 AT89S51

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玉门市| 正蓝旗| 高要市| 黄梅县| 上饶市| 景洪市| 东源县| 福安市| 东乌珠穆沁旗| 子长县| 武陟县| 安多县| 焦作市| 安国市| 聊城市| 韩城市| 伊吾县| 观塘区| 元朗区| 聂荣县| 南江县| 嘉祥县| 大英县| 黎川县| 桂东县| 瑞安市| 建阳市| 南投市| 咸丰县| 磐石市| 祁连县| 九江县| 运城市| 河源市| 葵青区| 邹城市| 田阳县| 临夏市| 辛集市| 库伦旗| 富裕县|