新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)最小系統(tǒng)軟硬件設(shè)計

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

        作者: 時間:2012-06-23 來源:網(wǎng)絡(luò) 收藏

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

        本文引用地址:http://www.104case.com/article/171258.htm

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

        元件清單的確定:
        數(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)程序編寫
        針對上面的電路原理圖,設(shè)計出本單片機(jī)系統(tǒng)的詳細(xì)功能:
        (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ā)出九聲報警聲后重復(fù)上面所有步驟。

        (8)程序如下:

        ORG 0000H;偽指令,定義下面的程序代碼(機(jī)器代碼)從地址為0000H的單元存放。
        LJMP START;跳轉(zhuǎn)到標(biāo)號為START的地方去執(zhí)行。
        ORG 0030H;偽指令,定義下面的程序代碼(機(jī)器代碼)從地址為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)到標(biāo)號為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 軟件對上面的程序進(jìn)行調(diào)試和編譯,產(chǎn)生*.HEX文件,以便用編程器寫入單片機(jī)芯片中。
        十、編程器的使用:用編程器把電腦里生成的*.HEX文件寫到芯片中。
        十一、產(chǎn)品調(diào)試:通上4.5V(三節(jié)電池)的電源,可以調(diào)試本系統(tǒng),如果沒有錯誤就可以正常工作了。

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

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

        一、設(shè)計題目:單片機(jī)最小系統(tǒng)四、任務(wù)與要求:

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

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

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

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

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

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

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

        蜂鳴器相關(guān)文章:蜂鳴器原理
        晶振相關(guān)文章:晶振原理

        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 衡水市| 仲巴县| 九江市| 连州市| 博罗县| 巩留县| 闽侯县| 布拖县| 佳木斯市| 灌阳县| 区。| 中超| 西青区| 平定县| 义马市| 公安县| 合川市| 宜良县| 长顺县| 宜君县| 安乡县| 永定县| 赤城县| 焉耆| 乃东县| 九寨沟县| 绿春县| 山东省| 宜兰市| 合江县| 赤峰市| 金沙县| 阿拉善右旗| 边坝县| 马山县| 天镇县| 屯昌县| 沾益县| 宜君县| 静宁县| 宁河县|