版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. . . . 煤炭職業(yè)技術(shù)學(xué)院畢 業(yè)設(shè) 計(jì)(論 文) 論文題目: 基于數(shù)控直流穩(wěn)壓電源設(shè)計(jì) 指導(dǎo)老師: 華 學(xué)生:維 學(xué) 號: 4233090142 專 業(yè):電子信息工程 2012年05月15日煤炭職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(論文)任務(wù)書題目:基于數(shù)控直流穩(wěn)壓電源設(shè)計(jì) 任務(wù)與要求:設(shè)計(jì)以AT89S52單片機(jī)為主控制器,通過鍵盤來設(shè)置直流電源的輸出電壓,分析了該系統(tǒng)的原理,闡述了該系統(tǒng)的設(shè)計(jì)方案與工作流程,并給出了硬件和軟件設(shè)計(jì),經(jīng)過D/A轉(zhuǎn)換器(AD0832)輸出模擬量,再經(jīng)運(yùn)算放大器隔離放大,控制輸出功率管的基極,隨著功率管基極電壓的變化而輸出不同的電壓,數(shù)控直流穩(wěn)壓電源設(shè)計(jì)的系統(tǒng)仿真調(diào)試,驗(yàn)
2、證了方案的可行性。 時間: 2012 年 2月10 日 至 2012年 5 月 13 日 共 9 周 學(xué)生:維 學(xué) 號: 4233090142 專 業(yè): 電子信息工程技術(shù) 指導(dǎo)教師: 華 2012年5月15日摘要本系統(tǒng)以直流電壓源為核心,AT89S52單片機(jī)為主控制器,通過鍵盤來設(shè)置直流電源的輸出電壓,設(shè)置步進(jìn)等級可達(dá)0.1V,輸出電壓圍為09.9V,最大電流為330mA,并可由液晶屏顯示實(shí)際輸出電壓值。系統(tǒng)有過流保護(hù)電路,當(dāng)輸出電流過大時功率管自動截至,而且有紅色指示燈發(fā)出警報(bào)。系統(tǒng)中的ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其部電源
3、輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時間僅為32S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。本系統(tǒng)由單片機(jī)程控輸出數(shù)字信號,經(jīng)過D/A轉(zhuǎn)換器(AD0832)輸出模擬量,再經(jīng)過運(yùn)算放大器隔離放大,控制輸出功率管的基極,隨著功率管基極電壓的變化而輸出不同的電壓。實(shí)際測試結(jié)果表明,本系統(tǒng)實(shí)際應(yīng)用于需要高穩(wěn)定度小功率恒壓源的領(lǐng)域。關(guān)鍵詞:直流穩(wěn)壓電源單片機(jī)數(shù)字控制目 錄第一章 緒言4第二章 數(shù)控直流穩(wěn)壓電源設(shè)計(jì)原理5第一節(jié) 總體方案框
4、圖設(shè)計(jì)原理5第二節(jié) 總體電路圖設(shè)計(jì)原理6第三章 硬件電路設(shè)計(jì)7第一節(jié) 穩(wěn)壓輸出部分7第二節(jié) 數(shù)字控制部分9第三節(jié) 串行接口15第四節(jié) 并行接口16第四章 系統(tǒng)的軟件設(shè)計(jì)18第一節(jié) 系統(tǒng)總電路軟件實(shí)現(xiàn)流程圖設(shè)計(jì)18第二節(jié) 系統(tǒng)總程序設(shè)計(jì)19第五章 電源測試結(jié)果與分析43第一節(jié) 電壓測試數(shù)據(jù)與分析43第二節(jié) 性能測試數(shù)據(jù)與分析44結(jié) 束 語45 辭46參考文獻(xiàn)47第一章 緒言 幾乎所有的電子設(shè)備都需要穩(wěn)定的直流電源,因此直流穩(wěn)壓電源的應(yīng)用非常的廣泛。 直流穩(wěn)壓電源的電路形式有很多種,有串聯(lián)型、開關(guān)型、集成電路、穩(wěn)壓管直流穩(wěn)壓電源等等。在電子設(shè)備中,直流穩(wěn)壓電源的故障率是最高的(長期工作在大電流和大
5、電壓下,電子元器件很容易損壞)但在直流穩(wěn)壓電源中,通過整流、濾波電路所獲得的直流電源的電壓往往是不穩(wěn)定的。輸出電壓在電網(wǎng)電壓波動或負(fù)載電流變化時也會隨之有所改變。電子設(shè)備電源電壓不穩(wěn)定,將會引的起很多問題。設(shè)計(jì)出質(zhì)量優(yōu)良的直流穩(wěn)壓電源,才能滿足各種電子線路的要求。因此直流穩(wěn)壓電源的研究就頗為重要。目前產(chǎn)生直流穩(wěn)壓電源的方法大致分為兩種:一種是模擬方法,另一種是數(shù)字方法。前者的電路均采用模擬電路控制,而后者則是通過數(shù)字電路進(jìn)行自動控制。直流穩(wěn)壓電源朝著數(shù)字化方向發(fā)展。因此對于數(shù)控恒壓源的研究是必要的。隨著科學(xué)技術(shù)飛速發(fā)展,對電源可靠性、輸出精度和穩(wěn)定性要求越來越高,利用D/ A 轉(zhuǎn)換器的高分辨率
6、和單片機(jī)的自動檢測技術(shù)設(shè)計(jì)程控電源就顯示出其優(yōu)越性。程控電源既能方便輸入和選擇預(yù)設(shè)電壓值又具有較高精度和穩(wěn)定性,而且可以任意設(shè)定輸出電壓或電流,所有功能由面板上的鍵盤控制單片機(jī)實(shí)現(xiàn),給電路實(shí)驗(yàn)帶來極大的方便,提高了工作效率。第二章 數(shù)控直流穩(wěn)壓電源設(shè)計(jì)原理采用AT89S52單片機(jī)作為整機(jī)的控制單元,通過改變DAC0832的輸入數(shù)字量來改變輸出電壓值,從而使輸出功率管的基極電壓發(fā)生變化,間接地改變輸出電壓的大小。為了能夠使系統(tǒng)具備檢測實(shí)際輸出電壓值的大小,可以將輸出電壓經(jīng)過ADC0832進(jìn)行模數(shù)轉(zhuǎn)換,間接用單片機(jī)實(shí)時對電壓進(jìn)行采樣,然后進(jìn)行數(shù)據(jù)處理與顯示。此系統(tǒng)比較靈活,采用軟件方法來解決數(shù)據(jù)的
7、預(yù)置以與電壓的步進(jìn)控制,使系統(tǒng)硬件更加簡潔,各類功能易于實(shí)現(xiàn)。第一節(jié) 總體方案框圖設(shè)計(jì)原理系統(tǒng)總體方案框圖如圖2-1所示:圖2-1 系統(tǒng)原理框圖第二節(jié) 總體電路圖設(shè)計(jì)原理系統(tǒng)以直流電壓源為核心,AT89S52單片機(jī)為主控制器,通過鍵盤來設(shè)置直流電源的輸出電壓,設(shè)置步進(jìn)等級可達(dá)0.1V,輸出電壓圍為09.9V,最大電流為330mA,并可由液晶屏顯示實(shí)際輸出電壓值。系統(tǒng)有過流保護(hù)電路,當(dāng)輸出電流過大時功率管自動截至,而且有紅色指示燈發(fā)出警報(bào)。本系統(tǒng)由單片機(jī)程控輸出數(shù)字信號,經(jīng)過D/A轉(zhuǎn)換器(AD0832)輸出模擬量,再經(jīng)過運(yùn)算放大器隔離放大,控制輸出功率管的基極,隨著功率管基極電壓的變化而輸出不同
8、的電壓。利用D/ A 轉(zhuǎn)換器的高分辨率和單片機(jī)的自動檢測技術(shù)設(shè)計(jì)程控電源就顯示出其優(yōu)越性。程控電源既能方便輸入和選擇預(yù)設(shè)電壓值又具有較高精度和穩(wěn)定性,而且可以任意設(shè)定輸出電壓或電流,所有功能由面板上的鍵盤控制單片機(jī)實(shí)現(xiàn)。系統(tǒng)總體電路圖如圖2-2所示:圖2-2 系統(tǒng)總體電路圖第三章 硬件電路設(shè)計(jì)第一節(jié) 穩(wěn)壓輸出部分一、穩(wěn)壓輸出原理與電路這部分將數(shù)控部分送來的電壓控制字轉(zhuǎn)換成穩(wěn)定電壓輸出。D/A轉(zhuǎn)換部分的輸出電壓作為穩(wěn)壓輸出電路的參考電壓。穩(wěn)壓輸出電路的輸出與參考電壓成比例。穩(wěn)壓輸出電路采用的是串聯(lián)式反饋穩(wěn)壓電路(如圖3-1),在電路中,Q1TIP122為調(diào)整管,U6ALM358 為比較放大器,R
9、19、R22組成反饋網(wǎng)絡(luò)。D/A轉(zhuǎn)換電路的輸出電壓DAOUT接到 U6A 的同向端,穩(wěn)壓電源的輸出經(jīng)R19、R22組成的取樣電路分壓后送到運(yùn)放U6A的反向端,經(jīng)運(yùn)放比較放大后,驅(qū)動調(diào)整管Q1。路平衡時,D/A電路的輸出電壓 與取樣后的電壓 相等。 穩(wěn)壓輸出部分的過流保護(hù)電路由R21和Q2組成。設(shè) 為保護(hù)動作電流,則當(dāng)電源輸出電流I增加到 時,R21上的壓降 *R21使得Q2管導(dǎo)通,分掉了Q1上的基極電流,使輸出I不再增加,起到了過流保護(hù)作用。 圖3-1 穩(wěn)壓輸出部分二、穩(wěn)壓輸出部分仿真圖圖3-2 穩(wěn)壓電路仿真圖一般的直流穩(wěn)壓電源是用可變電阻來實(shí)現(xiàn)輸出電壓的調(diào)節(jié),那么要在直流穩(wěn)壓電源的基礎(chǔ)上實(shí)現(xiàn)
10、數(shù)字控制的話,實(shí)際上很簡單,我們只要將可變電阻換成數(shù)字控制部分來代替,就能實(shí)現(xiàn)數(shù)控恒壓源這一課題。所以,首先要做的,就是選擇合適的穩(wěn)壓輸出電路并對其可行性進(jìn)行了仿真。如上圖3-2,很容易就驗(yàn)證了此穩(wěn)壓輸出電路的可靠。第二節(jié) 數(shù)字控制部分一、單片機(jī)部分單片機(jī)控制部分原理圖如下圖3-3:圖3-3 單片機(jī)控制部分控制部分是系統(tǒng)整機(jī)協(xié)調(diào)工作和智能化管理的核心部分,采用AT89S52單片機(jī)實(shí)現(xiàn)控制功能是其關(guān)鍵,采用單片機(jī)不但方便監(jiān)控,并且大大減少硬件設(shè)計(jì)。注釋:AT89S52單片機(jī)一些功能可以用AT89C52單片機(jī)互換。二、D/A轉(zhuǎn)換部分系統(tǒng)設(shè)置D/A轉(zhuǎn)換接口,采用8位模數(shù)轉(zhuǎn)換器DAC0832。其電路如
11、圖3-4:圖3-4 D/A轉(zhuǎn)換部分D/A轉(zhuǎn)換部分的輸出電壓作為穩(wěn)壓輸出電路的參考電壓。穩(wěn)壓輸出電路的輸出與參考電壓成比例。8位字長的D/A轉(zhuǎn)換器具有256種狀態(tài)。當(dāng)電壓控制字從0,1,2,到256時,電源輸出電壓為0.0,0.06,15.0。其時序圖如圖3-5:圖3-5DAC0832數(shù)模轉(zhuǎn)換時序圖CLK為時鐘端,Data為輸入數(shù)據(jù),LOAD為輸入控制信號。每路電壓輸出值的計(jì)算:REF為參考電壓,DATA為輸入8位的比特?cái)?shù)據(jù);我們這里用的REF=5v;三、A/D轉(zhuǎn)換部分A/D轉(zhuǎn)換部分我們采用美國國家半導(dǎo)體公司生產(chǎn)的一種8 位分辨率、雙通道A/D轉(zhuǎn)換芯片ADC0832。其電路圖如圖3-6所示:圖3
12、-6 A/D轉(zhuǎn)換部分ADC0832 是美國國家半導(dǎo)體公司生產(chǎn)的一種8 位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性,性價比高而深受單片機(jī)愛好者與企業(yè)歡迎,其目前已經(jīng)有很高的普與率。學(xué)習(xí)并使用ADC0832 可是使我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。ADC0832 具有以下特點(diǎn): 8位分辨率。 雙通道A/D轉(zhuǎn)換。 輸入輸出電平與TTL/CMOS相兼容。 5V電源供電時輸入電壓在05V之間。 工作頻率為250KHZ,轉(zhuǎn)換時間為32S。 一般功耗僅為15mW。 8P、14PDIP(雙列直插)、PICC 多種封裝。 商用級芯片溫寬為0C+70C,工業(yè)級芯片溫寬為40C
13、+85C。芯片接口說明: CS_ 片選使能,低電平芯片使能。 CH0 模擬輸入通道0,或作為IN+/-使用。 CH1 模擬輸入通道1,或作為IN+/-使用。 GND 芯片參考0 電位(地)。 DI 數(shù)據(jù)信號輸入,選擇通道控制。 DO 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。 CLK 芯片時鐘輸入。 Vcc/REF 電源輸入與參考電壓輸入(復(fù)用)。ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時間僅為32S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的
14、芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。單片機(jī)對ADC0832 的控制原理:正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時可以將DO和DI 并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用,CLK 和DO/DI 的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CLK 輸入時鐘脈沖,
15、DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1 個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應(yīng)輸入2 位數(shù)據(jù)用于選擇通道功能。其時序圖如圖3-7:圖3-7 ADC0832時序表如圖所示,當(dāng)此2 位數(shù)據(jù)為“1”、“0”時,只對CH0 進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“1”、“1”時,只對CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)2 位數(shù)據(jù)為“0”、“0”時,將CH0作為正輸入端IN+,CH1作為負(fù)輸入端IN-進(jìn)行輸入。當(dāng)2 位數(shù)據(jù)為“0”、“1”時,將CH0作為負(fù)輸入端IN-,CH1 作為正輸入端IN+進(jìn)行輸入。到第3 個脈沖的下沉之后DI端的輸入電平就失去輸入作用
16、,此后DO/DI端則開始利用數(shù)據(jù)輸出DO進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個脈沖下沉開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)DATA0,一個字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下沉輸出DATD0。隨后輸出8位數(shù)據(jù),到第19個脈沖時數(shù)據(jù)輸出完成,也標(biāo)志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處理就可以了。 鍵盤部分:由于要實(shí)現(xiàn)人機(jī)對話,要顯示09.9V的電壓值,我們自制3*4按鍵的鍵盤來完成整個系統(tǒng)控制。電路原理如圖3-8所示。圖3-8 鍵盤與顯示電路圖
17、按鍵的具體意義如下表3-1示: 表3-1 實(shí)驗(yàn)數(shù)據(jù)1234567890*ENTER顯示部分:本方案采用YM12864型LCD,可直接顯示4*8個漢字,界面友好,支持串并行兩種連接方式,其電路連接如圖3-9所示:圖3-9 LCD12864與單片機(jī)連接圖YM12864是一種具有4位/8位并行、2線或3線串行多種接口方式,部含有國標(biāo)一級、二級簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864, 置8192個16*16點(diǎn)漢字,和128個16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示84行1616點(diǎn)陣的漢字。 也可完成圖形顯示
18、。 第三節(jié) 串行接口LCD12864用于串行接口時部分引腳的名稱與功能如下表3-2示:表3-2 串行接口時部分引腳的名稱與功能管腳號名稱LEVEL功能1VSS0V電源地2VDD+5V電源正(3.0V-5.5V)3VO-對比度(亮度)調(diào)整4CSH/L模組片選端,高電平有效5SIDH/L串行數(shù)據(jù)輸入端6CLKH/L串行同步時鐘:上升沿石讀取SID數(shù)據(jù)15PSBLL:串口方式(見注釋1)17/RESTH/L復(fù)位端,低電平有效(見注釋2)19AVDD背光源電源+5V(見注釋3)20KVSS背光源負(fù)端0V(見注釋3)注釋1:如在實(shí)際應(yīng)用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和
19、“GND”用焊錫短接。注釋2:模塊部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。第四節(jié) 并行接口LCD12864用于并行接口時各個引腳的名稱與功能如下表3-3示:表3-3 并行接口時各個引腳的名稱與功能管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7DB0為顯示數(shù)據(jù)RS=“L”,表示DB7DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”, DB
20、7DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見注釋1)16NC-空腳17/RESETH/L復(fù)位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動電壓輸出端19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負(fù)端(見注釋3)*注釋1:如在實(shí)際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VC
21、C”用焊錫短接。*注釋2:模塊部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。 *注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。第四章 系統(tǒng)的軟件設(shè)計(jì)第一節(jié) 系統(tǒng)總電路軟件實(shí)現(xiàn)流程圖設(shè)計(jì)總電路軟件實(shí)現(xiàn)流程圖如圖4-1示:圖4-1 總電路實(shí)現(xiàn)流程圖程序見后面第四章第二節(jié)。第二節(jié) 系統(tǒng)總程序設(shè)計(jì)本程序是設(shè)計(jì)的一個數(shù)控恒壓源,先用一個3*4的鍵盤輸入,所用的電壓,再通過DAC0832輸出電壓。再采用一個ADC0832;將電壓讀回單片機(jī),單片機(jī)再采用一片LCD串口顯示出來。 以下接口定義根據(jù)硬件連線更改: ADCS BIT P2.5 ;使能接口 ADCLK BIT
22、P2.4 ;時鐘接口 ADDO BIT P2.3 ;數(shù)據(jù)輸出接口(復(fù)用) ADDI BIT P2.3 ;數(shù)據(jù)輸入接口CS BIT P3.0 ;H=DATA,L=COM SID BIT P3.1 ;H=READ,L=WRITE SCLK BIT P3.6KEYBUF EQU 30H COM EQU 41H;控制字暫存單元 DAT EQU 42H ;顯示數(shù)據(jù)暫存單元 CODER EQU 43H ;字符代碼暫存單元 ADDR EQU 44H ;地址暫存單元 ORG 0LJMP STARTORG 3LJMP KEYSCANORG 30HSTART:MOV SP,#90H LCALL DEL_40MS
23、LCALL INI MOV 70H,#00H MOV 71H,#00H MOV 34H,#02 ;裝入通道功能選擇數(shù)據(jù)值 SETB IT0 SETB EX0 MOV P1,#0FH ;將P1口低4位設(shè)為輸入,高4位清零 SETB EA MOV KEYBUF,#00H ;起初輸出0V電壓 MOV R2,#01H ;置送數(shù)時送數(shù)空間不同的標(biāo)志位 CLR A MOV 24H,A ;清零24h,25h,31H,32H,33H MOV 25H,A MOV 31H,A MOV 32H,#05H MOV 33H,#00H MOV ADDR,#80H MOV DPTR,#WEL_1MOV 40H,#16 LC
24、ALL W_LINE MOV ADDR,#90H MOV DPTR,#WEL_2 MOV 40H,#9 LCALL W_LINE MOV ADDR,#95H MOV DPTR,#WEL_3 LCALL W_LINE1 MOV ADDR,#88H MOV DPTR,#WEL_4 MOV 40H,#16 LCALL W_LINE MOV ADDR,#98H MOV DPTR,#WEL_5 MOV 40H,#16 LCALL W_LINE LCALL DEL_1500MSLOOP: LCALL LIGHT ;調(diào)顯讀數(shù)與示子程序 SJMP LOOP ;鍵盤掃描程序;鍵碼存在KEYBUF單元,格式為數(shù)字
25、0-9和”.”號,還有Enter鍵KEYSCAN:PUSH PSW PUSH ACC PUSH DPH PUSH DPL CLR RS1 SETB RS0 ;選擇1區(qū)工作寄存器 LCALL DELAY MOV A,P1 CPL A ANL A,#0FH JZ FINISH MOV DPTR,#TAB1 MOV P1,#0EFH;掃描第一行 LCALL DELAY MOV P1,#0EFH MOV A,P1 CPL A ANL A,#0FH JZ K1 ;第一行沒鍵按下,則掃描第二行 SJMP KENDK1: MOV P1,#0DFH ;掃描第二行 LCALL DELAY MOV P1,#0DF
26、H MOV A,P1 CPL A ANL A,#0FH JZ K2 ;第二行沒鍵按下,則掃描第三行 ADD A,#5 SJMP KENDK2: MOV P1,#0BFH ;掃描第三行 LCALL DELAY MOV P1,#0BFH MOV A,P1 CPL A ANL A,#0FH JZ K3 ;第三行沒鍵按下,則掃描第四行 ADD A,#10 SJMP KEND K3: MOV P1,#7FH ;掃描第四行 LCALL DELAY MOV P1,#7FH MOV A,P1 CPL A ANL A,#0FH JZ FINISH;第四行沒鍵按下,則返回 ADD A,#15KEND:MOVC A
27、,A+DPTR MOV KEYBUF,A; MOV 33H,#01H ;置有中斷標(biāo)志 SJMP FINISHFINISH:MOV P1,#0FH ;為下一次掃描作準(zhǔn)備 POP DPL POP DPH POP ACC POP PSW RETITAB1:DB 00H,01H,02H,00H,03H;,00H,00H,00H,33HDB 00H,04H,05H,00H,06H;,00H,00H,00H,00HDB 00H,07H,08H,00H,09H;,00H,00H,00H,0AHDB 00H,0AH,00H,00H,0BH;,00H,00H,00H,46HINI: ;LCD的初始化子程序 MO
28、V COM,#30H ;功能設(shè)定,基本指令 LCALL WCOM MOV COM,#30H ;基本指令,8-bit模式,基本指令 LCALL WCOM MOV COM,#0CH ;顯示開,游標(biāo)關(guān),反白關(guān) LCALL WCOM MOV COM,#01H ;清除顯示 LCALL WCOM MOV COM,#06H ;進(jìn)入設(shè)定點(diǎn),游標(biāo)7右移,畫面不移動 LCALL WCOM RET W_LINE: MOV COM,ADDR LCALL WCOM MOV R4,40H ;連續(xù)寫入N/2個中文或者N個西文字符 W_L1: MOV A,#00H MOVC A,A+DPTR MOV CODER,A LCAL
29、L WCODE INC DPTR DJNZ R4,W_L1 RET W_LINE1: MOV COM,ADDR LCALL WCOMW_L11: MOV A,70H ANL A,#0FH MOVC A,A+DPTR MOV CODER,A LCALL WCODE MOV A,#0BH MOVC A,A+DPTR MOV CODER,A LCALL WCODE MOV A,71H SWAP A ANL A,#0FH MOVC A,A+DPTR MOV CODER,A LCALL WCODE MOV A,71H ANL A,#0FH MOVC A,A+DPTR MOV CODER,A LCALL
30、WCODE MOV A,#0AH MOVC A,A+DPTR MOV CODER,A LCALL WCODE ;DJNZ R4,W_L1 RET WCOM: LCALL STWC MOV A,COM LCALL W4_D ;送入高四位指令 LCALL W4_0;連續(xù)送入四個0 LCALL W4_D ;送入高四位指令 LCALL W4_0 ;連續(xù)送入四個0 CLR CS LCALL DEL_2MS RET WCODE: LCALL STWD MOV A,CODER LCALL W4_D LCALL W4_0 LCALL W4_D LCALL W4_0 CLR CS LCALL DEL_2MS R
31、ET STWC: SETB CS SETB SID MOV R3,#5 ;連續(xù)送入5個1,起始 STWC1: SETB SCLK CLR SCLK DJNZ R3,STWC1 CLR SID MOV R3,#3 STWC2: SETB SCLK:RW=0,RS=0 ;第八位0 CLR SCLK DJNZ R3,STWC2 RET STWD: SETB CS SETB SID MOV R3,#5 ;連續(xù)送入5個1,起始 STWD1: SETB SCLK CLR SCLK DJNZ R3,STWD1 CLR SID ;RW=0 SETB SCLK CLR SCLK SETB SID ;RS=1 S
32、ETB SCLK CLR SCLK CLR SID ;第八位0 SETB SCLK CLR SCLK RET W4_D: MOV R3,#4 W4_D1: RLC A MOV SID,C SETB SCLK CLR SCLK DJNZ R3,W4_D1 RET W4_0: MOV R3,#4 W4_01: CLR SID SETB SCLK CLR SCLK DJNZ R3,W4_01 RET DEL_2MS: ;2MS延時 MOV R0,#2 D1: MOV R1,#200 D2: NOP NOP NOP DJNZ R1,D2 DJNZ R0,D1 RET DEL_40MS: ;40MS延時
33、 MOV R5,#20 D3: LCALL DEL_2MS DJNZ R5,D3 RET DEL_200MS: ;200MS延時 MOV R5,#100 D4: LCALL DEL_2MS DJNZ R5,D4 RET DEL_500MS: ;500MS延時 MOV R5,#250 D5: LCALL DEL_2MS DJNZ R5,D5 RET DEL_1500MS: ;1500MS延時 LCALL DEL_500MS LCALL DEL_500MS LCALL DEL_500MS RET ;用ADC0832讀數(shù)并送數(shù)給顯示的子程序;并將鍵盤的按鍵數(shù)送給ADC0832讓其輸出; ADC083
34、2讀數(shù)據(jù)子程序 LIGHT:SETB ADDI ;初始化通道選擇 NOP NOP CLR ADCS ;拉低/CS端 NOP NOP SETB ADCLK ;拉高CLK端 NOP NOP CLR ADCLK ;拉低CLK端,形成下降沿 MOV A,34H MOV C,ACC.1 ;確定取值通道選擇 MOV ADDI,C NOP NOP SETB ADCLK ;拉高CLK端 NOP NOP CLR ADCLK ;拉低CLK端,形成下降沿2 MOV A,34H MOV C,ACC.0 ;確定取值通道選擇 MOV ADDI,C NOP NOP SETB ADCLK ;拉高CLK端 NOP NOP CL
35、R ADCLK ;拉低CLK端,形成下降沿3 SETB ADDI NOP NOP MOV R7,#8 ;準(zhǔn)備送下后8個時鐘脈沖 AD_1: MOV C,ADDO ;接收數(shù)據(jù) MOV ACC.0,C RL A ;左移一次 SETB ADCLK NOP NOP CLR ADCLK ;形成一次時鐘脈沖 NOP NOP DJNZ R7,AD_1 ;循環(huán)8次 MOV C,ADDO ;接收數(shù)據(jù) MOV ACC.0,C MOV B,A MOV R7,#8 AD_13: MOV C,ADDO ;接收數(shù)據(jù) MOV ACC.0,C RR A ;右移一次 SETB ADCLK NOP NOP CLR ADCLK ;
36、形成一次時鐘脈沖 NOP NOP DJNZ R7,AD_13 ;循環(huán)8次MOV R7,#8 CJNE A,B,LIGHT ;數(shù)據(jù)校驗(yàn) MOV A,BMOV DPTR,#TAB5MOVC A,A+DPTRMOV 72H,A ;將高位送72H單元MOV A,BMOV DPTR,#TAB6MOVC A,A+DPTRMOV 73H,A ;降低為送73H單元 SETB ADCS ;拉高/CS端 CLR ADCLK ;拉低CLK端 SETB ADDO ;拉高數(shù)據(jù)端,回到初始狀態(tài);送數(shù)給顯示子程序段MOV 70H,72H MOV 71H,73H MOV ADDR,#95H MOV DPTR,#WEL_3 L
37、CALL W_LINE1;送數(shù)給ADC0832的子程序 MOV A,33H ;判斷有沒有中斷 JZ L7;沒有中斷就轉(zhuǎn) MOV 33H,#00H ;清中斷標(biāo)志L2: MOV A,30HCJNE A,#0AH,L3 ;判斷是否為點(diǎn)號,不為點(diǎn)號就轉(zhuǎn)。 JMP L7 ;為點(diǎn)好就保持原來送數(shù)。L3:CJNE A,#0BH,L4 ;判斷是否為Enter鍵,不為就轉(zhuǎn) MOV 32H,24H MOV 31H,25HL9:MOV 24H,#00H MOV 25H,#00H MOV R2,#01H ;置送數(shù)時送數(shù)空間不同的標(biāo)志位L7: MOV A,32H ;將鍵盤的兩數(shù)相與,查表,然后送數(shù) SWAP A ORL
38、 A, 31H MOV DPTR,#TAB4 MOVC A,A+DPTRCLR P2.0 MOV P0,A LJMP L6 L4:CJNE R2,#01H,L5 ;將鍵盤的第一位數(shù)送給24H MOV A,30H MOV 24H,A DEC R2 ;清零送數(shù)時送數(shù)空間不同的標(biāo)志位 JMP L7L5:MOV A,30H ;將鍵盤的第二位數(shù)送給25H MOV 25H,A MOV R2,#01H ;置送數(shù)時送數(shù)空間不同的標(biāo)志位JMP L7L6:RET ;十六進(jìn)制數(shù)轉(zhuǎn)換成為2進(jìn)制BCD碼的碼表 0 1 2 3 4 5 6 7 8 9 TAB5:DB 00H,00H,00H,00H,00H,00H,00H
39、,00H,00H,00H;0 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01H;1DB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01HDB 02H,02H,02H,02H,02H,02H,02H,02H,02H,02H;2DB 02H,02H,02H,02H,02H,02H,02H,02H,02H,02HDB 03H,03H,03H,03H,03H,03H,03H,03H,03H,03H;3DB 03H,03H,03H,03H,03H,03H,
40、03H,03H,03H,03HDB 04H,04H,04H,04H,04H,04H,04H,04H,04H,04H4DB 04H,04H,04H,04H,04H,04H,04H,04H,04H,04HDB 05H,05H,05H,05H,05H,05H,05H,05H,05H,05H;5DB 05H,05H,05H,05H,05H,05H,05H,05H,05H,05HDB 06H,06H,06H,06H,06H,06H,06H,06H,06H,06H;6DB 06H,06H,06H,06H,06H,06H,06H,06H,06H,06HDB 07H,07H,07H,07H,07H,07H,0
41、7H,07H,07H,07H;7DB 07H,07H,07H,07H,07H,07H,07H,07H,07H,07HDB 08H,08H,08H,08H,08H,08H,08H,08H,08H,08H;8DB 08H,08H,08H,08H,08H,08H,08H,08H,08H,08HDB 09H,09H,09H,09H,09H,09H,09H,09H,09H,09H;9DB 09H,09H,09H,09H,09H,09H,09H,09H,09H,09HDB 10H,10H,10H,10H,10H,10H,10H,10H,10H,10H;10DB 10H,10H,10H,10H,10H,10
42、H,10H,10H,10H,10HDB 11H,11H,11H,11H,11H,11H,11H,11H,11H,11H;11DB 11H,11H,11H,11H,11H,11H,11H,11H,11H,11HDB 12H,12H,12H,12H,12H,12H,12H,12H,12H,12H;12DB 12H,12H,12H,12H,12H,12H,12H,12H,12H,12HTAB6:DB 00H,05H,10H,15H,20H,25H,30H,35H,40H,45H;0 DB 50H,55H,60H,65H,70H,75H,80H,85H,90H,95HDB 00H,05H,10H,15H,20H,25H,30H,35H,40H,45H;1 DB 50H,55H,60H,65H,70H,75H,80H,85H,90H,95HDB 00H,05H,10H,15H,20H,25H,30H,35H,40H,45H;2 DB 50H,55H,60H,65H,70H,75H,80H,85H,90H,95HDB 00H,05H,10H,15H,20H,25H,30H,35H,40H,45H;3 DB 50H,55H,60H,65H,70H,75H,80H,85H,90H,95HDB 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度二手房買賣合同(含家居安全檢測)3篇
- 篩沙機(jī)機(jī)械原理課程設(shè)計(jì)
- 2025年全球及中國接觸力傳感導(dǎo)管行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球光束擋板行業(yè)調(diào)研及趨勢分析報(bào)告
- 點(diǎn)陣顯示課程設(shè)計(jì)
- 預(yù)制柱吊裝課程設(shè)計(jì)
- 電熱窯爐課程設(shè)計(jì)
- 閱讀詩詞校本課程設(shè)計(jì)
- 鐵塔之光控制課程設(shè)計(jì)
- 霧霾檢測器課程設(shè)計(jì)
- 15.5-博物館管理法律制度(政策與法律法規(guī)-第五版)
- 水泥廠鋼結(jié)構(gòu)安裝工程施工方案
- 2023光明小升初(語文)試卷
- 三年級上冊科學(xué)說課課件-1.5 水能溶解多少物質(zhì)|教科版
- GB/T 7588.2-2020電梯制造與安裝安全規(guī)范第2部分:電梯部件的設(shè)計(jì)原則、計(jì)算和檢驗(yàn)
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 小學(xué)道德與法治學(xué)科高級(一級)教師職稱考試試題(有答案)
- 河北省承德市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 實(shí)用性閱讀與交流任務(wù)群設(shè)計(jì)思路與教學(xué)建議
- 應(yīng)急柜檢查表
- 通風(fēng)設(shè)施標(biāo)準(zhǔn)
評論
0/150
提交評論