【正文】
p microputer as a machine acquisition under various measurement signal and data, through serial munication information transmission to the upper machine willPC, by a PC global management.This course design uses keil software piler language C source code. After the missioning, loaded into the single chip microputer, and simulation plete intelligent instrument the core design.Keyword: STC89C51 singlechip microputer, A/D converter, platinum of resistance, EPROM, intelligent instrument, digital temperature thermometer第一章 設(shè)計(jì)目的及原理:題目要求:27. 試設(shè)計(jì)智能儀表實(shí)現(xiàn)智能數(shù)字顯示儀表。 By way of microputer choose the analog switch will each input channel one signal into programcontrolled gain amplifier, enlarge the signal after the A/D converter converted into the pulse signal into the single chip microputer after。此外,智能儀器還可以與PC機(jī)組成分布式測控系統(tǒng),由單片機(jī)作為下位機(jī)采集各種測量信號與數(shù)據(jù),通過串行通信將信息傳輸給上位機(jī)——PC機(jī),由PC機(jī)進(jìn)行全局管理。本次設(shè)計(jì)使用PT100熱電阻。它的出現(xiàn),極大地擴(kuò)充了傳統(tǒng)儀器的應(yīng)用范圍。智能儀器憑借其體積小、功能強(qiáng)、功耗低等優(yōu)勢,迅速地在家用電器、科研單位和工業(yè)企業(yè)中得到了廣泛的應(yīng)用。目前的智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的,它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶,特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU)。 本次課程設(shè)計(jì)采用keil編譯軟件編寫C語言源代碼。 Single chip set by the instrument according to the initial corresponding data operation and treatment (such as nonlinear correction etc.)。要求8位數(shù)碼管顯示(4位顯示測量值,4位顯示設(shè)定值),4輸入按鈕(功能選擇、數(shù)碼管選擇、數(shù)字增加、數(shù)字減少),可設(shè)定上下限報警(蜂鳴器報警)。智能儀器課程設(shè)計(jì)是智能儀器課程教學(xué)的重要環(huán)節(jié),根據(jù)設(shè)計(jì)智能儀表產(chǎn)品的課程改革目的,特選擇一些小型智能儀表產(chǎn)品作為課設(shè)題目,滿足教學(xué)需求。通過課程學(xué)習(xí)熟悉單片機(jī)內(nèi)部資源,學(xué)會ADC、SPI接口、定時器、中斷、串口、I/O引腳等模塊的編程。在畫PCB前應(yīng)該購買元件,因?yàn)橛辛嗽胖婪庋b尺寸,本次設(shè)計(jì)只到元件商店測量實(shí)際元件尺寸后,使用Protel99SE畫封裝圖。:PT100是溫度敏感元件,由于溫度不同,它的電阻值不同變化。其系統(tǒng)框圖如圖1所示,它通過Pt100熱電阻傳感器獲取繞組溫度值,經(jīng)信號調(diào)理電路處理后直接送入控制器的A/D轉(zhuǎn)換輸入端。該單片機(jī)具有如下資源:(1)一個8位算術(shù)邏輯單元(CPU)。(5)5個中斷源,具有兩個中斷優(yōu)先級。(9)開放總線接口,P0口分時作為8位數(shù)據(jù)總線與8位地址總線,P2口作為地址總線高8位。SP:棧指針寄存器B:用于乘除等操作的寄存器,常保存運(yùn)算的第2操作數(shù)。PC+1:程序計(jì)數(shù)器加1處理模塊。WDT:看門狗。編程邏輯:控制ISP操作。 Pt100溫度測量接口技術(shù):下圖為Pt100電阻外觀:圖4 Pt100電阻(1)鉑金屬熱電阻簡介鉑金屬電阻精度高,穩(wěn)定性好,具有一定的非線性,溫度越高電阻變化率越小;最常用鉑電阻按照0℃時的電阻值分為R0=10Ω、R0=100Ω和R0=1000Ω等幾種,稱為PtPt100、Pt1000;鉑電阻阻值與溫度之間的關(guān)系呈非線性,即Rt = R0 ( I +αt +βt2 ) (t在0~630℃之間) 式中: Rt是鉑熱電阻的電阻值,單位為Ω。;B 級R0=100177。若RT分度表沒該溫度下的電阻值,通過線性內(nèi)插法,大概估算溫度值。鉑熱電阻是一種精確、靈敏、穩(wěn)定的溫度傳感器。目前熱電阻的引線主要有三種方式 ○1二線制:在熱電阻的兩端各連接一根導(dǎo)線來引出電阻信號的方式叫二線制:這種引線方法很簡單,但由于連接導(dǎo)線必然存在引線電阻r,r大小與導(dǎo)線的材質(zhì)和長度的因素有關(guān),因此這種引線方式只適用于測量精度較低的場合 ○2三線制:在熱電阻的根部的一端連接一根引線,另一端連接兩根引線的方式稱為三線制,這種方式通常與電橋配套使用,可以較好的消除引線電阻的影響,是工業(yè)過程控制中的最常用的引線電阻。采用三線制是為了消除連接導(dǎo)線電阻引起的測量誤差。工業(yè)上一般都采用三線制接法。驅(qū)動芯片74LS573、 圖12 數(shù)碼管段驅(qū)動 圖13 數(shù)碼管位驅(qū)動圖14 顯示電路圖15 HC595驅(qū)動芯片圖16 指示電路指示電路是指示按鍵的輸入狀態(tài)的。蜂鳴器發(fā)出聲。元器件選型MOC3063。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。1. 引腳功能及結(jié)構(gòu) ①DS1302 引腳:X1 X2 晶振管腳GND 地CE 復(fù)位腳I/O 數(shù)據(jù)輸入/輸出引腳SCLK 串行時鐘Vcc1,Vcc2 電源供電管腳②各引腳的功能為:Vcc1:主電源;Vcc2:備份電源。X1和X2是振蕩源。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。SCLK始終是輸入端。最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。圖27 DS1302的控制字節(jié)圖28 典型電路此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。這三條線分別接到CPU的I/O線上。圖29 比例控制曲線不同比例系數(shù)Kp下對象溫度變化示意圖,但達(dá)不到無凈差輸出。out=kp*e+out0。溫度范圍0~200℃的熱電阻PT100的表格如下:unsigned char code R_TABLE[21]={100,,,}。Am 一次測量儀表的上限(測量范圍最大值)。 溫度數(shù)據(jù)顯示子程序: 顯示數(shù)據(jù)子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,查表送段碼至LED,開位碼顯示,采用動態(tài)掃描方式。該算法偽代碼為:if(PV=SV)out =‘OFF’;else out =‘ON’;程序中,SV是設(shè)定值,通常保存在單片機(jī)系統(tǒng)中的E2PROM中,PV是測量值。若SV+為正設(shè)定值,SV為負(fù)設(shè)定值,則該算法偽代碼如下:if(PV SV+)out =‘OFF’;if (PV SV)out =‘ON’;圖33 具有回差的二位式控制(3)三位式控制三位式控制比二位式控制多了一個半功率加熱區(qū),當(dāng)測量溫度低于下限設(shè)定值SV時,全功率加熱,當(dāng)高于下限設(shè)定值SV,低于上限設(shè)定值SV+時,半功率加熱,在高于上限設(shè)定值SV+時,停止加熱。 out2=’ON’。 out2=’OFF’。(2)按鈕任務(wù):檢測按鈕并執(zhí)行按鈕動作,需要軟件消除抖動。數(shù)值增加按鈕:用于設(shè)置數(shù)值的增加,每按下一次,數(shù)值加1。不需要每個主程序循環(huán)都發(fā)送顯示任務(wù),因此可在定時器0中斷中設(shè)置顯示任務(wù)執(zhí)行標(biāo)記,當(dāng)標(biāo)記為1時,執(zhí)行顯示任務(wù)。要求連續(xù)讀取8個數(shù)據(jù),然后取平均值。圖35 是TLC1549 的引腳示意圖,其中A0~A10 是11路輸入,Vcc 和GND 分別是電源引腳,REF+和REF分別是參考電源的正負(fù)引腳,使用時一般將REF接到系統(tǒng)的地,達(dá)到一點(diǎn)接地的要求,以減少干擾。圖35 TLC1549 的引腳示意圖TLC1549時有六種基本串行接口時序模式可供選用,這些模式的區(qū)分主要取決于I/O CLOCK的速度和CS的變化,如表3。圖37 24CXX系列器件地址信息(6)TLC5615任務(wù),該任務(wù)是把溫度轉(zhuǎn)換成的代表電流的數(shù)字寫入TLC5615,實(shí)現(xiàn)電流輸出。其主要特點(diǎn)如下:●單5V電源工作;●3線串行接口;●高阻抗基準(zhǔn)輸入端(見圖38);●DAc輸出的最大電壓為2倍基準(zhǔn)輸入電壓;●上電時內(nèi)部自動復(fù)位;●微功耗,最大功耗為1.75mw;●轉(zhuǎn)換速率快,更新率為1.21MHz;TLC5615的內(nèi)部功能框圖如圖39所示,它主要由以下幾部分組成:10位DAC電路;一個16位移位寄存器,接受串行移入的二進(jìn)制數(shù),并且有一個級聯(lián)的數(shù)據(jù)輸出端DOUT;并行輸入輸出的l 0位DAC寄存器,為l 0位DAC電路提供待轉(zhuǎn)換的二進(jìn)制數(shù)據(jù);電壓跟隨器為參考電壓端REFIN提供很高的輸入阻抗,大約10MΩ:電路提供最大值為2倍于REFIN的輸出;上電復(fù)位電路和控制電路圖39 TLC5615內(nèi)部功能圖***引腳功能:8腳直插式TLC5615的引腳分布如圖40所示,各引腳功能如下:●DIN,串行二進(jìn)制數(shù)輸入端;●SCLK,串行時鐘輸入端;●CS,芯片選擇,低有效;●DOUT,用于級聯(lián)的串行數(shù)據(jù)輸出;●AGND,模擬地;●REFIN,基準(zhǔn)電壓輸入端;●OUT,DAC模擬電壓輸出端;●VDD,正電源電壓端。因?yàn)镻T100的電阻值與溫度之間呈非線性,因此需要查表法矯正。而有回差比例控制就是有兩個設(shè)定值,當(dāng)所測溫度高于上設(shè)定值時停止加熱;當(dāng)?shù)陀谙略O(shè)定值時,開始加熱,上下設(shè)定值之間的溫度差稱為回差。④計(jì)算TLC5615需要的數(shù)字,就是將溫度值轉(zhuǎn)換成電流值。}//DAC轉(zhuǎn)換語句:if (DAC_time= =1) //如果DAC轉(zhuǎn)換標(biāo)記DAC_time=1,將數(shù)據(jù)寫入DAC{TLC5615數(shù)據(jù)輸出語句;DAC_time=0。if(n= = display_time0) //display_time0為顯示周期{n=0。}if(k= = control_time0) //control_time0為控制周期{k=0。}} 系統(tǒng)流程圖:開始系統(tǒng)初始化DS1302時鐘信號采集PT100溫度數(shù)據(jù)采集處理讀到的數(shù)據(jù)結(jié)束 開始初始化函數(shù)DS1302數(shù)據(jù)的寫入DS1302數(shù)據(jù)的讀取返回圖41 系統(tǒng)總流程圖 圖42 DS1302時鐘流程圖開始初始化函數(shù)A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換將轉(zhuǎn)換后的電壓轉(zhuǎn)換為溫度返回 開始初始化函數(shù)A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換將轉(zhuǎn)換后的電壓轉(zhuǎn)換為溫度返回圖43 A/D轉(zhuǎn)換器流程圖 圖44 溫度轉(zhuǎn)換流程圖開始系統(tǒng)初始化調(diào)用時間、溫度子程序調(diào)用顯示子程序調(diào)用掃描按鍵程序 Key1=0 ?NYYNNY開始初始化按鍵掃描調(diào)用加鍵調(diào)時調(diào)用顯示程序調(diào)用減鍵調(diào)時調(diào)用顯示程序返回主程序Key2=0 ?Key3=0 ? 圖45 顯示流程圖 圖46 按鍵流程圖第四章 總電路圖 PROTEL99SE電氣原理圖:圖47 總電氣原理圖 PCB版圖:電源連接口,連接時注意極性,接錯將損壞單片機(jī)作為電源開關(guān)的跳線短路7805的跳線DX210k電位器模擬電源輸出JMN1LED燈與模擬輸入的跳線DADA2電源指示燈按鈕共陽數(shù)碼管外晶體跳線、DS1302外參考電壓跳線外接晶體編程接口STC89C51單片機(jī)圖48 PCB版Protel99SE簡介:Protel99SE是應(yīng)用于Windows9X/2000/NT操作系統(tǒng)下的EDA設(shè)計(jì)軟件,采用設(shè)計(jì)庫管理模式,可以進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及3D模擬功能,是一個32位的設(shè)計(jì)