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