當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]單片機(jī)最小系統(tǒng)設(shè)計(jì)該單片機(jī)最小系統(tǒng)具有的功能: (1)具有2位LED數(shù)碼管顯示功能。 (2)具有八路發(fā)光二極管顯示各種流水燈。 (3)可以完成各種奏樂,報(bào)警等發(fā)聲音類實(shí)驗(yàn)。 (4)具有復(fù)位功能。 功能分析 (1)

單片機(jī)最小系統(tǒng)設(shè)計(jì)

單片機(jī)最小系統(tǒng)具有的功能:
(1)具有2位LED數(shù)碼管顯示功能。
(2)具有八路發(fā)光二極管顯示各種流水燈。
(3)可以完成各種奏樂,報(bào)警等發(fā)聲音類實(shí)驗(yàn)。
(4)具有復(fù)位功能。
功能分析
(1)兩位LED數(shù)碼管顯示功能,我們可以利用單片機(jī)的P0口接兩個(gè)數(shù)碼管來現(xiàn)這個(gè)功能;
(2)八路發(fā)光二極管顯示可以利用P1口接八個(gè)發(fā)光二極管實(shí)現(xiàn)這個(gè)功能;
(3)各種奏樂、報(bào)警等發(fā)聲功能可以采用P2.0這個(gè)引腳接一蜂鳴器來實(shí)現(xiàn)。
(4)利用單片機(jī)的第9腳可以設(shè)計(jì)成復(fù)位系統(tǒng),我們采用按鍵復(fù)位;利用單片機(jī)的18、19腳可以設(shè)計(jì)成時(shí)鐘電路,我們利用單片機(jī)的內(nèi)部振蕩方式設(shè)計(jì)的。
設(shè)計(jì)框圖

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

元件清單的確定:
數(shù)碼管:共陰極2只(分立)
電解電容:10UF的一只
30PF的電容2只
220歐的電阻9只
4.7K的電阻一只
1.2K的電阻一只
4.7K的排阻一只,
12MHZ的晶振一只
有源5V蜂名器一只
AT89S51單片機(jī)一片
常開按鈕開關(guān)1只
緊鎖座一只(方便芯取下來的,綠色的)
發(fā)光二極管(5MM紅色)8只
萬能板電路版15*17CM
S8550三極管一只
4.5V電池盒一只,導(dǎo)線若干。 七、硬件電路的焊接
按照原理圖把上面的元件焊接好,詳細(xì)步驟省略。

 

相關(guān)程序編寫
針對(duì)上面的電路原理圖,設(shè)計(jì)出本單片機(jī)最小系統(tǒng)的詳細(xì)功能:
(1)、第一個(gè)發(fā)光二極管點(diǎn)亮,同時(shí)數(shù)碼管顯示“1”。
(2)、第二個(gè)發(fā)光二極管點(diǎn)亮,同時(shí)數(shù)碼管顯示“2”。
(3)、依次類推到第八個(gè)發(fā)光二極管點(diǎn)亮,同時(shí)數(shù)碼管顯示“8”。
以上出現(xiàn)的是流水燈的效果
(4)、所有的發(fā)光二極管滅了,同時(shí)數(shù)碼管現(xiàn)實(shí)“0”。
(5)、數(shù)碼管顯示“1”。
(6)、數(shù)碼管顯示“2、……”直到“9、A、B、C、D、E、F、Y”。
(7)、蜂鳴器發(fā)出九聲報(bào)警聲后重復(fù)上面所有步驟。

(8)程序如下:

ORG 0000H;偽指令,定義下面的程序代碼(機(jī)器代碼)從地址為0000H的單元存放。
LJMP START;跳轉(zhuǎn)到標(biāo)號(hào)為START的地方去執(zhí)行。
ORG 0030H;偽指令,定義下面的程序代碼(機(jī)器代碼)從地址為0030H的單元存放。
START:MOV P1,#0FEH ;點(diǎn)亮第一個(gè)發(fā)光二極管。
CLR P2.7 ;送低電平到第一個(gè)數(shù)碼管,開啟數(shù)碼管。
CLR P2.6 ;送低電平到第二個(gè)數(shù)碼管,開啟數(shù)碼管。
MOV P0,#06H;讓數(shù)碼管顯示“1” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#0FDH;點(diǎn)亮第二個(gè)發(fā)光二極管。
MOV P0,#5bH;讓數(shù)碼管顯示“2” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#0FBH;點(diǎn)亮第三個(gè)發(fā)光二極管。
MOV P0,#4fH;讓數(shù)碼管顯示“3” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#0F7H;點(diǎn)亮第四個(gè)發(fā)光二極管。
MOV P0,#66H;讓數(shù)碼管顯示“4” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#0EFH;點(diǎn)亮第五個(gè)發(fā)光二極管。
MOV P0,#6dH;讓數(shù)碼管顯示“5” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#0DFH;點(diǎn)亮第六個(gè)發(fā)光二極管。
MOV P0,#7dH;讓數(shù)碼管顯示“6” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#0BFH;點(diǎn)亮第七個(gè)發(fā)光二極管。
MOV P0,#07H;讓數(shù)碼管顯示“7” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#7FH;點(diǎn)亮第八個(gè)發(fā)光二極管。
MOV P0,#7fH;讓數(shù)碼管顯示“8” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P1,#00H;滅了所有的發(fā)光二極管。
MOV P0,#3FH;讓數(shù)碼管顯示“0” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#06H;讓數(shù)碼管顯示“1” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#5bH;讓數(shù)碼管顯示“2” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#4fH;讓數(shù)碼管顯示“3” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#66H;讓數(shù)碼管顯示“4” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#6dH;讓數(shù)碼管顯示“5” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7dH;讓數(shù)碼管顯示“6” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#07H;讓數(shù)碼管顯示“7” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“8” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#6fH;讓數(shù)碼管顯示“9” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“A” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“b” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“C” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“d” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“E” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“F” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“Y” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV R4,#9;送蜂鳴器的報(bào)警次數(shù)。
LOOP:SETB P2.0;不發(fā)聲
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
CLR P2.0;發(fā)聲。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
DJNZ R4,LOOP;發(fā)聲九次后向下執(zhí)行。
SETB P2.0;關(guān)閉發(fā)聲
LJMP START;跳轉(zhuǎn)到標(biāo)號(hào)為START處執(zhí)行,循環(huán)本程序。
DELAY:MOV R7,#200;這是延時(shí)子程序。
D1:MOV R6,#200
D2:MOV R5,#200
D3:DJNZ R5,D3
DJNZ R6,D2
DJNZ R7,D1
RET;延時(shí)子程序返回指令。
END;結(jié)束偽指令。
九、利用KEIL C51 軟件對(duì)上面的程序進(jìn)行調(diào)試和編譯,產(chǎn)生*.HEX文件,以便用編程器寫入單片機(jī)芯片中。
十、編程器的使用:用編程器把電腦里生成的*.HEX文件寫到芯片中。
十一、產(chǎn)品調(diào)試:通上4.5V(三節(jié)電池)的電源,可以調(diào)試本系統(tǒng),如果沒有錯(cuò)誤就可以正常工作了。

下面還有有一個(gè)網(wǎng)上copy的一個(gè)設(shè)計(jì)

單片機(jī)課程設(shè)計(jì)題目:?jiǎn)纹瑱C(jī)最小系統(tǒng)

一、設(shè)計(jì)題目:?jiǎn)纹瑱C(jī)最小系統(tǒng)四、任務(wù)與要求:

 

     在智能化儀器儀表中,控制核心均為微處理器,而單片機(jī)以高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠而得到廣泛應(yīng)用,是設(shè)計(jì)智能化儀器儀表的首選微控制器,單片機(jī)結(jié)合簡(jiǎn)單的接口電路即可構(gòu)成單片機(jī)最小系統(tǒng),它是智能化儀器儀表的基礎(chǔ),也是測(cè)控。監(jiān)控的重要組成部分。

     本課題任務(wù)與要求如下:

1、     單片機(jī)可采用8031、8051、AT89C51、AT89C52、fosc=6MHz。

2、     時(shí)鐘電路,復(fù)位電路的設(shè)計(jì)。

3、     系統(tǒng)RAM、ROM的容量均為8KB。

4、     顯示位數(shù):8位。

5、     鍵盤按鍵數(shù):16個(gè)。[!--empirenews.page--]

6、     上電初始化顯示P.

7、     能輸入、顯示十六進(jìn)制數(shù)0——F

8、     編寫系統(tǒng)初始化主程序、鍵掃子程序、顯示子程序及其他所需要子程序。

9、     計(jì)算機(jī)輸出設(shè)計(jì)說明書一分(包括各部分電路工作原理說明、程序清單及程序流程框圖),16開方框圖一張,電路原理總圖一張。

10、 設(shè)計(jì)時(shí)間:一周五、單片機(jī)最小系統(tǒng)總體方案設(shè)計(jì)提示

 

1、     可利用8031,RAM,ROM,8279構(gòu)造單片機(jī)最小系統(tǒng)。

2、     可利用8031,RAM,ROM,8155構(gòu)造單片機(jī)最小系統(tǒng)。

也可以利用AT89C51(或AT89C52),RAM,8155構(gòu)造單片機(jī)最小系統(tǒng)。

請(qǐng)看我的程序然后修改 ,有問題可以在我們的論壇交流,qq群7344883
 

設(shè)Inter 8051片內(nèi)RAM78H-7FH單元為顯示緩沖區(qū),依次從低到高存顯示數(shù)據(jù)

              ORG     0000H

              AJMP    MAIN

              ORG     0080H

     MAIN :   MOV      SP,   #60H

              MOV      R0,   #08H

              MOV      R1,   #78H

              LCALL    ML                    ;調(diào)清零子程序

           

              MOV      R0,   #64            ;清工作單元

              MOV      R1,   #20H

              LCALL    ML

              MOV      A,    #03H            ; 8155的初始化

              MOV      DPTR, #7F00H

              MOVX     @DPTR,A

       ST:    MOV      78H,  #0FFH            ;顯示P.

              MOV      79H,  #0FFH

              MOV      7AH,  #0FFH

              MOV      7BH,  #0FFH

              MOV      7CH,  #0FFH

              MOV      7DH,  #0FFH

              MOV      7EH,  #0FFH

MOV      7FH,  #0CH

      LM:     LCALL    DIS                 ;調(diào)顯示顯示P.

              LCALL    SHIFT               ;調(diào)移位程序

              LCALL    LTIM                ;調(diào)延時(shí)子程序

              LCALL    KD1                   ;調(diào)鍵掃程序

                        INC      R0

          AJMP     LM

DIS:      MOV    A,   #03H          ;顯示程序

          MOV    DPTR, #7F00H  

          MOV    @DPTR,A

          MOV      R0,   #78H           

              MOV      R3,   #01H

              MOV      A,    R3

     LD0:     MOV      DPTR, #7F01H

              MOVX      @DPTR,A

              INC       DPTR

              MOV       A,   @R0

     DIR0:    ADD       A,   #0DH

              MOVC      A,   @A+PC

     DIR1:    MOVX      @DPTR,A

              LCALL     DL

              INC       R0

              MOV       A,   R3

              JB        ACC.5,LD1

              RL        A

              MOV       R3,  A

              LJMP      LD0

      LD1:    RET

      DSEG:  DB        3FH,06H,5BH,4FH,66H

              DB        6DH,7DH,07H,7FH,6FH

              DB        77H,7CH,39H,5EH,79H

              DB        71H

DL1:   MOV       R7,  #01H           ;延時(shí)1ms

DL :   MOV       R6,  #0FFH

DL6:   DJNZ     R6,  DL6

       DJNZ     R7,  DL          

RET

KD1:  LCALL     DIS                 ;鍵盤掃描程序

      KEY1:   LCALL     KEY

              JNZ       LK1

       NI:    ACALL     DIS

              AJMP      KEY1

      LK1:    ACALL     DIS                 ;有鍵閉合2次延時(shí)

              ACALL     DIS                 ;共12ms去抖動(dòng)

              ACALL     K1

              JNZ       LK2

              LCALL     DIS

              AJMP      KEY1

      LK2:    MOV       R2,   #0FEH

              MOV       R4,   #00H

      LK4:    MOV       DPTR, #7F01H

              MOV       A,     R2

              MOVX      @DPTR, A[!--empirenews.page--]

              INC       DPTR

              INC       DPTR

              MOVX      A,      @DPTR

              JB        ACC.0,  LONE

              MOV       A,      #00H

              AJMP      LKP

     LONE:    JB        ACC.1,  NEXT

              MOV       A,      #08H

              AJMP      LKP

      LKP:    ADD       A,      R4           ;計(jì)算鍵碼

              PUSH      ACC                  ;保護(hù)鍵碼

      LK3:    ACALL     DIS

              ACALL     K1                   ;查鍵是否繼續(xù)閉合,若閉合再延時(shí)

              JNZ       LK3

              POP       ACC

              RET

     NEXT:    INC       R4

              MOV       A,       R2

              JNB       ACC.7,   KLM

              RL        A

              MOV       R2,      A

              LJMP      LK4                  ;進(jìn)行下一次掃描

      KLM:    AJMP      KEY1                 ;掃描完畢,開始新的一次

LTIM:     MOV       R5,      01H         ;延時(shí)子程序

    LP3:      MOV       R6,      #0FFH

    LP2:      MOV       R7,      #0FFH

    LP1:      MOV       R7,      LP1

              DJNZ      R6,      LP2

              DJNZ      R6,      LP3

            

ML:     MOV       A,       #60H         ;清零子程序

              MOV       @R1,     A

              INC       R1

              DJNZ      R0,      ML

       MM:    MOV       A,       #00H         ;清顯示

              MOV       R0,      #08H

              MOV       R1,      #78H

              LCALL     ML

     

    SHIFT:    MOV       7EH,     7FH             ;移位子程序

              MOV       7DH,     7EH

              MOV       7CH,     7DH

              MOV       7BH,     7CH

              MOV       7AH,     7BH

              MOV       79H,     7AH

              MOV       78H,     79H

      KEY:    MOV       DPTR,     #7F01H      ;判斷是否有鍵閉合

              MOV       A,        #00H

              MOVX      @DPTR,    A

              INC       DPTR

              INC       DPTR

              MOVX      A ,       @DPTR

              CPL       A

              ANL       A,        #0FH

              RET

單片機(jī)最小系統(tǒng)一般情況下運(yùn)行起來不會(huì)很穩(wěn)定,原因是沒有加入看門狗等電路。引電路非常簡(jiǎn)單,能幫助你學(xué)習(xí)和使用單片機(jī)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉