數(shù)控直流穩(wěn)壓電源畢業(yè)設(shè)計(jì)_第1頁(yè)
數(shù)控直流穩(wěn)壓電源畢業(yè)設(shè)計(jì)_第2頁(yè)
數(shù)控直流穩(wěn)壓電源畢業(yè)設(shè)計(jì)_第3頁(yè)
數(shù)控直流穩(wěn)壓電源畢業(yè)設(shè)計(jì)_第4頁(yè)
數(shù)控直流穩(wěn)壓電源畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、智能控制設(shè)計(jì)大賽數(shù)控直流穩(wěn)壓電源 目錄摘要 3 一、 方案論證與比較 41. 1系統(tǒng)供電部分 41 2 控制器部分 41. 3 顯示部分 41 4 鍵盤(pán)部分 41. 5 數(shù)模/模數(shù)轉(zhuǎn)換部分41. 6 掉電記憶部分5 二、 系統(tǒng)的具體設(shè)計(jì)及實(shí)現(xiàn)521 系統(tǒng)總框圖 522 硬件設(shè)計(jì) 6221 電源模塊6222 DA轉(zhuǎn)換模塊 6223 電壓調(diào)整模塊7224 鍵盤(pán)模塊8225 EEPROM拓展模塊8226 顯示模塊923 軟件設(shè)計(jì)10231 主程序流程10232 鍵盤(pán)程序流程11233 EEPROM讀寫(xiě)流程12234 DAC0832程序流程13235 TLC1543程序流程13三、 測(cè)試、結(jié)果及分析1

2、431 基本功能1432 發(fā)揮功能部分1433 其他發(fā)揮部分1534 詳細(xì)的測(cè)試數(shù)據(jù)15四、 總結(jié)16參考文獻(xiàn)17附錄一、完整的系統(tǒng)原理圖18附錄二、完整的系統(tǒng)源代碼19數(shù)控直流穩(wěn)壓電源設(shè)計(jì)任務(wù)與要求一、 設(shè)計(jì)任務(wù)設(shè)計(jì)并制作一個(gè)直流可調(diào)穩(wěn)壓電源。二、 設(shè)計(jì)要求1、基本要求:1) 當(dāng)輸入交流電壓為220v±10%時(shí),輸出電壓在3-13v可調(diào);2) 額定電流為0.5A,且紋波不大于10mV;3) 使用按鍵設(shè)定電壓,同時(shí)具有常用電平快速切換功能(3v、5v、6v、9v、12v),設(shè)定后按鍵可鎖定,防止誤觸;4) 顯示設(shè)定電壓和測(cè)量電壓,顯示精度為0.01v。2、擴(kuò)展要求:1) 輸出電壓在0

3、-13v可調(diào);2) 額定電流為1A,且紋波不大于1mV;3) 掉電后可記憶上次的設(shè)定值;4) 兩級(jí)過(guò)流保護(hù)功能,當(dāng)電流超過(guò)額定值的20%達(dá)5秒時(shí),電路作斷開(kāi)操作;當(dāng)電流超過(guò)額定值的50%時(shí),電路立即斷開(kāi)。具有光提示(如LED);5) 其他創(chuàng)新。三、 說(shuō)明禁止直接使用220v直接電阻分壓的作法,注意用電安全。摘要直流穩(wěn)壓電源是常用的電子設(shè)備, 它能保證在電網(wǎng)電壓波動(dòng)或負(fù)載發(fā)生變化時(shí), 輸出穩(wěn)定的電壓。一個(gè)低紋波、高精度的穩(wěn)壓源在儀器儀表、工業(yè)控制及測(cè)量領(lǐng)域中有著重要的實(shí)際應(yīng)用價(jià)值。本設(shè)計(jì)給出的穩(wěn)壓電源的輸出電壓范圍為018 V, 額定工作電流為0.5 A, 并具有“+”、“- ”步進(jìn)電壓調(diào)節(jié)功能

4、, 其最小步進(jìn)為0.05 V,紋波不大于10 mV, 此外, 還可用LCD液晶顯示器顯示其輸出電壓值。本設(shè)計(jì)給出了一種以STC89S52單片機(jī)為核心, 并通過(guò)控制比較調(diào)整單元基準(zhǔn)電壓的變化來(lái)來(lái)實(shí)現(xiàn)高可靠、小紋波和高精度電壓控制的直流數(shù)顯可調(diào)穩(wěn)壓電源的硬件電路組成和軟件設(shè)計(jì)流程。 關(guān)鍵詞: 直流數(shù)控; 穩(wěn)壓電源; 單片機(jī)STC89C52;Digest: The DC regulated power supply is a familiar electric equipment , that can offer stable voltage when input voltage

5、 fluctuates or its load changes. The design of DC regulated power supply can offer voltages from 0 to 12.5V,rated working current 0.5A,with the function of “+” “-” step voltages regulator. Its minimum stepped voltage is 50 mV, ripple wave voltage less than 10 mV. Also, we can know its output voltage

6、 by seeing the lcd. This system gives a design process .This is a reliable , low ripple wave and highly-stable electric equipment. Keyword: DC regulated power supply, STC 89C52  一、 方案論證與比較1. 1系統(tǒng)供電部分由于該電源總共需要+21V,+15V,-15V,+5V電壓,所以我們采用雙220V/18V 變壓器,經(jīng)橋式整流濾波后得到21V電壓;由三端穩(wěn)壓器7815,7915和7805分別得到+15V,-1

7、5V和+5V電壓。1. 2 控制器部分方案一 應(yīng)用mega16作為控制器。AVR是51的升級(jí)版,具有速度快,且自帶512字節(jié)的EEPROM,不需要另外接擴(kuò)展的EEPROM的優(yōu)點(diǎn);缺點(diǎn)是,我們對(duì)AVR的使用不太熟悉,價(jià)格比較貴。方案二 采用STC89C52作為控制器。優(yōu)點(diǎn):技術(shù)比較熟練,使用廣泛,價(jià)格便宜,而且功能上也完全滿(mǎn)足本系統(tǒng)的要求;缺點(diǎn):需要連接擴(kuò)展EEPROM。因?yàn)楸鞠到y(tǒng)對(duì)單片機(jī)的速度要求不是很高,而且連接擴(kuò)展EEPROM也不復(fù)雜,經(jīng)過(guò)比較,我們選用方案二。1. 3 顯示部分方案一 使用LED顯示。優(yōu)點(diǎn):可視角度寬,介格便宜;缺點(diǎn):顯示的內(nèi)容少,介面呆板,而且占用較多的IO口資源。 方

8、案二 應(yīng)用1602液晶顯示模塊。優(yōu)點(diǎn):界面美觀,可顯示文字及數(shù)字;缺點(diǎn):價(jià)格較貴。 通過(guò)比較,我們選節(jié)方案二。1. 4 鍵盤(pán)部分方案一 利用I/O口直接連接的獨(dú)立式鍵盤(pán),每鍵都有相應(yīng)的I/O口對(duì)應(yīng),編程容易控制,實(shí)現(xiàn)方便;方案二 利用P3口接成4*2鍵盤(pán)。優(yōu)點(diǎn):利用6個(gè)IO口得到8個(gè)按鍵,可使操作介界變得簡(jiǎn)單,操作也方便;缺點(diǎn):軟件處理比獨(dú)立按鍵復(fù)雜。通過(guò)比較,結(jié)合本設(shè)計(jì)不需要太多IO口,方案一為最佳方案。1. 5 數(shù)模/模數(shù)轉(zhuǎn)換部分方案一 采用PCF8591芯片。優(yōu)點(diǎn):集AD,DA于一身;缺點(diǎn):價(jià)格昂貴,且操作不熟悉。方案二 數(shù)模轉(zhuǎn)換部分采用DAC0832芯片;模數(shù)轉(zhuǎn)換部分采用TLC1543

9、芯片。優(yōu)點(diǎn):兩芯片均為常用芯片,操作簡(jiǎn)單,軟件編程簡(jiǎn)單;缺點(diǎn):占用比較多的IO口,為PCB布線帶來(lái)困難。 經(jīng)過(guò)比較,方案二位最佳。1. 6 掉電記憶部分。我們選用應(yīng)用最廣泛的ST24c02芯片。該芯片價(jià)格便宜,操作簡(jiǎn)單,抗干擾強(qiáng),數(shù)據(jù)能保持一百年。二、 系統(tǒng)的具體設(shè)計(jì)及實(shí)現(xiàn)21 系統(tǒng)總框圖市電變壓系統(tǒng)電源+21V整流+15V -15V+5V電壓調(diào)整及過(guò)流保護(hù)取樣 U0取樣比較放大D/A轉(zhuǎn)換電壓顯示AT89S51鍵盤(pán)A/D轉(zhuǎn)換掉電記憶2.2 硬件設(shè)計(jì) 本系統(tǒng)由電源模塊,調(diào)壓模塊,DA轉(zhuǎn)換模塊,鍵盤(pán)模塊,EEPROM拓展模塊與顯示模塊組成。2.2.1 電源模塊 220V市電經(jīng)過(guò)雙18V變壓器轉(zhuǎn)換后

10、的到+ -18V電壓,再經(jīng)過(guò)橋式整流濾波電路,得到18*1.2=21.6(V)電壓。其中+21V電壓經(jīng)過(guò)7815轉(zhuǎn)換得到穩(wěn)定+15V電壓,再經(jīng)7805轉(zhuǎn)換得到穩(wěn)定+5V電壓;-21V電壓經(jīng)過(guò)mc7915轉(zhuǎn)換得到穩(wěn)定的-15V電壓。其中,+21V為系統(tǒng)供電,+15V,-15V,+5V分別為個(gè)獨(dú)立元件供電。2.2.2 DA轉(zhuǎn)換模塊 DA轉(zhuǎn)換模塊由DAC0832,兩級(jí)運(yùn)放UA741組成。DAC0832具有8位分辨率,有3種工作方式(單緩沖,雙緩沖,直通)。本設(shè)計(jì)中DAC工作于直通工作方式。UA741為常用運(yùn)放,由美國(guó)fairchild 公司生產(chǎn),具有低漂移,穩(wěn)定等優(yōu)點(diǎn),可外置調(diào)零電路以抑制零點(diǎn)漂移。

11、DAC0832和運(yùn)放UA1將單片機(jī)發(fā)出的八位二進(jìn)制數(shù)轉(zhuǎn)換成05V負(fù)電壓,再經(jīng)過(guò)反向比例放大器UA2將負(fù)電壓轉(zhuǎn)換成010V正電壓。經(jīng)過(guò)兩級(jí)運(yùn)放放大后,DAC0832的轉(zhuǎn)換分辨率為10/(28-1)=0.04V。即單片機(jī)向DAC送出的數(shù)據(jù)變化1BIT,運(yùn)放UA2輸出的電壓值改變0.04V。滑動(dòng)變阻器VR2的作用為調(diào)零電路以抑制零點(diǎn)漂移。 2.23 電壓調(diào)整模塊本設(shè)計(jì)的電壓調(diào)整模塊如上圖所示。T1,T2組成復(fù)合管,以實(shí)現(xiàn)大電流輸出。由于該設(shè)計(jì)預(yù)定額定電流為0.5A,最大輸出電壓為12.5V,所以要求T1管射極最大功率Pmax=0.5*12.5=6.25W,所以選取TIP41c。T3管9013和電阻R

12、9為限流保護(hù)部分。當(dāng)輸出電流大于0.7A時(shí),R9上的壓降為0.7V使得T3管導(dǎo)通,T3管集電極對(duì)T2管基極分流,使得T2管基極電流明顯變小使得輸出電流變小,從而達(dá)到過(guò)流保護(hù)的功能。發(fā)光二極管起過(guò)流提醒作用。電壓調(diào)整模塊的核心部分是NE5534。NE5534生產(chǎn)于美國(guó)德州半導(dǎo)體公司,具有共模抑制比高,響應(yīng)速度快和壓擺率高等優(yōu)點(diǎn),常用于音響,耳機(jī)等設(shè)備。由DA及運(yùn)放轉(zhuǎn)換后的電壓U1輸入到NE5534的正向輸入端,R10 R22 R11組成NE5534的取樣電路。由于NE5534 T1 T2及取樣電路構(gòu)成負(fù)反饋,由運(yùn)放的“虛短”特點(diǎn),NE5534的反向輸入端的電壓U2為正向輸入端的電壓大小U1。由于

13、運(yùn)放還有“虛斷”的特點(diǎn),運(yùn)放的輸入端對(duì)流經(jīng)取樣電路的電流不起分流作用,所以輸出電壓U0/U2=(R10+R11+R22)/(R11+R22)=1.25。即U2每改變0.04V,U0改變0.05V。由于單片機(jī)輸入到DAC0832的二進(jìn)制數(shù)據(jù)每改變1BIT,U1改變0.04V即U2改變0.04V,所以U0改變0.05V。因此,該設(shè)計(jì)最小步進(jìn)電壓為0.05V。電容C16的作用為抑制輸出紋波電壓。 2.2.4 鍵盤(pán)模塊 系統(tǒng)共設(shè)置了9個(gè)獨(dú)立按鍵,實(shí)現(xiàn)了常用電壓設(shè)定,電壓“+”“”設(shè)定及正常關(guān)機(jī)辨別的功能。2.2.5 EEPROM拓展模塊為了實(shí)現(xiàn)設(shè)定電壓數(shù)據(jù)的掉電保護(hù),我們?cè)谙到y(tǒng)中連接了擴(kuò)展EEPROM

14、 24C02B,保證了在行駛過(guò)程中,如果數(shù)控電源意外掉電,已經(jīng)設(shè)定的電壓數(shù)據(jù)能夠保存下來(lái)。24C02B是ATMEL公司生產(chǎn)的一款256 byte的串行EEPROM,能重復(fù)擦寫(xiě)1,000,000次,記錄的信息能保存100年以上,而且與單片機(jī)的連接只需要2根線。24C02B的接圖如上圖所示。 2.2.6 顯示模塊 上圖為顯示模塊的接圖。顯示模塊主要由TLC1543及LCD液晶顯示屏組成。由美國(guó)德州公司生產(chǎn)的TLC1543,是具有10位分辨率的AD轉(zhuǎn)換器,它具有11路模擬輸入通道及3路內(nèi)置自測(cè)試方式,具有顯著的優(yōu)點(diǎn)。LCD液晶屏幕采用1602,能夠顯示16X2個(gè)字符。由輸出端采樣得到的模擬信號(hào),輸入

15、到TLC1543的其中一路模擬輸入通道INT0,。通過(guò)AD的轉(zhuǎn)換,TLC1543將模擬量轉(zhuǎn)化為10位數(shù)字量輸入到單片機(jī)相應(yīng)的IO口。通過(guò)處理,單片機(jī)將模擬量值通過(guò)1602液晶顯示出來(lái)。2.3 軟件設(shè)計(jì)2.3 .1主程序流程 主程序流程圖如下圖: 開(kāi)始 初始化 誤差小于50mV?TLC1543檢測(cè)實(shí)際輸出值DA輸出讀取上次關(guān)機(jī)設(shè)定值調(diào)整TLC1543的輸出值 N Y (1)屏幕顯示當(dāng)前設(shè)定值與輸出值保存設(shè)定值更改DA輸出值 鍵盤(pán)掃描 等待輸入 (1)232 鍵盤(pán)程序流程圖本系統(tǒng)中鍵盤(pán)程序分為鍵盤(pán)掃描子程序和按鍵功能執(zhí)行子程序。鍵盤(pán)掃描子程序流程圖如下圖2-3-2所示,按鍵功能子程序流程圖如下圖2

16、-3-3所示:開(kāi)始掃描鍵盤(pán)有鍵接下?返回鍵值退出YN 圖2-3-2 鍵盤(pán)掃描子程序流程圖退出執(zhí)行相應(yīng)功能有按鍵按下 開(kāi)始 圖2-3-3 按鍵功能執(zhí)行子程序流程圖233 EEPROM讀寫(xiě)程序流程 24C02B讀寫(xiě)程序流程圖如下圖2-3-4和圖2-3-5所示。開(kāi)始寫(xiě)入數(shù)據(jù)退出發(fā)送地址 圖2-3-4 24C02B寫(xiě)入程序流程圖讀取數(shù)據(jù)退出發(fā)送地址開(kāi)始 圖2-3-5 24C02B讀取程序流程圖23. 4 DAC0832程序流程 DAC0832的程序流程圖如下所示: 開(kāi)始 結(jié)束輸出相應(yīng)值讀取數(shù)據(jù)發(fā)送數(shù)據(jù)23. 5 TLC1543程序流程 TLC1543的小程序流程圖如下所示: 結(jié)束讀取后6位數(shù)據(jù)CLK發(fā)

17、送脈沖信號(hào)讀取前四位數(shù)據(jù)發(fā)送4位地址CLK發(fā)送脈沖信號(hào)開(kāi)始 三、 測(cè)試、結(jié)果及分析 觀察系統(tǒng)運(yùn)行狀況,并輔助示波器、萬(wàn)用表得到以下結(jié)果。31 基本功能 表3-1要求實(shí)現(xiàn)功能測(cè)試結(jié)果當(dāng)輸入交流電壓為220v±10%時(shí),輸出電壓在3-13v可調(diào)輸出電壓在3-13v可調(diào)額定電流為0.5A,且紋波不大于10mV額定電流為0.5A,紋波電壓為8.2mV使用按鍵設(shè)定電壓,同時(shí)具有常用電平快速切換功能具有3V,6V,9V,12V常用電平按鍵顯示設(shè)定電壓和測(cè)量電壓,顯示精度為0.01v能顯示出0.05V電壓的變化32 發(fā)揮功能部分 表3-2功能是否實(shí)現(xiàn)及描述輸出電壓在0-13v可調(diào)基本實(shí)現(xiàn)了,但只是

18、0-12.5V可調(diào)額定電流為1A,且紋波不大于1mV;掉電后可記憶上次的設(shè)定值;掉電記憶部分實(shí)現(xiàn)了兩級(jí)過(guò)流保護(hù)功能,當(dāng)電流超過(guò)額定值的20%達(dá)5秒時(shí),電路作斷開(kāi)操作;當(dāng)電流超過(guò)額定值的50%時(shí),電路立即斷開(kāi)。具有光提示僅實(shí)現(xiàn)了一級(jí)過(guò)流保護(hù)功能33 其他發(fā)揮部分 表3-3功能描述精調(diào)粗調(diào)電壓功能實(shí)現(xiàn)0.05V電壓精調(diào)功能及1V電壓粗調(diào)功能34 詳細(xì)的測(cè)試數(shù)據(jù):(1) 開(kāi)機(jī),LCD顯示歡迎界面Power supplyWelcome! Please waitSet value : 10.00vOutput: 10.01v(2) 按下粗調(diào)電壓+鍵,顯示電壓改變1VSet value : 11.00vO

19、utput: 11.02v (3)按下精調(diào)電壓+鍵,顯示電壓改變0.05VSet value : 11.05vOutput: 11.07v (3) 按下精調(diào)電壓-鍵,顯示電壓改變0.05VSet value : 11.00vOutput: 11.00v (4)按下粗調(diào)電壓-鍵,顯示電壓改變1V Set value :10.00vOutput: 10.02v(5)按下常用電壓3V鍵,顯示電壓改變Set value :3.00vOutput: 3.01v(6)按下常用電壓6V鍵,顯示電壓改變Set value :6.00vOutput: 6.00v(7)按下常用電壓9V鍵,顯示電壓改變Set va

20、lue :9.00vOutput: 9.02v(7)按下常用電壓12V鍵,顯示電壓改變Set value :12.00vOutput: 12.01v(8)若此時(shí)掉電,下次開(kāi)機(jī)時(shí),顯示電壓為Set value :12.00vOutput: 12.01v四總結(jié)本設(shè)計(jì)基本完成數(shù)控直流穩(wěn)壓電源的基本功能和發(fā)揮功能,采用1602液晶顯示,可視面積大,界面美觀。采用NE5534作為電壓調(diào)整模塊的核心,使得輸出電壓極為穩(wěn)定。還擴(kuò)展了精調(diào)粗調(diào)功能,使用戶(hù)能對(duì)電壓進(jìn)行更加詳細(xì)地設(shè)置。經(jīng)過(guò)調(diào)試,系統(tǒng)運(yùn)行穩(wěn)定,各項(xiàng)功能都比較完美地實(shí)現(xiàn)了。經(jīng)過(guò)本次設(shè)計(jì),我對(duì)8952單片機(jī)有了更深層次的了解!參考文獻(xiàn): 1 求是科技

21、、C程序設(shè)計(jì)完全手冊(cè) 北京:人民郵電出版社 2006 2 張毅剛、彭喜元 新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)(第3版) 哈爾濱:哈爾濱工業(yè)大學(xué)出版社 2008 3馬忠梅 籍順心 張凱 馬巖、單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)(第3版) 北京:北京航空航天大學(xué)出版社2003 附錄一 本設(shè)計(jì)的電路原理圖。附錄二 完整的系統(tǒng)源代碼:#include <reg52.h>#include <intrins.h>#include <math.h>#define uint unsigned int #define uchar unsigned char typedef unsigne

22、d char BYTE;typedef unsigned int WORD;typedef bit BOOL ;BYTE code dis1 = "Power Supply"BYTE code dis2 = "welcome!"BYTE code dis3 = "Please wait."BYTE code dis4 = "SetValue: "BYTE code dis5 = "Output: "BYTE setv6,getv6;/LCD輸出字符組float n,setvalue;/電壓設(shè)定值

23、float dq,dp,qq,pp,l,xx;/轉(zhuǎn)換傳遞參數(shù)uchar ctu,outv,inv;/DA與AD部分傳遞參數(shù)sbit TLCEOC=P24;/TLC占用IO口sbit TLCCL=P23;sbit TLCAD=P22;sbit TLCOUT=P21;sbit TLCCS=P20;sbit scl=P16;/斷電保存占用IO口sbit sda=P17;sbit DACS=P14;/DA占用IO口sbit DAWR=P15;sbit rs= P27;/液晶LCD占用IO口sbit rw = P26;sbit ep = P25;void delay(BYTE ms)/ 延時(shí)子程序BYT

24、E i;while(ms-)for(i = 0; i< 250; i+)_nop_();_nop_();_nop_();_nop_();/* LCD顯示 子函數(shù)組 */BOOL lcd_bz()/ 測(cè)試LCD忙碌狀態(tài)BOOL result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80);ep = 0;return result;lcd_wcmd(BYTE cmd)/ 寫(xiě)入指令數(shù)據(jù)到LCDwhile(lcd_bz();rs = 0;rw = 0;ep = 0;_nop_(

25、);_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;lcd_pos(BYTE pos)/設(shè)定顯示位置lcd_wcmd(pos | 0x80);lcd_wdat(BYTE dat)/寫(xiě)入字符顯示數(shù)據(jù)到LCDwhile(lcd_bz();rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;lcd_

26、init()/LCD初始化設(shè)定lcd_wcmd(0x38);/delay(1);lcd_wcmd(0x0c);/delay(1);lcd_wcmd(0x06);/delay(1);lcd_wcmd(0x01);/清除LCD的顯示內(nèi)容delay(1);/* DA輸出函數(shù) */void write_da()P0=outv;delay(1);DACS=0;delay(1);DAWR=0;delay(1);delay(1);DAWR=1;delay(1);DACS=1;delay(1);/* AD(TLC)讀取函數(shù) */void read_tlc()float vad;int i;i=2;while(

27、i)uchar temp;vad=0;TLCEOC=1;delay(1);TLCCL=0;TLCCS=0;delay(1);TLCCL=0;/1TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+512;delay(1);TLCCL=1;delay(1);TLCCL=0;/2TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+256;delay(1);TLCCL=1;delay(1);TLCCL=0;/3TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+128;delay(1);TLCCL=1;delay(1);TLCC

28、L=0;/4TLCAD=1;temp=TLCOUT;if(temp=1)vad=vad+64;delay(1);TLCCL=1;delay(1);TLCCL=0;/5temp=TLCOUT;if(temp=1)vad=vad+32;delay(1);TLCCL=1;delay(1);TLCCL=0;/6temp=TLCOUT;if(temp=1)vad=vad+16;delay(1);TLCCL=1;delay(1);TLCCL=0;/7temp=TLCOUT;if(temp=1)vad=vad+8;delay(1);TLCCL=1;delay(1);TLCCL=0;/8temp=TLCOUT

29、;if(temp=1)vad=vad+4;delay(1);TLCCL=1;delay(1);TLCCL=0;/9temp=TLCOUT;if(temp=1)vad=vad+2;delay(1);TLCCL=1;delay(1);TLCCL=0;/10temp=TLCOUT;if(temp=1)vad=vad+1;delay(1);TLCCL=1;delay(1);TLCEOC=0;delay(1);TLCCS=1;delay(1);i-;inv=(vad/1023)*255;/* 字符類(lèi)型轉(zhuǎn)換函數(shù) */void change(float nn,BYTE a5) /float轉(zhuǎn)字符數(shù)組uint

30、 i,y;float x=nn*100;for(i=0;i<4;i+)y=x/(pow(10,(3-i);switch(y)case 0 : ai='0' ; break;case 1 : ai='1' ; break;case 2 : ai='2' ; break;case 3 : ai='3' ; break;case 4 : ai='4' ; break;case 5 : ai='5' ; break;case 6 : ai='6' ; break;case 7 : ai

31、='7' ; break;case 8 : ai='8' ; break;case 9 : ai='9' ; break;x=x-y*(pow(10,(3-i);a4=a3;a3=a2;a2='.'a5='V'void changetf()/UCHAR轉(zhuǎn)FLOATsetvalue=(dq*13)/255;l=dp*13/255/100;setvalue=setvalue+l+0.02;void changetu() /float轉(zhuǎn)UCHARqq=setvalue*255/13;ctu=qq;pp=(qq-ctu)*

32、100;/* 鍵盤(pán)掃描函數(shù) */void keyscan()uchar temp1,temp;P3=0xff;temp1=P3;while(temp1=0xff)/等待按鍵P3=0xff;temp1=P3;temp=temp1;/記錄按鍵while(temp1!=0xff)/等待松手P3=0xff;temp1=P3;switch(temp)case 0x7f: setvalue=setvalue+0.05;break;case 0xbf: setvalue=setvalue-0.05;break;case 0xdf: setvalue=setvalue+0.5;break;case 0xef:

33、 setvalue=setvalue-0.5;break;case 0xf7: setvalue=3;break;case 0xfb: setvalue=5;break;case 0xfd: setvalue=9;break;case 0xfe: setvalue=12;break;if(setvalue>13)setvalue=13;if(setvalue<0)setvalue=0;/* 開(kāi)機(jī)歡迎界面 */void welcome()/歡迎界面BYTE i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(2);/ 設(shè)置顯示位置為第一行的第5個(gè)字符i =

34、0;while(dis1i != '0')lcd_wdat(dis1i);/ 顯示字符i+;lcd_pos(0x44);/ 設(shè)置顯示位置為第二行第二個(gè)字符i = 0;while(dis2i != '0')lcd_wdat(dis2i);/ 顯示字符i+;delay(200);delay(200);delay(200);delay(200);delay(200);lcd_wcmd(0x01);/清除LCD的顯示內(nèi)容lcd_pos(1);/ 設(shè)置顯示位置為第一行的第1個(gè)字符i = 0;while(dis3i != '0')lcd_wdat(dis3i

35、);/ 顯示字符i+;delay(200);delay(200);delay(200);delay(200);delay(200);/* 當(dāng)前參數(shù)顯示界面 */void show()/歡迎界面BYTE i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(0);/ 設(shè)置顯示位置為第一行的第5個(gè)字符i = 0;while(dis4i != '0')lcd_wdat(dis4i);/ 顯示字符i+;i = 0;while(i<6)lcd_wdat(setvi);/ 顯示字符i+;lcd_pos(0x42);/ 設(shè)置顯示位置為第二行第二個(gè)字符i = 0;

36、while(dis5i != '0')lcd_wdat(dis5i);/ 顯示字符i+;i = 0;while(i<6)lcd_wdat(getvi);/ 顯示字符i+;/* 斷電保存子函數(shù)組 */void short_delay() ; ; void _24hc_init() sda=1;scl=1;/初始化 釋放總線 void start()/ 信號(hào)開(kāi)始函數(shù) sda=1; short_delay(); scl=1;short_delay();sda=0; short_delay(); void stop()/信號(hào)結(jié)束函數(shù) sda=0;short_delay(); sc

37、l=1;short_delay();sda=1;short_delay(); void response()/應(yīng)答信號(hào) uchar i;scl=1;short_delay();while(sda=1)&&(i<250)i+;/若無(wú)應(yīng)答(sda=1),則一段時(shí)間后默認(rèn)為應(yīng)答scl=0;short_delay(); void write_byte(uchar date)/寫(xiě)數(shù)據(jù)函數(shù) uchar temp;uchar i; scl=0; short_delay();temp=date;for(i=0;i<8;i+)temp=temp<<1;/左移一位,最低位移入CYsda=CY;short_delay();scl=1;short_delay();scl=0; short_delay();sda=1;/釋放總線short_delay(); uchar read_byte()/讀函數(shù)信號(hào) uchar i,j,k; scl=0; short_delay(); s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論