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

正文內(nèi)容

電氣工程學(xué)院-基于單片機(jī)的數(shù)字式溫濕度儀系統(tǒng)設(shè)計(jì)(完整版)

2025-01-21 01:16上一頁面

下一頁面
  

【正文】 ,響應(yīng)時(shí)間小于 3s。 HD44780 具有簡(jiǎn)單而功能較強(qiáng)的指令集,可實(shí)現(xiàn)字符移動(dòng)、閃爍等顯示功能。若電源開啟時(shí)未能有效初始化,則在程序錢加指令復(fù)位,以確保無誤。D0~D7:數(shù)據(jù)總線。 LCD 液晶顯示器的構(gòu)造是在兩片平行的玻璃中放置 液態(tài)的晶體,玻璃中間有許多垂直和水平的細(xì)電線,通過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生圖像或文字。 P3 口用于數(shù)據(jù)通訊模塊,單片機(jī)與 MAX232 之間的通信能把程序指令寫入單片機(jī),保存 的歷史 數(shù)據(jù)下載至帶通訊功能的設(shè)備。此外,如在此處外接 +5V 備用電源,可在 VCC 電壓突然下降或斷電時(shí),保護(hù)片內(nèi) RAM中的信息不丟失,以便 VCC 恢復(fù)后繼續(xù)正常運(yùn)行。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。P2口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口, P1 口緩沖器能接收輸出 4TTL 門電流。由于將多功能 8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中, STC89C52 是一種高效 微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 本設(shè)計(jì)根據(jù)系統(tǒng)八個(gè)模塊來分別介紹,這個(gè)系統(tǒng)各個(gè)模塊之間的連接方式可表示為下圖 所示 : 圖 系統(tǒng)總原理 框 圖 系統(tǒng)功能總介紹: 采用 SHT10 溫濕度傳感器和時(shí)鐘芯片 DS1302,對(duì)外部溫度濕度信號(hào)進(jìn)行采集,經(jīng)傳感器內(nèi)部放大電路, A/D 轉(zhuǎn)換電路,溫度補(bǔ)償?shù)葦?shù)據(jù)處理,檢測(cè)到的標(biāo)準(zhǔn)數(shù)字 輸入單片機(jī)再由 LCD1302 實(shí)現(xiàn)實(shí)時(shí)顯示。可以接收所 測(cè)環(huán)境的溫度和濕度信號(hào),檢測(cè)人員可以通過儀器的 LCD 液晶 顯示數(shù)據(jù),實(shí)時(shí)監(jiān)控環(huán)境的溫度和濕度情況。因此,不僅必須掌握傳感器的結(jié)構(gòu),原理和性能指標(biāo),還必須懂得傳感器經(jīng)過適當(dāng)?shù)慕涌陔娐氛{(diào)整才能滿足信號(hào)的處理,顯示和控制的要求,而且只有通過傳感器應(yīng)用實(shí)例的原理和智能傳感器實(shí)例的分析和了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應(yīng)傳感器的生產(chǎn),研制,開發(fā)和應(yīng)用。對(duì)于電子工業(yè),潮濕的危害已經(jīng)成為影響產(chǎn)品質(zhì)量的主要因素之一。本文是在單片機(jī)的基礎(chǔ)上,結(jié)合傳感器技術(shù)實(shí)現(xiàn)對(duì)溫度濕度的實(shí)時(shí)檢測(cè) ( 1) 選題背景及意義 數(shù)字式溫濕度儀,是集傳感 器 技術(shù)、計(jì)算機(jī)技術(shù)、通訊技術(shù)與一體的數(shù)據(jù)記錄儀。因此,了解和掌握各類傳感器的基本結(jié)構(gòu),工作原理及特性是非常重要的。本論文利用單片機(jī)結(jié)合溫濕度度傳感器技術(shù)而設(shè)計(jì)了這一數(shù)字式溫濕度儀。相對(duì)濕度在 0%~100%之間,溫度量程范圍在 10~100 度之間,測(cè)量精度達(dá)到 %。當(dāng)被 測(cè)參數(shù)超過設(shè)定的上下限時(shí),報(bào)警電路自動(dòng)啟動(dòng)直至被測(cè)參數(shù)符合設(shè)定要求為止。當(dāng)P1口的管腳第一次寫 1 時(shí),被定義為高阻輸入。這是由于內(nèi)部上拉的緣故。 RST:復(fù)位輸入。此時(shí), ALE只有在執(zhí)行 MOVX, MOVC 指令是 ALE 才起作用。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。 STC89C52在本文中的應(yīng)用 STC89C52 本身的特性已經(jīng)介紹完畢,在本文中各引腳的應(yīng)用如 附錄 1總 硬件 圖所示: P0 口用于 LCD 顯示輸出模塊 , 控制被測(cè)溫濕度的實(shí)時(shí)顯示。實(shí)際上, LCD 是由一些專為 LCD 設(shè)計(jì)的芯片所控制,如日立公司的 HD44780。 下圖 LCD的引腳圖 : 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計(jì) 第 9 頁 共 50 頁 : 圖 LCD1602芯片 主要性能介紹: VCC:主電源接 +5V VDD, 接地信號(hào)線 RS:寄存器選擇信號(hào)。 ( 3) 顯示屏 ON/OFF 設(shè)定:顯示屏、光標(biāo)、閃爍功能關(guān)閉。字符位可以是 5 7 或 5 11 等點(diǎn)陣組成。 SHT10 型智能傳感器的相對(duì)濕度測(cè)量范圍是 0~100%。 每一個(gè)傳感器都是在極為精確的濕度室中進(jìn)行校準(zhǔn)。需要一個(gè)外部的上拉電阻(例如: 10kΩ)將信號(hào)提拉至高電平。位 5 至位 1 指示操作單元的地址 。 RST 是復(fù)位 /片選線,通過把 RST 輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。 圖 DS1302芯片 DS1302 I/0 接口 在 控制指令字輸入后的下一個(gè) SCK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。 SHT10指示 正確接收命令的時(shí)序?yàn)椋涸诘?8個(gè) SCK 時(shí)鐘的下降沿之后將 DATA 拉為低電平( ACK 位) ,在第 9個(gè) SCK 時(shí)鐘的下降沿之后釋放 DATA(此時(shí)為高電平)。所有的數(shù)據(jù)都從 MSB 開始,至 LSB 有效。 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計(jì) 第 18 頁 共 50 頁 圖 數(shù)據(jù)測(cè)量過程 SHT10 通過狀態(tài)寄存器實(shí)現(xiàn)初始狀態(tài)設(shè)定。退出鍵退出調(diào)整模式。 (3)進(jìn)行錯(cuò)誤檢測(cè) 。 硬件設(shè)備的正常運(yùn)行都離不開系統(tǒng)的供電,電源電路在系統(tǒng)設(shè)計(jì)時(shí)往往需要單獨(dú)加以考慮,它有可能成為影響系統(tǒng)性能甚至運(yùn)行的關(guān)鍵原因。初始化結(jié)束后,程序開始執(zhí)行按鍵掃描程序,處理按鍵輸入及輸入數(shù)據(jù)的顯示等任務(wù)。單片機(jī)在訪問LCD1602 時(shí)都要判斷 BF 是否為 0,單片機(jī)可在 RS =1 下從數(shù)據(jù)總線 D7 位上讀出BF標(biāo)志值。為接收下一個(gè)數(shù)據(jù)做好準(zhǔn)備。相對(duì)濕度在 0%~100%之間,溫度量程范圍在 10~100 度之間,測(cè)量精度達(dá)到 %。 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計(jì) 第 33 頁 共 50 頁 sbit LcdEn = P2^7。 return DBPort。 _nop_()。 //開啟顯示 , 無光標(biāo) LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN)。 } } /***********DS1302 時(shí)鐘部分子程序 ******************/ typedef struct __SYSTEMTIME__ { unsigned char Second。 }SYSTEMTIME。 DS1302_CLK = 0。 DS1302_CLK = 0。 DS1302_RST = 0。 DS1302_RST = 0。 Write1302(0x8a,0x07)。 //DQ 復(fù)位 delay_SHT10(8)。 uchar dat = 0。 } return(dat)。 DQ = 1。 // 啟動(dòng)溫 濕 度轉(zhuǎn)換 delay_SHT10(100)。 temp_value+=(aamp。C39。j++)。 if(out==0||wireless_1==1) { mdelay(8)。 //禁止寫入 done=0。 //數(shù)據(jù)調(diào)整后更新標(biāo)志 讀取 濕度值 temp=temp+1。 //濕度值 減 1 down_flag=1。 if(flag==0) //關(guān)閉 時(shí)鐘 ,停止計(jì)時(shí) { Write1302(0x8e,0x00)。 //掃描加按鈕 Downkey()。 show_time()。 if(up_flag==1||down_flag==1) 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計(jì) 第 46 頁 共 50 頁 { Write1302(0x8e,0x00)。break。準(zhǔn)備寫入片內(nèi)地址信息 ACALL WR1 。 RET 。寫入片地址信息 ACALL MEM_START 。********** AT24C04 讀字節(jié)程序 *************************** 。準(zhǔn)備數(shù)據(jù) ACALL WR1 。 //count=2,開啟中斷 ,標(biāo)志位置 0 并退出 } } 。 //寫入新的 濕度值 Write1302(0x8e,0x80)。break。 //寫入允許 Write1302(0x80,temp|0x80)。 Write1302(0x80,temp|0x80)。 if(Set==0||wireless_4==1) { mdelay(8)。 //數(shù)據(jù)調(diào)整后更新標(biāo)志 void Downkey()//降序按鍵 { Down=1。 while(wireless_1==1)。 hide_sec=0,hide_min=0,hide_hour=0,hide_day=0,hide_week=0,hide_month=0,hide_year=0。 for(。\039。 } void temp_to_str() //溫 濕 度數(shù)據(jù)轉(zhuǎn)換成液晶字符顯示 { TempBuffer[0]=temp_value/10+39。 WriteOneChar(0xCC)。 } } /**************讀取 SHT10 當(dāng)前溫 濕 度 ************/ void ReadTemp(void) { unsigned char a=0。 for (i=8。i0。 //單片機(jī)將 DQ 拉低 delay_SHT10(80)。 Write1302(0x82,0x59)。 } void DS1302_GetTime(SYSTEMTIME *Time) //獲取時(shí)鐘芯片的時(shí)鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組 void Initial_DS1302(void) //時(shí)鐘芯片初始化 { 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計(jì) 第 38 頁 共 50 頁 unsigned char Second=Read1302(DS1302_SECOND)。 DS1302_RST = 0。 } 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計(jì) 第 37 頁 共 50 頁 void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302 地址 , ucData: 要寫的數(shù)據(jù) { DS1302_RST = 0。 } } unsigned char DS1302OutputByte(void) //實(shí)時(shí)時(shí)鐘讀取一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 define AM(X) X define PM(X) (X+12) // 轉(zhuǎn)成 24 小時(shí)制 define DS1302_SECOND 0x80 //時(shí)鐘芯片的寄存器位置 ,存放時(shí)間 define DS1302_MINUTE 0x82 define DS1302_HOUR 0x84 define DS1302_WEEK 0x8A 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計(jì) 第 36 頁 共 50 頁 define DS1302_DAY 0x86 define DS1302_MONTH 0x88 define DS1302_YEAR 0x8C void DS1302InputByte(unsigned char d) //實(shí)時(shí)時(shí)鐘寫入一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 unsigned char Hour。 //AC 遞增 , 畫面不動(dòng) } //液晶字符輸入的位置 ************************ void GotoXY(unsigned char x, unsigned char y) { if(y==0) LCD_Write(LCD_COMMAND,0x80|x)。 _nop_()。 LcdRs=style。 //P0=0x80,P1=0x90,P2=0xA0,P3= //內(nèi)部等待函數(shù)************************************************************************** unsigned char LCD_Wait(void) { LcdRs=0。學(xué)會(huì)熟練操作 Proteus 軟件。 W\R\為低電平時(shí),執(zhí)行寫操作, AT24C024 把數(shù)據(jù)寫入單片機(jī)。 接收到 0CH 指令時(shí),寫入數(shù)據(jù)寄存器的數(shù)據(jù)送入光
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1