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

正文內(nèi)容

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

2025-01-20 00:42本頁面
  

【正文】 20ms延時 MOV R5,40 DELAY1: MOV R4,00H DELAY2: DJNZ R4,DELAY2 DJNZ R5,DELAY1 RET第 49 頁 共 49 頁。返回MDELAY: 。 LCALL DELAY20MS 。等待 LCALL DELAY20MS 。等待電平穩(wěn)定 SETB MDIO 。停止信號:在時鐘為高電平,數(shù)據(jù)線出現(xiàn)上跳;MEM_STOP: SETB MCLK 。返回。時鐘下跳 ACALL MDELAY 。數(shù)據(jù)下跳作為開始信號 ACALL MDELAY 。時鐘提高 NOP 。開始信號:在時鐘為高電平,數(shù)據(jù)線出現(xiàn)下跳;MEM_START: SETB MDIO 。返回。等待,AT24C04應(yīng)答信號 CLR MCLK 。等待寫完8字節(jié)信息 SETB MCLK 。沒有寫完,繼續(xù) 。準備寫入下一個字節(jié)數(shù)據(jù) ACALL MDELAY 。向AT24C04鎖存數(shù)據(jù) ACALL MDELAY 。A帶進位左移 MOV MDIO,C 。返回,WR1: MOV MEM_R1,08H 。數(shù)據(jù)送B ACALL MEM_STOP 。時鐘下跳,準備讀取下一位數(shù)據(jù) LCALL MDELAY DJNZ DPL,RD1 。數(shù)據(jù)移入C RLC A 。等待數(shù)據(jù)出現(xiàn) LCALL MDELAY 。時鐘為低RD1: SETB MCLK 。準備接收讀取的數(shù)據(jù) MOV DPL,08H 。準備命令字(讀)+片選地值 ACALL WR1 。寫入片地址信息 ACALL MEM_START 。寫入以上信息 MOV A,DPH 。發(fā)送開始信號 MOV A,0A0H 。********** AT24C04 讀字節(jié)程序 ***************************。 RET 。返回MWRITE2繼續(xù)寫下一個數(shù)據(jù) 。發(fā)送停止信號, 。準備數(shù)據(jù) ACALL WR1 。準備寫入片內(nèi)地址信息 ACALL WR1 。寫命令字+片選地址信息 ACALL WR1 。寫入的地址在DPH中,數(shù)據(jù)在B中 ACALL MEM_START 。 }}。 //count=2,開啟中斷,標志位置0并退出break。 hide_min=0。 if(hide_min3) down_flag=0。 Write1302(0x8e,0x80)。 //寫入新的濕度值 Write1302(0x8e,0x00)。 { if(up_flag==1||down_flag==1) Downkey()。 outkey()。 break。 //液晶顯示數(shù)據(jù) hide_sec=0。 if(hide_sec3) //位閃計數(shù) hide_sec++。 } up_flag=0。 //禁止寫入 Write1302(0x80,temp|0x80)。 //寫入允許 if(up_flag==1||down_flag==1) //掃描減按鈕 Downkey()。 //掃描加按鈕 Upkey()。 //掃描跳出按鈕 outkey()。 { flag=1。 //禁止寫入 temp=Read1302(0x80)。 //寫入允許 if(flag==0) }}void keydone() //按鍵功能執(zhí)行{ while(Set==0)。 //進入調(diào)整模式 done=1。 //Setkey按一次,count就加1 count=count+1。Set=1。void Setkey() //模式選擇按鍵{ down_flag=1。 //數(shù)據(jù)調(diào)整后更新讀取濕度值 //溫度值減1 temp=temp1。 {case 1: mdelay(8)。 {Down=1。 void Downkey()//降序按鍵{ up_flag=1。 //數(shù)據(jù)調(diào)整后更新標志讀取濕度值 up_flag=1。 //讀取溫度值 temp=Read1302(DS1302_SECOND)。 switch(count)if(Up==0||wireless_2==1) }}void Upkey()//升序按鍵{while(wireless_1==1)。while(out==0)。done=0。Write1302(0x80,Secondamp。 Write1302(0x8e,0x00)。Second=Read1302(DS1302_SECOND)。hide_sec=0,hide_min=0,hide_hour=0,hide_day=0,hide_week=0,hide_month=0,hide_year=0。count=0。 { mdelay(8)。}}/***********DS1302時鐘部分子程序******************/void outkey() }i62。delay0。uint i。j++)。for(j=0。icount。}void Delay1ms(unsigned int count){ TempBuffer[4]=39。C39。 //溫濕度符號 //個位039。 //十位039。 //溫濕度數(shù)據(jù)轉(zhuǎn)換成液晶字符顯示{ }void temp_to_str()temp_value+=(aamp。temp_value=b4。b=ReadOneChar()。 a=ReadOneChar()。delay_SHT10(100)。 //跳過讀序號列號的操作WriteOneChar(0xCC)。Init_SHT10()。delay_SHT10(100)。 // 跳過讀序號列號的操作}}/**************讀取SHT10當(dāng)前溫濕度************/void ReadTemp(void){dat=1。 0x01。{ i)for (i=8。}/*************SHT10寫一個字節(jié)****************/ if(DQ) DQ = 1。 dat=1。 DQ = 0。i)for (i=8。uchar dat = 0。uchar i=0。}/***********SHT10讀一個字節(jié)**************///稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 //拉高總線 DQ = 1。 delay_SHT10(80)。 //稍做延時 delay_SHT10(8)。}/*********SHT10初始化函數(shù)**********************/void Init_SHT10(void) {}}/**********SHT10子程序*************************//***********SHT10延遲子函數(shù)(晶振12MHz )*******/ void delay_SHT10(unsigned int i){Write1302(0x8e,0x80)。Write1302(0x80,0x55)。Write1302(0x82,0x59)。Write1302(0x84,0x23)。Write1302(0x8a,0x07)。Write1302(0x86,0x25)。Write1302(0x88,0x07)。Write1302(0x8c,0x07)。Write1302(0x8e,0x00)。 //判斷時鐘芯片是否關(guān)閉0x80) //時鐘芯片初始化{ //獲取時鐘芯片的時鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組void Initial_DS1302(void)} // 讀1Byte數(shù)據(jù) // 地址,命令 DS1302InputByte(ucAddr|0x01)。 DS1302_RST = 1。 DS1302_CLK = 0。 DS1302_RST = 0。 unsigned char ucData。} unsigned char Read1302(unsigned char ucAddr)// 寫1Byte數(shù)據(jù) DS1302InputByte(ucDa)。 //ucAddr: DS1302地址, ucData: 要寫的數(shù)據(jù){ return(ACC)。//相當(dāng)于匯編中的 RRC ACC = ACC 1。 i) for(i=8。 unsigned char i。 } }unsigned char DS1302Outpu
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1