單片機(jī)課程設(shè)計(jì)_基于89C51的自動(dòng)斷電保護(hù)系統(tǒng)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)_基于89C51的自動(dòng)斷電保護(hù)系統(tǒng)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)_基于89C51的自動(dòng)斷電保護(hù)系統(tǒng)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)_基于89C51的自動(dòng)斷電保護(hù)系統(tǒng)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)_基于89C51的自動(dòng)斷電保護(hù)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 單片機(jī)系統(tǒng)課程設(shè)計(jì)單片機(jī)系統(tǒng)課 程 設(shè) 計(jì)成績(jī)?cè)u(píng)定表設(shè)計(jì)課題 : 基于89C51的自動(dòng)斷電保護(hù)系統(tǒng) 學(xué)院名稱 : 電氣工程學(xué)院 專業(yè)班級(jí) : 學(xué)生姓名 : 學(xué) 號(hào) : 指導(dǎo)教師 : 設(shè)計(jì)地點(diǎn) : 設(shè)計(jì)時(shí)間 : 指導(dǎo)教師意見(jiàn):成績(jī): 簽名: 年 月 日 單片機(jī)系統(tǒng)課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱: 基于89C51的自動(dòng)斷電保護(hù)系統(tǒng) 專 業(yè) 班 級(jí) : 學(xué) 生 姓 名 : 學(xué) 號(hào) : 指 導(dǎo) 教 師 : 課程設(shè)計(jì)地點(diǎn): 課程設(shè)計(jì)時(shí)間: 單片機(jī)系統(tǒng) 課程設(shè)計(jì)任務(wù)書學(xué)生姓名專業(yè)班級(jí)學(xué)號(hào)題 目課題性質(zhì)工程設(shè)計(jì)課題來(lái)源選題指導(dǎo)教師 主要內(nèi)容 (參數(shù))利用89C51設(shè)計(jì)自動(dòng)斷電保護(hù)系統(tǒng),實(shí)現(xiàn)以下功能:1、實(shí)現(xiàn)開(kāi)

2、機(jī)后自動(dòng)供電;2、內(nèi)部短路或超載時(shí)會(huì)自動(dòng)斷開(kāi)電源;3、利用互感,通過(guò)采集電流來(lái)控制繼電器的常開(kāi),常閉觸頭。4、采用警報(bào),聲音來(lái)提醒使用者來(lái)處理緊急事故任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計(jì)任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫程序。第7-8天:實(shí)驗(yàn)室調(diào)試。第9-10天:撰寫課程設(shè)計(jì)報(bào)告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計(jì)正確,篇幅合理。主要參考資料1 張迎新單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)M北京:國(guó)防工業(yè)出版社,

3、20042偉福LAB6000系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)使用說(shuō)明書3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,2006審查意見(jiàn)系(教研室)主任簽字: 年 月 日 目錄一、引言3二、總體方案設(shè)計(jì)4三、硬件電路設(shè)計(jì)53.1 單片機(jī)最小系統(tǒng)53.2 電流采樣電路和繼電器控制電路73.3 A/D采樣電路83.4鍵盤和液晶顯示電路103.5聲光報(bào)警電路12四、系統(tǒng)軟件設(shè)計(jì)124.1主程序設(shè)計(jì)124.2中斷服務(wù)程序設(shè)計(jì)134.3部分主要子程序設(shè)計(jì)16五、系統(tǒng)調(diào)試18六、總結(jié)18參考文獻(xiàn):18附件A19附件B20一、引言隨著家用電器的增多,人們也越來(lái)越關(guān)心用電器的保護(hù)和用電安全的問(wèn)題。因此自動(dòng)斷電保護(hù)

4、系統(tǒng),逐步廣泛應(yīng)用于家庭用電器的保護(hù)設(shè)施,它能夠?qū)崿F(xiàn)開(kāi)機(jī)后自動(dòng)恢復(fù)供電功能。當(dāng)內(nèi)部電路短路,用電功率超過(guò)設(shè)定值時(shí),自動(dòng)斷電保護(hù)系統(tǒng)就會(huì)自動(dòng)斷開(kāi)用電器的供電回路,使用電器停止工作,能夠防止用電器進(jìn)一步的損壞,避免發(fā)生一些不必要的損失。該設(shè)計(jì)采用電流互感器,來(lái)采樣線路上的電流值,然后與用戶設(shè)定值進(jìn)行比較,控制繼電器的常閉點(diǎn)的斷開(kāi)與閉合, 從而控制用電器的供電回路的斷開(kāi)與閉合。同時(shí)該設(shè)計(jì)還提供了聲光報(bào)警,用戶可以及時(shí)的處理事故。用戶還可以通過(guò)鍵盤來(lái)設(shè)置限制電流的大小,同時(shí)電流的采樣值和設(shè)置值都會(huì)通過(guò)液晶顯示器顯示出來(lái),以供用戶方便的使用和觀察。二、總體方案設(shè)計(jì)按照任務(wù)要求和系統(tǒng)設(shè)計(jì)要求,控制系統(tǒng)包括

5、以下幾個(gè)部分:1. 控制器。作為系統(tǒng)的核心元件,我們采用AT89C51單片機(jī)。2. 電流采樣。通過(guò)一個(gè)互感器進(jìn)行電流的采樣,將線路上的大電流轉(zhuǎn)換為小電流值進(jìn)行采樣。通過(guò)一個(gè)電阻將其轉(zhuǎn)換成電壓信號(hào),方便單片機(jī)的讀取。3. A/D轉(zhuǎn)換。A/D轉(zhuǎn)換芯片采用ADC0804八位模數(shù)轉(zhuǎn)化器。A/D轉(zhuǎn)換器可以把測(cè)得的模擬量轉(zhuǎn)化成數(shù)字量輸出,可以直接讀取。4. 繼電器。當(dāng)電流超過(guò)設(shè)定值時(shí),繼電器斷開(kāi),電路回路斷開(kāi)。繼電器在電路中起到斷電保護(hù)作用,是系統(tǒng)的安全保障。5. 聲光報(bào)警。當(dāng)電流值超過(guò)設(shè)定值時(shí),進(jìn)行報(bào)警6. 鍵盤。通過(guò)鍵盤可以設(shè)置限制電流大小。7. 液晶顯示器顯示??梢燥@示設(shè)置電流以及實(shí)時(shí)電流值大小???/p>

6、體設(shè)計(jì)結(jié)構(gòu)圖如圖2-1所示:圖2-1 總體設(shè)計(jì)結(jié)構(gòu)圖三、硬件電路設(shè)計(jì)3.1 單片機(jī)最小系統(tǒng)微控制器采用AT89C51,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器。其主要特性如下:· 與MCS-51 兼容 · 4K字節(jié)可編程閃爍存儲(chǔ)器 · 壽命:1000寫/擦循環(huán) · 數(shù)據(jù)保留時(shí)間:10年 · 全靜態(tài)工作:0Hz-24MHz · 三級(jí)程序存儲(chǔ)器鎖定 · 128*8位內(nèi)

7、部RAM · 32可編程I/O線 · 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 · 5個(gè)中斷源 · 可編程串行通道 · 低功耗的閑置和掉電模式 · 片內(nèi)振蕩器和時(shí)鐘電路其最小系統(tǒng)主要包括復(fù)位電路,時(shí)鐘電路。AT89C51芯片電路圖如圖3-1所示: 圖3-1 AT89C51單片機(jī)芯片電路圖復(fù)位電路圖如圖3-2所示:R1710KR161KC310uS0VCCRST圖3-2 復(fù)位電路圖復(fù)位電路與AT89C51的訪問(wèn)外部程序存儲(chǔ)器控制引腳EA和復(fù)位信號(hào)輸入引腳RST相連。此電路可以實(shí)現(xiàn)上電復(fù)位和手動(dòng)復(fù)位,復(fù)位電路工作原理如上圖所示,采用5V供電,+5V的VC

8、C上電時(shí),C3充電,在10K電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位;幾個(gè)毫秒后,C3充滿,10K電阻上電流降為0,電壓也為0,使得單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按下S0,C3放電,在10K電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位。S0松手,C3又充電,幾個(gè)毫秒后,單片機(jī)進(jìn)入工作狀態(tài)。每次啟動(dòng)都需要重新設(shè)置限制電流大小,否則則默認(rèn)為初始設(shè)置10A。當(dāng)微控制器運(yùn)行發(fā)生錯(cuò)誤時(shí),可以對(duì)其手動(dòng)復(fù)位,使其重新啟動(dòng)運(yùn)行,再進(jìn)行設(shè)置限制電流大小。時(shí)鐘電路圖如圖3-3:圖3-3 時(shí)鐘電路圖時(shí)鐘電路接AT89C51的18和19引腳。X1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入;X2接外部晶振和微調(diào)電容的另一端;

9、此電路采用12M晶振給單片機(jī)提供時(shí)鐘信號(hào)。本設(shè)計(jì)時(shí)鐘電路采用12M的晶振。晶振的作用是給單片機(jī)正常工作提供穩(wěn)定的時(shí)鐘信號(hào)。單片機(jī)的晶振并不是只能用12M,只要不超過(guò)20M就行,在準(zhǔn)許的范圍內(nèi),晶振越大,單片機(jī)運(yùn)行越快,還有用12M的就是好算時(shí)間,因?yàn)橐粋€(gè)機(jī)器周期為12個(gè)時(shí)鐘周期,所以這樣用12M的話,一個(gè)時(shí)鐘周期為1/12us,那么機(jī)器周期為1us即定時(shí)器計(jì)一次數(shù)就是1us了,電容范圍在20-40pF之間,這里連接的是30pF的電容。機(jī)器周期=12*系統(tǒng)時(shí)鐘周期。3.2 電流采樣電路和繼電器控制電路 電流采樣電路,電路正常工作時(shí)繼電器常閉觸點(diǎn)閉合接通電流互感器,通過(guò)電流互感器按一定比例采樣線路

10、上的電流值大小,通過(guò)一個(gè)電阻,將電流信號(hào)轉(zhuǎn)換為電壓信號(hào),方便單片機(jī)進(jìn)行A/D轉(zhuǎn)換,繼電器控制電路,當(dāng)線路上的電流值大于設(shè)定電流值時(shí),將P2.4端口置1,控制導(dǎo)通的信號(hào)置于高電平,使三極管飽和導(dǎo)通即Q2形成通路,則繼電器常閉點(diǎn)斷開(kāi),用電器電路回路斷開(kāi),則用電器停止工作。繼電器兩端單向并聯(lián)一個(gè)二極管(負(fù)極接在VCC端,正極接在三極管集電極上),起到吸收電磁線圈斷電后產(chǎn)生的反向電動(dòng)勢(shì),保護(hù)三極管。電路圖如圖3-4所示: 圖3-4 電流采樣轉(zhuǎn)換電路和繼電器控制電路3.3 A/D采樣電路A/D采樣電路采用集成A/D轉(zhuǎn)換器ADC0804 。ADC0804是一款8位、單通道、低價(jià)格A/D轉(zhuǎn)換器,主要特點(diǎn)是:

11、模數(shù)轉(zhuǎn)換時(shí)間大約100us;方便TTL或CMOS標(biāo)準(zhǔn)接口;可以滿足差分電壓輸入;具有參考電壓輸入端;內(nèi)含時(shí)鐘發(fā)生器;單電源工作時(shí)(05)V輸入電壓范圍是05V;不需要調(diào)零。1.芯片參數(shù):工作電壓:+5V,即VCC=+5V。模擬轉(zhuǎn)換電壓范圍:0+5V,即0Vin+5V。分辨率:8位,即分辨率為1/28=1/256,轉(zhuǎn)換值介于0255之間。轉(zhuǎn)換時(shí)間:100us(fCK=640KHz時(shí))。轉(zhuǎn)換誤差:±1LSB。參考電壓:2.5V,即Vref=2.5V。2.各個(gè)引腳名稱及作用:Vin(+)、Vin(-):兩個(gè)模擬信號(hào)輸入端,可以接收單極性、雙極性和差模輸入信號(hào)。DB0-DB7:具有三態(tài)特性數(shù)

12、字信號(hào)輸出端,輸出結(jié)果為八位二進(jìn)制結(jié)果。CLKIN:時(shí)鐘信號(hào)輸入端。CLKR:內(nèi)部時(shí)鐘發(fā)生器的外接電阻端,與CLK端配合可由芯片自身產(chǎn)生時(shí)鐘脈沖,其頻率計(jì)算方式是:fck=1/(1.1RC)。CS:片選信號(hào)輸入端,低電平有效。WR:寫信號(hào)輸入端,低電平啟動(dòng)AD轉(zhuǎn)換。RD:讀信號(hào)輸入端,低電平輸出端有效。INTR:轉(zhuǎn)換完畢中斷提供端,AD轉(zhuǎn)換結(jié)束后,低電平表示本次轉(zhuǎn)換已完成。VREF/2:參考電平輸入,決定量化單位。VCC:芯片電源5V輸入。AGND:模擬電源地線。DGND:數(shù)字電源地線。ADC0804外圍電路如圖3-5所示:VCC20INTR5DB018DB117DB216DB315DB414

13、DB513DB612DB711CS1RD2WR3CLK IN4CLK OUT19REF/29IN+6IN-7AGND8DGND10R1510kR1210kR1410kR131kC1110412ADINRe210kVCCVCCCSDARDWRVCCDB1DB2DB3DB4DB5DB6DB7DB8ADC0804圖3-5 ADC0804外圍電路圖3-5為ADC0804外圍電路原理圖,其中,VCC=5V,因此ADC轉(zhuǎn)換的參考電壓為VCC的值,即5V。IN-接地,而IN+通過(guò)插座ANIN連接滑動(dòng)變阻器Re2的輸出,因此IN+的電壓輸入范圍為0V5V,正好處于參考電壓范圍內(nèi)。引腳CS、WR和RD分別連接單

14、片機(jī)的12,17以及16腳,而DB0DB7連接單片機(jī)的P1腳。3.4鍵盤和液晶顯示電路 液晶顯示電路采用帶中文字庫(kù)的12864液晶顯示器。帶中文字庫(kù)的128X64 是一種具有4 位/8 位并行、2 線或3 線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體 中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192 個(gè)16*16 點(diǎn)漢字,和128 個(gè)16*8 點(diǎn)ASCII 字符 集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4 行16×16 點(diǎn) 陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。

15、由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶 顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。12864 液晶具有如下的特性:1 提供 8 位,4 位并行接口及串行接口可選2 并行接口適配 M6800 時(shí)序3 自動(dòng)電源啟動(dòng)復(fù)位功能4 內(nèi)部自建振蕩源64×16 位字符顯示 RAM(DDRAM 最多 16 字符×4 行,LCD 顯示范圍 16×2 行)(改為半角輸入)2M 位中文字型 ROM(CGROM) ,總共提供 8192 個(gè)中文字型(16×16 點(diǎn)陣)16K 位半寬字型 ROM(HCGROM),總

16、共提供 126 個(gè)西文字型(16×8 點(diǎn)陣)64×16 位字符產(chǎn)生 RAM(CGRAM)15×16 位總共 240 點(diǎn)的 ICON RAM(ICONRAM) 液晶顯示電路如圖3-6所示:圖3-6 液晶顯示電路鍵盤電路采用3個(gè)獨(dú)立的按鍵,一個(gè)功能切換鍵、一個(gè)加按鍵、一個(gè)減按鍵通過(guò)這三個(gè)按鍵可以來(lái)合理的設(shè)置限制電流的數(shù)值。鍵盤電路與單片機(jī)的連接電路圖如圖3-7所示: S1S2S3SDASCL18B20圖3-7 鍵盤電路與單片機(jī)的連接電路圖3.5聲光報(bào)警電路聲光報(bào)警電路,采用三極管驅(qū)動(dòng)音頻放大器實(shí)現(xiàn)音頻報(bào)警,當(dāng)采樣電流值大于電流設(shè)定值時(shí),單片機(jī)P2.3引腳即FM端口產(chǎn)生

17、100HZ的方波信號(hào),控制Q1的通斷,實(shí)現(xiàn)蜂鳴器報(bào)警;單片機(jī)P3.0端口變成高電平,則發(fā)光二極管點(diǎn)亮,實(shí)現(xiàn)報(bào)警功能。此裝置具有以下優(yōu)點(diǎn):1、 在遠(yuǎn)距離是可以通過(guò)聲音及時(shí)通知2、 在近距離可以通過(guò)視聽(tīng)覺(jué)做出反應(yīng)3、 在嘈雜的環(huán)境中可以通過(guò)視覺(jué)通知4、 兩種器件配合更加安全可靠電路圖如圖3-8所示:圖3-8聲光報(bào)警電路四、系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)包括主程序,中斷服務(wù)程序等其它子程序4.1主程序設(shè)計(jì)主程序是系統(tǒng)上電或復(fù)位后首先要執(zhí)行的程序,主程序主要完成系統(tǒng)的初始化、掃描顯示、掃描鍵盤,A/D轉(zhuǎn)換等工作。主程序上電自動(dòng)復(fù)位,也可手動(dòng)復(fù)位;主程序執(zhí)行時(shí),分別進(jìn)行鍵盤掃描,A/D轉(zhuǎn)換,以及液晶顯示。主程序流

18、程圖如圖4-1所示:圖4-1 主程序流程圖當(dāng)系統(tǒng)上電或者手動(dòng)復(fù)位時(shí),首先進(jìn)行系統(tǒng)初始化,設(shè)置堆棧地址,定時(shí)器0工作方式,中斷觸發(fā)方式以及其它系統(tǒng)初始化。然后啟動(dòng)定時(shí)器和A/D轉(zhuǎn)換。然后進(jìn)行不停的掃描鍵盤和顯示。4.2中斷服務(wù)程序設(shè)計(jì)外部中斷服務(wù)程序流程圖如圖4-2所示:圖4-2 外部中斷服務(wù)程序流程圖當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),ADC0804模數(shù)轉(zhuǎn)換器INTR引腳輸出一個(gè)低電平信號(hào),使AT89C51產(chǎn)生外部中斷,進(jìn)入外部中斷服務(wù)程序。首先保護(hù)現(xiàn)場(chǎng),然后讀取AD值,進(jìn)行數(shù)據(jù)的轉(zhuǎn)換然后存儲(chǔ),并與設(shè)定的電流值進(jìn)行大小比較,如果超過(guò)設(shè)定值,則繼電器斷開(kāi),用電器回路斷開(kāi),并置1報(bào)警標(biāo)志位。恢復(fù)現(xiàn)場(chǎng),中斷返回。

19、定時(shí)器0中斷服務(wù)程序流程圖如圖4-3所示:圖4-3 定時(shí)器0中斷服務(wù)程序流程圖定時(shí)器設(shè)置為10ms定時(shí),每10ms中斷一次,進(jìn)入中斷之后,首先保護(hù)現(xiàn)場(chǎng),重裝初值,判斷是否處在報(bào)警狀態(tài),如果是,取反P2.4口,驅(qū)動(dòng)揚(yáng)聲器進(jìn)行聲音報(bào)警。如果沒(méi)有處于報(bào)警狀態(tài)在判斷是否到1S,到1S,則重置1S計(jì)數(shù)初值,啟動(dòng)A/D轉(zhuǎn)換然后恢復(fù)現(xiàn)場(chǎng),中斷返回,如果不到1S,則直接恢復(fù)現(xiàn)場(chǎng),中斷返回。4.3部分主要子程序設(shè)計(jì)系統(tǒng)主要子程序主要包括鍵盤子程序、鍵盤掃描子程序,顯示子程序。(1)鍵盤子程序設(shè)計(jì)鍵盤子程序設(shè)計(jì),采用三個(gè)獨(dú)立按鍵來(lái)設(shè)置限制電流值的大小,第一次按下鍵1,啟動(dòng)限制電流大小的設(shè)置,最大限制電流處的液晶光

20、標(biāo)閃爍,按第二下鍵1液晶光標(biāo)不再閃爍,表示調(diào)節(jié)結(jié)束。按鍵2,則實(shí)現(xiàn)限制電流的增加,最大限制電流20A;按鍵3,則實(shí)現(xiàn)限制電流的減小,最小限制電流為0A。(2)鍵盤掃描子程序設(shè)計(jì)流程圖如圖4-4所示: 圖4-4 鍵盤掃描子程序設(shè)計(jì)流程圖(3)顯示子程序設(shè)計(jì)系統(tǒng)上電后,即開(kāi)始在默認(rèn)的最大限制參考電流的第一行設(shè)置限制電流,第二行為系統(tǒng)測(cè)量電流即:CIV:20ACTV:00A(CIV:current limit value 限制電流值。 CTV:current test value測(cè)試電流值)顯示子程序設(shè)計(jì)流程圖如圖4-5所示:圖4-5 顯示子程序設(shè)計(jì)流程圖五、系統(tǒng)調(diào)試由于硬件的限制,我們不能對(duì)互感器

21、電流采樣部分電路的測(cè)試,但是通過(guò)直接給ADC0804一個(gè)模擬信號(hào)進(jìn)行了以下測(cè)試。1、上電開(kāi)始默認(rèn)顯示正常。2、按鍵S1功能切換鍵、按鍵S2數(shù)值增鍵、按鍵S1數(shù)值減鍵正常。3、上下限最值測(cè)試正常。4、A/D轉(zhuǎn)換結(jié)果測(cè)試正常。5、聲光報(bào)警裝置測(cè)試正常。六、總結(jié)通過(guò)本次的單片機(jī)課程設(shè)計(jì),使我更好的掌握了單片機(jī)的使用,更好地理解了單片機(jī)內(nèi)部的數(shù)據(jù)存儲(chǔ),中斷和定時(shí)器的應(yīng)用,單片機(jī)外部電路的接口技術(shù),數(shù)據(jù)總線的運(yùn)用,也更深入的了解了匯編語(yǔ)言,熟悉了匯編指令的功能以及程序的編寫。讓我知道想設(shè)計(jì)好一個(gè)完整穩(wěn)定的系統(tǒng),需要考慮很多的細(xì)節(jié),并不是那么容易,對(duì)我以后進(jìn)入工作起到很大的幫助。參考文獻(xiàn):1 張迎新單片微

22、型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)M北京:國(guó)防工業(yè)出版社,20042偉福LAB6000系列單片機(jī)仿真實(shí)驗(yàn)系統(tǒng)使用說(shuō)明書3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,2006附件A附件B程序:ORG 0000HLJMP MAINORG 0003HLJMP TSORG 000BHLJMP T_0ORG 0030HMAIN: MOV SP,#3FH;設(shè)置堆棧 MOV 60H,#0;采集數(shù)據(jù)顯示緩沖區(qū) MOV 70H,#10;設(shè)置數(shù)據(jù)顯示緩沖區(qū) MOV R0,#60H MOV R1,#70H MOV R6,#50 MOV R7,#200;1S計(jì)數(shù)值 CLR 20H;報(bào)警狀態(tài)標(biāo)志位 CLR

23、 21H;設(shè)置數(shù)據(jù)標(biāo)志位 CLR P2.3;音頻報(bào)警 CLR P2.4;繼電器 CLR P3.0;LED MOV TH0,#0F6H;定時(shí)器0裝初值 MOV TL0,#3CH SETB IT0;外部中斷觸發(fā)方式設(shè)置 MOV IE,#83H;開(kāi)總中斷,外部中斷0,定時(shí)器中斷0 SETB TR0;啟動(dòng)定時(shí)器 MOV A,#0 MOV DPTR,#8000H;片選ADC0804 MOVX DPTR,A;啟動(dòng)ADLOOP: LCALL DISPLAY;調(diào)用顯示 LCALL KEY;掃描鍵盤 LJMP LOOPKEY: PUSH ACC;保護(hù)現(xiàn)場(chǎng) PUSH PSW PUSH DPH PUSH DPL L

24、CALL KEY_VALUE JB 21H,KEY0_0;判斷是否處于設(shè)置數(shù)據(jù)狀態(tài)KEY0: CJNE A,#01H,RETURN;判斷鍵值 LCALL DISPLAY;調(diào)用顯示延時(shí),消抖 CJNE A,#01H,RETURN LCALL KEY_VALUE JNZ KEY0;等鍵釋放 SETB 21H;設(shè)置數(shù)據(jù)狀態(tài)標(biāo)志位置1 LJMP RETURN;返回KEY0_0: CJNE A,#01H,KEY1;判斷鍵值 LCALL DISPLAY;調(diào)用顯示延時(shí)消抖 CJNE A,#01H,KEY1 LCALL KEY_VALUE JNZ KEY0_0;等鍵釋放 CLR 21H;設(shè)置完成,清除標(biāo)志位

25、LJMP RETURN;返回KEY1: CJNE A,#02H,KEY2;判斷鍵值 LCALL DISPLAY;調(diào)用顯示延時(shí),消抖 CJNE A,#02H,KEY2 LCALL KEY_VALUE JNZ KEY1;等鍵釋放 INC 70H;設(shè)置數(shù)據(jù)緩沖區(qū)加1 CJNE R1,#20,RETURN;判斷是否到最大值20 MOV 70H,#0;是,歸0 LJMP RETURN;返回KEY2: CJNE A,#04H,RETURN;判斷鍵值 LCALL DISPLAY;調(diào)用顯示延時(shí),消抖 CJNE A,#04H,RETURN LCALL KEY_VALUE JNZ KEY2;等鍵釋放 DEC 70

26、H;設(shè)置數(shù)據(jù)緩沖區(qū)加1 CJNE R1,#0,RETURN;判斷是否到最小值0 MOV 70H,#20;是,變?yōu)?0RETURN: POP DPL;恢復(fù)現(xiàn)場(chǎng) POP DPH POP PSW POP ACC RETKEY_VALUE:;讀鍵值子程序 MOV DPTR,#09002H;送鍵盤列碼地址 MOV A,#00H MOVX DPTR,A;掃描鍵盤 MOV DPTR,#08001H;送行碼地址 MOVX A,DPTR ANL A,#0FH;讀鍵值 RET DISPLAY: RS EQU P3.5 R/W EQU P3.6 E EQU P3.4 PSB EQU P3.7 DO-D7 EQU P

27、0 ORG 0000H AJMP MAIN ORG 0100H;以下是主程序,進(jìn)行初始化MAIN:MOV SP,#60H MOV A,#00111000B ;功能設(shè)置指令,8位接口,顯示兩行,5*7字符 LCALL WriteIR ;調(diào)寫指令寄存器子程序MOV A,#00001110B ;顯示開(kāi)關(guān)控制指令,顯示器開(kāi),光標(biāo)開(kāi),光標(biāo)不閃爍 LCALL WriteIRMOV A,#00000110B ;輸入方式設(shè)置指令,字符不動(dòng),光標(biāo)自動(dòng)右移一格LCALL WriteIRMOV A,#00000001B ;清屏指令,將DDRAM數(shù)據(jù)全部填入“空白”LCALL WriteIRMOV A,#100000

28、00B ;DDRAM地址設(shè)置指令,寫入顯示地址為第1行第1位ACALL WriteIR MOV DPTR, #TAB1 ;指向TAB1表首 ACALL STRING ;調(diào)字符串處理子程序MOV A,#11000000B ;DDRAM地址設(shè)置指令,寫入顯示地址為第2行第1位ACALL WriteIR MOV DPTR, #TAB2 ;指向TAB2表首 ACALL STRING ;調(diào)字符串處理子程序 SJMP $ ;檢查忙碌子程序CheckBusy:PUSH ACC LOOP:CLR RS ;選擇指令寄存器SETB RW ;選擇讀模式MOV D0-D7,#0FFH ;P0口寫1,準(zhǔn)備寫入SETB

29、E ;使能LCDMOV A D0-D7 ;將LCD的D0D7由P0口送A,以便查第7位BF是否為0CLR E ;禁止LCDJB ACC.7,LOOP ;判斷由LCD讀入第7位BF是否為1,若為1表示LCD忙ACALL DELAY ;調(diào)延時(shí)子程序POP ACCRET;寫入IR寄存器子程序WriteIR:PUSH ACCACALL CheckBusy ;調(diào)檢查忙碌子程序CLR E ;禁止LCDCLR RS ;選擇指令寄存器CLR RW ;選擇寫模式STEB E ;使能LCDMOV D0-D7,A ;將控制指令寫入LCDSETB E ;使能LCDCLR E ; 禁止LCDPOP ACCRET;寫入DR寄存器子程序WriteIR:PUSH ACCACALL CheckBusy ;調(diào)檢查忙碌子程序CLR E ;禁止LCDSETB RS ;選擇數(shù)據(jù)寄存器CLR RW ;選擇寫模式STEB E ;使能LCDMOV D0-D7,A ;將控制指令寫入LCDSETB E ;使能LCDCLR E ; 禁止LCDPOP ACCRET;以下是字符串處理子程序STRING:PUSH ACCLOOP

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論