freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

室內(nèi)環(huán)境測量課程設(shè)計(jì)-閱讀頁

2025-07-12 09:30本頁面
  

【正文】 8位模擬量輸入引腳VCC+5V工作電壓REF(+)參考電壓正端REF()參考電壓負(fù)端STARTA/D轉(zhuǎn)換啟動信號輸入端ALE地址鎖存允許信號輸入端EOC轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平OE輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。A、B、C地址輸入線ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。輸入的模擬電壓為0~5V,一次A/D轉(zhuǎn)換時間為100μS。其中對應(yīng)每一種有毒氣體都有一紅一綠兩個發(fā)光二極管與其對應(yīng),正常情況下對應(yīng)綠色的發(fā)光二極管亮,蜂鳴器不響;當(dāng)氣體的濃度超標(biāo)時,對應(yīng)紅色的發(fā)光二極管亮,并啟動蜂鳴器。本課題所要顯示的數(shù)據(jù)一共有5個,分別是3種有毒氣體的濃度和室內(nèi)的溫度、濕度,故選用2行16個字符的LCD1602作為顯示模塊,滿足顯示要求。 LCD1602采用標(biāo)準(zhǔn)的16腳接口,有8位數(shù)據(jù)總線D0~D7,和RS、R/W、EN三個控制端口,工作電壓為5V,并且?guī)в凶址麑Ρ榷日{(diào)節(jié)和背光。 AT89S52芯片具有復(fù)位操作功能。在每次上電之后都應(yīng)使芯片處于復(fù)位狀態(tài),即給RST一個兩個機(jī)器周期以上高電平位觸發(fā)信號。其結(jié)構(gòu)簡單,容易實(shí)現(xiàn),一般的單片機(jī)系統(tǒng)都用此復(fù)位系統(tǒng),還外加一個復(fù)位按鍵,可以人為的給芯片加一個復(fù)位信號。當(dāng)輸出電流較大時,7805應(yīng)配上散熱板。該儀器能夠?qū)崿F(xiàn)有毒氣體濃度信號和溫濕度信號采集與顯示及超標(biāo)聲光報(bào)警等功能。首先討論了有毒氣體采集模塊中傳感器選擇問題及模擬放大電路的設(shè)計(jì)問題,最后討論了系統(tǒng)的外圍接口電路模塊,包括液晶顯示,聲光報(bào)警等,實(shí)現(xiàn)了各外圍接口電路模塊與AT89S52的硬件接口設(shè)計(jì)。這種方法對于設(shè)計(jì)復(fù)雜的單片機(jī)系統(tǒng)很有效。(說明:系統(tǒng)硬件設(shè)計(jì)的電路原理圖附在論文的附錄里面。對同一硬件電路,配以不同的軟件,它所實(shí)現(xiàn)的功能也就不同,其設(shè)計(jì)軟件基本要求:。、易維護(hù)性。目前存在有4種編程語言支持單片機(jī),即匯編語言、PL/M51語言、C語言和BASI語言。結(jié)合本系統(tǒng)的特點(diǎn),這里選用了功能強(qiáng)、效率高的C語言。C語言能寫出最優(yōu)化程序,且能反映出計(jì)算機(jī)的實(shí)際運(yùn)行情況。具有良好的模塊化、容易閱讀、維護(hù)等優(yōu)點(diǎn),且編寫的模塊程序易于移植。 室內(nèi)空氣品質(zhì)檢測儀功能需求框圖,系統(tǒng)軟件主要由溫濕傳感器采集模塊、AD轉(zhuǎn)換模塊、人機(jī)接口模塊、聲光報(bào)警模塊、核心控制器模塊、無線通訊模塊等模塊構(gòu)成。軟件設(shè)計(jì)中包含有:主程序模塊、顯示模塊、A/D數(shù)據(jù)轉(zhuǎn)換子模塊、聲光報(bào)警模塊、數(shù)據(jù)轉(zhuǎn)換模塊、中斷處理模塊等。,提高了系統(tǒng)的實(shí)時處理事件能力。軟件抗干擾措施提高了系統(tǒng)的可靠性。 。程序開始時,先關(guān)閉中斷,對系統(tǒng)進(jìn)行初始化,包括單片機(jī)的各寄存器、RAM、定時器裝載初值、中斷設(shè)置及各模塊初始化等。 AD轉(zhuǎn)換模塊由于定電位電解式氣體傳感器工作響應(yīng)時間為1020秒左右,故進(jìn)行模數(shù)轉(zhuǎn)換前設(shè)置AD等待25秒,以保證傳感器響應(yīng)完成并使所測數(shù)據(jù)準(zhǔn)確。,設(shè)定一定的時間讓CPU處于等待狀態(tài),此時間足夠AD完成轉(zhuǎn)換,過了等待時間CPU再去讀取數(shù)據(jù)。所用的芯片為AD0809,根據(jù)所需的要求,首先AD先等待25秒以使得傳感器完全響應(yīng)完畢,然后AD開始工作,當(dāng)轉(zhuǎn)換完成后向CPU發(fā)出一個中斷信號告訴CPU可以讀取數(shù)據(jù),CPU響應(yīng)中斷,從PB口讀取轉(zhuǎn)換完畢后的8位二進(jìn)制數(shù)據(jù),再進(jìn)一步進(jìn)行處理。系統(tǒng)上電后,對單片機(jī)、ADC0809進(jìn)行初始化,開單片機(jī)總中斷,外部中斷0,AD轉(zhuǎn)換結(jié)束后,進(jìn)入中斷子程序讀取轉(zhuǎn)換結(jié)果存放在全局變量中,然后進(jìn)行數(shù)據(jù)分析、計(jì)算與處理,以便以后單片機(jī)進(jìn)行數(shù)據(jù)LCD的顯示處理。1602液晶與CPU是并口通信,、單片機(jī)P2口傳輸數(shù)據(jù)到1602進(jìn)行顯示。上電后液晶顯示“HELLO IAQ MONITOR”,以便檢測電路是否正確;當(dāng)檢測到按鍵按下后,分別按照按鍵功能顯示三種氣體濃度以及溫濕度顯示。 在這一章里對室內(nèi)便攜式只能空氣品質(zhì)監(jiān)測儀的軟件設(shè)計(jì)進(jìn)行了較詳細(xì)的介紹。在本章開始給出了主程序結(jié)構(gòu)流程圖,然后分別對各個子模塊的軟件流程進(jìn)行介紹。2.系統(tǒng)軟硬件設(shè)計(jì)合理,其中單片機(jī)軟件采用模塊化的程序設(shè)計(jì)方法,各模塊相互獨(dú)立,提高了系統(tǒng)的可靠性和可擴(kuò)展性,整個系統(tǒng)具有較高的性能價格比。4.系統(tǒng)功能獨(dú)立,配置合理。5 .經(jīng)運(yùn)行驗(yàn)證,系統(tǒng)具有響應(yīng)速度快,操作簡便,工作可靠等特點(diǎn)。2.由于室內(nèi)各種環(huán)境因子相互影響,而本系統(tǒng)的控制輸出僅為簡單的百分比信號量,這顯然不能滿足高精度的控制要求,應(yīng)引入模糊算法,專家系統(tǒng)等技術(shù)以進(jìn)一步提高系統(tǒng)的智能決策水平。5.可通過網(wǎng)絡(luò)與其他家電相聯(lián)系,將把家庭中原來孤立、各不相關(guān)的設(shè)備統(tǒng)一起來,使過去只出現(xiàn)在科幻中的很多情景成為可能!6. 本設(shè)計(jì)有8路氣體檢測,未來可以實(shí)現(xiàn)更多的檢測功能。 ,現(xiàn)代空調(diào)都是針對空氣溫濕進(jìn)行調(diào)節(jié),可以將本設(shè)計(jì)加入空調(diào)內(nèi)部,使其既能控制溫濕度,還可以對空氣中的各種氣體進(jìn)行檢測,并通過控制“新風(fēng)系統(tǒng)”改善空氣各方面的質(zhì)量。Ⅲ)Assembly languaye Design and Interface 3rd ed.附 錄附錄一 原理電路圖附錄二 程序清單void main(){ init52()。 lcd_init()。 predisplay()。 Hmeasure()。 }}// ********initial 8255 *********// void init8255(void){ add8255=0x8b。//00010101 P13=0。}//****initial AT89S52*****// void init52(void) { EA=1。// allow interrupt ext0 IT0=1。 }void initad(){ P10=0。 ST=1。 ST=0。delay(1)。delay(1)。delay(1)。delay(1)。 for(i=0。i++) for(j=0。j++)。rs = 0。ep = 1。_nop_()。 0x80)。return result。//判斷LCD是否忙碌rs = 0。ep = 0。_nop_()。_nop_()。ep = 1。_nop_()。}/****設(shè)定顯示位置子程序*******/void lcd_pos(uchar pos){lcd_wcmd(pos | 0x80)。//判斷LCD是否忙碌rs = 1。ep = 0。_nop_()。ep = 1。_nop_()。}/************預(yù)顯示************/void predisplay(){uchar i。//設(shè)置顯示位置i = 0。\039。//顯示字符i++。// 設(shè)置顯示位置i = 0。\039。// 顯示字符i++。// 設(shè)置顯示位置lcd_wdat(p)。lcd_pos(0x0b)。\039。//顯示字符i++。for(i=0。i++){if(i==1) {lcd_pos(7)。.39。//顯示字符 } else {lcd_pos(6+i)。//顯示字符 }}}void display_ad2(){uchar i=0。i=3。 lcd_wdat(39。)。 lcd_wdat(0x30+y[3i])。i=PC8255。0xf8。break。break。break。break。break。lcd_wcmd(0x01)。lcd_pos(0x01)。while(dis3[i] != 39。){lcd_wdat(dis3[i])。}display_ad()。bell_judgeHCHO()。PA8255=0x15。 P15=1。//清屏delay(1)。//設(shè)置顯示位置i = 0。\039。//顯示字符i++。display_ad2()。PA8255=0x15。 P15=1。//清屏delay(1)。//設(shè)置顯示位置i = 0。\039。//顯示字符i++。display_ad2()。PA8255=0x15。 P15=1。//清屏delay(1)。//設(shè)置顯示位置i = 0。\039。//顯示字符i++。//設(shè)置顯示位置i = 0。\039。//顯示字符i++。bell_judgeTEM()。lcd_wcmd(0x01)。lcd_pos(0x01)。while(dis7[i] != 39。){lcd_wdat(dis7[i])。}lcd_pos(0x0b)。while(dis9[i] != 39。){lcd_wdat(dis9[i])。}TH_convert_display(hum2)。}// ******** 報(bào)警判斷子程序 ****//void bell_judgeHCHO(){ if(den130) bell2()。 }void bell_judgeNH3(){if(den2) bell()。 }void bell_judgeHUM(){if(70hum2||hum230) bell()。//01101010。while(1)。PA8255=0x6a。P13=1。 。 for(i=ms。i) for(j=112。j)。 SHT11_DATA=1。 SHT11_DATA=0。 SHT11_SCK=0。 SHT11_SCK=1。 SHT11_DATA=1。 SHT11_SCK=0。 for(i=0。i++) { if(datamp。 Delay()。 Delay()。 SHT11_SCK=1。 SHT11_SCK=0。 Delay()。 SHT11_SCK=0。}/****檢測溫濕度檢測是否完畢*****/void SHT11_Test_Finish(){ while(SHT11_DATA==1)。 uchar dat。 Delay()。i8。 Delay()。 if(SHT11_DATA) { dat=dat|0x01。 } else { dat=datamp。 Delay()。 Delay()。 //釋放數(shù)據(jù)總線 return(dat)。 Delay()。 Delay()。 Delay()。 Delay()。 //釋放數(shù)據(jù)總線 }/*****當(dāng)接收兩個8byte數(shù)據(jù)后部收CRC校驗(yàn)碼************/void SHT11_End(){ SHT11_DATA=1。 Delay()。 Delay()。 SHT11_Sendbyte(mand)。 SHT11_Sendbyte(dat)。}/********************************設(shè)置SHT11檢測功能,并返檢測結(jié)果*******************************/uint SHT11_Measure(uchar mand,uchar time){ uint dat=0。 SHT11_Start()。 SHT11_Answer()。 SHT11_Test_Finish()。 MCU_Answer()。 SHT11_End()。 dat=(dat8)|data_low。 }/********************************函數(shù)功能:將檢測到的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的溫度數(shù)據(jù)溫度轉(zhuǎn)換公式T=d1+d2*SOt 公式中的參數(shù)d1=40,d2= ********************************/float SHT11_Convert_Tempeture12bit(uint dat){ float tempeture1。 if(tempeture1) { flag_tempeture=1。 } return(tempeture1)。 RHline=4+**dat*dat。 if(RHtrue) { flag_humidity=1。 } return(RHtrue)。 tem1=SHT11_Measure(TEM_TEST,0x0c。 }void Hmeasure() //濕度測量{SHT11_Write_Register(REG_WRITE,FUNCTION_SET)。 hum2=SHT11_Convert_Humidity8bit(hum1,tem2)。uchar TEM[5]={0}。shuju1=shuju*100。else if(shuju1 100) biaozhi = 2。else if(shuju1 10000) biaozhi = 4。 case 3: TEM[3]=shuju1%1000/100。 case 1: TEM[0]=shuju1%10。 default:break。i0。.39。 else display_char(11i,0x30+TEM[i1])
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1