已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
HEFEI UNIVERSITY單片機(jī)應(yīng)用技術(shù)課程設(shè)計(jì)報(bào)告系 別: 電子信息與電氣工程系 專業(yè)(班級(jí)): 姓名(學(xué)號(hào)): 導(dǎo)師姓名: 完成時(shí)間: 2015-05-30 摘 要本課程設(shè)計(jì)完成的是構(gòu)建單片機(jī)最小系統(tǒng)和實(shí)驗(yàn)環(huán)境熟悉,跑馬燈實(shí)驗(yàn)及74LS138譯碼器,8255控制交通燈實(shí)驗(yàn),8253方波實(shí)驗(yàn)。最小系統(tǒng)包括晶振,復(fù)位等模塊。138的譯碼實(shí)驗(yàn),根據(jù)138的譯碼特性建立一個(gè)譯碼表,用P1口給74LS138的A、B、C口賦值,在此過程中其實(shí)只用到了P10,P11,P12;8255A交通的實(shí)驗(yàn)選擇PA口控制交通燈,核心思想就是延時(shí)時(shí)間的控制;8253方波實(shí)驗(yàn)采用的是CLK0產(chǎn)生方波信號(hào),再用T0、T1不同工作方式進(jìn)行分頻,輸出方波;最后繼電器是通過控制單片機(jī)端口的高低電平來控制繼電器的通斷。 關(guān)鍵詞:?jiǎn)纹瑱C(jī) 譯碼器 交通燈 方波 工作方式 目錄一、系統(tǒng)分析1二、系統(tǒng)總體設(shè)計(jì)2三、硬件設(shè)計(jì)31、單片機(jī)最小系統(tǒng)32、流水燈電路53、譯碼器電路63.1 74LS138芯片的引腳圖及功能63.2 電路設(shè)計(jì)74、交通燈電路84.1 8255A芯片引腳圖及功能84.2 電路設(shè)計(jì)95、方波電路105.1 8253芯片的引腳圖及功能105.2 電路設(shè)計(jì)126、繼電器電路127、獨(dú)立按鍵電路13四、軟件設(shè)計(jì)131、主程序132、地址端口定義143、輸出方波程序15五、系統(tǒng)調(diào)試161、硬件調(diào)試162、軟件調(diào)試163、軟硬件聯(lián)調(diào)16六、功能測(cè)試161、測(cè)試平臺(tái)162、測(cè)試工具173、測(cè)試步驟174、測(cè)試結(jié)果17總結(jié)17致謝18參考文獻(xiàn)18附錄19附錄1 作品展示19附錄2 硬件清單20附錄3 軟件清單21單片機(jī)應(yīng)用技術(shù)-課程設(shè)計(jì)一、系統(tǒng)分析本次設(shè)計(jì)的單片機(jī)控制系統(tǒng),旨在通過按鍵操作完成如下五個(gè)功能:1、 實(shí)現(xiàn)P1口控制8個(gè)指示燈,循環(huán)點(diǎn)亮,瞬間只有一個(gè)燈亮2、 實(shí)現(xiàn)與74LS138譯碼器連接的8個(gè)指示燈,循環(huán)點(diǎn)亮,瞬間只有一個(gè)燈亮3、 使用芯片8255A控制LED指示燈,實(shí)現(xiàn)交通燈功能。4、 使用8253A的計(jì)數(shù)器0和計(jì)數(shù)器1實(shí)現(xiàn)對(duì)輸入時(shí)鐘頻率的兩級(jí)分頻,得到一個(gè)周期為1秒的方波,用此方波控制蜂鳴器,發(fā)出報(bào)警信號(hào)5、 設(shè)計(jì)接口電路,通過繼電器控制直流電機(jī)轉(zhuǎn)動(dòng)、停止通過分析以上功能可知,本次實(shí)驗(yàn)可以選用已有單片機(jī)STC89C52,運(yùn)用5個(gè)獨(dú)立按鍵來控制5個(gè)功能的實(shí)現(xiàn),且各個(gè)功能不能相互干擾。因此需要每個(gè)功能實(shí)現(xiàn)后進(jìn)行復(fù)位,但是考慮到8253A芯片沒有自帶復(fù)位鍵,決定采用上電復(fù)位。對(duì)于第一個(gè)實(shí)驗(yàn),由于要實(shí)現(xiàn)循環(huán)點(diǎn)亮,所以直接用8個(gè)燈并聯(lián)然后與一個(gè)1K電阻串聯(lián),接成共陽即可;對(duì)于第二個(gè)實(shí)驗(yàn),指示燈的電路可與第一個(gè)實(shí)驗(yàn)相同,但其負(fù)極需與74LS138譯碼器的輸出相接,然后通過單片機(jī)控制譯碼器的A、B、C實(shí)現(xiàn)指示燈的循環(huán)點(diǎn)亮;對(duì)于第三個(gè)實(shí)驗(yàn),交通燈采取紅、黃、綠排列,指示燈需串1K電阻,然后通過單片機(jī)控制8255A的工作方式0來實(shí)現(xiàn)交通燈的功能;對(duì)于第四個(gè)實(shí)驗(yàn),采用紅燈與蜂鳴器并聯(lián)接地,其陽極接8253A的OUT1輸出,綠燈陰極接在OUT1上,通過單片機(jī)控制8253A可以實(shí)現(xiàn)蜂鳴器報(bào)警,紅綠燈交替點(diǎn)亮;對(duì)于第五個(gè)實(shí)驗(yàn),初步考慮利用PNP三極管來驅(qū)動(dòng)5V的繼電器,由于PNP低電平有效,起基極b與單片機(jī)相連,這樣可以通過單片機(jī)控制繼電器的吸合,考慮到在電路板上焊接直流電機(jī)不方便,在此將直流電機(jī)換成LED燈。以上便是整個(gè)系統(tǒng)的初步分析,具體電路還需根據(jù)實(shí)際情況設(shè)計(jì)。二、系統(tǒng)總體設(shè)計(jì)根據(jù)本次設(shè)計(jì)的要求,經(jīng)小組成員討論后,選用單片機(jī)STC89C52作為控制器,5個(gè)獨(dú)立按鍵作為各個(gè)獨(dú)立模塊的按鈕,譯碼器實(shí)驗(yàn)選用74LS138,交通燈實(shí)驗(yàn)選用D82C55AC-2芯片,方波實(shí)驗(yàn)選用D8253C-2芯片,繼電器實(shí)驗(yàn)選用HRS2H-S-DC5V-N繼電器,另外電源采用直流可調(diào)穩(wěn)壓電源。系統(tǒng)原理框圖如2.1所示:STC89C52譯碼器D82C55AD8253C獨(dú)立按鍵電源電路流水燈實(shí)驗(yàn)繼電器8個(gè)LED交通燈蜂鳴器、LED1個(gè)LED圖2.1 系統(tǒng)原理圖具體的單片機(jī)端口分工:(1)單片機(jī)最小系統(tǒng)的晶振采用12M Hz晶振,電源采用直流可調(diào)穩(wěn)壓電源5V供電,五個(gè)獨(dú)立按鍵接單片機(jī)P2.0P2.4口,分別依次控制五個(gè)模塊。(2)實(shí)驗(yàn)一8個(gè)LED燈陰極接單片機(jī)P1口(3)實(shí)驗(yàn)二74LS138譯碼器G2A、G2B一起接P3.0口,A、B、C分別接P1.2、P1.1、P1.0口(4)實(shí)驗(yàn)三D8255A芯片的A1、A0接P2.6、P2.7,D0D7接P0,CS接P3.1, WR、RD接P3.6、P3.7(5)實(shí)驗(yàn)四D8253C芯片的A1、A0接P2.6、P2.7,D0D7接P0,CS接P3.2, WR、RD接P3.6、P3.7,CLK0接P3.5(6)實(shí)驗(yàn)五PNP三極管基極b接P2.5三、硬件設(shè)計(jì)1、單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)主要由晶振電路和復(fù)位電路組成的,晶振電路是由晶振和瓷片電容構(gòu)成的,我們是的晶振是11.0592Mhz,為51單片機(jī)提供時(shí)鐘源。復(fù)位電路是由按鈕、電解電容和電阻組成的,為單片機(jī)提供復(fù)位功能,就此就構(gòu)成了最小系統(tǒng)板。STC89C52RC單片機(jī)是基于51內(nèi)核的單片機(jī),是在51單片機(jī)應(yīng)有的功能上基礎(chǔ)拓展的單片機(jī),是屬于MCS51系列單片機(jī)中的高端單片機(jī),它有運(yùn)算器包括算術(shù)邏輯運(yùn)算單元ALU、累加器ACC、寄存器B、暫存器TMP、程序狀態(tài)字寄存器PSW、十進(jìn)制調(diào)整電路等。它能實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送操作。(1)控制器單片機(jī)有控制器,它包括定時(shí)控制邏輯(時(shí)鐘電路、復(fù)位電路),指令寄存器,指令譯碼器程序計(jì)數(shù)器PC,堆棧指針SP,數(shù)據(jù)指針寄存器DPTR以及信息傳送控制部件等。(2)時(shí)鐘電路單片機(jī)有時(shí)鐘電路,在單片機(jī)芯片的內(nèi)部有一個(gè)高增益反相放大器,輸入端為XTAL1,輸出端為XTAL2,一般在XTAL1與XTAL2之間接石英晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,就是單片機(jī)的內(nèi)部時(shí)鐘電路,時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過二分頻以后,才成為單片機(jī)的時(shí)鐘信號(hào)。電容C1和C2為微調(diào)電容,可起頻率穩(wěn)定、微調(diào)作用,我們?nèi)∮?0pf電容。晶振的頻率范圍是1.2MHz12MHz ,我們?nèi)?1.0592 MHz。(3)復(fù)位電路單片機(jī)的復(fù)位電路需要外接,對(duì)于使用12MHZ的晶振的單片機(jī),復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過4s才能完成復(fù)位操作。產(chǎn)生復(fù)位信號(hào)的電路有上電自動(dòng)復(fù)位電路和按鍵手動(dòng)復(fù)位電路兩種方式。我通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的單片機(jī)復(fù)位的,即人為的復(fù)位操作。(4)指令寄存器和指令譯碼器指令寄存器中存放指令代碼,CPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送入指令存儲(chǔ)器,經(jīng)譯碼器后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令所指定的操作。(5)程序計(jì)數(shù)器PCPC是一個(gè)16位計(jì)數(shù)器,其內(nèi)容為單片機(jī)將要執(zhí)行的指令機(jī)器碼所在存儲(chǔ)單元的地址。PC具有自動(dòng)加1的功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。由于PC不可尋址的,因此用戶無法對(duì)它直接進(jìn)行讀寫操作,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。PC的尋址范圍為64KB,即地址空間為00000FFFFH。(6)堆棧指針SPSP為8位寄存器,用于指示棧頂單元地址。所謂堆棧是一種數(shù)據(jù)結(jié)構(gòu),它只允許在其一端進(jìn)行數(shù)據(jù)刪除和數(shù)據(jù)插入操作的線性表。數(shù)據(jù)寫入堆棧叫入棧(PUSH),數(shù)據(jù)讀出堆棧叫出棧(POP)。堆棧的最大特點(diǎn)是“后進(jìn)先出”的數(shù)據(jù)操作原則。MCS-51系統(tǒng)復(fù)位后,SP初始化為07H。(7)數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR為16位寄存器,它是MCS51中唯一的一個(gè)16位寄存器。編程時(shí),既可按16位寄存器使用,也可作為兩個(gè)8位寄存器分開使用。DPH 為DPTR的高八位寄存器,DPL 為DPTR的低八位寄存器。DPTR通常在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)作為地址指針使用,尋址范圍為64KB。(8)引腳定義P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: 管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。最小系統(tǒng)原理圖如圖2.2所示:圖2.2 單片機(jī)最小系統(tǒng)原理圖2、流水燈電路系統(tǒng)若要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1LED8依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的做流水燈了。由于是一個(gè)一個(gè)點(diǎn)亮,在此我們采用8個(gè)LED并聯(lián)然后與一個(gè)1K電阻串聯(lián),具體電路如圖2.3所示:圖2.3 流水燈電路3、譯碼器電路本模塊功能是通過單片機(jī)控制74LS138譯碼器來實(shí)現(xiàn)流水燈,首先我們了解下譯碼器的工作原理。3.1 74LS138芯片的引腳圖及功能(1)74LS138芯片的引腳圖如圖2.4所示圖2.4 74LS138芯片引腳圖A0A2:地址輸入端G1:選通端(高電平有效)/G2A、/G2B:選通端(低電平有效)/Y0/Y7:輸出端(低電平有效)VCC:電源正GND:地A0A2對(duì)應(yīng)Y0Y7;A0,A1,A2以二進(jìn)制形式輸入,然后轉(zhuǎn)換成十進(jìn)制,對(duì)應(yīng)相應(yīng)Y的序號(hào)輸出低電平,其他均為高電平(2)74LS138芯片真值表如表2.1表2.1 74LS138譯碼器真值表3.2 電路設(shè)計(jì)根據(jù)上述74LS138譯碼器的工作原理可知,當(dāng)G1 G2A G2B=100時(shí),譯碼器工作,根據(jù)74LS138的3個(gè)譯碼信號(hào)A、B、C來選擇Y0、Y1、Y2、Y3、Y4、Y5、Y6作為輸出,各輸出為低電平時(shí),當(dāng)共陽極的LED燈節(jié)高電平時(shí),就會(huì)使相應(yīng)的燈亮。給單片機(jī)的端口賦初值,點(diǎn)亮第一個(gè)LED,然后延時(shí)一段時(shí)間后,點(diǎn)亮下一個(gè)LED,依次循環(huán)下去,會(huì)實(shí)現(xiàn)流水燈的模式,具體電路如圖2.5所示:圖2.5 譯碼器電路4、交通燈電路 本模塊功能是通過單片機(jī)控制8255A芯片控制電路實(shí)現(xiàn)交通燈功能,首先我們應(yīng)了解8255A芯片的工作原理。4.1 8255A芯片引腳圖及功能(1)8255A芯片引腳圖如圖2.6所示: 圖2.6 8255A芯片引腳圖D0-D7:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接,用來傳送數(shù)據(jù)信息。CS:片選信號(hào)線,低電平有效,表示芯片被選中。RD:讀出信號(hào)線,低電平有效,控制數(shù)據(jù)的讀出。WR:寫入信號(hào)線,低電平有效,控制數(shù)據(jù)的寫入。GND:地線。Vc:+5V電源PA0-PA7:A口輸入/輸出線。PB0-PB7:B口輸入/輸出線。PC0-PC7:C口輸入/輸出線。RESET:復(fù)位信號(hào)線。A1、A0:地址線,用來選擇8255內(nèi)部端口。(2)工作方式方式0基本輸入/輸出方式8255工作在方式0時(shí),三個(gè)端口分成彼此的兩個(gè)8位口,即A口和B口,兩個(gè)4位口,這4個(gè)并行口都能設(shè)定為輸入或輸出。方式0常用于無條件查詢傳送方式1選通輸入/輸出方式方式2雙向輸入/輸出方式4.2 電路設(shè)計(jì)交通燈共有東西南北四個(gè)方向,紅黃綠總共12個(gè)LED燈,為了讓電路簡(jiǎn)單,在此采用4個(gè)方向的LED燈共陽接法,每個(gè)方向的紅、黃、綠燈并聯(lián)然后與一個(gè)1K電阻串聯(lián),陰極接在對(duì)應(yīng)8255A芯片的PA口,具體仿真電路如圖2.7所示:圖2.7 交通燈電路 5、方波電路 本模塊功能是通過單片機(jī)控制D8253C芯片輸出方波信號(hào),首先我們需要了解8253芯片的工作原理。5.1 8253芯片的引腳圖及功能(1)8253芯片的引腳圖如圖2.8所示圖2.8 8253芯片引腳圖(2)8253芯片內(nèi)部組成部分 1)數(shù)據(jù)總線緩沖器(8位、三態(tài)、雙向)。數(shù)據(jù)中線緩沖器是8253與系統(tǒng)數(shù)據(jù)總線相連接時(shí)用的接口電路,它由8位雙向三態(tài)緩沖器構(gòu)成。2)讀/寫控制邏輯。讀/寫控制邏輯接收系統(tǒng)控制總線送來的輸入信號(hào),經(jīng)組合后形成控制信號(hào),對(duì)各部分操作進(jìn)行控制??山邮盏目刂菩盘?hào)有:片選信號(hào),低電平有效;:讀信號(hào),低電平有效;:寫信號(hào),低電平信號(hào);:端口選擇信號(hào)。=00時(shí),選中0通道;=01時(shí),選中1通道;=10時(shí),選中2通道;=11時(shí),選中控制寄存器。8253的輸入信號(hào)組合功能表如表2.2所示。表2.2 8253輸入信號(hào)組合的功能表功 能0100 0寫計(jì)數(shù)器00100 1寫計(jì)數(shù)器10101 0寫計(jì)數(shù)器20101 1寫入控制字寄存器0010 0讀計(jì)數(shù)器00010 1讀計(jì)數(shù)器10011 0讀計(jì)數(shù)器20011 1無操作1禁止使用011無操作3)計(jì)數(shù)器02。三個(gè)完全相同的16位減計(jì)數(shù)器。每個(gè)通各有3個(gè)引腳,它們是:CLK0CLK2計(jì)數(shù)器02的輸入時(shí)鐘脈沖此引腳輸入;OUT0OUT2計(jì)數(shù)器02的輸出端;GATE0GATE2計(jì)數(shù)器02的門控脈沖輸入端。4)控制字寄存器??刂谱旨拇嫫魇且环N只寫寄存器,在對(duì)8253編程時(shí),由CPU用輸出指令向它寫入控制字,來選定計(jì)數(shù)器通道,規(guī)定各計(jì)數(shù)器的工作方式,讀寫格式和數(shù)制。其格式如圖2.9所示: BCD1 BCD碼計(jì)數(shù)0 二進(jìn)制計(jì)數(shù) 000 方式0 001 方式1 10 方式2 11 方式3100 方式4101 方式5 00 計(jì)數(shù)器鎖存,供CPU讀 01 只讀/寫計(jì)數(shù)器低字節(jié)10 只讀/寫計(jì)數(shù)器高字節(jié)11 先讀/寫計(jì)數(shù)器低字節(jié),后讀/寫高字節(jié)00 選擇通道001 選擇通110 選擇通道211 無效圖2.9 8253控制字格式5)8253芯片的工作方式:工作方式0:計(jì)數(shù)結(jié)束中斷方式;工作方式1:可編程單穩(wěn)態(tài)輸出方式;工作方式2:比率發(fā)生器;工作方式3:方波發(fā)生器;工作方式4:軟件觸發(fā)選通;工作方式5:硬件觸發(fā)選通;5.2 電路設(shè)計(jì)具體的設(shè)計(jì)電路如圖2.10所示:圖2.10 方波電路6、繼電器電路 此模塊功能是實(shí)現(xiàn)單片機(jī)控制繼電器的吸合來實(shí)現(xiàn)對(duì)LED燈的控制,其實(shí)驗(yàn)原理就是單片機(jī)給s8550 PNP三極管低電平使其導(dǎo)通,然后控制繼電器的線圈,使內(nèi)部開關(guān)吸合,以致LED的電路能夠?qū)?。具體電路如圖2.11所示:圖2.11 繼電器電路7、獨(dú)立按鍵電路鍵盤在單片機(jī)應(yīng)用系統(tǒng)中,實(shí)現(xiàn)輸入數(shù)據(jù),傳送命令的功能,是人工干預(yù)的主要手段。因此設(shè)計(jì)5個(gè)獨(dú)立按鍵來控制模塊的選擇運(yùn)行,當(dāng)某個(gè)按鍵按下時(shí),單片機(jī)便執(zhí)行對(duì)應(yīng)的程序,具體的設(shè)計(jì)電路如圖2.12所示:圖2.12 獨(dú)立按鍵電路四、軟件設(shè)計(jì)1、主程序主程序開始時(shí)要從存放實(shí)際鍵值的參數(shù)中取出剛讀取到的鍵值送到累加器A,依次判斷累加器A的低四位。若檢測(cè)到低電平,則說明與該位對(duì)應(yīng)的按鍵按下,從而轉(zhuǎn)到相應(yīng)的處理子程序段,完成相應(yīng)的操作,實(shí)現(xiàn)相應(yīng)的功能后返回。若沒有檢測(cè)到低電平,則返回。主程序流程圖如圖4.1所示: 開始查詢按鍵P2.0是否按下P2.1是否按下P2.2是否按下P2.3是否按下P2.4是否按下退出流水燈繼電器方波交通燈譯碼器圖4.1 主程序流程圖2、地址端口定義#include#include/絕對(duì)地址處理頭文件,包含XBYTE,用XBYTE來定義擴(kuò)展的I/O端口和外部RAM單元地址#define uint unsigned int#define uchar unsigned char#define control XBYTE0xffd7/定義控制字寄存器端口地址#define PA XBYTE0x3fd7/定義端口PA地址sbit A0=P26;/定義8255地址端口引腳A0sbit A1=P27;/定義8255地址端口引腳A1sbit dat=P0;/定義數(shù)據(jù)口D0D7#define T0 XBYTE0x3fff/定義定時(shí)器1地址#define T1 XBYTE0x7fff端口定義原則由于A0、A1對(duì)應(yīng)的端口是P2.6、P2.7,在程序開始需要定義控制字及需要使用的端口的地址,單片機(jī)共16位地址線,P2口是高八位地址線,P0口是低8位地址線,如表4.1所示:表4.1 端口地址表P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A1A0*P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0*010*其中 * 代表未知電平,對(duì)應(yīng)表中A0、A1,把 * 默認(rèn)為1,得到控制字的地址為0xffd7(A1=0,A0=0),對(duì)于8255A使用PA口,則需A1=0,A0=1,定義為0x3fd7,在8253A芯片使用時(shí),用到了T0,T1計(jì)數(shù)器,為了區(qū)分8255A的PA口,定義地址為0x3fff(A1=0,A0=1),0x7fff(A1=1,A0=0)。3、輸出方波程序若想單片機(jī)內(nèi)部產(chǎn)生4K HZ即周期為250微秒的脈沖,單片機(jī)晶振頻率為12M HZ,則此時(shí)計(jì)數(shù)初值X = MN =(256250)1 = 6,故只要在TH0,TL0中預(yù)置初始值6,將定時(shí)器 / 計(jì)數(shù)器T0設(shè)置成定時(shí)工作方式2即可實(shí)現(xiàn)。具體程序如下:void T0_time() interrupt 1TH0=6; TL0=6;clk0=clk0;/產(chǎn)生4kHZ脈沖五、系統(tǒng)調(diào)試1、硬件調(diào)試 在焊接過程中,我們采用焊一個(gè)模塊,調(diào)試一個(gè)模塊的原則,這樣可以保證電路如果出錯(cuò)可以及時(shí)修改。通過萬用表,測(cè)試電路的通斷,觀察有無虛焊的地方,對(duì)芯片的引腳也進(jìn)行了檢查,逐個(gè)模塊檢查接地和VCC的連接??偟膩碚f,在硬件調(diào)試時(shí)發(fā)現(xiàn)了線路接錯(cuò)的現(xiàn)象,錯(cuò)誤原因是在網(wǎng)上百度的芯片引腳圖錯(cuò)誤,經(jīng)修改,所有模塊調(diào)試均成功。2、軟件調(diào)試 對(duì)于軟件調(diào)試,我在proteus中對(duì)整個(gè)電路圖進(jìn)行了繪制,一些比較復(fù)雜的線路,我采用了標(biāo)號(hào)和總線方式,對(duì)于程序方面,用的是Keil C 軟件。在不斷的調(diào)試后,整個(gè)仿真圖全部正常運(yùn)行,但是也發(fā)現(xiàn)了一點(diǎn),在proteus中仿真,單片機(jī)是無法復(fù)位的,最終所有模塊均按程序執(zhí)行。3、軟硬件聯(lián)調(diào) 在軟硬件聯(lián)調(diào)時(shí),感覺模塊上的接線太多,但是電路已經(jīng)焊出來了,我們就沒做修改,把連線統(tǒng)一給固定住了;另外,也發(fā)現(xiàn)了8253A不能直接復(fù)位,只能通過斷電復(fù)位,因此我們最終采用了每個(gè)模塊都用上電復(fù)位,整體調(diào)試很成功。六、功能測(cè)試 1、測(cè)試平臺(tái) 在實(shí)驗(yàn)室工作臺(tái)上進(jìn)行的功能測(cè)試,當(dāng)時(shí)室內(nèi)溫度26,對(duì)硬件電路影響不大。 2、測(cè)試工具 單片機(jī)開發(fā)板、雙向USB線、筆記本電腦、整個(gè)電路模塊、杜邦線、萬用表 3、測(cè)試步驟通過電腦將程序下載至STC89C52RC單片機(jī)把整個(gè)電路模塊的接地、VCC及數(shù)據(jù)端口連接,并檢查,確保連線無誤通過控制按鍵15,來控制各個(gè)模塊的運(yùn)行4、測(cè)試結(jié)果 軟硬件很符合要求,各個(gè)模塊均實(shí)現(xiàn)了預(yù)期的功能, 總結(jié)通過單片機(jī)應(yīng)用技術(shù)課程上的學(xué)習(xí),經(jīng)過4個(gè)星期的努力,我們組最終完成了老師所要求的實(shí)驗(yàn)設(shè)計(jì)。整個(gè)控制系統(tǒng)主要分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)部分:硬件設(shè)計(jì)主要是把單片機(jī)最小系統(tǒng)、鍵盤控制模塊、流水燈模塊等各個(gè)硬件功能模塊及其它元件合理搭配并連接起來使其能夠?yàn)檐浖\(yùn)行提供一個(gè)硬件平臺(tái)。軟件設(shè)計(jì)主要是通過編寫程序代碼,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制。在系統(tǒng)上電復(fù)位后程序自動(dòng)運(yùn)行,通過接受查詢外部的鍵盤參數(shù)值,控制各個(gè)模塊的啟停。由于本次設(shè)計(jì)的要求時(shí)間較短,個(gè)人能力以及精力等因素的限制,加之設(shè)計(jì)經(jīng)驗(yàn)的不足,該系統(tǒng)還有許多不盡如人意的地方。該系統(tǒng)未能完全的實(shí)現(xiàn)設(shè)計(jì)的所有功能。如:利用8253A芯片實(shí)現(xiàn)紅綠等交替點(diǎn)亮,但在實(shí)際電路中只實(shí)現(xiàn)了紅燈閃亮,而綠燈只會(huì)變暗;還有光耦設(shè)計(jì)部分也沒有完成。通過這次單片機(jī)系統(tǒng)控制各個(gè)模塊運(yùn)行的設(shè)計(jì),使我們從一開始對(duì)單片機(jī)各個(gè)引腳功能不太熟悉,到能開發(fā)一個(gè)簡(jiǎn)單的系統(tǒng),在這整個(gè)過程中我學(xué)到了很多東西,掌握了一些常用的開發(fā)技能,也發(fā)現(xiàn)了大量的問題,有些在設(shè)計(jì)過程中已經(jīng)解決,有些還有待今后慢慢學(xué)習(xí)。只要學(xué)習(xí)就會(huì)有更多的問題,有更多的難點(diǎn),但也會(huì)有更多的收獲。致謝經(jīng)過很長時(shí)間的努力,我們?cè)趦?chǔ)忠老師的指導(dǎo)、同學(xué)耐心的幫助和組員的努力下終于完成了此次設(shè)計(jì),并按設(shè)計(jì)要求實(shí)現(xiàn)了按鍵控制流水燈、譯碼器、交通燈、方波、繼電器五個(gè)功能。通過這次設(shè)計(jì)使我們從中學(xué)到到了很多課本上學(xué)不到的知識(shí),了解了單片機(jī)的工作原理及端口地址定義,并學(xué)會(huì)了用單片機(jī)開發(fā)產(chǎn)品的完整的過程,明白了設(shè)計(jì)的概念。通過自己親自去動(dòng)手和調(diào)試我明白的實(shí)踐的重要性,明白了理論結(jié)合實(shí)踐的含義,同時(shí)也大大的提高了自己的動(dòng)手能力能力,這在我們以后的工作中都是非常有用的。在這次設(shè)計(jì)中,感謝儲(chǔ)忠老師對(duì)我們課程設(shè)計(jì)的指導(dǎo)和修改,感謝同學(xué)的幫助,在此表示衷心的感謝!參考文獻(xiàn)1 王靜霞.單片機(jī)應(yīng)用技術(shù)C語言版.北京:電子工業(yè)出版社.20092 譚浩強(qiáng).C語言程序設(shè)計(jì).北京:清華大學(xué)出版社.20003 余錫存.單片機(jī)原理及接口技術(shù).西安:西安電子科技大學(xué)出版社. 20074 周荷琴.微型計(jì)算機(jī)原理與接口技術(shù).合肥:中國科技大學(xué)出版社.2008附錄 附錄1 作品展示 單片機(jī)最小系統(tǒng)圖各個(gè)功能模塊圖 附錄2 硬件清單STC89C52RC單片機(jī)一個(gè)12M HZ 晶振一個(gè)30 pf 電容兩個(gè) 10 uf 電容一個(gè)復(fù)位開關(guān) 6個(gè)4.7K 排阻一個(gè)1K電阻 20個(gè)單片機(jī)底座 1個(gè)各色LED燈 共30個(gè)8255A芯片一個(gè)8253C芯片一個(gè)LS138譯碼器一個(gè)蜂鳴器一個(gè)5V繼電器一個(gè)Ss8550三極管一個(gè)排針50個(gè)芯片底座 共 4個(gè)杜邦線若干焊接板 2 塊 附錄3 軟件清單#include#include/絕對(duì)地址處理頭文件,包含XBYTE,用XBYTE來定義擴(kuò)展的I/O端口和外部RAM單元地址#define uint unsigned int#define uchar unsigned charsbit HC138A=P12;/位定義74HC138端口sbit HC138B=P11; sbit HC138C=P10;#define control XBYTE0xffd7/定義控制字寄存器端口地址#define PA XBYTE0x3fd7/定義端口PA地址sbit A0=P26;/定義8255地址端口引腳A0sbit A1=P27;/定義8255地址端口引腳A1sbit dat=P0;/定義數(shù)據(jù)口D0D7#define T0 XBYTE0x3fff/定義定時(shí)器1地址#define T1 XBYTE0x7fffsbit clk0=P35;/8253計(jì)數(shù)器0輸入void delay(uint z);/延時(shí)子數(shù)聲明void HC138yimaqi();void jiaotongdeng();void fang
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度化工產(chǎn)品售后服務(wù)與技術(shù)支持合同
- 2025年度智能設(shè)備研發(fā)與購銷合同
- 2025年度豪華車租賃與數(shù)據(jù)安全保護(hù)合同范本
- 2025年度海上石油勘探物資運(yùn)輸合同
- 2025年度股票投資大數(shù)據(jù)分析與應(yīng)用合同
- 2025年度公路護(hù)欄防撞墻設(shè)計(jì)咨詢服務(wù)合同
- 2025年度合租房一間出租合同及租賃合同終止手續(xù)
- 2025年度建筑外墻刮大白翻新設(shè)計(jì)與施工合同
- 2025年度金融衍生品交易合同管理標(biāo)準(zhǔn)
- 2025年度電視廣告時(shí)段租賃合同范本
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 2024-2025年校長在教研組長和備課組長會(huì)議上講話
- 高三日語一輪復(fù)習(xí)助詞「で」的用法課件
- 2024-2030年中國銣銫及其化合物行業(yè)深度調(diào)研及投資戰(zhàn)略分析報(bào)告
- 散貨物流行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 痛風(fēng)性關(guān)節(jié)炎中醫(yī)護(hù)理查房
- 廚房食材補(bǔ)貨方案
- 2024年重慶市中考數(shù)學(xué)試卷(AB合卷)【附答案】
- 宏觀利率篇:債券市場(chǎng)研究分析框架
- 六年級(jí)語文(上冊(cè))選擇題集錦
評(píng)論
0/150
提交評(píng)論