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

正文內(nèi)容

數(shù)字溫濕度計(jì)的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-19 14:53 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 RHtrue就是測(cè)量的濕度值。167。 DHT91 的 DC 特性。DHT91的 DC特性如下表 45所示。表 45 DHT91 的 DC 特性17167。 程序流程圖開(kāi)始通訊復(fù)位啟動(dòng)傳輸定時(shí)器初始化寫濕度指令成功 error=0失敗 error=1讀濕度值成功 error=0失敗 error=1寫溫度指令成功 error=0失敗 error=1讀溫度值成功 error=0失敗 error=1Error=1?Y 數(shù)據(jù)處理顯示處理通訊復(fù)位啟動(dòng)傳輸N定時(shí)器時(shí)間到中斷其它程序設(shè)置初始值刷新數(shù)碼管回到中斷點(diǎn)圖 44 程序流程圖18167。 程序的設(shè)計(jì)167。 通訊復(fù)位子程序void s_connectionreset(void){unsigned char i。DATA=1。SCK=0。for(i=0。i9。i++){SCK=1。SCK=0。}} 通訊復(fù)位子程序用來(lái)復(fù)位串口的,當(dāng)傳輸中斷或者傳輸過(guò)程中發(fā)生了錯(cuò)誤時(shí)就需要從新對(duì)串口進(jìn)行復(fù)位操作。167。 傳輸啟動(dòng)子程序void s_transstart(void){DATA=1。SCK=0。_nop_()。SCK=1。_nop_()。DATA=0。_nop_()。SCK=0。_nop_()。_nop_()。_nop_()。SCK=1。19_nop_()。DATA=1。_nop_()。SCK=0。}傳輸啟動(dòng)子程序是用來(lái)表示數(shù)據(jù)傳輸?shù)某跏蓟?。每次?duì)傳感器進(jìn)行寫命令或者讀命令前先進(jìn)行以上程序方可。167。 寫一個(gè)字節(jié)子程序char s_write_byte(unsigned char value){unsigned char i,error=0。for(i=0x80。i0。i/=2){if(iamp。value)DATA=1。elseDATA=0。SCK=1。_nop_()。_nop_()。_nop_()。SCK=0。}DATA=1。SCK=1。error=DATA。SCK=0。return error。}可以通過(guò)寫一個(gè)字節(jié)子程序?qū)鞲衅鬟M(jìn)行寫指令操作。若想讀出濕度值就向傳感器寫入‘00000101’如想讀出溫度值就向傳感器寫入‘00000011’ 。20167。 讀一個(gè)字節(jié)子程序char s_read_byte(unsigned char ack){unsigned char i,val=0。DATA=1。for(i=0x80。i0。i/=2){SCK=1。if(DATA) {val=(val|i)。}SCK=0。}DATA=!ack。SCK=1。_nop_()。_nop_()。_nop_()。SCK=0。DATA=1。 return val。} 通過(guò)讀一個(gè)字節(jié)子程序從傳感器讀出溫度值或濕度值,把相應(yīng)的數(shù)據(jù)送到單片機(jī)的寄存器中。167。 數(shù)據(jù)處理子程序 void calc_sth11(float *p_humidity,float *p_temperature){const float C1=。const float C2=。 const float C3=。21 const float T1=。 const float T2=。 float rh=*p_humidity。 float t=*p_temperature。 float rh_lin。 float rh_true。 float t_c。 t_c=t*。 rh_lin=C3*rh*rh+C2*rh+C1。 rh_true=(t_c25)*(T1+T2*rh)+rh_lin。 if(rh_true) rh_true=。 *p_temperature=t_c。 *p_humidity=rh_true。}把從傳感器讀出的二進(jìn)制數(shù)轉(zhuǎn)換成相應(yīng)的十進(jìn)制數(shù)。167。 顯示子程序void display(float humi,float temp){int humi1,temp1。humi1=(humi*10)。 temp1=(temp*10)。if(temp10){dispbuf[0]=10。temp1=abs(temp1)。}else{dispbuf[0]=11。}if(t==0)22{dispbuf[1]=temp1/100。dispbuf[2]=temp1/10%10。dispbuf[3]=temp1%10。dispbuf[4]=11。dispbuf[5]=humi1/100。dispbuf[6]=humi1/10%10。dispbuf[7]=humi1%10。if((humihumiset)||(temptempset)){P0_4=0。}else{P0_4=39。Z39。}}else{if(t==1){if(temph9){dispbuf[0]=10。}else{dispbuf[0]=11。}dispbuf[1]=temph%10。dispbuf[2]=templ%10。23dispbuf[3]=11。dispbuf[4]=11。dispbuf[5]=11。dispbuf[6]=11。dispbuf[7]=11。}else{dispbuf[0]=11。dispbuf[1]=11。dispbuf[2]=11。dispbuf[3]=11。dispbuf[4]=11。dispbuf[5]=humih%10。dispbuf[6]=humil%10。dispbuf[7]=11。}}}當(dāng) t=0時(shí)數(shù)碼管顯示實(shí)際的溫濕度值,當(dāng) t=1時(shí)數(shù)碼管顯示設(shè)定溫度值,當(dāng) t=2時(shí)數(shù)碼管顯示設(shè)定濕度值。167。 按鍵子程序 void key(){ if(P0_0==0){for(i=5。i0。i)for(j=248。j0。j)。if(P0_0==0){t++。24if(t2){t=0。}}while(P0_0==0)。}if(t==1){if(P0_1==0){for(i=5。i0。i)for(j=248。j0。j)。if(P0_1==0){temph++。if(temph==15){temph=0。}}while(P0_1==0)。}if(P0_2==0){for(i=5。i0。i)for(j=248。j0。j)。if(P0_2==0){templ++。if(templ==10)25{templ=0。 }}while(P0_2==0)。}}elseif(t==2){if(P0_1==0){for(i=5。i0。i)for(j=248。j0。j)。if(P0_1==0){humih++。 if(humih==10){humih=0。}}while(P0_1==0)。}if(P0_2==0){for(i=5。i0。i)for(j=248。j0。j)。if(P0_2==0){humil++。26if(humil==10){ humil=0。}}while(P0_2==0)。}}if(temph10){ tempset=temph*10+templ。}else{ tempset=(10temph)templ。}humiset=humih*10+humil。}S1鍵對(duì)應(yīng) P0_0,S2鍵對(duì)應(yīng) P0_1,S3鍵對(duì)應(yīng) P0_2。每按一次 S1鍵,變量 t加 1,當(dāng) t2時(shí) t=0。當(dāng) t=1時(shí)每按一次 S2鍵,temph 加 1,當(dāng) temph14時(shí) temph=0,當(dāng) temph為 10,11,12,13,14 時(shí)分別對(duì)應(yīng)的是,1,2,3,4,每按一次 S3鍵,templ 加 1,當(dāng) templ9時(shí) templ=0。當(dāng) t=2時(shí) S2,S3鍵調(diào)的是 humih和 humil。167。 中斷刷新顯示數(shù)碼管子程序void t0(void) interrupt 1 { mstt++。if(mstt==8){mstt=0。if((dispbitt==2)||(dispbitt==6))27{P1=dispcode[dispbuf[dispbitt]]amp。0xfb。}else{P1=dispcode[dispbuf[dispbitt]]。}P2=dispbitcode[dispbitt]。dispbitt++。if(dispbitt==8){dispbitt=0。}}}每 2mS刷新數(shù)碼管一次,人眼的視覺(jué)暫留時(shí)間大概是 ,所以可以讓人感覺(jué)到每個(gè)數(shù)碼管都在顯示。第三和七個(gè)數(shù)碼管分別為溫度和濕度的個(gè)位,所以讓這兩個(gè)數(shù)碼管的小數(shù)點(diǎn)位一直顯示。167。 軟件在硬件上的調(diào)試分析軟件在 Keil里編譯通過(guò)以后還得在硬件電路上調(diào)試,讓數(shù)碼管顯示正確的溫濕度值,按鍵能夠設(shè)定初始值,led 發(fā)光二極管能夠指示報(bào)警,這些功能都實(shí)現(xiàn),本設(shè)計(jì)才能算基本完成。硬件電路是我本著連線簡(jiǎn)單的原則焊接的,數(shù)碼管的段選信號(hào)端(A,B,C,D,E,F,G,DP)并不是與單片機(jī)的 P1口(從 07)正好相互對(duì)應(yīng)的。所以這里我們需要對(duì)數(shù)碼管所要顯示的0,1,2,3,4,5,6,7,8,9,和“不顯示”從新編碼。在開(kāi)始調(diào)試的時(shí)候我就忽略了這一點(diǎn),我用的是資料書中常用到那種,所以數(shù)碼管顯示的是亂碼。我以為是硬件電路出了錯(cuò)誤,我用萬(wàn)用表把每根線從新測(cè)了一遍,發(fā)現(xiàn)硬件電路一切正常啊。這時(shí)我才忽然想到,是編碼這邊出現(xiàn)了錯(cuò)誤。我根據(jù)硬件的連線從新對(duì) 0,1,2,3,4,5,6,7,8,9,和“不顯示”進(jìn)行了編碼。顯示的數(shù)值還是不正確,但是數(shù)碼管中顯示的數(shù)和我想要顯示的數(shù)有幾分相似。在編碼時(shí)我又忽略的一點(diǎn),我們總是習(xí)慣性的從左往右寫數(shù),我就在紙上從左往右一次寫了28P1_0, P1_1,P1_2, P1_3, P1_4, P1_5, P1_6和 P1_7 。所以編出的結(jié)果與實(shí)際所要的結(jié)果高位與低位正好錯(cuò)了位置。這次畢業(yè)設(shè)計(jì)讓我認(rèn)識(shí)到了一般的設(shè)計(jì)流程以及設(shè)計(jì)中所要注意到的一些細(xì)節(jié)。在設(shè)計(jì)開(kāi)始,應(yīng)該先要認(rèn)識(shí)到這次設(shè)計(jì)所要完成的功能。接著大致分析一下所要用到的元器件??傮w思路清晰以后就要畫原理圖。根據(jù)原理圖焊接電路板,焊接的時(shí)候應(yīng)該怎樣布線簡(jiǎn)單怎樣焊接,盡量達(dá)到布線少,布線短,跳線少,美觀大方。在焊接好電路板以后,我用萬(wàn)用表對(duì)所有的焊點(diǎn)及連線進(jìn)行一一檢測(cè),看是否有漏焊、虛焊及短路的地方。硬件電路沒(méi)有任何問(wèn)題后就可以根據(jù)我們所焊接好的電路進(jìn)行軟件編程了。29結(jié) 論本次設(shè)計(jì)是基于單片機(jī)的數(shù)字溫濕度的設(shè)計(jì),包括硬件電路和軟件兩部分。開(kāi)始時(shí)自己對(duì)單片機(jī)的應(yīng)用了解的不是很多,又由于自己學(xué)過(guò) c語(yǔ)言,我是先從軟件入手的。王老師給我提供了一個(gè)開(kāi)發(fā)板,這讓我編程順利多了。我在軟件完全通過(guò)以后,才開(kāi)始硬件電路的設(shè)計(jì)。由于受軟件的影響我的硬件電路設(shè)計(jì)不是很美觀。在軟件設(shè)計(jì)過(guò)程中我是先從流水燈一步一步學(xué)起的,當(dāng)自己能用按鍵控制數(shù)碼顯示,能編出數(shù)字鐘控制程序后,我才開(kāi)始根據(jù) DHT91的時(shí)序圖進(jìn)行軟件的編寫。在軟件設(shè)計(jì)過(guò)程中我遇到了很多問(wèn)題,經(jīng)過(guò)王老師的指點(diǎn)和同學(xué)之間的討論,我學(xué)到了很多編程技巧也掌握了一些編程思想。由于元器件的局限性,硬件電路焊接不是很美觀。一些電容和電阻的數(shù)值并不是原理圖中設(shè)計(jì)的大小,但是不影響結(jié)果。由于技術(shù)欠佳,電路焊接的不太理想。有很多焊點(diǎn)都不符合要求,還有很多虛焊的地方,用萬(wàn)用表一個(gè)一個(gè)檢測(cè)發(fā)現(xiàn)不導(dǎo)通的地方又從新焊接。在畫原理圖和制作 PCB版圖的過(guò)程中我又熟練掌握了 ALTIUM designer的基本應(yīng)用。由于是初次制作 PCB版圖,我的 PCB版圖在布線方面還不夠完美。經(jīng)過(guò)軟件在硬件電路上的調(diào)試后,基本功能都能實(shí)現(xiàn)。溫度和濕度都是顯示到小數(shù)點(diǎn)后一位。如果把手放大數(shù)字溫濕度傳感器 DTH 9x上,數(shù)碼管上顯示的溫度和濕度會(huì)立即發(fā)生變化。由于時(shí)間的倉(cāng)促?zèng)]有對(duì)系統(tǒng)進(jìn)一步擴(kuò)展,其實(shí)還可以加上一些計(jì)算機(jī)串口傳輸,掉電存儲(chǔ)等模塊。參考文獻(xiàn)[1] 李光飛,樓然苗,:北京航空航天30大學(xué)出版社,2022,105125[2] [3] ,2022,12:2529[4] 靳桅,潘育山,2022,10(4): 278280[5] [6] :中南大學(xué)出版社,2022,222228[7] [8] :電子工業(yè)出版社,2022,175180[9] [10]高鵬,安濤, :人民郵電出版社,2022,157240[11
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1