溫度測量系統(tǒng) 、閉環(huán)溫度控制系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)報(bào)告
《溫度測量系統(tǒng) 、閉環(huán)溫度控制系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)報(bào)告》由會員分享,可在線閱讀,更多相關(guān)《溫度測量系統(tǒng) 、閉環(huán)溫度控制系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)報(bào)告(17頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 ...wd... 電子工程設(shè)計(jì)報(bào)告 題目:溫度測量系統(tǒng)/閉環(huán)溫度控制系 統(tǒng)設(shè)計(jì) 專業(yè): 電子科學(xué)與技術(shù) 小組: 7 姓名: 學(xué)號: 袁彬 11023221 賴力 11023222 指導(dǎo)教師: 高新 完成日期:2013.12.12 目錄 一、摘要3 二、設(shè)計(jì)任務(wù)與要求3 〔二〕、設(shè)計(jì)要求4 (三)單片機(jī)5 〔一〕、電路工作原理及主要元件的功能5 〔二〕、電路的調(diào)試9 四數(shù)/模(D/A)轉(zhuǎn)換電路10 〔一〕、電路工作原理及
2、主要元件功能10 〔二〕、電路主要參數(shù)計(jì)算12 (三)、電路調(diào)試12 五、模/數(shù)(A/D)轉(zhuǎn)換電路13 〔一〕、ADC0804芯片介紹13 〔二〕、電路主要參數(shù)計(jì)算14 〔三〕、電路調(diào)試15 六、電路顯示與鍵盤控制電路16 〔一〕、電路工作原理16 (二).電路調(diào)試19 七、溫度測量22 八、心得體會25 九、附錄26 一、摘要 在上學(xué)期我們完成了溫度控制系統(tǒng)的第一階段,在這一階段,我們完成了焊接包括電源板、驅(qū)動器和變送器在內(nèi)的一些工作。也為我們這次的第二階段做好了準(zhǔn)備。通過上學(xué)期的準(zhǔn)備,我們對焊接電路已經(jīng) 基本上熟練掌握了,對一些電路的原理和設(shè)計(jì)也都到達(dá)了必
3、要的要求,正是基于此我們目前已經(jīng)完成了第二階段的所有內(nèi)容。下面就主要介紹一下我們第二階段的工作。 二 、設(shè)計(jì)任務(wù)與要求 設(shè)計(jì)小型溫度測量與控制系統(tǒng) --- 典型電子系統(tǒng) 驅(qū)動器 數(shù)/模轉(zhuǎn)換器 后向通道 1.電路設(shè)計(jì) ⑴ 核心單元—單片機(jī)應(yīng)用電路 ⑵ 模擬量接口—A/D、D/A 電路 ⑶ 人機(jī)交互單元—顯示、鍵盤控制電路 2.程序設(shè)計(jì) ⑴ 控制模/數(shù)轉(zhuǎn)換進(jìn)展溫度數(shù)據(jù)采集 ⑵ 控制數(shù)/模轉(zhuǎn)換改變控溫元件工作狀態(tài),進(jìn)展溫度控制。 ⑶ 控制鍵盤與顯示器,進(jìn)展控制溫度設(shè)定和測量溫度顯示。 ⑷ 將溫度數(shù)據(jù)轉(zhuǎn)換為顯示溫度數(shù)值的算法程序。 (5)控制溫度準(zhǔn)確、平穩(wěn)
4、變化的的算法程序。 3.系統(tǒng)聯(lián)調(diào) ⑴ 電路系統(tǒng)聯(lián)調(diào),配合測試程序?qū)崿F(xiàn) 基本的測溫、控溫功能。 ⑵ 程序聯(lián)調(diào),通過電路系統(tǒng)實(shí)現(xiàn)準(zhǔn)確、平穩(wěn)的溫度控制 4.本學(xué)期關(guān)注的重點(diǎn) ⑴ 設(shè)計(jì)并實(shí)現(xiàn)了一個能夠準(zhǔn)確、穩(wěn)定控制溫度的系統(tǒng)。 ⑵ 知道了一個典型的電子系統(tǒng)應(yīng)該具備哪些主要功能 ⑶ 知道了一個典型電子系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)過程和工作方法。 ⑷ 知道如何設(shè)計(jì)測試方法、創(chuàng)造測試條件,對設(shè)計(jì)完成的電路模塊或電路系統(tǒng)進(jìn)展測試,使電路或系統(tǒng)的功能、指標(biāo)充分展現(xiàn)。 ⑸ 設(shè)計(jì)組裝的電路系統(tǒng)出現(xiàn)故障,能夠根據(jù)電路或系統(tǒng)的工作原理、自己掌握的專業(yè)知識以及積累的經(jīng)歷,快速確定故障范圍和故障原因。 ⑹ 掌握電路
5、的設(shè)計(jì)方法,通過設(shè)計(jì)、計(jì)算實(shí)現(xiàn)電路設(shè)計(jì)要求。 〔二〕、設(shè)計(jì)要求 1. 溫度測量范圍:0°C~ +100°C。 2. 溫度測量誤差:不大于 ±2°C 3. 單片機(jī):具有獨(dú)立電路板構(gòu)造。 片選信號:4個, 地址信號:4個, 數(shù)據(jù)總線:AD0~AD7, I/O口線:P3口,P1口。 4. 數(shù)/模(D/A)轉(zhuǎn)換電路:具有獨(dú)立電路板構(gòu)造。 輸入范圍:00H ~ 0FFH, 對應(yīng)輸出:-10V~+10V, 誤差:1%,響應(yīng)時間:< 1ms, 電源供電:+5V,±12V。 5. 模/數(shù)(A/D)轉(zhuǎn)換電路: 獨(dú)立電路板構(gòu)造 輸入信號范圍: 0V~+5V
6、 分辨率: 8bit 精度:1LSB 轉(zhuǎn)換時間:< 1ms 6. 顯示與鍵盤控制電路: 4 位7 段數(shù)碼顯示, 前 3 位含小數(shù)點(diǎn)獨(dú)立電路板安裝構(gòu)造 0 ~ 9數(shù)字輸入鍵及假設(shè)干功能設(shè)置按鍵控制 (三)單片機(jī) 〔一〕、電路工作原理及主要元件的功能 1,芯片的介紹和參數(shù) MCS-51系列單片機(jī)性能優(yōu)異,因此單片機(jī)芯片采用MCS-51系列中的89C51。 在單片機(jī)的40條引腳中有2條專用于主電源的引腳,2條外接晶體的引腳,4條控制或與其它電源復(fù)用的引腳,32條輸入/輸出〔I/O〕引腳。 下面按其引腳功能分為四
7、局部表達(dá)這40條引腳的功能。 1) 主電源引腳VCC和VSS: VCC——〔40腳〕接+5V電壓; VSS——〔20腳〕接地。 2) 外接晶體引腳XTAL1和XTAL2: XTAL1〔19腳〕接外部晶體的一個引腳。在單片機(jī)內(nèi)部,它是一個反相放大器的輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部振蕩器時,對HMOS單片機(jī),此引腳應(yīng)接地;對CMOS單片機(jī),此引腳作為驅(qū)動端。 XTAL2〔18腳〕接外晶體的另一端。在單片機(jī)內(nèi)部,接至上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,對HMOS單片機(jī),該引腳接外部振蕩器的信號,即把外部振蕩器的信號直接接到內(nèi)部時鐘發(fā)生器的輸入端;
8、對XHMOS,此引腳應(yīng)懸浮。 3) 控制或與其它電源復(fù)用引腳RST/VPD、ALE/PROG、PSEN和EA/VPP: RST/VPD〔9腳〕當(dāng)振蕩器運(yùn)行時,在此腳上出現(xiàn)兩個機(jī)器周期的高電平將使單片機(jī)復(fù)位。 ALE/PROG〔30腳〕:當(dāng)訪問外部存貯器時,ALE〔允許地址鎖存〕的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率周期性地出現(xiàn)正脈沖信號,此頻率為振蕩器頻率的1/6。因此,它可用作對外輸出的時鐘,或用于定時目的。 PSEN〔29腳〕:此腳的輸出是外部程序存儲器的讀選通信號。在從外部程序存儲器取指令〔或常數(shù)〕期間,每個機(jī)器周期兩次PSEN有效。但在此期間
9、,每當(dāng)訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。 EA/VPP〔31腳〕:當(dāng)EA端保持高電平時,訪問內(nèi)部程序存儲器,但在PC〔程序計(jì)數(shù)器〕值超過0FFFH〔對851/8751/80C51〕或1FFFH〔對8052〕時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。當(dāng)EA保持低電平時,那么只訪問外部程序存儲器,不管是否有內(nèi)部程序存儲器。輸入/輸出〔I/O〕引腳P0、P1、P2、P3〔共32根〕: P0口〔39腳至32腳〕:是雙向8位三態(tài)I/O口,在外接存儲器時,與地址總線的低8位及數(shù)據(jù)總線復(fù)用,能以吸收電流的方式驅(qū)動8個LS型的TTL負(fù)載。 P1口〔1腳至8腳〕:是準(zhǔn)雙向8位I/O口
10、。由于這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向I/O口。P1口能驅(qū)動〔吸收或輸出電流〕4個LS型的TTL負(fù)載。對8052、8032,P1.0引腳的第二功能為T2定時/計(jì)數(shù)器的 P2口〔21腳至28腳〕:是準(zhǔn)雙向8位I/O口。在訪問外部存儲器時,它可以作為擴(kuò)展電路高8位地址總線送出高8位地址。 P3口〔10腳至17腳〕:是準(zhǔn)雙向8位I/O口,在MCS-51中,這8個引腳還用于專門功能,是復(fù)用雙功能口。 2、電路方案的比較、選擇和確定 全部地址參與譯碼,產(chǎn)生的控制信號對應(yīng)唯一地址。局部地址參與譯碼,產(chǎn)生的控制信號對應(yīng)某一地址區(qū)域,而不是唯一地址。局部地址參與譯碼,產(chǎn)生的控
11、制信號對應(yīng)某一地址區(qū)域,而不是唯一地址。 三種電路方案 (1) 局部地址譯碼、帶有總線驅(qū)動電路,產(chǎn)生的控制信號對應(yīng)某一地址區(qū)域。 圖示局部地址譯碼、帶有總線驅(qū)動電路 〔2〕局部地址譯碼、無總線驅(qū)動電路 圖示局部地址譯碼,無總線驅(qū)動電路 〔3〕直接選通、不要低8位地址和驅(qū)動電路 因?yàn)檫@個方案的片選信號與地址之間并不是線性關(guān)系,所以使用 該方案需要熟練掌握片選信號與地址之間的關(guān)系計(jì)算。 〔4〕電路方案確實(shí)定 通過比較,我們最后選定相對容易實(shí)現(xiàn)的局部地址譯碼,無總線驅(qū)動的方案, 因?yàn)檫@樣可以簡化電路。電路圖如下: 單片機(jī)的安裝構(gòu)造圖如以以下圖
12、所示: 單片機(jī)電路 〔二〕、電路的調(diào)試 1.按照電路圖將電路板焊接完畢,過程中需要嚴(yán)格檢查焊接線路是否正確,防止出現(xiàn)錯誤。 2.測試時,將電源板放到相應(yīng)位置。將單片機(jī)正確插入,然后將仿真頭與單片機(jī)電路連接〔注意缺口標(biāo)志要對應(yīng)〕再把仿真器連好。 3.?dāng)嚅_譯碼電路負(fù)載,運(yùn)行測試程序,檢查各輸出引腳是否有輸出,各個 輸出之間相對位置關(guān)系是否正確;以下是單片機(jī)測試的程序: #include "C8051F020.h" #include "absacc.h“ #include "data_define.c" #define CS0 XBYTE[0x0000
13、] #define CS1 XBYTE[0x2000] #define CS2 XBYTE[0x4000] #define CS3 XBYTE[0x6000] #define CS4 XBYTE[0x8000] #define CS5 XBYTE[0xA000] #include "Init_Device.c" void main(void) { Init_Device(); while(1) { CS0=0; CS1=0; CS2=0; CS3=0; CS4=0; CS5=0
14、; } } 正確輸出波形如以以下圖: 用示波器觀察C1~ C4引腳,應(yīng)有圖示的波形輸出。如果沒有輸出或者彼此關(guān)系錯亂,都說明電路中存在故障。 四 數(shù)/模(D/A)轉(zhuǎn)換電路 〔一〕、電路工作原理及主要元件功能 1、DAC8032芯片介紹 數(shù)模轉(zhuǎn)換器是整個控制系統(tǒng)將計(jì)算機(jī)輸出的數(shù)字信號轉(zhuǎn)化成模擬信號的重要部件,它的特性直接影響溫度轉(zhuǎn)換的精度。其轉(zhuǎn)換的精度主要由數(shù)模轉(zhuǎn)換器的位數(shù)和Vref。根據(jù)結(jié)合電子工程設(shè)計(jì)的實(shí)際要求,結(jié)合高性價比的原那么我們選擇了8位D/A轉(zhuǎn)換器 DAC0832。 單片集成D/A轉(zhuǎn)換器產(chǎn)品種類繁多,按其內(nèi)部電路構(gòu)造一般可分為兩類:一類集成芯片內(nèi)部只集成了轉(zhuǎn)換網(wǎng)絡(luò)和
15、模擬電子開關(guān);另一類那么集成了組成D/A轉(zhuǎn)換器的所有電路。本實(shí)驗(yàn)選用DA0832,各引腳名稱及作用如下: D7~D0:具有三態(tài)特性數(shù)字信號輸出。 GND:信號地。 CS:低電平有效的片選端。 WR:寫信號輸入,低電平啟動D/A轉(zhuǎn)換。 RD:讀信號輸入,低電平輸出端有效。 VREF:參考電平輸入,決定量化單位。 2、原理說明 〔1〕、數(shù)模轉(zhuǎn)換電路,可以將數(shù)字電量轉(zhuǎn)換成模擬電量。在數(shù)模轉(zhuǎn)換中,應(yīng)根據(jù)轉(zhuǎn)換要求,考慮輸出電壓的分辨率和精度。 〔2〕、數(shù)模轉(zhuǎn)換有多種方法可以實(shí)現(xiàn),在滿足要求的情況下,應(yīng)力求降低成本??梢圆捎妙l率/電壓變換的方法,也可以采用D/A變換器或其它方法,如采
16、用D/A變換器,建議使用DAC0832?!?0-FF〕數(shù)字對應(yīng)于〔-10V~+10V〕電壓。 3.電路的選擇 輸出方式:與數(shù)字量成比例的電流輸出/與數(shù)字量成比例的電壓輸出/數(shù)字量和參考電壓的相乘輸出。 我們組選擇的電路如圖: 本實(shí)驗(yàn)要求模數(shù)轉(zhuǎn)換電路的輸出電壓為-10V~+10V電壓。因此,在DA的外圍電路上,我們連接了一個放大器。放大器的作用是將DAC0832的輸出電流轉(zhuǎn)化成電壓,通過合理調(diào)整兩個滑動變阻器的阻值,可以調(diào)整輸出電壓的大小,即使D/A的輸出從0~5V變?yōu)椋?0V~10V。 安裝構(gòu)造圖 數(shù)/模轉(zhuǎn)換電路 〔二〕、電路主要參數(shù)計(jì)算 D/A轉(zhuǎn)換器用于將數(shù)字量轉(zhuǎn)換成模擬
17、量,他的輸入糧食數(shù)字量D,輸出量為模擬量VO,要求輸出的模擬量與輸入的數(shù)字量成正比,即: 其中VR為基準(zhǔn)電壓。 其中,,,…,是輸入的數(shù)字量代碼;n是輸入數(shù)字量的位數(shù)。 將D帶入得到:。該式說明,將輸入的每一位數(shù)字量轉(zhuǎn)換為與其相應(yīng)的模擬量,把各位對應(yīng)的模擬量相加就可得到該數(shù)字兩所對應(yīng)的模擬量。D/A轉(zhuǎn)換器的模擬輸出與數(shù)字量輸入成正比。 (三)、電路調(diào)試 調(diào)試方法:斷開電路負(fù)載,運(yùn)行測試程序,檢查各節(jié)點(diǎn)信號是否正確。 1.焊接完畢,而后再次認(rèn)真查線一遍然后再開場測試。 2.測試時,將電源板,單片機(jī),數(shù)模電路正確連接。按正確加電順序供電,如果一切正常可以開場進(jìn)一步的測試。 3.運(yùn)行
18、D/A測試程序數(shù)/模數(shù)據(jù)顯示窗口將有相應(yīng),數(shù)據(jù)顯示,數(shù)據(jù)為從00—FF順序遞增并不斷循環(huán)。另外輸出管腳會有鋸齒波。 測試程序如下: #include "C8051F020.h" #include "absacc.h" #include "data_define.c" #define C3 XBYTE[0x4000] #define TIMER 0x8000 #include "Init_Device.c" void delay(void); void main(void) { unsigned char x; Init_Devic
19、e();
while(1)
{ ++x; C3=x; delay(); }
}
void delay(void)
{
int i;
for(i=0;i 20、55之間。
轉(zhuǎn)換時間:100us〔fCK=640KHz時〕。
轉(zhuǎn)換誤差:±1LSB。
參考電壓:2.5V,即Vref=2.5V。
1.原理說明
模數(shù)轉(zhuǎn)換器,是將模擬電信號轉(zhuǎn)變成計(jì)算機(jī)能識別的數(shù)字信號。在模數(shù)轉(zhuǎn)換中,應(yīng)根據(jù)測量精度要求,考慮轉(zhuǎn)換電路的精度和分辨率,并力求降低成本。模數(shù)轉(zhuǎn)換有多種方法可以實(shí)現(xiàn),如采用電壓/頻率變換器,以頻率或脈寬來計(jì)算溫度,也可以采用A/D變換器或其它方法。如采用A/D變換器,應(yīng)考慮轉(zhuǎn)換器輸入阻抗和變送器輸出阻抗對信號的衰減可能引起的測試誤差,并盡量降低這一誤差。板間連接應(yīng)注意保護(hù)。根據(jù)課設(shè)要求,溫度0~100的變化是用電壓0~5V表示的,轉(zhuǎn) 21、成數(shù)字表示,即0~FFH。
2.電路的選擇
常用A / D電路的特點(diǎn):
積分型:將電壓轉(zhuǎn)換成脈寬信號或頻率,由定時器/計(jì)數(shù)器獲得數(shù)字值。優(yōu)點(diǎn):分辨率高;缺點(diǎn):轉(zhuǎn)換速率極低
逐次比較型:由比較器和DA轉(zhuǎn)換器通過逐次比較邏輯構(gòu)成,經(jīng)n次比較而輸出數(shù)字值。優(yōu)點(diǎn):速度較高、功耗低,在<12位分辯率時價格廉價
并行比較型:用多個比較器,僅作一次比較而實(shí)行轉(zhuǎn)換。優(yōu)點(diǎn):轉(zhuǎn)換速率極高;分辯率高時電路規(guī)模大、價格也高,只適用于低分辨率高速場合
壓頻轉(zhuǎn)換型:將模擬信號轉(zhuǎn)換成頻率,然后用計(jì)數(shù)器將頻率轉(zhuǎn)換成數(shù)字量,從理論上講其分辨率幾乎可以無限增加。優(yōu)點(diǎn):分辯率高、功耗低、價格低;但是需要外部計(jì)數(shù)電路共同 22、完成AD轉(zhuǎn)換
〔二〕、電路主要參數(shù)計(jì)算
(1) 轉(zhuǎn)換精度:
A/D轉(zhuǎn)換器也采用分辨率和轉(zhuǎn)換誤差來描述轉(zhuǎn)換精度。
分辨率是指引起輸出數(shù)字量變動一個二進(jìn)制碼最低有效位〔LSB〕時,輸入模擬量的最小變化量。他反映了A/D轉(zhuǎn)換器對輸入模擬量微小變化的分辨能力。在最大輸入電壓一定時,位數(shù)越多,量化單位越小,分辨率越高。
轉(zhuǎn)換誤差通常用輸出誤差的最大值形式給出,常用最低有效位的倍數(shù)表示,反映A/D轉(zhuǎn)換器實(shí)際輸出數(shù)字量和理論輸出數(shù)字量之間的差異。
(2) 轉(zhuǎn)換時間:
轉(zhuǎn)換時間是指轉(zhuǎn)換控制信號〔vL〕到來,到A/D轉(zhuǎn)換器輸出端得到穩(wěn)定的數(shù)字量所需要的時間。轉(zhuǎn)換時間與A/D轉(zhuǎn)換器類型有關(guān),並行比較 23、型一般在幾十個納秒,逐次比較型在幾十個微秒,雙積分型在幾十個毫秒數(shù)量級。
實(shí)際應(yīng)用中,應(yīng)根據(jù)數(shù)據(jù)位數(shù)、輸入信號極性與范圍、精度要求和采樣頻率等幾個方面綜合考慮A/D轉(zhuǎn)換器的選用。
(3) 8位數(shù)模轉(zhuǎn)換電路主要技術(shù)指標(biāo):
分辨率 --- 8位:表示能夠分辨的最小電壓變化
DATA 為 1 時的 Vi 表示最小電壓變化
誤差 --- ±1LSB
轉(zhuǎn)換時間 --- 100微秒
〔三〕、電路調(diào)試
調(diào)試方法:調(diào)整變送器電路在正常工作狀態(tài),連接變送器輸出至模/數(shù)轉(zhuǎn)換電路輸入。運(yùn)行測試程序,改變調(diào)試臺溫度設(shè)置值,檢查單片機(jī)采集到的數(shù)據(jù)是否正確,如果不正確按照故障診斷預(yù)案進(jìn)展診斷分析,并且排除 24、故障。
改變設(shè)置溫度,運(yùn)行A/D測試程序,檢查模/數(shù)轉(zhuǎn)換結(jié)果。在調(diào)試臺上通過+10按鍵不斷改變溫度數(shù)值。
模/數(shù)轉(zhuǎn)換電路
調(diào)試程序如圖:
#include "C8051F020.h"
#include "absacc.h"
#include "data_define.c"
#define C2 XBYTE[0x2000]
#define TIMER 0x8000
#include "Init_Device.c"
void delay(void);
void main(void)
{
unsigned char x;
Ini 25、t_Device();
while(1) { C2=x; delay(); x=C2; delay(); }
}
void delay(void)
{
unsigned char i;
for(i=0;i 26、較高。每位獨(dú)立控制,程序設(shè)計(jì)比較簡單,適用于顯示位數(shù)較少的場合。使用74LS273,采用此方案。
鍵盤接口方法
矩陣鍵盤電路方案:按鍵較多時,成本低,控制程序較直讀電路復(fù)雜,適用于顯示位數(shù)較多的場合。采用此方案。
原理圖如下:
最終我們的電路方案如以以下圖:
(二).電路調(diào)試
鍵盤/顯示電路
〔1〕顯示電路模塊調(diào)試
按照圖進(jìn)展電源板焊接完畢,而后再次認(rèn)真查線一遍然后再開場測試。測試時,將電源板,單片機(jī),顯示電路正確連接。按正確加電順序供電,如果一切正常可以開場進(jìn)一步的測試。運(yùn)行顯示模塊測試程序,如果電路工作正常,在4個數(shù)碼管上應(yīng)有數(shù)字0-9 滾動顯示。否那么,說明電路存在故 27、障。顯示電路的編程流程如圖:
試程序如圖:
#include "C8051F020.h"
#include "absacc.h"
#include "data_define.c"
#include "Init_Device.c"
#define ADC XBYTE[0x0000]
#define DP1 XBYTE[0x0001]
#define DP2 XBYTE[0x0002]
#define TIMER 0x8000
unsigned chartable[]={0xC0,0xF9,0xA4,0xB0,0x99 28、,0x92,0x82,0xF8,0x80,0x90};
void delay(void);
void display(unsigned char x,unsigned char y);
void main(void)
{
unsigned char x=0,y=0,z=0,num=0;
DP1=DP2=0xff;
Init_Device();
while(1)
{
ADC=x;
delay();
x=ADC;
x=(x*100)/256;
y=x%10;num=2;display(nu 29、m,y);
z=x/10;num=1;display(num,z);
}
}
void display(unsigned char x,unsigned char y)
{
if (x==1) DP1=table[y];
else DP2=table[y];
}
void delay(void)
{
unsigned int i;
for(i=0;i 30、列編碼。否那么,說明電路存在故障。
匯編程序流
調(diào)試程序如圖:
#include "C8051F020.h"
#include "absacc.h"
#include "data_define.c"
#define DP1 XBYTE[0x7000]
#define DP2 XBYTE[0x7100]
#define DP3 XBYTE[0x7200]
#define DP4 XBYTE[0x7300]
#define TIMER 0x8000
#include "Init_Device.c"
unsigned char t 31、able[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void display(unsigned char x,unsigned char y)
{
DP3=table[x];
DP4=table[y];
}
void main(void)
{
unsigned char l_val,r_val,r_state,temp,conter,x,c;
int key;
DP1=DP2=DP3=DP4=0xff;
Init_Device();
while(1)
32、 {
key=0x0004;
for(x=1;x<5;x++,key++)
{
c=XBYTE[key];
if(r_state=~c&0x1f)
{
for(conter=1,temp=0x01;conter<6;++conter,temp=temp<<1)
if((r_state&temp)!=0)
{
r_val=conter;
33、 l_val=x;
display(l_val,r_val);
}
}
}
}
}
七、溫度測量
1.內(nèi)容與原理
2.實(shí)驗(yàn)程序如下:
#include "C8051F020.h"
#include "absacc.h"
#include "data_define.c"
#define C0 XBYTE[0x0000]
#define C1 XBYTE[0x2000]
#define C2 XBYTE[0x4000]
#define DP1 34、 XBYTE[0x0000]
#define DP2 XBYTE[0x0001]
#define DP3 XBYTE[0x0002]
#define DP4 XBYTE[0x0003]
#define TIMER 0x8000
#include "Init_Device.c"
unsigned char table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char keymatrix[4][4]={0,1,2,3,4,5,6,7,8,9,'A','B','C', 35、'D','E','F'};
void display(unsigned char x,unsigned char y)
{
if (x==1) DP1=table[y];
else if(x==2) DP2=table[y];
else if(x==3) DP3=table[y];
else DP4=table[y];
}
void delay(void)
{
int i;
for(i=0;i 36、ow,r_state,temp,c;
unsigned int key=0x0004;
for(row=0;row<4;row++,key++)
{
c=XBYTE[key];
if(r_state=~c&0x1f)
{
for(col=0,temp=0x01;col<4;++col,temp=temp<<1)
if((r_state&temp)!=0) return keymatrix[row][col];
}
}
37、return 100;
}
unsigned char keyboard(unsigned char *dp)
{
unsigned char ch,i,j;
i=1;
do
{
i++;
ch=scan();
if(ch==100) continue;
else if(ch=='A') return 0;
dp[3+i%2]=ch;
display(3+i%2,ch);
for(j=0;j<10;j++) delay( 38、);
}while(1);
}
unsigned char OUT(signed char temperature_1,signed char temperature_2)
{
unsigned char output;
signed char dnum;
dnum=temperature_1-temperature_2;
if(dnum>0)
{
if(dnum==1) output=128+20;
else output=250;
}
else if(dnum<0) 39、
{
if(dnum==-1) output=128-20;
else output=5;
}
else output=128;
return output;
}
void main(void)
{
unsigned char num1,num2;
unsigned char dp[4];
unsigned char temperature,input;
DP1=DP2=DP3=DP4=0xff;
Init_Device();
aa:ke 40、yboard(dp);//Set and display the aimed temperature
num1=dp[3]*10+dp[4];
temperature=num1*255/100;
flag=0;
do
{
C1=input;
delay();
input=C1;//Read the current temperature
delay();
num2=(input*100)/256;
display(1,num2 41、/10);
display(2,num2%10);//Display current temperature
C2=OUT(temperature,input);//Output C2
if(scan(key)=='B') break;
}while(1);
goto aa;
}
3.調(diào)試過程:連接電路并運(yùn)行程序。觀察測溫系統(tǒng)數(shù)字顯示,應(yīng)跟隨調(diào)試臺設(shè)置溫度變化并與調(diào)試臺設(shè)置溫度接近。假設(shè)測量溫度與設(shè)置溫度相差過大的調(diào)試,那么需調(diào)整變送器。調(diào)試臺設(shè)置低端溫度,變送器進(jìn)展零點(diǎn)校準(zhǔn),調(diào)試臺設(shè)置高端溫度,變送器進(jìn)展?jié)M度校 42、準(zhǔn)。
以下是我們的實(shí)驗(yàn)截圖:
八、 心得體會
第二階段我們一共完成了測溫系統(tǒng)中的單片機(jī),A/D轉(zhuǎn)換,D/A轉(zhuǎn)換,顯示鍵盤電路一共四塊電路板。雖然有了第一階段的一些經(jīng)歷積累,沒有那么手忙腳亂,但是這四塊板子的難度相比第一階段來說是更加的高。第二階段我們主要面臨的問題有以下幾點(diǎn)。
第一點(diǎn)就是電路板需要焊接的線數(shù)量非常大,非常密集。這就意味著排線的難度大幅增加,同時在焊接過程中很容易出現(xiàn)失誤。在單片機(jī)這塊的焊接中,我們就出現(xiàn)了把芯管腳搞反,結(jié)果在插針焊接的時候錯了很多,要更改起來特別困難。另外在布線的構(gòu)造上我們也存在很大的問題,這就讓焊接的線變得很多很亂,在測試電路的時候出現(xiàn)問題,查線排除故 43、障進(jìn)展的非常緩慢。另外在顯示鍵盤電路這塊板子上,一開場四個數(shù)碼管只有兩個亮,我們以為是數(shù)碼管的問題,但更換之后問題依然存在。于是再進(jìn)展電路檢查,查了三四遍線路都認(rèn)為沒有問題這讓我們覺得非常奇怪,后來在和其他組同學(xué)的電路板比照之后發(fā)現(xiàn)少了兩根地線沒有接,還是我們焊接時候的粗心大意造成的。還有就是有些芯片的GND管腳沒有標(biāo)在管腳圖上,也被我們忽略了,這是缺乏經(jīng)歷的緣故。
最讓我們組頭痛的就是測溫系統(tǒng),將6塊板子組合在一起進(jìn)展測試。在之前我們每塊板子單個都通過了測試,可是沒有想到進(jìn)展測溫系統(tǒng)測試的時候竟然沒有成功。經(jīng)過推斷我們認(rèn)為問題肯定是出現(xiàn)在單片機(jī)上,但是不管是查線還是測試輸出波形都查不出問題 44、所在。在我們非常著急頭痛走投無路的時候,教師給予了我們巨大的幫助。在教師的測試下,一針見血的指出了A2管腳的線路有問題,經(jīng)過檢查果然如此,修正了電路之后果然就顯示了正確的結(jié)果。
最后一節(jié)課,我們還有幸聆聽了來自西門子的電子工程師的講座,為我們講述了他的學(xué)習(xí)經(jīng)歷,讓我們收獲頗豐。
本學(xué)期電子工程設(shè)計(jì)課程圓滿完畢,在這學(xué)期我們第一次嘗試去完成一個功能完善的電子系統(tǒng)。在這個過程中遇到了諸多的困難,但我們都頑強(qiáng)的客服了,我們的動手能力得到了鍛煉,讓我們明白紙上的電路轉(zhuǎn)換為實(shí)際的系統(tǒng),需要付出百倍的努力和耐心才能實(shí)現(xiàn)。也讓我們更加敬仰在歷史長河中那些為人類做出奉獻(xiàn)的電子工程師。
最后感謝高新的耐心 45、教導(dǎo)和幫助。
九、附錄
一、參考文獻(xiàn)
1.電子工程設(shè)計(jì)訓(xùn)練任務(wù)書(信息控制與通信局部) 北京工業(yè)大學(xué)出版社
2.模擬電子技術(shù)根基(第四版) 童詩白,華成英 高等教育出版社
二、插座定義
+5V
+5V
+5V
+5V
P3.2
ALE
RST
WD
P1,1
D0
RD
P1.2
D1
A4
P1.3
D2
A3
P1.4
D3
A2
P1.5
D4
A1
P3.5
D5
C4
P3.3
D6
C3
串行輸入
D7
C2
串行輸出
P3.4
C1
地
地
地
地
SEL
NC
+5V
+5V
地
地
BUSY
地
模數(shù)轉(zhuǎn)換輸入
ACK
地
變送器輸出
D8
地
驅(qū)動器輸入
D7
地
D6
地
數(shù)模轉(zhuǎn)換輸出
D5
地
D4
NC
-12V
-12V
D3
NC
D2
NC
+12V
+12V
D1
ERR
STB
NC
地
地
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學(xué)習(xí)解讀(規(guī)范增值稅的征收和繳納保護(hù)納稅人的合法權(quán)益)
- 2024《文物保護(hù)法》全文解讀學(xué)習(xí)(加強(qiáng)對文物的保護(hù)促進(jìn)科學(xué)研究工作)
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩