0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用51單片機實現(xiàn)最小系統(tǒng)的資料和代碼說明

Wildesbeast ? 來源:單片機教程網(wǎng) ? 作者:單片機教程網(wǎng) ? 2020-10-06 18:09 ? 次閱讀

一、確定任務(wù)

如標題

二、任務(wù)分析:

單片機最小系統(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腳可以設(shè)計成復位系統(tǒng),我們采用按鍵復位;利用單片機的18、19腳可以設(shè)計成時鐘電路,我們利用單片機的內(nèi)部振蕩方式設(shè)計的。

由于是單片機最小系統(tǒng)所以本設(shè)計只實現(xiàn)了最基本的功能有什么問題可去電子論壇交流

四、設(shè)計框圖

五、硬件電路設(shè)計

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

六、元件清單的確定:

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

電解電容:10UF的一只

30PF的電容2只

220歐的電阻9只

4.7K的電阻一只

1.2K的電阻一只

4.7K的排阻一只,

12MHZ的晶振一只

有源5V蜂名器一只

AT89S51單片機一片

常開按鈕開關(guān)1只

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

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

萬能板電路版15*17CM

S8550三極管一只

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

七、硬件電路的焊接

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

八、相關(guān)程序編寫

針對上面的電路原理圖,設(shè)計出本單片機最小系統(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;跳轉(zhuǎn)到標號為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 P0,#7fH;讓數(shù)碼管顯示“A” 。

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

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

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

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

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

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

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

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

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

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

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

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

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;關(guān)閉發(fā)聲

LJMP START;跳轉(zhuǎn)到標號為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;結(jié)束偽指令。

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

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

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

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

單片機課程設(shè)計題目:單片機最小系統(tǒng)

一、設(shè)計題目:單片機最小系統(tǒng)

四、任務(wù)與要求:

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

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

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

2、 時鐘電路,復位電路的設(shè)計。

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

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

5、 鍵盤按鍵數(shù):16個。

6、 上電初始化顯示P.

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

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

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

10、 設(shè)計時間:一周

五、單片機最小系統(tǒng)總體方案設(shè)計提示

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

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

也可以利用AT89C51(或AT89C52),RAM,8155構(gòu)造單片機最小系統(tǒ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)延時子程序

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 ;延時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次延時

ACALL DIS ;共12ms去抖動

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

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 ;計算鍵碼

PUSH ACC ;保護鍵碼

LK3: ACALL DIS

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

JNZ LK3

POP ACC

RET

NEXT: INC R4

MOV A, R2

JNB ACC.7, KLM

RL A

MOV R2, A

LJMP LK4 ;進行下一次掃描

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

LTIM: MOV R5, 01H ;延時子程序

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

單片機最小系統(tǒng)一般情況下運行起來不會很穩(wěn)定,原因是沒有加入看門狗等電路。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 51單片機
    +關(guān)注

    關(guān)注

    273

    文章

    5696

    瀏覽量

    122789
  • 蜂鳴器
    +關(guān)注

    關(guān)注

    12

    文章

    888

    瀏覽量

    45788
  • 最小系統(tǒng)
    +關(guān)注

    關(guān)注

    9

    文章

    250

    瀏覽量

    29014
收藏 人收藏

    評論

    相關(guān)推薦

    51單片機最小系統(tǒng)

    51單片機最小系統(tǒng),內(nèi)含原理圖設(shè)計和個人總結(jié),詳細說明
    發(fā)表于 07-13 17:31 ?19次下載

    51/AVR單片機最小系統(tǒng)板使用說明

    51/AVR單片機最小系統(tǒng)板使用說明。
    發(fā)表于 07-20 16:40 ?3次下載

    51單片機最小系統(tǒng)

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),AT89S51單片機
    發(fā)表于 12-06 13:39 ?9253次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>

    什么是單片機最小系統(tǒng)

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。 對
    的頭像 發(fā)表于 03-05 09:14 ?7.6w次閱讀
    什么是<b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>

    51單片機最小系統(tǒng)的結(jié)構(gòu)和復位電路的詳細說明

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。 對
    發(fā)表于 09-16 17:22 ?21次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>的結(jié)構(gòu)和復位電路的詳細<b class='flag-5'>說明</b>

    51單片機最小系統(tǒng)電路圖和復位電路的詳細資料說明

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。 對
    發(fā)表于 09-12 17:23 ?8次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>最小系統(tǒng)</b>電路圖和復位電路的詳細<b class='flag-5'>資料</b><b class='flag-5'>說明</b>

    51單片機最小系統(tǒng)是什么?51單片機最小系統(tǒng)的電路介紹

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。 對
    發(fā)表于 08-12 17:33 ?44次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>是什么?<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>的電路介紹

    51單片機最小系統(tǒng)的詳細資料自己的

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。 對
    發(fā)表于 07-29 17:36 ?4次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>最小系統(tǒng)</b>的詳細<b class='flag-5'>資料</b>自己的

    51單片機最小系統(tǒng)詳細資料說明

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。 對
    發(fā)表于 07-26 17:36 ?2次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>最小系統(tǒng)</b>詳細<b class='flag-5'>資料</b><b class='flag-5'>說明</b>

    51單片機最小系統(tǒng)電路相關(guān)知識點資料說明

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。對
    發(fā)表于 04-29 08:00 ?10次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>最小系統(tǒng)</b>電路相關(guān)知識點<b class='flag-5'>資料</b><b class='flag-5'>說明</b>

    51單片機最小系統(tǒng)的教程資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是51單片機最小系統(tǒng)的教程資料免費下載包括了:1.電平特性,2.51單片機IO口介紹,3.
    發(fā)表于 05-21 08:00 ?14次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>的教程<b class='flag-5'>資料</b>免費下載

    51單片機最小系統(tǒng)的講解和應(yīng)用的資料總結(jié)

    單片機最小系統(tǒng), 或者稱為最小應(yīng)用系統(tǒng), 是指用最少的元件組成的單片機可以工作的系統(tǒng)。對
    發(fā)表于 11-05 14:53 ?22次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>的講解和應(yīng)用的<b class='flag-5'>資料</b>總結(jié)

    80C51單片機最小系統(tǒng)

    目錄80C51單片機最小系統(tǒng)電源時鐘脈沖復位電路存儲器設(shè)置電路最小系統(tǒng)圖80C51單片機
    發(fā)表于 11-11 10:51 ?76次下載
    80C<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>最小系統(tǒng)</b>

    單片機最小系統(tǒng)詳解

    單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng).對
    發(fā)表于 11-17 09:36 ?14次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>詳解

    51單片機最小系統(tǒng)介紹

      在學習51單片機的時候我們最先接觸到的就是單片機最小系統(tǒng),單片機最小系統(tǒng)又叫
    發(fā)表于 08-05 16:03 ?2.1w次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>最小系統(tǒng)</b>介紹