版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 專業(yè)課程設(shè)計報告</b></p><p><b> 題目:單片機應(yīng)用</b></p><p><b> 目錄</b></p><p> 1、課程設(shè)計功能描述3</p><p> 2、課程設(shè)計分析3</p><p>
2、; 3、課程設(shè)計用資料4</p><p> 3.1、數(shù)字調(diào)節(jié)器介紹4</p><p> 3.2、SPI總線簡介5</p><p> 3.3、74HC595、TLC1543、TLC5615芯片簡介6</p><p> 3.3.1、74HC595簡介6</p><p> 3.3.2、TLC1543的簡
3、介8</p><p> 3.3.3、TLC5615的簡介10</p><p> 4、硬件電路原理圖設(shè)計12</p><p> 5、硬件電路PCB板圖設(shè)計13</p><p> 6、數(shù)字PID控制算法14</p><p> 6.1、抗積分飽和數(shù)字PID控制算法原理14</p><
4、p> 6.2、抗積分飽和數(shù)字PID控制算法流程圖17</p><p> 6.3積分飽和數(shù)字PID控制算法源程序18</p><p> 7、調(diào)試運行結(jié)果及分析19</p><p> 8、課程設(shè)計經(jīng)驗教訓(xùn)和心得體會19</p><p><b> 附錄22</b></p><p&g
5、t; 1、課程設(shè)計功能描述</p><p> 設(shè)計一個用于過程控制的通用數(shù)字調(diào)節(jié)器。數(shù)字調(diào)節(jié)器接收變送器提供的標(biāo)準(zhǔn)的4~20mA反饋信號,與標(biāo)準(zhǔn)的4~20mA給定值或直接設(shè)置的給定值進行比較,對其誤差進行數(shù)字PID運算,輸出標(biāo)準(zhǔn)的4~20mA控制信號給執(zhí)行機構(gòu)。</p><p> 圖1、數(shù)字調(diào)節(jié)器使用圖</p><p> 圖2、數(shù)字調(diào)節(jié)器硬件系統(tǒng)框圖<
6、/p><p><b> 2、課程設(shè)計分析</b></p><p><b> 要求:</b></p><p> 1、數(shù)字調(diào)節(jié)器采用8位靜態(tài)LED顯示:高四位顯示給定值或參數(shù)名,低四位顯示反饋值或參數(shù)值。</p><p> 2、數(shù)字調(diào)節(jié)器采用4個按鍵的組合進行參數(shù)設(shè)置和控制。</p>
7、<p> 3、數(shù)字調(diào)節(jié)器有一路4~20mA的輸入端:用于在串級控制時接收上一級的給定信號。</p><p> 4、數(shù)字調(diào)節(jié)器有一路4~20mA的輸出端:用于輸出控制器的控制信號給執(zhí)行機構(gòu)。</p><p> 5、數(shù)字調(diào)節(jié)器采用485通訊:可以與上位機進行組態(tài)通訊。</p><p> 6、數(shù)字調(diào)節(jié)器采用抗積分飽和數(shù)字PID控制算法。</p>
8、;<p> 7、數(shù)字調(diào)節(jié)器采用DC12V供電,采用10位A/D轉(zhuǎn)換器TLC1543,采用10位D/A傳感器TLC5615,采用74HC595進行靜態(tài)顯示的設(shè)計。</p><p> 數(shù)字調(diào)節(jié)器的工作都是在硬件環(huán)境下,由微處理器執(zhí)行程序完成。數(shù)字調(diào)節(jié)器的軟件包括監(jiān)控管理程序和應(yīng)用程序兩大部分。通用數(shù)字調(diào)節(jié)器的設(shè)計主要核心是單片機,通過單片機來控制輸入和輸出量。由圖1-2可知:考慮帶單片機的管腳是有限
9、的,所以要采用總線技術(shù)。在此設(shè)計中我們采用了SPI總線技術(shù)。要想符合設(shè)計要求,就要盡可能的節(jié)省管腳,A/D轉(zhuǎn)換和D/A轉(zhuǎn)換都要用串行的。8位LED顯示采用的是串口的74HC595芯片。進而使單片機的資源得到充分的利用。</p><p> 給定量和變送器輸出的都是標(biāo)準(zhǔn)的電流量,要通過電流轉(zhuǎn)成A/D可以處理的電壓量。由于單片機處理的是數(shù)字量,我們要將標(biāo)準(zhǔn)的模擬量通過A/D轉(zhuǎn)換,把已知的模擬量轉(zhuǎn)成單片機可以處理的數(shù)字
10、量。調(diào)節(jié)器輸出要控制執(zhí)行器,而執(zhí)行器所需要的是模擬量,通過D/A轉(zhuǎn)換把單片處理后的數(shù)字量裝換成標(biāo)準(zhǔn)的模擬量給執(zhí)行器。但是D/A輸出的是電壓量,所以采用電壓轉(zhuǎn)換成電流電路,把A/D輸出的電壓量轉(zhuǎn)換成執(zhí)行機構(gòu)所需要的標(biāo)準(zhǔn)的電流量。</p><p> 單片機的供電電壓是DC5V,給定的電源是DC12V。通過穩(wěn)壓芯片把DC12V變成DC5V。需要用7805芯片整定成DC5V來給單片機供電。</p><
11、;p><b> 3、課程設(shè)計用資料</b></p><p> 3.1、數(shù)字調(diào)節(jié)器介紹</p><p> 用數(shù)字技術(shù)和微電子技術(shù)實現(xiàn)閉環(huán)控制的調(diào)節(jié)器,又稱數(shù)字調(diào)節(jié)儀表,是數(shù)字控制器的一種。它接受來自生產(chǎn)過程的測量信號,由內(nèi)部的數(shù)字電路或微處理機作數(shù)字處理,按一定調(diào)節(jié)規(guī)律產(chǎn)生輸出數(shù)字信號或模擬信號驅(qū)動執(zhí)行器,完成對生產(chǎn)過程的閉環(huán)控制。</p>&
12、lt;p> 數(shù)字調(diào)節(jié)器分為數(shù)字式混合比率調(diào)節(jié)器、多回路調(diào)節(jié)器和單回路調(diào)節(jié)器三類。 ① 數(shù)字式混合比率調(diào)節(jié)器 它是控制組分混合比的儀表。它與流量計、執(zhí)行器配套構(gòu)成混合比率控制系統(tǒng)和混合-批量控制系統(tǒng),用于液料混合配比和混合產(chǎn)品的批量發(fā)貨系統(tǒng)。 ?、凇《嗷芈氛{(diào)節(jié)器 用微處理機實現(xiàn)多回路調(diào)節(jié)功能的儀表。它可獨立應(yīng)用于單元性生產(chǎn)裝置(如工業(yè)爐窯、精餾塔等)中,完成裝置的全部或大部分控制作用。由于單元性裝置的類型很多,多回路調(diào)節(jié)器的
13、品種和類型也很繁雜。一臺多回路調(diào)節(jié)器可控制 8~16個調(diào)節(jié)回路,有的還可完成簡單的程序控制或批量控制。 ?、邸位芈氛{(diào)節(jié)器 用微處理機實現(xiàn)一個回路調(diào)節(jié)功能的儀表。它只有一個可送到執(zhí)行器去完成閉環(huán)控制的輸出。單回路調(diào)節(jié)器有兩種主要用途:一是用于系統(tǒng)的重要回路,以提高系統(tǒng)的可靠性和安全性;一是取代模擬調(diào)節(jié)器,以減少盤裝儀表的數(shù)量或提高原有回路的功能,如實現(xiàn)單回路的高級控制、順序控制、批量控制。</p><p>
14、3.2、SPI總線簡介</p><p> MOTOROLA公司的SPI總線的基本信號線為3根傳輸線,即SI、SO、SCK。傳輸?shù)乃俾视蓵r鐘信號SCK決定,SI為數(shù)據(jù)輸入、SO為數(shù)據(jù)輸出。采用SPI總線的系統(tǒng)如圖8-27所示,它包含了一個主片和多個從片,主片通過發(fā)出片選信號-CS來控制對哪個從片進行通信,當(dāng)某個從片的-CS信號有效時,能通過SI接收指令、數(shù)據(jù),并通過SO發(fā)回數(shù)據(jù)。而未被選中的從片的SO端處于高阻狀
15、態(tài)。</p><p> 主片在訪問某一從片時,必須使該從片的片選信號有效;主片在SCK信號的同步下,通過SI線發(fā)出指令、地址信息;如需將數(shù)據(jù)輸出,則接著寫指令,由SCK同步在SI線上發(fā)出數(shù)據(jù);如需讀回數(shù)據(jù),則接著讀指令,由主片發(fā)出SCK,從片根據(jù)SCK的節(jié)拍通過SO發(fā)回數(shù)據(jù)。</p><p> 因而對具有SPI接口的從片器件來講,SCK、SI是輸入信號,SO是輸出信號。SCK用于主片和
16、從片通信的同步。SI用于將信息傳輸?shù)狡骷斎氲男畔ㄖ噶?、地址和?shù)據(jù),指令、地址和數(shù)據(jù)的變化在SCK的低電平期間進行,并由SCK信號的上升沿鎖存。SO 用于將信息從器件傳出,傳出的信息包括狀態(tài)和數(shù)據(jù),信息在SCK信號的下降沿移出。</p><p> 器件的讀操作。當(dāng)-CS信號有效時,在SCK信號的同步下,8位的讀指令送入器件,接著送入16位地址(由于25XX320只使用地址信號 A0~A11,地址的高4位無
17、效)。在讀指令和地址發(fā)出后,SCK繼續(xù)發(fā)出時鐘信號,此時存儲在該地址的數(shù)據(jù)由SCK控制從SO引腳移出。在每個數(shù)據(jù)移出后,內(nèi)部的地址指針自動加1,如繼續(xù)對器件發(fā)送SCK信號,可讀出下一個數(shù)據(jù)。當(dāng)?shù)刂分羔樣嫷?FFFH之后,將回到0000H。讀操作的結(jié)束由-CS信號變高實現(xiàn)。 25XX系列的串行EEPROM的寫操作通過寫允許及禁止指令控制,寫操作必須在器件處于寫允許狀態(tài)時進行。</p
18、><p> 寫允許及禁止指令均為8位的指令,指令的操作過程為:將-CS信號置為低電平,在SCK信號的作用下,通過SI引腳輸入上述指令,在8位的指令送入器件之后,將-CS信號置為高電平,使器件鎖存于寫允許或?qū)懡範(fàn)顟B(tài)。如在輸入寫允許指令后未將-CS信號置為高電平,則寫允許狀態(tài)未鎖存,此時如直接進行寫操作,數(shù)據(jù)將不能寫入存儲器。在上電、寫禁止指令、寫狀態(tài)寄存器指令、寫數(shù)據(jù)指令執(zhí)行之后,器件的寫允許狀態(tài)將被復(fù)位,即處于寫
19、禁止?fàn)顟B(tài)。</p><p> 寫操作通常在寫允許指令之后進行,其時序如圖8-30所示。在寫允許狀態(tài)鎖存后,將-CS變高;再將-CS變低,在SCK的同步下輸入寫操作指令并送入16位地址,緊接著發(fā)送需寫入的數(shù)據(jù),寫入的數(shù)據(jù)一次最多可達(dá)32個,但必須保證在同一頁內(nèi)。一頁數(shù)據(jù)的地址從XXXX XXXX XXX0 0000 開始,到XXXX XXXX XXX1 1111結(jié)束,當(dāng)內(nèi)部的地址指針計數(shù)器達(dá)到XXXX XXXX
20、XXX1 1111后,繼續(xù)發(fā)送時鐘信號將使地址計數(shù)器回復(fù)到該頁的第一個地址,即XXXX XXXX XXX0 0000H。</p><p> 為了使數(shù)據(jù)有效寫入,-CS信號只能在寫入數(shù)據(jù)的最后一個字節(jié)的最低位寫入后變高。如-CS信號在其他時間變高,將無法保證數(shù)據(jù)的完整寫入。在寫操作的過程中,能通過讀狀態(tài)指令將狀態(tài)寄存器的內(nèi)容讀回,當(dāng)寫操作完成后,寫允許鎖存狀態(tài)將被復(fù)位。</p><p>
21、 3.3、74HC595、TLC1543、TLC5615芯片簡介</p><p> 3.3.1、74HC595簡介</p><p> 74HC595是硅結(jié)構(gòu)的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn)。 74HC595是具有8位移位寄存器和一個存儲器,三態(tài)輸出功能。 移位寄存器和存儲器是分別的時鐘。 數(shù)據(jù)在SHcp的上升沿輸入到移位寄存器中,在STcp的上升沿輸入到存儲寄
22、存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻關(guān)斷狀態(tài)。三態(tài)。將串行輸入的8位數(shù)字,轉(zhuǎn)變?yōu)椴⑿休敵龅?位數(shù)字,例如控制一個8位數(shù)碼管,將不會有閃爍。</p>&
23、lt;p> 74HC595的特點;8位串行輸入 /8位串行或并行輸出 存儲狀態(tài)寄存器,三種狀態(tài) 輸出寄存器(三態(tài)輸出:就是具有高電平、低電平和高阻抗三種輸出狀態(tài)的門電路。)可以直接清除 100MHz的移位頻率。</p><p> 74HC595的輸出能力;并行輸出,總線驅(qū)動; 串行輸出;標(biāo)準(zhǔn)中等規(guī)模集成電路595移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,
24、存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。 參考數(shù)據(jù) Cpd決定動態(tài)的能耗, Pd=Cpd×VCC×f1+∑(CL×VCC^2×f0) F1=輸入頻率,CL=輸出電容 f0=輸出頻率(MHz) Vcc=電源電壓。</p><p> 74HC595的引腳說明;</p><p>
25、; 符號 引腳 描述 </p><p> Q0…Q7 第15腳, 1, 7 并行數(shù)據(jù)輸出 </p><p> GND 第8腳 地 </p><p> Q7’ 第9腳 串行數(shù)據(jù)輸出 </p><p> MR 第10腳 主復(fù)位(低電平) </p><p> SHCP 第11腳 移位寄存器時鐘
26、輸入 </p><p> STCP 第12腳 存儲寄存器時鐘輸入 </p><p> OE 第13腳 輸出有效(低電平) </p><p> DS 第14腳 串行數(shù)據(jù)輸入 </p><p> VCC 第16腳 電源</p><p><b> 。</b></p>
27、<p> 74HC595的功能表; </p><p> 74HC595的注釋;</p><p> H=高電平狀態(tài) </p><p> L=低電平狀態(tài) </p><p><b> ↑=上升沿 </b></p><p><b> ↓=下降沿 <
28、;/b></p><p><b> Z=高阻 </b></p><p><b> NC=無變化 </b></p><p><b> ×=無效 </b></p><p> 當(dāng)MR為高電平,OE為低電平時,數(shù)據(jù)在SHCP上升沿進入移位寄存器,在S
29、TCP上升沿輸出到并行端口。</p><p> 3.3.2、TLC1543的簡介</p><p> TLC1543 是由TI 公司開發(fā)的開關(guān)電容式AD 轉(zhuǎn)換器,該芯片具有如下的一些特點:10 位精度、11 通道、三種內(nèi)建的自測模式、提供EOC(轉(zhuǎn)換完成)信號等。該芯片與單片機的接口采用串行接口方式,引線很少,與單片機連接簡單。圖1 是TLC1543 的引腳示意圖,其中A0~A10 是1
30、1路輸入,Vcc 和GND 分別是電源引腳,REF+和REF-分別是參考電源的正負(fù)引腳,使用時一般將REF-接到系統(tǒng)的地,達(dá)到一點接地的要求,以減少干擾。其余的引腳是TLC1543 與CPU 的接口,其中CS 為片選端,如不需選片,可直接接地。I/O Clock 是芯片的時鐘端,Adress 是地址選擇端,Data Out 是數(shù)據(jù)輸出端,這三根引腳分別接到CPU 的三個I/O 端即可。EOC 用于指示一次AD 轉(zhuǎn)換已完成,CPU 可以讀
31、取數(shù)據(jù),該引腳是低電平有效,根據(jù)需要,該引腳可接入CPU 的中斷引腳,一旦數(shù)據(jù)轉(zhuǎn)換完成,向CPU 提出中斷請求;此外,也可將該引腳接入一個普通的I/O 引腳,CPU 通過查詢該引腳的狀態(tài)來了解當(dāng)前的狀態(tài),甚至該引腳也可以不接,在CPU 向TLC1543發(fā)出轉(zhuǎn)換命令后,過一</p><p> TLC1543的硬件結(jié)構(gòu)</p><p> 單片機與TLC1543 芯片的接口如圖3,從圖中可以
32、看出,這里使用了TLC1543 作為基準(zhǔn)電壓源,將REF-直接接地,P1.0、P1.1、P1.2、P1.3 和P1.4 分別與EOC、時鐘、地址、數(shù)據(jù)、片選端分別相連。</p><p> 在六位數(shù)碼管的后四位數(shù)碼管上輪流顯示TLC1543 各通道的測量值,同時用十六進制表示的通道號顯示在第1 位數(shù)碼管上。</p><p> 圖3 使用TLC1543 制作的多路輸入電壓表電路圖</
33、p><p> TLC1543的軟件設(shè)計</p><p> 由于采用串行接口,在硬件電路簡單的同時,帶來了軟件編制的復(fù)雜性,初學(xué)單片機的入門者很難掌握這類芯片的編程方法,這給此類芯片的應(yīng)用帶來一定的限制。為解決這一問題,我們在實際應(yīng)用該芯片的基礎(chǔ)上寫出了該芯片的驅(qū)動程序,有了驅(qū)動程序,使用者不必再關(guān)心TLC1543 數(shù)據(jù)手冊中的時序圖之類不易懂的部份,只要了解清楚驅(qū)動程序的用法,即可使用該芯
34、片。TLC1543 共有11 條輸入通道,這11 條通道的編號從0~10,讀取時根</p><p> 據(jù)編號來獲得想應(yīng)通道的數(shù)據(jù)。</p><p> 3.3.3、TLC5615的簡介</p><p> TLC5615 為美國德州儀器公司 1999 年推出的產(chǎn)品,是具有串行接口的數(shù)模轉(zhuǎn)換器,其輸出為電壓型,最大輸出電壓是基準(zhǔn)電壓值的兩倍。帶有上電復(fù)位功能,即把
35、DAC 寄存器復(fù)位至全零。性能比早期電流型輸出的 DAC 要好。只需要通過 3 根串行總線就可以完成 10 位數(shù)據(jù)的串行輸入, 易于和工業(yè)標(biāo)準(zhǔn)的微處理器或微控制器(單片機) 接口, 適用于電池供電的測試儀表、移動電話,也適用于數(shù)字失調(diào)與增益調(diào)整以及工業(yè)控制場合。</p><p> TLC5615器件的引腳圖及各引腳功能</p><p> DIN: 串行數(shù)據(jù)輸入端; </p>
36、<p> SCLK: 串行時鐘輸入端; </p><p> /CS: 芯片選用通端,低電平有效; </p><p> DOUT: 用于級聯(lián)時的串行數(shù)據(jù)輸出端; </p><p> AGND: 模擬地; </p><p> REFIN:基準(zhǔn)電壓輸入端, 2V~ (VDD - 2); </p>
37、;<p> OUT: DAC 模擬電壓輸出端; </p><p> VDD: 正電源端,4.5~5.5V ,通常取 5V。</p><p> TLC5615的功能框圖</p><p> TLC5615 的內(nèi)部功能框圖如下圖所示,它主要由以下幾部分組成: 1、 10 位 DAC 電路; 2、 一個 16 位移位寄存器, 接受串行移入的
38、二進制數(shù),并且有一個級聯(lián)的數(shù)據(jù)輸出端DOUT ; 3、 并行輸入輸出的 10 位 DAC 寄存器, 為 10 位 DAC 電路提供待轉(zhuǎn)換的二進制數(shù)據(jù); 4、電壓跟隨器為參考電壓端REFIN提供很高的輸入阻抗,大約10MΩ; 5、×2 電路提供最大值為 2 倍于 REFIN 的輸出; 6、上電復(fù)位電路和控制電路。 </p><p> TLC5615功能框圖</p><
39、p> 兩種工作方式: (A)從上圖可以看出,16 位移位寄存器分為高 4 位虛擬位、低兩位填充位以及 10位有效位。在單片 TLC5615 工作時,只需要向 16 位移位寄存器按先后輸入 10位有效位和低 2 位填充位, 2 位填充位數(shù)據(jù)任意,這是第一種方式,即 12 位數(shù)據(jù)序列。 (B)第二種方式為級聯(lián)方式, 即 16 位數(shù)據(jù)列,可以將本片的 DOU T 接到下一片的 DIN , 需要向 16 位移位寄存器按先后輸入高 4 位
40、虛擬位、10 位有效位和低 2 位填充位, 由于增加了高 4 位虛擬位, 所以需要 16 個時鐘脈沖。</p><p> TLC5615的工作時序</p><p> TLC5615 工作時序如上圖所示。 可以看出,只有當(dāng)片選 CS 為低電平時, 串行輸入數(shù)據(jù)才能被移入16位 </p><p> TLC5615工作時序</p><p>
41、 移位寄存器。當(dāng) CS 為低電平時,在每一個 SCLK 時鐘的上升沿將 DIN 的一位數(shù)據(jù)移入 16 位移寄存器。注意, 二進制最高有效位被導(dǎo)前移入。接著,CS 的上升沿將 16 位移位寄存器的 10 位有效數(shù)據(jù)鎖存于 10 位 DAC 寄存器, 供 DAC 電路進行轉(zhuǎn)換; 當(dāng)片選 CS 為高電平時,串行輸入數(shù)據(jù)不能被移入 16 位移位寄存器。注意, CS 的上升和下降都必須發(fā)生在 SCL K 為低電平期間。</p>&l
42、t;p> 3.4、電壓轉(zhuǎn)電流電路介紹</p><p> 常用電壓轉(zhuǎn)換電流的電路:</p><p><b> 電壓轉(zhuǎn)電流電路</b></p><p> 如圖3所示的電路是電壓轉(zhuǎn)電流電路的一種,其工作原理為:</p><p><b> (1)</b></p><p&g
43、t; 由運算放大器的工作原理可知:</p><p><b> (2)</b></p><p><b> (3)</b></p><p> 聯(lián)合公式1、2、3得到:</p><p> 電阻R2兩端的電壓為:</p><p> 電阻R2兩端的電流為:</p>
44、;<p> 因為運算放大器輸入的高阻狀態(tài):</p><p> 因此,如果:為1~5V,,則輸出電流為4~20mA。</p><p> 4、硬件電路原理圖設(shè)計</p><p> 在Protel99SE中,在使用鼠標(biāo)右鍵功能時,必須非??焖俚卦谑髽?biāo)右鍵Click,才能彈出右鍵菜單。稍慢一些菜單就彈不出來,這與一般軟件不同,要特別注意。 在Pro
45、tel99SE中,為方便使用自定義畫圖HotKeys和工具條及菜單, 可在原理圖編輯界面下分別定義SDC_SchHotKeys,SDC_SchToolbars,SDC_SchMenus, 而在原理圖庫文件編輯中可通過在Customize中的Menu功能中直接Import前面在原理圖編輯中定義的SDC_SchHotKeys,SDC_SchToolbars,SDC_SchMenus. 同
46、樣, 在PCB編輯界面下分別定義SDC_PcbHotKeys,SDC_PcbToolbars,SDC_PcbMenus, 而在原理圖庫文件編輯中可通過在Customize中的Menu功能中直接Import前面在PCB圖編輯中定義的SDC_PcbHotKeys,SDC_PcbToolbars,SDC_PcbMenus.</p><p> 5、硬件電路PCB板圖設(shè)計</p><p> 在P
47、CB中, 當(dāng)某些元件的Pad用手工定義的方法賦以NetLabels時, 當(dāng)在SCH中重新UPDATE PCB后, 自定義的網(wǎng)絡(luò)標(biāo)號被清掉。但有一好方法可快速恢復(fù)被清掉的手式網(wǎng)絡(luò)標(biāo)號,即用F8刪除此元件,然后緊接著按恢復(fù)鍵,則不僅被刪掉的元件被恢復(fù)了,并且被Update PCB清掉的網(wǎng)絡(luò)標(biāo)號也被恢復(fù)了。</p><p> 特別注意:在PROTEL 99SE自定義的快捷鍵、工具欄等信息均保存在C:\WINDOWS
48、\下的CLIENT99SE.RCS文件中,所以,只要經(jīng)常保存CLIENT99SE.RCS文件, 則在重裝系統(tǒng)后, 在安裝PROTEL 99SE后, 將此CLIENT99SE.RCS文件再拷貝到C:\WINDOEWS\下, 即可恢復(fù)以前設(shè)置的各種快捷鍵等。注意: 在恢復(fù)自定義工具欄時, 用到的自定義的圖標(biāo)文件*.bmp, 必須要拷貝到C:\Program Files\Design Explorer 99 SE\System\But
49、tons\子目錄下。by Dancheng Shen, January 14, 2006. Nanjing</p><p> 注意:在安裝PCB中文輸入功能后, 有可能影響菜單的設(shè)置, 一些功能少了, 一些功能變了. 如Print/Preview. 要恢復(fù). 菜單,工具欄和快捷鍵的設(shè)置存放在C:\Windows\CLIENT99SE.rcs文件中. 應(yīng)先保存原英文菜單.熱鍵和菜單及工具欄的自定義方法類似,
50、 都是在Customsize中找出相關(guān)功能的PROCESSING.</p><p> 重要的快捷鍵,HotKey: Q - 切換坐標(biāo)單位mil和mm。 L - 設(shè)置Design/Options, 主要經(jīng)常用于在Imperial和Metric下定義Visible Grid和Snap Grid。 一般為,英制:Visible grid=25mil,1000mil, Snap grid=25mil; 公制
51、:Visible grid=0.1mm,1mm, Snap grid=0.05mm(對顯示模塊PCB)。 Edit/Origin/Set - 可將當(dāng)前坐標(biāo)設(shè)置為Current Origin。這樣的好處是,坐標(biāo)原點是(0,0),可對稱布局,在設(shè)計顯示模塊PCB時特別有用,因為對英制和公制都是原點。在設(shè)計模塊PCB時,將(10000mil,10000mil)設(shè)置為新的原點(0,0)。在用Reset可恢復(fù)原來的坐標(biāo)系統(tǒng),即左下角坐標(biāo)為
52、(0,0)。 Edit/Jump/Current Origin - 可使圖直接跳回到(0,0)。這個功能會經(jīng)常使用,所以可以設(shè)一個快捷鍵F2,直接跳回到當(dāng)前原點。 按住鼠標(biāo)右鍵可移動屏幕。 元件和Track均可在屬性</p><p> 6、數(shù)字PID控制算法</p><p> 6.1、抗積分飽和數(shù)字PID控制算法原理</p><p> 模擬PI
53、D控制系統(tǒng)組成</p><p> 圖4-1模擬PID控制系統(tǒng)原理框圖</p><p> PID調(diào)節(jié)器的微分方程 </p><p><b> (1)</b></p><p> 式中 (2)</p><p> PID調(diào)節(jié)器的
54、傳遞函數(shù)</p><p><b> (3)</b></p><p> 由于數(shù)字PID控制是一種采樣控制,他只能根據(jù)采樣時刻的誤差來計算控制量。在采樣的時刻(T為采樣周期,為正整數(shù)),經(jīng)歷離散化后可得位置式算法公式</p><p><b> (4)</b></p><p> 式中:k為采樣序號
55、,k=0,1,2,……;u(k)為第k次采樣時刻的計算機輸出值:e(k)為第k次采樣時刻輸入的偏差值;微積分系數(shù),;為微分系數(shù),。</p><p> 積分飽和現(xiàn)象是指如果系統(tǒng)存在一個方向的偏差,PID控制器的輸出由于積分作用的不斷累加而加大,從而導(dǎo)致執(zhí)行機構(gòu)達(dá)到極限位置,若控制器輸出繼續(xù)增大,執(zhí)行器開度不可能再增大,此時計算機輸出控制量超出了正常運行范圍而進入飽和區(qū)。一旦系統(tǒng)出現(xiàn)反向偏差,逐漸從飽和區(qū)退出。進入
56、飽和區(qū)越深則退出飽和區(qū)時間越長。在這段時間里,執(zhí)行機構(gòu)仍然停留在極限位置而不隨偏差反向而立即做出相應(yīng)的改變,這時系統(tǒng)就像失控一樣,造成控制性能惡化,這種現(xiàn)象稱為積分飽和現(xiàn)象或積分失控現(xiàn)象。 防止積分飽和的方法之一就是抗積分飽和法,該方法的思路是在計算時,首先判斷上一時刻的控制量是否已經(jīng)超出了極限范圍: 如果,則只累加負(fù)偏差; 如果,則只累加正偏差。從而避免控制量長時間停留在飽和區(qū)。</p>&l
57、t;p> 6.2、抗積分飽和數(shù)字PID控制算法流程圖</p><p> 6.3積分飽和數(shù)字PID控制算法源程序</p><p> float u1;// 當(dāng)前輸出量</p><p> float u2;//上一時刻輸出量</p><p> float e1;//當(dāng)前誤差</p><p> float
58、e2;//上一時刻的誤差</p><p> float k=0.2,i=0.1,d=0.2;//初始化三個控制參數(shù)</p><p> float PID()</p><p><b> {</b></p><p> float pd,ee;</p><p> char flag;</
59、p><p> pd=k*e1+d*(e1-e2);</p><p> ee=ee+e1; //積分項累加</p><p> if(u2≥Umax)</p><p><b> {</b></p><p><b> if(e1>0)</b></p>&l
60、t;p><b> {</b></p><p><b> flag=0;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>
61、<p><b> flag=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p
62、><p> if(u2≤Umin)</p><p><b> {</b></p><p><b> if(e1>0)</b></p><p><b> {</b></p><p><b> flag=0;</b><
63、/p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> flag=1;</b></p><p><b> }</b>
64、</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> flag=1;</b></p><p><b> }</b
65、></p><p><b> }</b></p><p> u1=pd+flag*ee;</p><p><b> u2=u1;</b></p><p> e2=e1; //參數(shù)更新</p><p> return u1;</p><p&g
66、t;<b> }</b></p><p> 7、調(diào)試運行結(jié)果及分析</p><p> 數(shù)字調(diào)節(jié)器的變成相對的是簡單的,通過4個按鍵的組合進行參數(shù)設(shè)置和控制。采用8位靜態(tài)LED顯示:高四位顯示給定值或參數(shù)名,低四位顯示反饋值或參數(shù)值。通過485通訊可以與上位機進行通訊。</p><p> 這里面最難得是PID控制,進行對三個參數(shù)的整定是最
67、麻煩的。要做到最好就要有足夠的耐心,而且還要要求上升時間最小、超調(diào)量不能太大、調(diào)整時間不要太長等等。要實現(xiàn)這樣的功能要不斷的調(diào)試。</p><p> 8、課程設(shè)計經(jīng)驗教訓(xùn)和心得體會</p><p> 作為一名自動化專業(yè)的大三學(xué)生,我覺得做單片機課程設(shè)計是十分有意義的,而且是十分必要的。在已度過的大學(xué)時間里,我們大多數(shù)接觸的是專業(yè)課。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我
68、們的實踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識運用到實踐中去呢?我想做類似的課程設(shè)計就為我們提供了良好的實踐平臺。 這次單片機課程設(shè)計我們歷時兩個星期,在我班里算是倒數(shù)幾組完成的吧,但經(jīng)過這兩個星期的實踐和體驗下來,我們又怎么會去在乎那個先后問題呢,因為對我來說學(xué)到的不僅是那些知識,更多的是團隊和合作?,F(xiàn)在想來,也許學(xué)校安排的課程設(shè)計有著它更深層的意義吧,它不僅僅讓我們綜合那些理論知識來運用到設(shè)計和創(chuàng)新,還讓我們知道了
69、一個團隊凝聚在一起時所能發(fā)揮出的巨大潛能! 單片機作為我們的主要專業(yè)課之一,雖然在大三開學(xué)初我對這門課并沒有什么興趣,覺得那些程序枯燥乏味,但在這次課程設(shè)計后我發(fā)現(xiàn)自己在一點一滴的努力中對單片機的興趣也在逐漸增加。 幾個星期前我們還在為到底選那個課題而發(fā)生分歧,最后還是在老師的耐心分析和指導(dǎo)下完成了課題的選定,但是隨之而來的問題卻遠(yuǎn)比我們想想的要困</p><p><b> 附錄
70、</b></p><p> 附錄1、數(shù)字調(diào)節(jié)器原理圖</p><p> 附錄2.、數(shù)字調(diào)節(jié)器PCB板圖</p><p> 附錄3、數(shù)字調(diào)節(jié)器部分源程序(A/D采集、D/A輸出,靜態(tài)顯示)</p><p> 1、 1543A/D采集源程序</p><p> ADC: MOV A,#0&
71、lt;/p><p><b> MOV R2,A</b></p><p><b> CLR P1.2</b></p><p><b> CLR P1.4</b></p><p><b> MOV A,R2</b></p><p&g
72、t;<b> RLC A</b></p><p><b> MOV R7,#4</b></p><p> C_L1: RLC A</p><p> MOV P1.0,C</p><p><b> SETB P1.2</b></p><p
73、><b> NOP</b></p><p><b> NOP</b></p><p><b> CLR P1.2</b></p><p> DJNZ R7,C_L1</p><p><b> MOV R7,#6</b></p>
74、<p> C_L2: SETB P1.2</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p&
75、gt;<p><b> CLR ADClk</b></p><p> DJNZ R7,C_L2</p><p><b> SETB P1.4</b></p><p><b> NOP</b></p><p><b> NOP</b>
76、</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> CLR P1.4</b></p><p><b> NOP</b></p><p><b> NOP
77、</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB P1.1</b></p><p><b> SETB P1.2</b></p><p&
78、gt;<b> MOV P1.1</b></p><p> MOV ACC.1,C</p><p><b> CLR P1.2</b></p><p><b> NOP</b></p><p><b> NOP</b></p>&l
79、t;p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB P1.1</b></p><p><b> SETB P1.2</b></p><p> MOV C,P1.1</p>
80、;<p> MOV ACC.0,C</p><p><b> CLR P1.2</b></p><p> ANL A,#00000011B </p><p><b> MOV R0,A</b></p><p><b> MOV R7,#8</b><
81、/p><p> C_L3: NOP</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB P1.1</b>
82、</p><p><b> SETBP1.2</b></p><p> MOV C,P1.1</p><p> MOV ACC.0,C</p><p><b> RLC A</b></p><p><b> CLR P1.2</b></p
83、><p> DJNZ R7,C_L3</p><p><b> SETB P1.4</b></p><p><b> MOV R1,A</b></p><p><b> RET</b></p><p> 2、D/A輸出程序:</p>
84、<p> #include<reg52.h></p><p> #include<intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit clk=P1^0;<
85、;/p><p> sbit addr=P1^1;</p><p> sbit cs2=P1^3;</p><p> void DA(uint dd)</p><p><b> {</b></p><p><b> uchar i;</b></p><
86、p> uint temp;</p><p><b> temp=dd;</b></p><p><b> temp<<=6;</b></p><p><b> clk=0;</b></p><p><b> cs2=0;</b>
87、</p><p> for(i=0;i<12;i++)</p><p><b> {</b></p><p> addr=(bit)(temp&0x80);</p><p><b> clk=1;</b></p><p><b> temp&
88、lt;<=1;</b></p><p><b> clk=0;</b></p><p><b> }</b></p><p><b> cs2=1;</b></p><p><b> }</b></p><p&
89、gt; 3、 靜態(tài)顯示源程序</p><p> #include <reg51.h></p><p> #include <intrins.h></p><p> #define NOP() _nop_()</p><p> void delay(
90、unsigned int i);</p><p> Unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};</p><
91、p><b> main()</b></p><p><b> { </b></p><p> unsigned int LedNumVal=1 ,C ;</p><p><b> while(1)</b></p>
92、<p><b> { </b></p><p> if (++C>= 300) </p><p> { LedNumVal++ ;</p><p> C =0;
93、60; } </p><p> P0 = LED7Code[LedNumVal%10]&0x7f;&l
94、t;/p><p> delay(150); } </p><p> } &
95、#160; </p><p> void delay(unsigned int i)</p>&
96、lt;p><b> {</b></p><p><b> char j;</b></p><p> for(i; i > 0; i--)</p><p> for(j = 200; j > 0;
97、160;j--);</p><p><b> }</b></p><p> unsigned int ADCSelChannel(unsigned char Channel)</p><p><b> {</b></p><p> unsigned
98、160;int ConvertValue;</p><p> unsigned char i, Chan;</p><p> unsigned char ConvertValueL, ConvertValueH;</p><p> unsigned char delay;
99、</p><p> ConvertValueL = ConvertValueH = 0; </p><p> delay = 0;</p><p><b> if (EOC)</b></p><p><b> {</b
100、></p><p> Clock = 0;</p><p> ChipSelect = 1;</p><p><b> Wait2us;</b></p><p> ChipSelect = 0;</p><p><b&
101、gt; Wait2us;</b></p><p> Channel = Channel << 4;</p><p> for (i = 0; i < 4; i ++) </p><p><b>
102、; {</b></p><p> Chan = Channel;</p><p> Chan = Chan >> 7;</p><p> DataIn = (bit)Chan;</p><p><b> Wait2us;
103、</b></p><p> Clock = 1;</p><p> Clock = 0;</p><p> Channel = Channel << 1;</p><p><b> }</b></p>
104、;<p> for (i = 0; i < 6;i ++)</p><p><b> {</b></p><p> Clock = 1;</p><p> Clock = 0;</p><
105、p><b> }</b></p><p> ChipSelect = 1;</p><p> while ((!EOC) && (delay < 10))</p><p><b> {</b></p>&
106、lt;p><b> Wait10us;</b></p><p><b> delay ++;</b></p><p><b> }</b></p><p> if (delay == 10)</p><p><b>
107、; {</b></p><p> return (0xFFFF);</p><p><b> }</b></p><p><b> Else</b></p><p><b> Wait10us;</b></p><p>
108、 Clock = 0;</p><p> ChipSelect = 1;</p><p><b> Wait1us;</b></p><p> ChipSelect = 0;</p><p><b> Wait1us;</b><
109、;/p><p> for (i = 0; i < 2; i ++) </p><p> Clock = 1;</p><p> DataOut = 1;</p><p> ConvertValueH
110、60;<<= 1;</p><p> if (DataOut)</p><p> ConvertValueH |= 0x1;</p><p> Clock = 0;</p><p><b> Wait1us;</b></p>&
111、lt;p><b> } </b></p><p> for (i = 0; i < 8; i ++) </p><p><b> {</b></p><p> Clock = 1;&l
112、t;/p><p> DataOut = 1;</p><p> ConvertValueL <<= 1;</p><p> ConvertValueL |= 0x1;</p><p> Clock = 0;</p><p>
113、<b> Wait1us;</b></p><p><b> } </b></p><p> ChipSelect=1;</p><p> ConvertValue = ConvertValueH;</p><p> ConvertValue <
114、;<= 8;</p><p> ConvertValue |= ConvertValueL;</p><p> return (ConvertValue);</p><p><b> }</b></p><p><b> }</b></p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計報告
- 《單片機課程設(shè)計》報告
- 單片機課程設(shè)計報告
- 單片機課程設(shè)計報告
- 單片機課程設(shè)計報告
- 單片機課程設(shè)計報告
- 單片機課程設(shè)計報告
- 單片機課程設(shè)計報告
- 單片機課程設(shè)計---單片機原理及應(yīng)用
- 單片機課程設(shè)計報告---單片機數(shù)字時鐘
- 單片機課程設(shè)計報告---單片機秒表系統(tǒng)設(shè)計
- 單片機課程設(shè)計-- 單片機原理及應(yīng)用
- 單片機課程設(shè)計報告——單片機控制步進電機
- 單片機課程設(shè)計報告---單片機控制秒表系統(tǒng)
- 單片機課程設(shè)計報告doc
- 單片機課程設(shè)計課題報告
- btec單片機課程設(shè)計報告
- 單片機課程設(shè)計報告 (2)
- 單片機課程設(shè)計報告-日歷
- 單片機課程設(shè)計報告蜂鳴器
評論
0/150
提交評論