131 1300 0010
其他
當前位置: 首頁>> 元件技術>>其他>>
  • 導航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • 如何開發(fā)出單片機最小系統(tǒng)
    如何開發(fā)出單片機最小系統(tǒng)
  • 如何開發(fā)出單片機最小系統(tǒng)
  •   發(fā)布日期: 2019-05-23  瀏覽次數(shù): 1,247

    一、確定任務

    開發(fā)單片機最小系統(tǒng)

     

    二、任務分析:

    該系統(tǒng)具有的功能:

    (1)具有2位LED數(shù)碼管顯示功能。

    (2)具有八路發(fā)光二極管顯示各種流水燈。

    (3)可以完成各種奏樂,報警等發(fā)聲音類實驗。

    (4)具有復位功能。

    三、功能分析

    (1)兩位LED數(shù)碼管顯示功能,我們可以利用單片機的P0口接兩個數(shù)碼管來現(xiàn)這個功能;

    (2)八路發(fā)光二極管顯示可以利用P1口接八個發(fā)光二極管實現(xiàn)這個功能;

    (3)各種奏樂、報警等發(fā)聲功能可以采用P2.0這個引腳接一蜂鳴器來實現(xiàn)。

    (4)利用單片機的第9腳可以設計成復位系統(tǒng),我們采用按鍵復位;利用單片機的18、19腳可以設計成時鐘電路,我們利用單片機的內(nèi)部振蕩方式設計的。

    四、設計框圖

    如何開發(fā)出單片機最小系統(tǒng)

    五、硬件電路設計

    根據(jù)本系統(tǒng)的功能,和單片機的工作條件,我們設計出下面的電路圖。

    如何開發(fā)出單片機最小系統(tǒng)

    六、元件清單的確定:

    數(shù)碼管:共陰極2只(分立)

    電解電容:10UF的一只

    30PF的電容2只

    220歐的電阻9只

    4.7K的電阻一只

    1.2K的電阻一只

    4.7K的排阻一只,

    12MHz的晶振一只

    有源5V蜂名器一只

    AT89S51單片機一片

    常開按鈕開關1只

    座一只(方便芯取下來的,綠色的)

    發(fā)光二極管(5MM紅色)8只

    萬能板電路版15*17CM

    S8550三極管一只

    4.5V電池盒一只,導線若干。

    七、硬件電路的焊接

    按照原理圖把上面的元件焊接好,詳細步驟省略。

    八、相關程序編寫

    針對上面的電路原理圖,設計出本系統(tǒng)的詳細功能:

    (1)、第一個發(fā)光二極管點亮,同時數(shù)碼管顯示“1”。

    (2)、第二個發(fā)光二極管點亮,同時數(shù)碼管顯示“2”。

    (3)、依次類推到第八個發(fā)光二極管點亮,同時數(shù)碼管顯示“8”。

    以上出現(xiàn)的是流水燈的效果

    (4)、所有的發(fā)光二極管滅了,同時數(shù)碼管現(xiàn)實“0”。

    (5)、數(shù)碼管顯示“1”。

    (6)、數(shù)碼管顯示“2、……”直到“9、A、B、C、D、E、F、Y”。

    (7)、蜂鳴器發(fā)出九聲報警聲后重復上面所有步驟。

    (8)程序如下:

    ORG 0000H;偽指令,定義下面的程序代碼(機器代碼)從地址為0000H的單元存放。

    LJMP START;跳轉到標號為START的地方去執(zhí)行。

    ORG 0030H;偽指令,定義下面的程序代碼(機器代碼)從地址為0030H的單元存放。

    START:MOV P1,#0FEH ;點亮第一個發(fā)光二極管。

    CLR P2.7 ;送低電平到第一個數(shù)碼管,開啟數(shù)碼管。

    CLR P2.6 ;送低電平到第二個數(shù)碼管,開啟數(shù)碼管。

    MOV P0,#06H;讓數(shù)碼管顯示“1” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#0FDH;點亮第二個發(fā)光二極管。

    MOV P0,#5bH;讓數(shù)碼管顯示“2” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#0FBH;點亮第三個發(fā)光二極管。

    MOV P0,#4fH;讓數(shù)碼管顯示“3” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#0F7H;點亮第四個發(fā)光二極管。

    MOV P0,#66H;讓數(shù)碼管顯示“4” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#0EFH;點亮第五個發(fā)光二極管。

    MOV P0,#6dH;讓數(shù)碼管顯示“5” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#0DFH;點亮第六個發(fā)光二極管。

    MOV P0,#7dH;讓數(shù)碼管顯示“6” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#0BFH;點亮第七個發(fā)光二極管。

    MOV P0,#07H;讓數(shù)碼管顯示“7” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#7FH;點亮第八個發(fā)光二極管。

    MOV P0,#7fH;讓數(shù)碼管顯示“8” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P1,#00H;滅了所有的發(fā)光二極管。

    MOV P0,#3FH;讓數(shù)碼管顯示“0” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#06H;讓數(shù)碼管顯示“1” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#5bH;讓數(shù)碼管顯示“2” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#4fH;讓數(shù)碼管顯示“3” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#66H;讓數(shù)碼管顯示“4” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#6dH;讓數(shù)碼管顯示“5” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#7dH;讓數(shù)碼管顯示“6” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#07H;讓數(shù)碼管顯示“7” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#7fH;讓數(shù)碼管顯示“8” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV P0,#6fH;讓數(shù)碼管顯示“9” 。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    MOV R4,#9;送蜂鳴器的報警次數(shù)。

    LOOP:SETB P2.0;不發(fā)聲

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    CLR P2.0;發(fā)聲。

    LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

    DJNZ R4,LOOP;發(fā)聲九次后向下執(zhí)行。

    SETB P2.0;關閉發(fā)聲

    LJMP START;跳轉到標號為START處執(zhí)行,循環(huán)本程序。

    DELAY:MOV R7,#200;這是延時子程序。

    D1:MOV R6,#200

    D2:MOV R5,#200

    D3:DJNZ R5,D3

    DJNZ R6,D2

    DJNZ R7,D1

    RET;延時子程序返回指令。

    END;結束偽指令。

    九、利用KEIL C51 軟件對上面的程序進行調(diào)試和編譯,產(chǎn)生*.HEX文件,以便用編程器寫入單片機芯片中。

    十、編程器的使用:用編程器把電腦里生成的*.HEX文件寫到芯片中。

    十一、產(chǎn)品調(diào)試:通上4.5V(三節(jié)電池)的電源,可以調(diào)試本系統(tǒng),如果沒有錯誤就可以正常工作了。


  • ·上一篇:
    ·下一篇:
  • 其他關聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機:131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權所有:Copyright?2010-2023 elibeatofitness.com 電話:13113000010 粵ICP備2021111333號