微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)_第1頁(yè)
微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)_第2頁(yè)
微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)_第3頁(yè)
微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)_第4頁(yè)
微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(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、第一章 前言在中國(guó),服裝制造加工業(yè)在工業(yè)結(jié)構(gòu)中占據(jù)重要的比例。而染色機(jī)作為一種適應(yīng)范圍廣泛的成品之理想的漂染設(shè)備,廣泛應(yīng)用于羊毛衫、晴綸和棉毛衫等成衣的染色、漂白、煮煉和水洗等工藝,也可應(yīng)用于手套、襪子、毛巾等成品的漂染處理。在染色機(jī)染色的生產(chǎn)過(guò)程中,溫度是一個(gè)大的滯后系統(tǒng),且受多種因素的影響,這些因素的變化范圍雖然不大,但他們是不確定的。染色工藝對(duì)于溫度控制要求非常嚴(yán)格,染液的升溫、保溫和降溫必須符合工藝要求,否則將會(huì)產(chǎn)生色差、缸差、著色不勻等次品。溫度是工業(yè)生產(chǎn)和科學(xué)實(shí)驗(yàn)中的重要參數(shù)之一,具有非線性、強(qiáng)耦合、時(shí)變、時(shí)滯等特性。在化工、冶金、工業(yè)爐窯等工業(yè)生產(chǎn)中,對(duì)溫度的控制直接影響到許多產(chǎn)

2、品的質(zhì)量及使用壽命。而隨著現(xiàn)代科技的發(fā)展,電子計(jì)算機(jī)已用于溫室環(huán)境的控制。自70年代以來(lái),由于工業(yè)過(guò)程控制的需要,特別是在微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展以及自動(dòng)控制理論和設(shè)計(jì)方法發(fā)展的推動(dòng)下,國(guó)外溫度控制系統(tǒng)發(fā)展迅速,并在智能化、自適應(yīng)、參數(shù)自整定等方面取得成果。在這方面,以日本、美國(guó)、德國(guó)、瑞典等國(guó)家技術(shù)領(lǐng)先,都生產(chǎn)出了一批商品化的、性能優(yōu)異的溫度控制器以及儀器儀表,并在各行業(yè)廣泛應(yīng)用。它們主要具有以下特點(diǎn):1、 適應(yīng)大慣性、大滯后等復(fù)雜溫度控制系統(tǒng)的控制。2、 能夠適應(yīng)于受控系統(tǒng)數(shù)學(xué)模型難以建立的溫度控制系統(tǒng)的控制。3、 能夠適應(yīng)于受控系統(tǒng)過(guò)程復(fù)雜、參數(shù)時(shí)變的溫度控制系統(tǒng)的控制。4、 這

3、些溫度控制系統(tǒng)普遍采用自適應(yīng)控制、自校正控制、模糊控制、人工智能等理論以及計(jì)算機(jī)技術(shù),運(yùn)用先進(jìn)的算法,適用范圍廣泛。5、 溫度控制系統(tǒng)具有控制精度高、抗干擾能力強(qiáng)、魯棒性好的特點(diǎn)。例如LM56是美國(guó)國(guó)家半導(dǎo)體公司(NSC)推出的低功耗、可編程集成溫度控制器,內(nèi)部含有溫度傳感器和基準(zhǔn)電壓源。兩個(gè)集電極開(kāi)路的數(shù)字信號(hào)輸出端,用來(lái)進(jìn)行溫度控制,利用外接電阻分壓器可以方便地對(duì)上下限溫度進(jìn)行設(shè)定。當(dāng)溫度超過(guò)上限溫度或低于下限溫度時(shí),其數(shù)字信號(hào)輸出端輸出相應(yīng)的邏輯電平,經(jīng)驅(qū)動(dòng)電路實(shí)現(xiàn)對(duì)溫度的控制,控溫范圍為一40+125,控溫誤差小于士2。內(nèi)部含有遲滯電壓比較器,利用遲滯電壓比較器的滯后特性,可有效地避免

4、執(zhí)行機(jī)構(gòu)在控溫點(diǎn)附近頻繁動(dòng)作,滯后溫度為5。另有一個(gè)模擬信號(hào)輸出端,輸出與攝氏溫度成線性關(guān)系的電壓信號(hào)。該電壓信號(hào)經(jīng)模數(shù)轉(zhuǎn)換后,可用來(lái)驅(qū)動(dòng)顯示裝置,以實(shí)現(xiàn)對(duì)自身溫度的精確測(cè)量。集成溫度控制器DS56是美國(guó)Dallas半導(dǎo)體公司推出的低功耗、可編程集成溫度控制器,內(nèi)部包含有溫度傳感器和高精度基準(zhǔn)電壓源。有兩個(gè)集電極開(kāi)路的數(shù)字信號(hào)輸出端,專(zhuān)門(mén)用來(lái)進(jìn)行溫度控制,利用外接的精密電阻分壓器可以實(shí)現(xiàn)對(duì)上下限溫度的準(zhǔn)確設(shè)定,當(dāng)溫度超過(guò)上限溫度或低于下限溫度時(shí),其數(shù)字信號(hào)輸出端將輸出相應(yīng)的邏輯電平,經(jīng)驅(qū)動(dòng)電路以實(shí)現(xiàn)對(duì)溫度的控制。控溫范圍為40+125,在400內(nèi),精度為3,在085內(nèi),精度為2,在85125內(nèi)

5、,精度為3 。內(nèi)部含有遲滯電壓比較器,利用遲滯電壓比較器的滯后特性,可有效地避免執(zhí)行機(jī)構(gòu)在控溫點(diǎn)附近頻繁動(dòng)作,滯后溫度THYST為+5。另有一個(gè)模擬信號(hào)輸出端,輸出與攝氏溫度成線性關(guān)系的電壓信號(hào),該電壓信號(hào)經(jīng)模/ 數(shù)轉(zhuǎn)換后,可用來(lái)驅(qū)動(dòng)顯示裝置,以實(shí)現(xiàn)對(duì)自身溫度的精確測(cè)量。該集成溫度控制器可廣泛應(yīng)用于家用電器和辦公設(shè)備的過(guò)熱保護(hù)、數(shù)據(jù)采集系統(tǒng)及電池供電系統(tǒng)的溫度監(jiān)測(cè)、工業(yè)過(guò)程控制、降溫風(fēng)扇控制、電器設(shè)備的過(guò)熱保護(hù)等領(lǐng)域。相對(duì)于國(guó)外的發(fā)展水平,國(guó)內(nèi)生產(chǎn)的溫度控制器總體水平不高。目前,我國(guó)在這方面的總體水平處于20世紀(jì)80年代中后期的水平,成熟產(chǎn)品主要以“點(diǎn)位”控制以及常規(guī)的PID控制器為主,它只能

6、適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后、復(fù)雜、時(shí)變溫度系統(tǒng)控制。而適應(yīng)于較高控制場(chǎng)合的智能化、自適應(yīng)控制器,國(guó)內(nèi)技術(shù)還十分不成熟。但我國(guó)在溫度控制系統(tǒng)上還是取得了一些成果和進(jìn)步的。例如唐山鋼鐵公司高速線材廠運(yùn)用模糊控制理論和傳統(tǒng)的PID控制相結(jié)合,不僅成功的實(shí)現(xiàn)了溫度自動(dòng)控制,而且還使噸鋼油耗指標(biāo)大幅度下降,取得了近千萬(wàn)元的經(jīng)濟(jì)效益。隨著生產(chǎn)力的發(fā)展和對(duì)溫度控制精度要求的不斷提高,溫度控制系統(tǒng)的控制技術(shù)得到迅猛發(fā)展,當(dāng)前比較流行的溫度控制系統(tǒng)有基于單片機(jī)的溫度控制系統(tǒng)、基于PLC的溫度控制系統(tǒng)、基于工控機(jī)(IPC)的溫度控制系統(tǒng)、集散型溫度控制系統(tǒng)(DCS)、現(xiàn)場(chǎng)總線控制系統(tǒng)(FCS)等。第二章

7、系統(tǒng)組成及工作原理2.1系統(tǒng)設(shè)計(jì)要求與技術(shù)指標(biāo)本課題要求采用鉑熱電阻測(cè)溫,其控溫范圍為:25-135;采用數(shù)字PID算法,使控溫精度達(dá)到2;能實(shí)時(shí)輸入控溫工藝,實(shí)時(shí)顯示染缸實(shí)測(cè)溫度,超溫時(shí)能報(bào)警。該控制器能對(duì)8臺(tái)染色機(jī)實(shí)現(xiàn)溫度控制。其具體技術(shù)要求如下:1、實(shí)現(xiàn)對(duì)多路溫度信號(hào)進(jìn)行采集;2、采用數(shù)字PID控制算法對(duì)系統(tǒng)進(jìn)行控制;3、控溫范圍為:25-135,控溫精度達(dá)到2;2.2 系統(tǒng)功能及工作原理系統(tǒng)采用STC89C52單片機(jī)作為核心控制器,控制系統(tǒng)正常工作。通過(guò)由PT-100構(gòu)成的電橋電路采集溫度信號(hào),由于電橋產(chǎn)生的電壓信號(hào)過(guò)低,通過(guò)TLC084構(gòu)成的放大電路將輸出電壓控制在0-5V的范圍內(nèi),

8、并將輸出電壓信號(hào)送入ADC0804進(jìn)行模數(shù)轉(zhuǎn)換,將轉(zhuǎn)換數(shù)據(jù)送入單片機(jī)進(jìn)行顯示,并通過(guò)PID算法實(shí)現(xiàn)對(duì)系統(tǒng)的加熱與制冷時(shí)間長(zhǎng)短進(jìn)行控制。各模塊具體功能如下所示:1、 通過(guò)CD4051模擬開(kāi)關(guān)采集8路染色機(jī)信號(hào),并將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送入單片機(jī)處理;2、 鍵盤(pán)及顯示模塊實(shí)現(xiàn)對(duì)控制溫度和時(shí)間的設(shè)定及顯示,以及實(shí)現(xiàn)通道的選擇與顯示;3、 PT-100電橋電路模塊實(shí)現(xiàn)對(duì)溫度信號(hào)的采集,并通過(guò)放大電路使輸出電壓范圍控制在-5V;4、 報(bào)警模塊由ISD1420組成,實(shí)現(xiàn)超溫時(shí)的報(bào)警功能;5、 加熱,降溫模塊由光耦及雙向可控硅構(gòu)成,通過(guò)單片機(jī)控制實(shí)現(xiàn)對(duì)系統(tǒng)的加熱及降溫。2.3 系統(tǒng)組成及框圖系統(tǒng)由硬件與軟

9、件兩大部分組成,硬件電路由以下幾個(gè)部分組成:溫度采集部分、單片機(jī)最小系統(tǒng)控制部分、7279鍵盤(pán)部分、時(shí)鐘電路部分、加熱控制電路部分、制冷控制部分、語(yǔ)音報(bào)警電路部分和液晶顯示部分。其中溫度采集部分由PT-100電橋電路、TL084放大電路、CD4051模擬開(kāi)關(guān)以及ADC0804模數(shù)轉(zhuǎn)換電路構(gòu)成;加熱控制電路部分和制冷控制部分電路由光耦和雙向可控硅組成;單片機(jī)控制部分由MAX232通信模塊、復(fù)位電路和時(shí)鐘晶振組成;語(yǔ)音報(bào)警電路部分由ISD1420及其外圍電路組成,采用LM386驅(qū)動(dòng)功率為1W的喇叭。系統(tǒng)的硬件電路組成框圖如圖2.1所示:STC89C52溫度采集電路模擬開(kāi) 關(guān)放大電路鍵盤(pán)控制電路液晶

10、顯示電路語(yǔ)音報(bào)警電路電 源復(fù)位電路A/D轉(zhuǎn)換電路加溫降溫控制電路時(shí)鐘電路圖2.1 系統(tǒng)硬件電路組成框圖系統(tǒng)的軟件部分采用模塊化的設(shè)計(jì)方法,將軟件分為主程序模塊、中斷服務(wù)模塊、溫度采集模塊、7279鍵盤(pán)模塊、時(shí)鐘模塊、液晶顯示模塊、語(yǔ)音報(bào)警模塊、PID算法模塊和PID控制模塊。其中AD數(shù)據(jù)采樣及處理、語(yǔ)音報(bào)警、PID控制算法子程序和PID控制值輸出用中斷服務(wù)模塊來(lái)處理。在中斷程序中,將定時(shí)器0定時(shí)為1秒,當(dāng)開(kāi)定時(shí)器0時(shí),每隔一秒進(jìn)入中斷處理程序進(jìn)行數(shù)據(jù)的采集和處理。鍵盤(pán)顯示模塊通過(guò)直接使用7279芯片的讀鍵盤(pán)數(shù)據(jù)指令來(lái)獲取鍵值進(jìn)行比較處理后轉(zhuǎn)入相應(yīng)的處理程序,能達(dá)到更好的人機(jī)交互效果。加溫降溫控

11、制通過(guò)使用PID算法計(jì)算出控制值,然后使用定時(shí)器1產(chǎn)生的PWM波控制P2.1口和P2.2口的高低電平轉(zhuǎn)換來(lái)控制雙向可控硅的通斷來(lái)實(shí)現(xiàn)加熱降溫的控制。第三章 微電腦多路染色機(jī)溫度控制器的硬件設(shè)計(jì)硬件是整個(gè)系統(tǒng)正常工作的基礎(chǔ),硬件電路的優(yōu)劣與合理設(shè)計(jì)關(guān)系到系統(tǒng)能否正常及其穩(wěn)定性。本系統(tǒng)硬件電路主要由溫度采集部分、單片機(jī)最小系統(tǒng)控制部分、7279鍵盤(pán)部分、時(shí)鐘電路部分、加熱控制電路部分、制冷控制部分、語(yǔ)音報(bào)警電路部分和液晶顯示部分組成,其各部分設(shè)計(jì)如下。3.1 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)主要由單片機(jī)、時(shí)鐘電路、復(fù)位電路組成。其電路圖如圖3.1所示:圖3.1 單片機(jī)最小系統(tǒng)電路圖為將程序通過(guò)Keil

12、 uVision2軟件寫(xiě)入單片機(jī),通過(guò)MAX232串口通信電路實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)之間的通信,其電路如圖3.2所示:圖3.2 MAX232串口通信電路圖3.1中,STC89C52的X1、X2端分別是反相放大器輸入和輸出端,外接晶振產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件,在本次實(shí)驗(yàn)中使用的是12M頻率的晶振。其中C10、C11是33pF的反饋電容。其作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率f起微調(diào)作用。同時(shí),由于P0口作為語(yǔ)音芯片ISD1420的地址輸出口,且STC89C52中P1口沒(méi)有上拉電阻,故在P1口接阻值為10K的上拉電阻。在本系統(tǒng)中采用的復(fù)位方式是手動(dòng)復(fù)位。手動(dòng)復(fù)位是直接通過(guò)按鍵S

13、2使RES信號(hào)維持高電平一段時(shí)間即可。當(dāng)單片機(jī)復(fù)位以后,除SP=07,P0、P1、P2、P3為0FF外,其它寄存器都為0。3.2 溫度采集部分3.2.1 溫度轉(zhuǎn)換電路溫度轉(zhuǎn)換電路是由PT-100電橋電路和TL084放大電路組成。PT-100電橋電路采用PT-100型鉑熱電阻作為溫度傳感器,鉑熱電阻是利用阻值隨溫度變化而變化的特性來(lái)測(cè)量溫度,它有很好的穩(wěn)定性和測(cè)量精度,測(cè)量范圍寬,被廣泛應(yīng)用于作溫度的基準(zhǔn),PT-100將溫度的變化轉(zhuǎn)化為電阻的變化,并通過(guò)橋堆將電阻的變化轉(zhuǎn)化為電壓的變化,因?yàn)樗玫膲翰钪挥泻练?jí),所以要經(jīng)過(guò)TL084放大器放大,再通過(guò)A/D轉(zhuǎn)換器,把電壓量轉(zhuǎn)換成數(shù)字量,然后將轉(zhuǎn)換

14、的數(shù)值送CPU處理。溫度轉(zhuǎn)換電路如圖3.3所示:圖3.3 溫度轉(zhuǎn)換電路TL084是四輸入運(yùn)算放大放大器,具有高轉(zhuǎn)換率、低輸入偏置和偏置電流以及低失調(diào)電壓溫度系數(shù)的特點(diǎn)。在圖3.3中,運(yùn)放結(jié)構(gòu)的測(cè)量放大器由TLC084兩級(jí)組成,兩個(gè)對(duì)稱(chēng)的同相放大器構(gòu)成第一級(jí),第二級(jí)為差動(dòng)放大器減法器。通過(guò)改變電阻R38的大小,可方便地調(diào)節(jié)放大器的增益,在集成化的測(cè)量放大器中,R38是外接電阻,用戶(hù)可根據(jù)整機(jī)的增益要求來(lái)選擇R38的大小。3.2.2 A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換電路由模擬開(kāi)關(guān)CD4051和模數(shù)轉(zhuǎn)換器ADC0804組成,其作用是將經(jīng)模擬開(kāi)關(guān)選通的模擬信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字信號(hào),從而實(shí)現(xiàn)多路溫度采集。ADC

15、0804是8 位COMS 依次逼近型的A/D 轉(zhuǎn)換器,其轉(zhuǎn)換時(shí)間是100us。轉(zhuǎn)換結(jié)束時(shí),可由CPU打開(kāi)三態(tài)門(mén),讀出8位的轉(zhuǎn)換結(jié)果。A/D轉(zhuǎn)換電路如圖3.4所示:圖3.4 A/D轉(zhuǎn)換電路圖3.3 7279鍵盤(pán)部分HD7279是一片具有串行接口的可同時(shí)驅(qū)動(dòng)8位共陰式數(shù)碼管(或64只獨(dú)立LED)的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可連接多達(dá)64鍵的鍵盤(pán)矩陣,單片即可完成LED顯示、鍵盤(pán)接口的全部功能。HD7279內(nèi)部含有譯碼器,可直接接受BCD碼或16進(jìn)制碼,而且具有2種譯碼方式。HD7279還具有多種控制指令,如左移(A1H)、右移(A0H)、消隱(98H)、閃爍(88H)、段尋址等。在本系統(tǒng)中,考

16、慮到單片機(jī)的I/O口使用個(gè)數(shù)的限制,故舍棄矩陣式鍵盤(pán)的按鍵方式,采用7279顯示板上的鍵盤(pán)來(lái)進(jìn)行按鍵操作。在操作過(guò)程中,只需接4根接口線,分別為:片選線CS、串行時(shí)鐘線CLK、串行數(shù)據(jù)線DATA以及鍵盤(pán)申請(qǐng)線KEY,其中CS為片選信號(hào)(低電平有效)。其原理圖如圖3.5所示。圖3.5 7279顯示板原理圖3.4 時(shí)鐘電路部分在本系統(tǒng)中,時(shí)鐘電路部分采用串行時(shí)鐘芯片DS1302,它是一種高性能、低功耗的時(shí)鐘芯片,包括實(shí)時(shí)時(shí)鐘/日歷和31個(gè)字節(jié)的靜態(tài)RAM??蓪?shí)時(shí)的對(duì)秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù)處理,可通過(guò)外部可充電池加電長(zhǎng)期保存數(shù)據(jù),并能為電池慢速充電。它與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方

17、式進(jìn)行通信,因此連線簡(jiǎn)單,僅需用到 、I/O和SCLK三個(gè)口線。其電路圖如圖3.6所示:圖3.6時(shí)鐘電路圖3.5 液晶顯示部分液晶顯示部分采用的是FYD12864漢字圖形點(diǎn)陣液晶顯示模塊,它具有非常完備的字庫(kù),內(nèi)置8192個(gè)16x16點(diǎn)漢字,128個(gè)16x8點(diǎn)ASCII字符集,還可以顯示自定義圖形,能夠滿足多種顯示的需要。同時(shí)它具有并行和串行兩種工作方式,考慮到單片機(jī)I/O使用數(shù)目的限制,故在使用液晶顯示是采用的是串行通信的工作方式。其與單片機(jī)的連線圖如圖3.7所示: 圖3.7 液晶模塊連線圖3.6 語(yǔ)音報(bào)警電路部分語(yǔ)音報(bào)警電路部分由ISD1420語(yǔ)音芯片及其外圍電路組成。其中,A0-A7為語(yǔ)

18、音芯片的地址端,每位地址代表125ms的尋址,l60個(gè)地址覆蓋20s(160xO125s=20s)的語(yǔ)音范圍,錄音及放音功能均從設(shè)定的起始地址開(kāi)始。地址端與單片機(jī)的P0口相連,通過(guò)軟件將ISD1420的地址置為Ox00作為起始地址來(lái)進(jìn)行錄放音。錄音過(guò)程中,通過(guò)長(zhǎng)按S1鍵,此時(shí)LED點(diǎn)亮表示錄音正常。17、18管腳為:MIC、MICREF,兩管腳之間接咪頭,進(jìn)行錄音。14、15管腳為SP+、SP-,由于采用的喇叭功率為1W,若接兩管腳間容易失真。故采用單端輸出,SP-接10uf到地以防止燒壞ISD1420芯片,SP+接外部功率放大器LM386。喇叭功放電路如圖3.9所示。圖3.9中R21為電位器

19、,通過(guò)調(diào)節(jié)電位器阻值的大小可以調(diào)節(jié)喇叭聲音的高低。語(yǔ)音報(bào)警電路如圖3.8所示。圖3.8 語(yǔ)音報(bào)警電路圖3.9 喇叭功放電路3.7加熱控制電路部分本部分設(shè)計(jì)主要由驅(qū)動(dòng)器7407、光耦MOC3041和雙向可控硅構(gòu)成。加熱控制電路主要利用光電耦合器實(shí)現(xiàn)強(qiáng)電與弱電的隔離,避免回執(zhí)機(jī)構(gòu)的運(yùn)行對(duì)前端電路的影響,并將光耦輸出的控制信號(hào)送至雙向可控硅的控光制端,實(shí)現(xiàn)控制其開(kāi)關(guān)狀態(tài)的關(guān)斷與閉合,從而控制加熱器件的加熱時(shí)間,以實(shí)現(xiàn)對(duì)系統(tǒng)溫度的控制,并且此電路還有低噪聲、可靠性高、驅(qū)動(dòng)功率小、對(duì)電源電壓適應(yīng)能力強(qiáng)和抗干擾能力強(qiáng)等優(yōu)點(diǎn)。所以在控制電路的設(shè)計(jì)中,采用了此電路作為加熱控制開(kāi)關(guān)。在加熱部分中,采用電烙鐵作為

20、加熱器件。當(dāng)雙向可控硅導(dǎo)通時(shí),電烙鐵加熱。其具體電路如圖3.10所示。圖3.10 加熱控制電路圖3.8 降溫控制電路部分本部分電路設(shè)計(jì)原理和加熱控制電路原理相同,由驅(qū)動(dòng)器7407、光耦MOC3041、雙向可控硅組成。降溫器件為直流電機(jī),雙向可控硅導(dǎo)通后,直流電機(jī)驅(qū)動(dòng)進(jìn)行降溫處理。其原理圖如圖3.11所示。圖3.11 降溫控制電路圖第四章 微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)采用C51語(yǔ)言,在Windows XP環(huán)境下采用Keil uVision2軟件進(jìn)行編寫(xiě),對(duì)STC89C52進(jìn)行編程。4.1軟件整體設(shè)計(jì)思路系統(tǒng)的軟件一般由主程序和若干子程序以及中斷程序組成。在主程序中調(diào)用子程序,

21、子程序中對(duì)每個(gè)模塊進(jìn)行實(shí)際的操作。通過(guò)對(duì)每個(gè)子程序的調(diào)試并結(jié)合硬件實(shí)現(xiàn)每個(gè)功能模塊的作用。然后在主程序中,合理的排列子程序的執(zhí)行順序,關(guān)鍵是要將整個(gè)程序的邏輯順序表示清楚。在系統(tǒng)軟件的設(shè)計(jì)過(guò)程中,采用模塊化的結(jié)構(gòu)設(shè)計(jì)思想能使每個(gè)模塊的設(shè)計(jì)無(wú)須過(guò)多地關(guān)聯(lián)其它模塊,可以獨(dú)立進(jìn)行修改和調(diào)試。為系統(tǒng)的開(kāi)發(fā)及調(diào)試提供了相當(dāng)大的便利。系統(tǒng)軟件包括九個(gè)模塊:主模塊、中斷服務(wù)模塊、溫度采集模塊、7279鍵盤(pán)模塊、時(shí)鐘模塊、液晶顯示模塊、語(yǔ)音報(bào)警模塊、PID算法模塊和PID控制模塊。主程序主要完成液晶顯示及鍵盤(pán)處理功能,通過(guò)判斷是否有鍵按下,按下的鍵值與功能鍵是否相等來(lái)執(zhí)行相應(yīng)的功能,如對(duì)溫度參數(shù)的設(shè)定、時(shí)間的

22、設(shè)定、通道選擇等。中斷程序主要完成對(duì)AD數(shù)據(jù)采樣及處理、語(yǔ)音報(bào)警、PID控制算法子程序和PID控制值輸出等功能。其余子程序則是對(duì)系統(tǒng)功能的豐富及完善,如時(shí)鐘模塊。4.2 系統(tǒng)變量定義及I/O口分配在編寫(xiě)軟件程序前,將STC89C52的I/O口進(jìn)行合理地分配,能使軟件編寫(xiě)過(guò)程方便且資源不產(chǎn)生沖突。單片機(jī)的I/O口分配表如表4.1所示。表4.1 單片機(jī)I/O分配表 FYD12864液晶DS1302時(shí)鐘ADC0804P1.0CS_LCDP1.3SCLK_DS1302P3.6WRP1.1SID_LCDP1.4IO_DS1302P3.7RDP1.2SCLK_LCDP1.5RST_DS1302P2.0CS

23、_AD7279鍵盤(pán)CD4051加熱降溫控制P1.6CSP2.3CD_AP2.1K_JIANP1.7CLKP2.4CD_BP2.2K_JIAP3.4DATP2.5CD_CISD1420P3.5KEYP2.6PLAY_E編寫(xiě)程序時(shí),由于采用的程序語(yǔ)言為C51,在軟件編寫(xiě)前應(yīng)定義全局變量,以供整體程序使用。全局變量定義情況如下所述:STR416 存放四行十六列的液晶數(shù)據(jù)變量STR_Temp3 存放三位的溫度數(shù)據(jù)變量keynum 定義鍵值變量 flag 定義液晶界面切換標(biāo)志位flag1 定義溫度設(shè)定值個(gè)位/十位/百位切換標(biāo)志位 flag2 定義通道選擇標(biāo)志位 chanl 定義所選通道號(hào)變量Set_fl

24、ag 定義時(shí)間設(shè)定值秒/分/時(shí)等的切換標(biāo)志位cc3 存放三次溫度采樣值 bai 定義溫度設(shè)定值的百位shi 定義溫度設(shè)定值的十位 ge 定義溫度設(shè)定值的個(gè)位同時(shí),在DS1302時(shí)鐘模塊變量和PID算法模塊變量的定義中,采用結(jié)構(gòu)體的定義方式將所需的變量定義在一個(gè)結(jié)構(gòu)體中,使數(shù)據(jù)處理清晰方便。其定義情況如下所示:1、DS1302時(shí)鐘模塊結(jié)構(gòu)體定義 typedef struct Time_struct uchar Second; 定義DS1302時(shí)鐘芯片的秒位變量 uchar Minute; 定義DS1302時(shí)鐘芯片的分位變量 uchar Hour; 定義DS1302時(shí)鐘芯片的時(shí)位變量 uchar

25、Week;定義DS1302時(shí)鐘芯片的星期變量 uchar Day;定義DS1302時(shí)鐘芯片的日變量 uchar Month;定義DS1302時(shí)鐘芯片的月變量 uchar Year;定義DS1302時(shí)鐘芯片的年變量 ; struct Time_struct time_;2、PID算法模塊結(jié)構(gòu)體定義typedef struct PIDValue uchar Ek3; 存放采樣值與設(shè)定值之間的差值 uchar EkFlag3; 存放采樣值與設(shè)定值之間的差值的符號(hào)位 uchar KP; 定義PID中的P系數(shù)uchar KI; 定義PID中的I系數(shù)uchar KD; 定義PID中的D系數(shù)uchar Uk

26、; 定義PID的輸出值 uchar RK; 定義PID中的設(shè)定值 uchar CK; 定義PID中的實(shí)際值 ;struct PIDValue PID; 4.3 軟件模塊化分析系統(tǒng)的軟件設(shè)計(jì)主要包括以下幾個(gè)模塊:主模塊、中斷服務(wù)模塊、溫度采集模塊、7279鍵盤(pán)模塊、時(shí)鐘模塊、液晶顯示模塊、語(yǔ)音報(bào)警模塊、PID算法模塊和PID控制模塊。下面是關(guān)于這幾個(gè)模塊的設(shè)計(jì)過(guò)程。4.3.1 主程序模塊在系統(tǒng)上電以后,主程序進(jìn)行時(shí)鐘芯片初始化、液晶初始化、定時(shí)器/計(jì)數(shù)器初始化、定時(shí)器/計(jì)數(shù)器啟動(dòng)、液晶顯示初始界面及鍵盤(pán)掃描判斷有鍵按下否。如無(wú)鍵按下,則顯示液晶初始化界面;有鍵按下,則分析標(biāo)志位根據(jù)所得標(biāo)志位的值

27、執(zhí)行相應(yīng)的子程序。然后通過(guò)相應(yīng)的鍵值執(zhí)行時(shí)間的設(shè)定、控制溫度的設(shè)定以及通道選擇的子程序。系統(tǒng)主流程圖如圖4.1所示:開(kāi)始LCD初始化調(diào)用液晶初始化界面子程序定時(shí)器初始化時(shí)鐘芯片初始化鍵盤(pán)掃描,判斷flag=?0 12調(diào)用screen_2(),開(kāi)定時(shí)器0中斷調(diào)用screen_3()圖4.1 主程序流程4.3.2 中斷服務(wù)模塊本次軟件設(shè)計(jì)中,中斷服務(wù)模塊的設(shè)計(jì)是整個(gè)軟件設(shè)計(jì)的重要部分。在中斷服務(wù)模塊中,通過(guò)開(kāi)啟定時(shí)器T0來(lái)定時(shí)調(diào)用一些子程序進(jìn)行操作。在中斷服務(wù)模塊中執(zhí)行下列操作:調(diào)用ADC0804進(jìn)行溫度數(shù)據(jù)的采集和處理;將采集到的溫度與設(shè)定的溫度進(jìn)行比較,判斷系統(tǒng)是要加熱還是制冷,同時(shí)判斷是否進(jìn)

28、行超溫報(bào)警的操作;然后啟動(dòng)PID算法和PID控制輸出等。在中斷服務(wù)模塊的設(shè)計(jì)中,通過(guò)設(shè)置Th0=(65536-50000)/256、Tl0=(65536-50000)%256。使得定時(shí)器T0的時(shí)間為50ms。其流程圖如圖4.2所示:中斷入口保護(hù)現(xiàn)場(chǎng)重賦定時(shí)器初值時(shí)間變量aa+aa=20?調(diào)用A/D子程序,清零aa采樣T=設(shè)定T?采樣T設(shè)定T?語(yǔ)音報(bào)警PID控制算法PID控制輸出恢復(fù)現(xiàn)場(chǎng)中斷返回NYYNY N圖4.2 中斷服務(wù)程序流程圖4.3.3 DS1302時(shí)鐘模塊時(shí)鐘芯片DS1302內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分

29、、時(shí)、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整。時(shí)鐘程序模塊主要完成對(duì)DS1302的讀寫(xiě)以及將讀出值送入顯存單元等功能,并能夠在按鍵按下時(shí)進(jìn)行時(shí)鐘調(diào)整。DS1302主要由移位寄存器、控制邏輯、振蕩器、實(shí)時(shí)時(shí)鐘以及RAM組成。在串行傳輸任何數(shù)據(jù)前,必須先把置為高電平“1”,數(shù)據(jù)輸入(寫(xiě)操作)是在SCLK的上升沿進(jìn)行,即在上升沿到達(dá)前,數(shù)據(jù)必須有效;數(shù)據(jù)的輸出(讀操作)是在SCLK的下降沿進(jìn)行。如果為低電平,那么所有的數(shù)據(jù)傳輸終止,且I/O引腳變?yōu)楦咦杩範(fàn)顟B(tài)。寫(xiě)入時(shí),最先傳入的一個(gè)字節(jié)為命令字,命令字節(jié)中包含讀/寫(xiě)操作、操作對(duì)象和地址信息,隨后的時(shí)鐘周期在讀操作時(shí)輸出數(shù)據(jù),在寫(xiě)操作

30、時(shí)輸入數(shù)據(jù)。無(wú)論是命令字還是數(shù)據(jù),它們的傳送都是低位在前,高位在后。 對(duì)時(shí)鐘芯片的操作,一般有以下六個(gè)步驟:1.通過(guò)對(duì)寫(xiě)保護(hù)寄存器的操作,關(guān)閉寫(xiě)保護(hù),使DS1302允許寫(xiě)入; 2.通過(guò)將秒寄存器最高位置1,使時(shí)鐘振蕩器停止,以便設(shè)定初值;3.初始化DS1302,將設(shè)定值寫(xiě)入各時(shí)鐘寄存器;4.將設(shè)定值讀出;5.將秒寄存器的最高位置0,啟動(dòng)時(shí)鐘;6.打開(kāi)寫(xiě)保護(hù),禁止對(duì)任何寄存器進(jìn)行寫(xiě)操作。要正確讀寫(xiě)DS1302,關(guān)鍵在于時(shí)序。在控制命令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始, 同樣,在緊跟8位的控制命令字后的下一個(gè)SCLK脈沖的下降沿讀出DS130

31、2的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位至高位7。單字節(jié)數(shù)據(jù)讀寫(xiě)時(shí)序如圖4.3所示。 圖4.3 單字節(jié)數(shù)據(jù)讀寫(xiě)時(shí)序圖在對(duì)DS1302操作時(shí),定義一個(gè)結(jié)構(gòu)體Time_struct來(lái)存儲(chǔ)時(shí)鐘的時(shí)、分、秒、日期等數(shù)據(jù)。在DS1302時(shí)鐘芯片的程序編寫(xiě)中,關(guān)鍵是搞懂DS1302的寫(xiě)子程序以及讀子程序。寫(xiě)子程序及讀子程序的流程圖如圖4.4、圖4.5所示。在時(shí)鐘模塊中,通過(guò)寫(xiě)子程序?qū)r(shí)間初值寫(xiě)入DS1302芯片寄存器中,然后通過(guò)讀子程序?qū)?xiě)入的初值讀出并通過(guò)液晶顯示子程序?qū)r(shí)間顯示出來(lái)。由于在硬件電路中并沒(méi)有外接干電池故在程序中寫(xiě)入“2011年5月25日 Wed 02:30:00”。入口允許傳輸數(shù)據(jù)發(fā)送地址接受數(shù)據(jù)

32、關(guān)閉傳輸數(shù)據(jù)返回入口允許傳輸數(shù)據(jù)發(fā)送地址發(fā)送數(shù)據(jù)返回關(guān)閉傳輸數(shù)據(jù) 圖4.4 寫(xiě)子程序流程圖圖4.5 讀子程序流程圖DS1302中共有12個(gè)寄存器,其中7個(gè)寄存器與日歷、時(shí)鐘有關(guān),它們均以BCD碼格式存放,如表4.2所示:表4.2 DS1302時(shí)鐘寄存器地址與格式寄存器名 命令字取值范圍 格 式 讀操作 寫(xiě)操作 D7D6D5D4D3D2D1D0秒寄存器81H80H0059CH秒(十位)秒(個(gè)位)分寄存器83H82H00590分(十位)分(個(gè)位)時(shí)寄存器85H54H0112或012312或240 A/P 時(shí)(十位)時(shí)(十位)時(shí)(個(gè)位)日寄存器87H86H 0128/30/3100日(十位)日(個(gè)位

33、)月寄存器89H88H0112000月(十位)月(個(gè)位)周寄存器8BH8AH010700000周年寄存器8DH8CH0099年(十位)年(個(gè)位)4.3.4 溫度采集模塊在溫度采集模塊中,通過(guò)CD4051八路模擬開(kāi)關(guān)與模數(shù)轉(zhuǎn)換器ADC0804相結(jié)合的方法達(dá)到多路溫度采集的功能。CD4051是單8通道數(shù)字控制模擬電子開(kāi)關(guān),有三個(gè)二進(jìn)制控制輸入端A、B、C和INH輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。在操作過(guò)程中,只要改變A、B、C的值,就可以選通不同的通道。其中,INH是禁止端,當(dāng)INH置1時(shí),所有通道截止。CD4051的真值表如表4.3所示。 表4.3 CD4051真值表INHCBA輸出000

34、00000110010200113010040101501106011171均不導(dǎo)通ADC0804是8位逐次逼近型A/D轉(zhuǎn)換器,它的轉(zhuǎn)換時(shí)間是100us,ADC0804進(jìn)行模擬/數(shù)字的轉(zhuǎn)換時(shí),控制ADC0804動(dòng)作的信號(hào)只有CS、WR、RD。因此,在進(jìn)行A/D轉(zhuǎn)換的軟件編寫(xiě)中,只需要送出所需的CS、WR、RD的控制信號(hào)。其流程圖如圖4.6所示。啟動(dòng)A/D轉(zhuǎn)換P0=0xff,允許輸入數(shù)據(jù)調(diào)用100us延時(shí)子程序P0口數(shù)據(jù)處理送顯示返回入口圖4.6 A/D轉(zhuǎn)換流程圖4.3.5 液晶顯示模塊在液晶顯示模塊中,采用的是FYD12864液晶顯示模塊。它具有兩種通訊模式:并行通訊模式和串行通訊模式。由于I

35、/O口的限制和考慮到接線數(shù)量的簡(jiǎn)單,采用串行通訊模式將PSB直接接地,則液晶顯示模塊為串口通訊模式。在液晶顯示模塊與單片機(jī)STC89C52的連接中,只需連接CS、SID、CLK三根口線,它們分別為:模組片選端、串行數(shù)據(jù)輸入端、串行同步時(shí)鐘。該模塊的液晶每行可以顯示8個(gè)漢字(雙字節(jié))或16個(gè)半角字符(單字節(jié)),共可以顯示四行。在對(duì)每行進(jìn)行送數(shù)時(shí),要先把要顯示的漢字或字符的位置算好,否則很容易顯示亂碼。字符顯示RAM在液晶模塊中的地址為80H90H,字符顯示RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如表4.4所示:表4.4 字符顯示RAM地址表第一行首址80H81H82H83H

36、84H85H86H87H第二行首址90H91H92H93H94H95H96H97H第三行首址88H89H8AH8BH8CH8DH8EH8FH第四行首址98H99H9AH9BH9CH9DH9EH9FH在對(duì)液晶顯示程序的編寫(xiě)過(guò)程中,要對(duì)液晶的相關(guān)時(shí)序圖有所了解,這是將液晶顯示子程序?qū)懞玫闹攸c(diǎn)和難點(diǎn)。其串行模式數(shù)據(jù)傳輸時(shí)序圖如圖4.7所示,串口方式讀寫(xiě)數(shù)據(jù)時(shí)序圖如圖4.8所示。圖4.7 串行模式數(shù)據(jù)傳輸時(shí)序圖圖4.8 串口方式讀寫(xiě)數(shù)據(jù)時(shí)序圖由圖4.7可知,在進(jìn)行數(shù)據(jù)傳輸時(shí),無(wú)論是命令字還是數(shù)據(jù),都必須是在CS信號(hào)為高電平的情況下進(jìn)行的,一個(gè)字節(jié)的數(shù)據(jù)要先傳送高四位,中間間隔四個(gè)低電平,再傳送該數(shù)據(jù)的

37、低四位。在使用液晶顯示模塊時(shí),必須進(jìn)行液晶的初始化。設(shè)定好液晶的工作模式以及顯示狀態(tài),比如:清除顯示、顯示狀態(tài)開(kāi)/關(guān)、游標(biāo)或顯示移位控制、反白選擇等。將液晶初始化后進(jìn)行發(fā)送子程序的編寫(xiě),其流程圖如圖4.9所示。在液晶的寫(xiě)子程序中調(diào)用兩次發(fā)送子程序,分別用來(lái)發(fā)送指令與數(shù)據(jù),并且必須先發(fā)送指令再發(fā)送數(shù)據(jù)。液晶的寫(xiě)子程序如圖4.10所示。NY入口i=0i8?i+,數(shù)據(jù)最高位送數(shù)據(jù)線產(chǎn)生同步時(shí)鐘信號(hào)返回入口CS=1發(fā)送寫(xiě)指令/數(shù)據(jù)取高四位并發(fā)送取低四位并發(fā)送返回圖4.9 發(fā)送子程序流程圖 圖4.10 寫(xiě)子程序流程圖將發(fā)送以及寫(xiě)子程序編寫(xiě)好后,通過(guò)調(diào)用寫(xiě)子程序?qū)⒁壕У娘@示子程序編寫(xiě)好,其流程圖如圖4.1

38、1所示。N返回Y入口液晶初始化將寫(xiě)命令寫(xiě)入首字節(jié)設(shè)置顯示位置將寫(xiě)數(shù)據(jù)寫(xiě)入首字節(jié)將要顯示的字符的代碼送數(shù)據(jù)線是否寫(xiě)完?圖4.11 液晶顯示子程序流程圖以下是編程時(shí)經(jīng)常用到的控制器接口信號(hào)和指令的說(shuō)明:1. RS、R/W的配合選擇決定控制界面的4種模式及E信號(hào):表4.5 控制界面的4種模式RSR/W功能說(shuō)明LLMPU寫(xiě)指令到指令暫存器(IR)LH讀出忙標(biāo)志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫(xiě)入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)表4.6 E信號(hào)E狀態(tài)執(zhí)行動(dòng)作結(jié)果高低I/O緩沖DR配合/W進(jìn)行寫(xiě)數(shù)據(jù)或指令高DRI/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低高無(wú)動(dòng)作2.

39、模塊控制芯片提供兩套控制命令,基本指令和擴(kuò)充指令,一般情況下,只需用到基本指令,基本指令如表4.7所示:表4.7 基本指令表(RE=0)指 令 碼功 能指令RSR/WD7D6D5D4D3D2D1D0清除 顯示0000000001將DDRAM填滿20H,并且設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H地址 歸位000000001X設(shè)定DDRAM的地址計(jì)數(shù)器(AC)到00H,并且將游標(biāo)移到開(kāi)頭原點(diǎn)位置;這個(gè)指令不改變DDRAM 的內(nèi)容顯示狀態(tài)開(kāi)/關(guān)0000001DCBD=1: 整體顯示 ON C=1: 游標(biāo)ON B=1:游標(biāo)位置反白允許進(jìn)入點(diǎn)設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫(xiě)入時(shí),設(shè)定

40、游標(biāo)的移動(dòng)方向及指定顯示的移位設(shè)定GRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址設(shè)定DDRAM 地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址) 第一行:80H87H 第二行:90H97H讀取忙標(biāo)志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標(biāo)志(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(AC)的值寫(xiě)數(shù)據(jù)到RAM10數(shù) 據(jù)將數(shù)據(jù)D7D0寫(xiě)入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM值11數(shù) 據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0 (DDRAM/CGRAM/IRAM/GRAM)4.

41、3.6 語(yǔ)音報(bào)警模塊在語(yǔ)音報(bào)警模塊中,使用的是ISD1420語(yǔ)音芯片。其功能主要是在采集溫度大于設(shè)定溫度時(shí),將語(yǔ)音芯片的PLAYE端置“0”,此時(shí)啟動(dòng)語(yǔ)音芯片的播放功能,實(shí)現(xiàn)報(bào)警作用。在ISD1420語(yǔ)音芯片中,A0-A7地址輸入有雙重功能,根據(jù)地址中的A6,A7的電平狀態(tài)決定功能。如果A6,A7有一個(gè)是低電平,A0A7輸入全解釋為地址位,作為起始地址用。A0-A7 由低位向高位排列,每位地址代表125 毫秒的尋址,160個(gè)地址覆蓋20秒(160*0.125s=20s)的語(yǔ)音范圍,錄音及放音功能均從設(shè)定的起始地址開(kāi)始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動(dòng)在該段的結(jié)束位置插入結(jié)束標(biāo)志(EOM)

42、;而放音時(shí)芯片遇到EOM標(biāo)志即自動(dòng)停止放音。在ISD語(yǔ)音報(bào)警的硬件電路中,人工手動(dòng)錄取報(bào)警音樂(lè)。將芯片的25腳(RECLED)端通過(guò)按鍵接地,當(dāng)按鍵接地時(shí),RECLED置“0”,此時(shí)ISD1420錄音。在錄音前通過(guò)軟件賦予P0口首地址0x00,而語(yǔ)音芯片的地址端與P0口相連,故錄音首地址為0x00。當(dāng)溫度超過(guò)設(shè)定溫度時(shí),將ISD操作模式設(shè)為軟件置PLAYE為“0”,此時(shí)播放錄音。ISD1420語(yǔ)音芯片的地址功能表如表4.8所示。表4.8 ISD1420地址功能表地址狀態(tài)功能說(shuō)明DIP開(kāi)關(guān)12345678(ON=0,OFF=1)地址位A0A1A2A3A4A5A6A7(1為高電平,0為低電平,*為

43、高或低電平)00000000一段式最長(zhǎng)20 秒錄放音,從首地址開(kāi)始。10000000以八位二進(jìn)制表示地址,每個(gè)地址代表125 毫秒。地址模式00000010一段從A6 地址開(kāi)始的12 秒錄放音。*0只要A6、A7 有一位是0,就處于地址模式。*0*00010011循環(huán)放音操作,按一下PE 鍵可循環(huán)放音,按PL 鍵停止;或按住PL 鍵放音,松開(kāi)即停止。操作模式00001011按順序連續(xù)分段錄放音,每段語(yǔ)音長(zhǎng)度不限。00000011地址指針復(fù)位,開(kāi)始錄放第一段。10001011按PE 鍵可快速選段放音ISD1420語(yǔ)音芯片的程序流程圖如圖4.12所示:入口設(shè)置ISD1420工作方式寫(xiě)入播放首地址P

44、LAYE端置“0”延時(shí)10秒PLAYE端置“1”返回 圖4.12 語(yǔ)音芯片放音流程圖4.3.7 7279鍵盤(pán)模塊7279鍵盤(pán)模塊在系統(tǒng)中的作用是完成對(duì)按鍵按下的識(shí)別和對(duì)相應(yīng)按鍵進(jìn)行處理。它包括溫度設(shè)定、時(shí)鐘的調(diào)整、檢測(cè)通道的選擇。在設(shè)計(jì)系統(tǒng)按鍵控制的過(guò)程中,考慮到單片機(jī)I/O口使用的方便和合理,采用7272鍵盤(pán)。同時(shí),傳統(tǒng)的按鍵在實(shí)際應(yīng)用當(dāng)中,應(yīng)該進(jìn)行消抖處理。常用的方法有:硬件消抖和軟件消抖。而7279鍵盤(pán)顯示模塊具有自動(dòng)去抖動(dòng)功能。因此,使用7279鍵盤(pán)能更加穩(wěn)定和方便。7279鍵盤(pán)顯示板具有許多指令,比如:右移指令(A0H)、循環(huán)左移指令(A3H)、閃爍控制(88H)、消隱控制(98H)

45、、讀鍵盤(pán)數(shù)據(jù)指令(15H)等。在系統(tǒng)中,關(guān)鍵用到的是7279的讀鍵盤(pán)數(shù)據(jù)指令。通過(guò)該條指令將7279鍵盤(pán)的每個(gè)按鍵鍵值讀出并用7279顯示板得數(shù)碼管顯示出來(lái)。其鍵值表如表4.9所示。表 4.9 7279鍵盤(pán)鍵值表按鍵號(hào)鍵值功能說(shuō)明161FH秒/分/時(shí)/星期等時(shí)間切換151EH時(shí)間加141DH時(shí)間減131CH液晶工作界面切換1217H溫度設(shè)定值個(gè)位/十位/百位切換1116H溫度設(shè)定值加1015H溫度設(shè)定值減914H通道選擇在7279鍵盤(pán)模塊中,通過(guò)讀鍵盤(pán)指令將讀出的鍵盤(pán)數(shù)據(jù)賦給key_num,通過(guò)讀出的key_num值與表4.9中的鍵值相比較,如果相等的話轉(zhuǎn)入相應(yīng)的程序中進(jìn)行處理。在系統(tǒng)中,使用

46、了8個(gè)按鍵分別為916,其鍵值如表4.9中所示。在進(jìn)入鍵盤(pán)模塊時(shí),當(dāng)讀出的鍵盤(pán)值為“1CH”時(shí)flag=1,此時(shí)系統(tǒng)啟動(dòng)從開(kāi)機(jī)界面轉(zhuǎn)入工作界面。第二次讀出鍵值為“1CH”時(shí)flag=2,此時(shí)系統(tǒng)結(jié)束工作進(jìn)入結(jié)束界面。第三次讀出鍵盤(pán)值為“1CH”時(shí)flag=1,再次進(jìn)入工作界面。當(dāng)讀出的鍵值為“1FH”時(shí)Set_flag+,Set_flag加到8時(shí),再次置“1”。Set_flag值大小從16,其對(duì)應(yīng)的處理方式為秒、分、時(shí)、星期、日、月、年的設(shè)置。其中,鍵值為“1EH”、“1DH”分別對(duì)應(yīng)時(shí)間加、時(shí)間減。當(dāng)讀到的鍵值為“17H”時(shí)flag1+,flag1值的大小從1到3,分別對(duì)應(yīng)溫度的個(gè)位、十位、

47、百位。而鍵值“16H”、“15H”分別對(duì)應(yīng)溫度加,溫度減。當(dāng)讀到的鍵值為“14H”時(shí)flag2+,其值大小從1到3,分別對(duì)應(yīng)通道0、通道1、通道2。其流程圖如圖4.13所示。讀鍵值,賦給key_num入口判定鍵值,key_num=?1CH1FH07H04H界面設(shè)置時(shí)間設(shè)置溫度設(shè)置通道選擇返回圖4.13 7279鍵盤(pán)模塊流程圖4.3.8 PID算法模塊在微電腦多路染色機(jī)溫度控制器的軟件設(shè)計(jì)中,PID算法模塊是重中之重,同時(shí)也是一個(gè)比較大的難點(diǎn)。PID控制是目前工程上應(yīng)用最廣的一種控制方法,它的優(yōu)點(diǎn)在于結(jié)構(gòu)簡(jiǎn)單,且不依賴(lài)被控對(duì)象模型,控制所需的信息量也很少,因而非常易于工程實(shí)現(xiàn),同時(shí)通過(guò)參數(shù)的調(diào)整

48、也可獲得較好的控制效果。PID控制是將誤差信號(hào)的比例(P)、積分(I)和微分通過(guò)線性組合構(gòu)成控制量,故稱(chēng)之為PID控制。因此,在使用中只需要設(shè)定三個(gè)參數(shù)即可。在軟件編寫(xiě)中,通過(guò)使用結(jié)構(gòu)體將PID算法的變量都定義好。分別有偏差值、偏差值符號(hào)、P系數(shù)、I系數(shù)、D系數(shù)、設(shè)定值、實(shí)際值。在進(jìn)行PID運(yùn)算時(shí),通過(guò)將設(shè)定值與采樣值相減,即=設(shè)定值-采樣值。則為本次偏差信號(hào), 為前一次偏差信號(hào),為前兩次的偏差信號(hào),為PID控制算法的比例系數(shù),為PID控制算法的積分系數(shù),為PID控制算法的微分系數(shù)。然后將這些數(shù)據(jù)按增量式PID控制算法的計(jì)算公式進(jìn)行計(jì)算。PID算法是這樣的:控制器的輸出是與控制器的輸入(誤差)

49、成正比,與輸入的積分成正比和輸入的導(dǎo)數(shù)成正比的這三個(gè)分量之和。PID控制器的性能就決定于、這三個(gè)系數(shù)。采用增量式PID算法的系統(tǒng)框圖如圖4.14所示。圖4.14 增量式PID算法系統(tǒng)框圖當(dāng)增大比例系數(shù)時(shí),系統(tǒng)的動(dòng)作變靈敏,速度加快,穩(wěn)態(tài)誤差減小;但振蕩次數(shù)也會(huì)加多,調(diào)節(jié)時(shí)間加長(zhǎng)。積分控制使系統(tǒng)的穩(wěn)定性下降,但能消除穩(wěn)態(tài)誤差,提高系統(tǒng)的控制精度。微分控制可以改善動(dòng)態(tài)特性,它對(duì)偏差的變化趨勢(shì)進(jìn)行超前調(diào)整,從而可以有效地提高系統(tǒng)的動(dòng)態(tài)性能,加大阻尼,減小超調(diào)量。PID運(yùn)算后的最終結(jié)果是算出PID控制值。通過(guò)定時(shí)器1定時(shí)50ms,每50msPID控制值自減直到控制值減為“0”。此時(shí),系統(tǒng)進(jìn)行加熱降溫處

50、理。其流程圖如圖4.15所示。系統(tǒng)設(shè)計(jì)的PID參數(shù)的大小是通過(guò)軟件不斷的來(lái)調(diào)整以達(dá)到控制溫度的目的的,過(guò)程比較繁瑣,需要耐心。經(jīng)過(guò)調(diào)試,取Kp=90、Ki=31、Kd=43。圖4.15 PID控制算法流程圖4.3.9 PID控制模塊本模塊的作用是通過(guò)定時(shí)器1將PID算法子程序中計(jì)算出的PID值送給PID控制模塊進(jìn)行相應(yīng)的處理。其處理方法為:通過(guò)定時(shí)器1定時(shí)50毫秒,當(dāng)時(shí)間到50毫秒時(shí)將PID值自減,直到PID值減為0為止,在這段時(shí)間內(nèi)進(jìn)行加熱的處理。主要原理是采用PWM波控制雙向可控硅的通斷時(shí)間來(lái)進(jìn)行溫度控制。在PID算法子程序中,PID的滿值為100。則由此可知,PID控制子程序的周期為5秒。如圖4.16所示。PWM 1 0 1 2 3 100 t/50ms 一個(gè)控制周期 控制值輸出 PWM 1 0 5 t/s圖4.16 PWM控制輸出原理圖第五章 微電腦多路染色機(jī)溫度控制器的系統(tǒng)調(diào)試微電腦多路染色機(jī)溫度控制器的

溫馨提示

  • 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)論