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

正文內(nèi)容

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

2024-12-28 01:16 上一頁面

下一頁面
 

【正文】 39。 for(i=0。j++)。delay) {for(i=0。 if(out==0||wireless_1==1) { mdelay(8)。 Write1302(0x8e,0x00)。 //禁止寫入 done=0。 if(Up==0||wireless_2==1) { mdelay(8)。 //數(shù)據(jù)調(diào)整后更新標(biāo)志 讀取 濕度值 temp=temp+1。 switch(count) {case 1: temp=Read1302(DS1302_SECOND)。 //濕度值 減 1 down_flag=1。 //Setkey 按一次 ,count 就加 1 done=1。 if(flag==0) //關(guān)閉 時鐘 ,停止計時 { Write1302(0x8e,0x00)。 //禁止寫入 flag=1。 //掃描加按鈕 Downkey()。 //禁止寫入 up_flag=0。 show_time()。 outkey()。 if(up_flag==1||down_flag==1) 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計 第 46 頁 共 50 頁 { Write1302(0x8e,0x00)。 down_flag=0。break。寫入的地址在DPH 中,數(shù)據(jù)在 B中 ACALL MEM_START 。準(zhǔn)備寫入片內(nèi)地址信息 ACALL WR1 。發(fā)送停止信號, 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計 第 47 頁 共 50 頁 。 RET 。發(fā)送開始信號 MOV A,0A0H 。寫入片地址信息 ACALL MEM_START 。寫入以上信息 MOV A,DPH 。********** AT24C04 讀字節(jié)程序 *************************** 。返回 MWRITE2 繼續(xù)寫下一個數(shù)據(jù) 。準(zhǔn)備數(shù)據(jù) ACALL WR1 。寫 命令字 +片選地址信息 ACALL WR1 。 //count=2,開啟中斷 ,標(biāo)志位置 0 并退出 } } 。 if(hide_min3) hide_min=0。 //寫入新的 濕度值 Write1302(0x8e,0x80)。 Downkey()。break。 } hide_sec++。 //寫入允許 Write1302(0x80,temp|0x80)。 //掃描模式切換按鍵 switch(count) {case 1:do //count=1,調(diào)整溫度值 { outkey()。 Write1302(0x80,temp|0x80)。 while(wireless_4==1)。 if(Set==0||wireless_4==1) { mdelay(8)。 //溫度值 減 1 down_flag=1。 //數(shù)據(jù)調(diào)整后更新標(biāo)志 void Downkey()//降序按鍵 { Down=1。 //讀取 溫度值 temp=temp+1。 while(wireless_1==1)。0x7f)。 hide_sec=0,hide_min=0,hide_hour=0,hide_day=0,hide_week=0,hide_month=0,hide_year=0。i++) //1ms 延時 . 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計 第 42 頁 共 50 頁 {。 for(。i++) for(j=0。\039。 //個位 TempBuffer[2]=0xdf。 } void temp_to_str() //溫 濕 度數(shù)據(jù)轉(zhuǎn)換成液晶字符顯示 { TempBuffer[0]=temp_value/10+39。 //讀取溫 濕 度值低位 b=ReadOneChar()。 WriteOneChar(0xCC)。 WriteOneChar(0xCC)。 } } /**************讀取 SHT10 當(dāng)前溫 濕 度 ************/ void ReadTemp(void) { unsigned char a=0。0x01。 for (i=8。 // 給脈沖信號 if(DQ) dat|=0x80。i0。 //稍做延時后 如果 x=0 則初始化成功 x=1則初始化失敗 delay_10(20)。 //單片機將 DQ 拉低 delay_SHT10(80)。 } /*********SHT10 初始化函數(shù) **********************/ void Init_SHT10(void) { unsigned char x=0。 Write1302(0x82,0x59)。 //以下寫入初始化時間 Write1302(0x88,0x07)。 } void DS1302_GetTime(SYSTEMTIME *Time) //獲取時鐘芯片的時鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組 void Initial_DS1302(void) //時鐘芯片初始化 { 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計 第 38 頁 共 50 頁 unsigned char Second=Read1302(DS1302_SECOND)。 // 地址,命令 ucData = DS1302OutputByte()。 DS1302_RST = 0。 // 地址,命令 DS1302InputByte(ucDa)。 } 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計 第 37 頁 共 50 頁 void Write1302(unsigned char ucAddr, unsigned char ucDa) //ucAddr: DS1302 地址 , ucData: 要寫的數(shù)據(jù) { DS1302_RST = 0。 //相當(dāng)于匯編中的 RRC ACC7 = DS1302_IO。 } } unsigned char DS1302OutputByte(void) //實時時鐘讀取一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 i) { DS1302_IO = ACC0。 define AM(X) X define PM(X) (X+12) // 轉(zhuǎn)成 24 小時制 define DS1302_SECOND 0x80 //時鐘芯片的寄存器位置 ,存放時間 define DS1302_MINUTE 0x82 define DS1302_HOUR 0x84 define DS1302_WEEK 0x8A 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計 第 36 頁 共 50 頁 define DS1302_DAY 0x86 define DS1302_MONTH 0x88 define DS1302_YEAR 0x8C void DS1302InputByte(unsigned char d) //實時時鐘寫入一字節(jié) (內(nèi)部函數(shù) ) { unsigned char i。 unsigned char DateString[11]。 unsigned char Hour。) { LCD_Write(LCD_DATA,*str)。 //AC 遞增 , 畫面不動 } //液晶字符輸入的位置 ************************ void GotoXY(unsigned char x, unsigned char y) { if(y==0) LCD_Write(LCD_COMMAND,0x80|x)。 //8 位數(shù)據(jù)端口 ,2 行顯示 ,5*7 點陣 LCD_Write(LCD_COMMAND,0x38)。 _nop_()。 _nop_()。 LcdRs=style。 _nop_()。 //P0=0x80,P1=0x90,P2=0xA0,P3= //內(nèi)部等待函數(shù)************************************************************************** unsigned char LCD_Wait(void) { LcdRs=0。 //液晶顯示程序 /***********1602 液晶顯示部分子程序 ****************/ //Port Definitions********************************************************** sbit LcdRs = P2^5。學(xué)會熟練操作 Proteus 軟件。 使用 SHT10 溫濕度傳感器和 DS1302 時鐘芯片完成實時數(shù)據(jù)采集;通過 AT89C52 的引腳與 LCD 引腳的結(jié)合,實現(xiàn)了 LCD 的數(shù)據(jù)實時顯示功能;串口通訊的實現(xiàn)依賴于 MAX232 芯片的功能可以實現(xiàn)下載程序和數(shù)據(jù);使用 5路單鍵鍵盤實現(xiàn)參數(shù)修改。 W\R\為低電平時,執(zhí)行寫操作, AT24C024 把數(shù)據(jù)寫入單片機。進入中斷程序后,首先判斷允許接收數(shù)據(jù)塊標(biāo)志是否置位。 接收到 0CH 指令時,寫入數(shù)據(jù)寄存器的數(shù)據(jù)送入光標(biāo)地址指針指向的顯示 RAM 單元。 其流程圖如下圖 所示: 圖 數(shù)據(jù)采集流程圖 開始 結(jié)束 設(shè)置傳感器狀態(tài) 發(fā)送啟動傳輸 發(fā)送測量指令 讀測量值 測量值化數(shù)字量 Error+1 Error+1 指令判斷? 數(shù)據(jù)判斷? Y N Y N 南華大學(xué)電氣工程學(xué)院畢業(yè)設(shè)計 第 26 頁 共 50 頁 LCD顯示流程圖 單片機向 LCD1602 指令寄存器寫入指令代碼來選擇參數(shù)寄存器,再通過數(shù)據(jù)寄存器向參數(shù)寄存器寫入?yún)?shù)值,以實現(xiàn)功能的設(shè)置 LCD1602 向單片機提供一個忙 BF 標(biāo)志位: BF= 1 表示當(dāng)前 LCD1602 處于內(nèi)部運行狀態(tài),不接受單片機的訪問。系統(tǒng)主程序 流程圖如圖 圖 系統(tǒng)總流程圖 開始 系統(tǒng)初始化 按鍵? 延時 讀上下限值 讀取測量值 LCD 顯示數(shù)據(jù) 超限? 延時 設(shè)置上下限報警值 SHT10 通訊重啟動 報警,發(fā)出控制信號
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1