【正文】
mentation technology developmentControl and measurement instrumentation in today39。 P0=value[j+b]。 delay(5)。 if(b=85) //顯示到最后一個(gè)字,回頭顯示 { b=0。 unsigned char a。 } p++。 //return ad k}/************************************************* 點(diǎn)陣字符采集函數(shù)**************************************************/void tra(uchar *p) //數(shù)組dsp[]里面的字符查詢后,再儲(chǔ)儲(chǔ)存到另一個(gè)顯示數(shù)組value[]{ for(i=0。 ndat=ndat|j。 j=j|ADDO。 ADCLK=0。 _nop_()。 ADCLK=1。 ADCLK=1。//拉低CS端 _nop_()。 uint dat=0。void delay(int c) //延時(shí),C不能小于5 { int i,j。sbit sw=P3^0。 delay(150)。 delay(100)。 delay(150)。 //負(fù)號(hào),顯示 P2=0xff。 //負(fù)值換算 } t=t*()。 t=8。 WriteOneChar(0xCC)。0x01。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 delay(20)。 }//初始化函數(shù)void Init_DS18B20(void){ unsigned char x=0。sbit dots=P2^4。 //讀鍵. led_menu_pro()。 main_Menu()。 Init_Clock()。 …… default: break。 }v oid led_menu_show() { uchar n。 switch(keyval) { case 0: break。 //開始測(cè)量函數(shù) measure_menu[0].children_menus=NULL。 } * //初始化CPU結(jié)束//void main_menu_initial() //LCD主菜單初始化.//{ main1_menu[0].menu_count=4。 TR0=1。在這兩個(gè)月中,我根據(jù)設(shè)計(jì)進(jìn)度的安排,緊密地和本組同學(xué)合作,按時(shí)按量地完成了自己的設(shè)計(jì)任務(wù)。最后把所有模塊進(jìn)行優(yōu)化整合,便得到了一個(gè)完整的系統(tǒng)。根據(jù)設(shè)計(jì)前對(duì)該系統(tǒng)所要實(shí)現(xiàn)功能的要求,綜合考慮我們采用AT89C52單片機(jī)為控制核心,以數(shù)字式溫度傳感器DS18B電容式濕度傳感器HS1101作為測(cè)量元件。完成相同功能的電路劃分在一起,如果有兩部分電路的功耗都比較大,最好能將它們分開,給它們間斷供電降低功耗。掉電方式時(shí),片內(nèi)振蕩器停止工作,所有的運(yùn)行狀態(tài)都停止了,只加電維持片內(nèi)RAM內(nèi)容不被破壞。(3)、減小Ts,減小工作時(shí)間,完成采樣后盡快結(jié)束工作。另外重要一點(diǎn),只要看下編譯后生成的匯編代碼,就能體會(huì)到Keil C生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。本次系統(tǒng)的硬件設(shè)計(jì)其中的原理圖編輯和PCB布線就是在這個(gè)軟件環(huán)境中完成的,至于軟件設(shè)計(jì),則是采用proteus軟件中的ISIS和Keil uVision進(jìn)行聯(lián)合調(diào)試。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。即將液晶顯示模塊的數(shù)據(jù)線與單片機(jī)的Pl口連接作為數(shù)據(jù)總線,另外三根時(shí)序控制信號(hào)線通常利用單片機(jī)的P3口中未被使用的I/O口來控制。顯示器最好能夠顯示數(shù)據(jù)、圖形。⑷ 日歷、時(shí)鐘寄存器與控制字對(duì)照表、日歷、時(shí)鐘寄存器命令字、取值范圍以及各位內(nèi)容對(duì)照表。對(duì)時(shí)鐘芯片的要求首先是低功耗,其次是編程簡單,縮短程序開發(fā)時(shí)間,實(shí)際上也就縮短了系統(tǒng)用于實(shí)際生產(chǎn)所用的開發(fā)周期以及成本,在本系統(tǒng),我們選擇了DS1302時(shí)鐘芯片。各根I/O口線之間不會(huì)相互影響。 CLK 芯片時(shí)鐘輸入; C to +85176。 輸入輸出電平與TTL/CMOS相兼容; 逐次逼近型ADC包括1個(gè)比較器、一個(gè)模數(shù)轉(zhuǎn)換器、1個(gè)逐次逼近寄存器(SAR)和1個(gè)邏輯控制單元。:( 上電復(fù)位電路圖)RST引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。(2)復(fù)位電路部分設(shè)計(jì)單片機(jī)開始工作的時(shí)候,必須處于一種確定的狀態(tài),否則,不知哪是第一條程序和如何開始運(yùn)行程序。在次期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。 在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求接上拉電阻。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。 濕度測(cè)量電路HS1101是一個(gè)電容式濕敏元件,在電路中可等效成一個(gè)電容器件,其電容量隨著所測(cè)空氣濕度的增大而增大。單片機(jī)與DS18B20之間進(jìn)行應(yīng)答來采集溫度參數(shù),先將與DS18B20的連線電平拉低480μs以上,將DS18B20復(fù)位,再進(jìn)行操作。2 系統(tǒng)總體方案設(shè)計(jì) 本設(shè)計(jì)設(shè)計(jì)了一個(gè)只能化的低功耗溫濕度測(cè)量應(yīng)用系統(tǒng)。而溫濕度集散控制技術(shù)通常是利用溫濕度傳感器采集溫濕度信號(hào),然后將模擬信號(hào)進(jìn)行A/D變換,傳送給微處理器(下位機(jī))進(jìn)行處理、運(yùn)算,最后下位機(jī)將運(yùn)算結(jié)果上傳給控制中心(上位機(jī)),并由控制中心控制驅(qū)動(dòng)空調(diào)機(jī)、去濕機(jī)等設(shè)備進(jìn)行自動(dòng)控溫控濕,從而達(dá)到最終控溫控濕精度上的要求。系統(tǒng)設(shè)計(jì)方案如下圖所示:AT89C52時(shí)鐘電路復(fù)位電路濕度傳感器及A/D轉(zhuǎn)換溫度傳感器按鍵設(shè)置數(shù)據(jù)顯示( 系統(tǒng)方案圖)3 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)主要包括傳感檢測(cè)和單片機(jī)外圍電路設(shè)計(jì)。二、DS18B20的特點(diǎn)DS18B20具有獨(dú)特的一線接口、只需要一條口線通信多點(diǎn)能力,大大簡化了分布式溫度傳感應(yīng)用,無需外部元件,可用數(shù)據(jù)總線供電, V 無需備用電源測(cè)量溫度范圍為55 ℃至+125 ℃??梢詰?yīng)用于辦公自動(dòng)化,車廂內(nèi)空氣質(zhì)量控制,家電,工業(yè)控制系統(tǒng)等。Vcc:電源電壓 對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVRI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。 如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位復(fù)位,可禁止ALE操作。需要注意如果加位 LB1被編程, 復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。(1)晶振電路部分設(shè)計(jì)單片機(jī)工作的過程中各指令的微操作在時(shí)間上有嚴(yán)格的次序,這種微操作的時(shí)間次序稱作時(shí)序,單片機(jī)的時(shí)鐘信號(hào)用來為單片機(jī)芯片內(nèi)部各種微操作提供時(shí)間基準(zhǔn),89C52的時(shí)鐘產(chǎn)生方式有兩種,一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式。這便是復(fù)位電路的意義。隨著電容的充電,RST腳上的電壓才慢慢下降。優(yōu)點(diǎn)是分辨率低于12位時(shí),價(jià)格較低,采樣速率也很好。 一般功耗僅為15mW; CH0 模擬輸入通道0,或作為IN+/使用; 芯片轉(zhuǎn)換時(shí)間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。①硬件削除抖動(dòng)是采用硬件電路的方法對(duì)鍵盤的按下抖動(dòng)及釋放抖動(dòng)進(jìn)行削抖,經(jīng)過削除抖動(dòng)電路后使按鍵的電平信號(hào)只有兩種穩(wěn)定狀態(tài)。時(shí)鐘/RAM的讀/寫數(shù)據(jù)以一字節(jié)或多達(dá)31字節(jié)的字符組方式通信。數(shù)據(jù)輸出是在輸出命令字的8個(gè)SCLK周期之后,在接下來的8個(gè)SCLK周期中的每個(gè)脈沖的下降沿輸出數(shù)據(jù),數(shù)據(jù)從0位開始。該類液晶顯示模塊采用動(dòng)態(tài)的液晶驅(qū)動(dòng),可用5V供電。液晶顯示工作的電路圖如下所示:( 液晶顯示圖)4 軟件設(shè)計(jì)部分軟件設(shè)計(jì)主要包括主程序和特定功能的子程序,如溫度采集程序、顯示子程序、鍵盤程序。Proteus的元器件、連接線路等和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng),這在一定程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能。Keil C提供了包括C編譯器、宏匯編、連接器、庫管理和一格功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境將這些部分組合在一起??刂乒?,必須從內(nèi)部著手。在工作電壓5V的正常狀態(tài)下運(yùn)行,工作電流為24mA。通常在速度要求不高的測(cè)控系統(tǒng)中選擇6MHz晶振頻率。這樣才能使單片機(jī)低功耗計(jì)數(shù)系統(tǒng)的設(shè)計(jì)更加完善,本次系統(tǒng)仿真采用的是軟件仿真,使用的是proteus軟件。編寫的思路就是模塊化的思想,將系統(tǒng)的各個(gè)功能進(jìn)行劃分,然后對(duì)各個(gè)模塊進(jìn)行設(shè)計(jì)。但在仿真上是無法實(shí)現(xiàn)濕度傳感器模擬的,因此本設(shè)計(jì)采用滑動(dòng)變阻器模擬傳感器檢測(cè)濕度時(shí)輸出的模擬信號(hào),經(jīng)ADC0832轉(zhuǎn)換成數(shù)字信號(hào)輸入單片機(jī)。畢業(yè)設(shè)計(jì)是對(duì)大學(xué)四年專業(yè)知識(shí)的一次綜合應(yīng)用、擴(kuò)充和深化,也是對(duì)我們理論運(yùn)用于實(shí)際的一次鍛煉。 TH1=0x3c。 main1_menu[0].children_menus=measure_menu。 measure_menu[1].display=qx。 user_choosen。n4。n++) { draw_bmp((n+1)*2,20,32,0,menu_led[n].display)。delay(2000)。 measure_menu_initial()。//sbit k_power=P3^3。 //定義通信端口//延時(shí)函數(shù)unsigned char tab[]={ 0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xff}。 //稍做延時(shí) DQ = 0。for (i=8。}//寫一個(gè)字節(jié)void WriteOneChar(unsigned char dat){ unsigned char i=0。 dat=1。 WriteOneChar(0xCC)。 //高位左移4位,舍棄符號(hào)位 //t=t|a。 //百位數(shù) disdata[1]=i%1000/100。 delay(150)。 P0=tab[disdata[1]]。 P0=0x7f。}void main(void){ unsigned int temp。 //ADC0832 k insbit ADDO =P3^3。i++) for(j=0。 if(channel==1)channel=3。//拉高CLK端 _nop_()。 _nop_()。 _nop_()。i8。 dat=1。 _nop_()。//拉低CS端 ADCLK=0。j16。i++) //前16個(gè)和后21個(gè)消隱作用,不顯示 value[i]=0。 sprintf(dsw,%,l)。i16。 j+=2。 P0=0x00。 control and measurement instrumentation development trends and characteristics, as well as instrumentation and measurement of China39。s control and measurement instrumentation has been developed rapidly. Second, the basic profiles Turning to the control and measurement instrumentation in the fundamental profile, should include two aspects, that is, disciplines and industries. Instrumentation is not a separate academic subject? The past has been controversial. Today, we can not hesitate to answer, instrumentation and measurement has been developed to control the formation of an independent academic integrity. The reason why draw such a conclusion, we have four good reasons. First, control and mea