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

正文內(nèi)容

單片機(jī)溫濕度傳感器課程設(shè)計(jì)-在線瀏覽

2024-08-06 09:24本頁面
  

【正文】 40℃~℃,℃;測濕范圍為0~100%RH,%RH。4系統(tǒng)設(shè)計(jì)方案液晶顯示1602單片機(jī)AT89C52傳感器 :采用溫濕度一體化的傳感器DHT11采集溫濕度數(shù)據(jù),DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。DHT11原理圖 DHT11實(shí)物圖:由于本實(shí)驗(yàn)proteus庫中無dht11模塊,使用sht11代替。方案一中系統(tǒng)的控制核心是AT89C52單片機(jī),它的主要作用是讀取溫濕度傳感器工作時(shí)的內(nèi)部參數(shù),測試的結(jié)果可以顯示在LCD上面。這是整個(gè)系統(tǒng)的大腦,它發(fā)出操作命令指揮系統(tǒng)工作。依照所需設(shè)計(jì)的要求和控制的目的,本次畢業(yè)設(shè)計(jì)選擇了AT89C52芯片,該芯片里面包含4k Bytes ISP的能多次燒入的Flash器件,是一類簡單高效率的CMOS 8位芯片。AT89C52芯片還包括MCS52系統(tǒng)的操作命令與89C52管腳的排列,其中較重要的8位CPU和ISP Flash存儲單元是它的核心部件。AT89C52芯片具16位可編程定時(shí)計(jì)數(shù)器3個(gè),有引腳40個(gè),全雙工串行通信口2個(gè),外部雙向輸入/輸出(I/O)端口32個(gè),外中斷口2個(gè),讀寫口線2個(gè),AT89C52芯片的管腳結(jié)構(gòu)如下圖所示:單片機(jī) 晶振電路模塊與復(fù)位電路模塊晶振電路模塊:單片機(jī)的工作條件是要在時(shí)鐘驅(qū)動(dòng)的作用下才可以穩(wěn)定的進(jìn)行工作,所需的電容大小通常為30PF。在時(shí)鐘驅(qū)動(dòng)作用下,晶振電路所提供的信號脈沖就是單片機(jī)的工作速度。就于多大的頻率才能使單片機(jī)更好的更穩(wěn)點(diǎn)的工作的問題,一般情況下其工作時(shí)所需要的頻率在24MHZ左右,超過這個(gè)值,系統(tǒng)工作就不穩(wěn)定了。復(fù)位電路模塊:復(fù)位電路在設(shè)計(jì)的系統(tǒng)中起著重要的作用,它保障了設(shè)計(jì)的系統(tǒng)可以在穩(wěn)定的環(huán)境下工作,復(fù)位電路的主要作用功能就是上電復(fù)位。下圖為其仿真圖: 晶振電路和復(fù)位電路 LCD顯示電路是本系統(tǒng)的功能具體體現(xiàn)的重要模塊,實(shí)現(xiàn)了對溫濕度檢測的液晶屏控制的功能。其顯示模塊先接受來自單片機(jī)處理后的信號,再將其結(jié)果顯示在液晶屏幕。1602本身內(nèi)置各種字符,還可以自定義顯示字符。 ~,寫操作時(shí),使能端下降沿有效。RS=0,寫操作時(shí)指向指令寄存器,讀操作時(shí)指向地址寄存器;RS=1,無論讀操作還是寫操作都指向數(shù)據(jù)寄存器。背光電源線LCD正負(fù)兩端分別接電源和地即可。下圖為其仿真圖: 溫濕度傳感器 仿真圖上三個(gè)按鍵:↑ ↓ ?來控制操作?!窃龃蟀存I,↓是減小按鍵。最后通過keil uVision軟件編寫的C語言程序,轉(zhuǎn)換成HEX文件下載到畫好的的電路上進(jìn)行調(diào)試。因?yàn)槲覀冏龅恼n設(shè)里面因?yàn)閜roteus庫中沒有DHT11元件,導(dǎo)致我們做了將近一個(gè)星期的課設(shè)全部推翻。從一開始的不了解,覺得很復(fù)雜,有傳感器、單片機(jī)和1602,最麻煩的是還要編程序;到最后的完成,對各個(gè)模塊都有了更深認(rèn)知。 1. 把傳感器技術(shù)應(yīng)用到單片機(jī)控制系統(tǒng)中,實(shí)現(xiàn)了對環(huán)境溫度和濕度的數(shù)據(jù)采集和讀取。3. 在本設(shè)計(jì)的基礎(chǔ)上皆有繼電器模塊,可以外接調(diào)溫調(diào)濕電器,把功能擴(kuò)展延伸為實(shí)現(xiàn)對環(huán)境溫濕度的控制。在進(jìn)行設(shè)計(jì)之前有著很多要解決的問題,比如元器件的選擇問題、各個(gè)模塊的設(shè)計(jì)和主程序的編程。每個(gè)模塊都要經(jīng)過多次的設(shè)計(jì),不斷的試驗(yàn),讓我對之前在學(xué)校所學(xué)的書本上的理論知識有了更為深刻的了解。 在設(shè)計(jì)過程中,由于時(shí)間和本人能力的限制,設(shè)計(jì)中存在一些需要改進(jìn)和優(yōu)化的地方。但從設(shè)計(jì)過程中,對于單片機(jī)有更進(jìn)一步的認(rèn)識,對用于單片機(jī)仿真的軟件操作能力也明顯提高,通過此設(shè)計(jì),本人受益頗豐。 //DTH11uchar code ASCII[]=0123456789%c。uchar code table1[]= Tem:00。uchar hum。display1[2]={0,0}。 for(x=z。x) for(y=114。y)。 uchar num。 delay_ms(19)。 for(num=0。num++)。num12。 flag=DQ。num11。 //DTH響應(yīng)80us for(num=0。num++)。}//****************************讀DTH11數(shù)據(jù)uchar DTH11_RD_CHAR(){ uchar byte=0。 uchar num1。 for(num1=0。num1++) { while(DQ==0)。 //高位在前 for(num=0。num++)。 else byte|=0x01。}//******************************讀取DTH11溫度和濕度void DTH11_DUSHU(){ uchar num。 //比正常值高7度左右 DTH11_RD_CHAR()。 DTH11_RD_CHAR()。 for(num=0。num++)。 }}//***********************************顯示函數(shù)void Display_DTH11() { display0[1]=hum/10%10。 LcdShowStr(0, 0, table0)。 DisplayOneChar (9, 0, ASCII[ display0[0] ] )。 //顯示濕度 display1[1]=tem/10%10。 LcdShowStr(0, 1, table1)。 DisplayOneChar (9, 1, ASCII[ display1[0] ] )。 DisplayOneChar (11, 1, ASCII[11] )。 hum=0。 //DTH11開始1s有錯(cuò)誤輸出 InitLcd1602()。 Display_DTH11()。 }}附錄2:SHT10程序includeinclude define uchar unsigned chardefine noACK 0 //繼續(xù)傳輸數(shù)據(jù),用于判斷是否結(jié)束通訊define ACK 1 //結(jié)束數(shù)據(jù)傳輸; //地址 命令 讀/寫define STATUS_REG_W 0x06 //000 0011 0define STATUS_REG_R 0x07 //000 0011 1define MEASURE_TEMP 0x03 //000 0001 1define MEASURE_HUMI 0x05 //000 0010 1define RESET 0x1e //000 1111 0enum {TEMP,HUMI}。sbit SCK = P2^4。sbit RW = P2^1。sfr DBPort = 0x80。void GotoXY(unsigned char x, unsigned char y)。void LCD_Write(bit style, unsigned char input)。char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)。//float calc_dewpoint(float h,float t)。 for (i=0x80。i=1) //高位為1,循環(huán)右移 { if (iamp。 //和要發(fā)送的數(shù)相與,結(jié)果為發(fā)送的位 else DATA=0。 _nop_()。_nop_()。 } DATA=1。 error=DATA。_nop_()。 SCK=0。 return error。 DATA=1。i0。 if(DATA) val=(val|i)。 } DATA=!ack。 _nop_()。_nop_()。 _nop_()。_nop_()。 //釋放數(shù)據(jù)線 return val。 SCK=0。 SCK=1。 DATA=0。 SCK=0。_nop_()。 SCK=1。 DATA=1。 SCK=0。 DATA=1。 //準(zhǔn)備 for(i=0。i++)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1