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

正文內(nèi)容

基于nrf905的兩路溫度檢測與無線傳輸系統(tǒng)設(shè)計畢業(yè)論文(參考版)

2025-07-06 14:36本頁面
  

【正文】 sbit flag1 =DATA_BUF^0。BYTE_BIT7) != 0) define DATA0 ((DATA_BUFamp。 } }} NRF905 子程序: include inc/ bdata unsigned char DATA_BUF。 nRF905_Buf2[1]=nRF905_TxRxBuf[1]。 LCD1602_write_data(0xdf)。)。 //顯示溫度個位值 35 LCD1602_write_data( 39。 //設(shè)置 LCD1602 指針到第二行第 11 列 LCD1602_write_data( nRF905_TxRxBuf[0]+0x30)。 nRF905_Buf1[2]=nRF905_TxRxBuf[2]。} nRF905_Buf1[0]=nRF905_TxRxBuf[0]。 //顯示小數(shù)點 LCD1602_write_data( nRF905_TxRxBuf[2]+0x30)。.39。 //顯示溫度十位值 LCD1602_write_data( nRF905_TxRxBuf[1]+0x30)。 if(nRF905_TxRxBuf[3]==1) {if((nRF905_Buf1[0]!=nRF905_TxRxBuf[0]) ||(nRF905_Buf1[1]!=nRF905_TxRxBuf[1]) ||(nRF905_Buf1[2]!=nRF905_TxRxBuf[2])) {LCD1602_write_(0x80+10)。 //設(shè)置 LCD1602 指針到第二行第 3 列 LCD1602_write_word( Temp= C)。 //設(shè)置 LCD1602 指針到第二行第 3 列 LCD1602_write_word( Temp= C)。 delay(500)。 nRF905_Init()。 unsigned char nRF905_Buf2[3]。 extern void LCD1602_Init()。 extern void LCD1602_write_data(unsigned char dat)。 //函數(shù)或者變量聲明 extern void LCD1602_delay_ms(unsigned int n)。 sbit LCD1602_RW = P1^1。 //讀數(shù)據(jù) //數(shù)據(jù)接收 void nRF905_Rx(void)。 //數(shù)據(jù)發(fā)送 void nRF905_Tx(void)。 //Pin檢查是否已存在 同頻率載波 // unsigned char nRF905_CheckDR(void)。 //設(shè)置發(fā)送模式 void nRF905_SetTxMode(void)。 //初始化 nRF905 狀態(tài) void nRF905_Init(void)。 //SPI 寫函數(shù) void SpiWrite(unsigned char send)。 sbit TRX_CE=P3^3。 sbit SCK=P2^7。 sbit MOSI=P2^5。 sbit CSN=P2^3。 sbit PWR=P2^1。 //溫度傳感器數(shù)據(jù)引腳通信定義 //發(fā)送數(shù)據(jù)緩沖區(qū) define nRF905_TxRxBuf_Len 4 extern unsigned char nRF905_TxRxBuf[nRF905_TxRxBuf_Len]。 sbit BCD1 = P1^3。 sbit BCD3 = P1^1。 //定義 8 位無符號變量 typedef unsigned int uint16。感謝和我一起生活了 四 年的同學們,他們在生活上關(guān)懷過我,在學習上幫助過我。同時,還要感謝我的 同學們 ,同他們的相互討論與交流使我不斷產(chǎn)生新的靈感,使文章內(nèi)容更 加豐富。衷心感謝 郭 老師給我提供了許多學習的機會和條件。在閑聊中她總是能像知心朋友一樣鼓勵你,在論文的寫作和措辭等方面她也總會以“專業(yè)標準”嚴格要求自己,從選題、定題開始,一直到最后論文的反復(fù)修改、潤色,郭老師始終認真負責地給予我深刻而細致地指導,幫助我開拓 研究思路,精心點撥、熱忱鼓勵,給我提了許多建設(shè)性的意見。 作為一個本科生的畢業(yè)設(shè)計,難免有許多考慮不周全的地方,如果沒有指導教師的督促指導,想要完成這個設(shè)計是難以想象的。從論文選題到搜集資料,從寫稿到反復(fù)修改,期間經(jīng)歷了喜悅、聒噪、痛苦和彷徨,在寫作論文的過程中心情很復(fù)雜。本次設(shè)計由于條件限制僅僅采用了兩路溫度檢測,在條件允許下,可以對系統(tǒng)進行改進增加或刪減從機的數(shù)量,完成多路或單路的溫度實時檢測。檢測距離為 100米左右 [12]。 ( 2)本系統(tǒng)包括:單片機、液晶顯示、無線通信等,對于超過限度的溫度數(shù)據(jù)將產(chǎn)生報警信號。 圖 報警電路 工作狀態(tài)效果圖 28 結(jié) 論 本次系統(tǒng)設(shè)計以 STC89C52單片機為設(shè)計開發(fā)平臺,系統(tǒng)主要由 STC89C52單片機、 DS18B20溫度傳感器、 LCD1602液晶顯示、 NRF905無線模塊和報警電路等幾個模塊組成。 圖 主 機溫度數(shù)據(jù)顯示 系統(tǒng)正常工作狀態(tài),見圖 。 圖 從機一溫度數(shù)據(jù)顯示 26 給從機二上電,采集溫度并在本地顯示,見圖 。系統(tǒng)測試步驟如下: 系統(tǒng)整體效果如圖 。 } 25 第四章 系統(tǒng)測試結(jié)果 系統(tǒng)結(jié)果 本系統(tǒng)由兩路從機和一主機組成,從機獨立完成溫度的實時的采集,在本地數(shù)碼管顯示,當溫度超過限定值時啟動報警電路。 LCD1602_write_(0x06)。 LCD1602_write_(0x38)。 } } void LCD1602_Init() { LCD1602_EN = 0。 } void LCD1602_write_word(unsigned char *s) { while(*s0) { LCD1602_write_data(*s)。 LCD1602_delay_ms(1)。 LCD1602_PORT = dat。 } void LCD1602_write_data(unsigned char dat) { LCD1602_RS = 1。 LCD1602_delay_ms(1)。 LCD1602_EN = 1。主要程序如下: void LCD1602_write_(unsigned char ) { LCD1602_RS = 0。 } LCD1602 流程圖 [10]: 圖 LCD1602 流程圖 檢查 1602 是否忙 開始 1602 初始化 1602 寫指令 無動作,繼續(xù)檢測等待寫入 設(shè)定 1602 顯示位置 Y N 1602 寫 DS18B20 溫度數(shù)據(jù) 讀取 DS18B20 溫度數(shù)據(jù) DS18B20 溫度數(shù)據(jù)轉(zhuǎn)換 24 通過控制引腳 RS、 EN 來對 1602 進行寫操作 [11],分別定義了 寫指令 、 寫數(shù)據(jù) 、連續(xù)寫字符 三個子函數(shù)。 while(nRF905_CheckDR()==0)。 } void nRF905_Rx(void) { nRF905_SetRxMode()。} CSN=1。i 4 。 SpiWrite(RRP)。 CSN=0。 delay(1)。 nRF905_nRF905_TxPacket()。 TRX_CE=0。 TRX_CE=1。i++) SpiWrite(nRF905_TxAddress[i])。 for (i=0。 CSN=0。 CSN=1。i4。 SpiWrite(WTP)。} } void nRF905_nRF905_TxPacket(void) { uchar i。 return 1。} unsigned char nRF905_CheckDR(void) { DR=1。 } unsigned char nRF905_CheckCD(void){ if (CD==1) return 1。 TRX_CE=1。 delay(1)。 } void nRF905_SetTxMode(void) { TRX_CE=0。 SCK=0。 else DATA_BUFamp。 SCK=1。j8。 } } unsigned char SpiRead(void) { unsigned char j。 DATA_BUF=DATA_BUF1。 else MOSI=0。i8。 DATA_BUF=send。 } NRF905 流程圖 [9]: 圖 NRF905 流程圖 開始 NRF905 初始化 開始發(fā)送接收數(shù)據(jù) 繼續(xù)發(fā)送接收數(shù)據(jù)幀 是否發(fā)送接收失??? Y N 返回 21 通過 SPI 對 NRF905 進行操作,首先初始化 NRF905 和寄存器,然后設(shè)置發(fā)送模式和接收狀態(tài),檢查是否已存在同頻率載波,接著從機打包待發(fā)送的數(shù)據(jù)發(fā)送至讀取接收緩沖區(qū),最后主機對緩沖區(qū)數(shù)據(jù)進行接收。 temp=tt*10+。 if(b==0xff) {temp=~temp+1。 temp=8。 b=ReadByte_Temp()。 WriteByte_Temp(0xbe)。 DS18B20_Delay(1)。 Change_Temp()。 } uint Get_Temp() { float tt。 20 WriteByte_Temp(0xcc)。 } } } void Change_Temp(void) { DQ_Reset()。 i++。while(i0)i。 } else { DQ=0。 i=8。i++。 if(testb) { DQ=0。0x01。j=8。 bit testb。 } void WriteByte_Temp(uchar dat) { uint i。
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1