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

正文內(nèi)容

基于單片機(jī)的智能窗簾控制器的設(shè)計(jì)-資料下載頁(yè)

2025-06-27 19:24本頁(yè)面
  

【正文】 ers,2013,(9), 21附錄Aincludeincludeinclude //頭文件define uc unsigned chardefine ui unsigned int //宏定義sbit close = P1^3。sbit open = P1^2。//手動(dòng)前進(jìn)后退按鍵 sbit out1 = P3^0。sbit out2 = P3^5。//電機(jī)控制輸出 sbit limit_close = P3^4。sbit limit_open = P3^6。//前進(jìn)后退限位開(kāi)關(guān) sbit led_close = P1^4。sbit led_open = P1^5。//前進(jìn)后退限位指示燈 sbit light = P1^0。//光線傳感器 sbit change = P1^1。//手動(dòng)自動(dòng)切換按鍵(默認(rèn)自動(dòng)) sbit led_zhishi = P1^7。//模式指示燈,燈亮是自動(dòng)模式bit bdata change_flag。 //自動(dòng)模式變量,為0是自動(dòng),為1是手動(dòng)bit bdata flag_shan。bit bdata flag_shan1。bit bdata flag_shan2。uc m,n,shan。void delay(ui x)//延時(shí)函數(shù)大約延時(shí)x ms { ui i,j。 for(i=0。ix。i++) for(j=0。j110。j++)。}void work()//工作函數(shù) { if(change==0)//判斷切換是否按下 { delay(50)。 //按鍵去抖 if(change==0) //再次判斷按鍵是否按下 change_flag=~change_flag。//手動(dòng),自動(dòng)切換 if(change_flag==1)//切換到手動(dòng) { out1=1。 //關(guān)閉電機(jī)和LED指示燈 out2=1。 led_close=1。 led_open=1。 } while(!change)。//按鍵釋放 } led_zhishi=change_flag。//控制模式指示燈和模式一致(自動(dòng)模式時(shí),change_flag為0,所以指示燈點(diǎn)亮) if(change_flag==0)//自動(dòng)模式 { if(light==0)//夜間(無(wú)光)時(shí)關(guān)閉窗簾 { delay(50)。 if(light==0) { if((limit_close==0)amp。amp。(flag_shan==0)) //當(dāng)碰觸到關(guān)閉的限位開(kāi)關(guān)時(shí) { out1=1。 //關(guān)閉電機(jī) out2=1。 led_close=1。 //關(guān)閉指示燈 for(shan=0。shan6。shan++) //執(zhí)行6次,閃爍3次 { led_close=~led_close。 //指示燈閃爍 delay(500)。 //間隔500ms } flag_shan=1。 //閃爍后,變量置一,防止再次進(jìn)入 } else if(limit_close==1) //沒(méi)有碰觸到限位時(shí) { out1=1。 out2=0。 //關(guān)閉窗簾 led_open=1。 led_close=0。 //關(guān)閉指示燈亮 flag_shan=0。 //變量置零,到達(dá)限位時(shí)閃爍指示燈 } } } else if(light==1)//白天(有光)時(shí)打開(kāi)窗簾 { delay(50)。 if(light==1) { if((limit_open==0)amp。amp。(flag_shan==0))//以下注釋同上 { out1=1。 out2=1。 led_open=1。 for(shan=0。shan6。shan++) { led_open=~led_open。 delay(500)。 } flag_shan=1。 } else if(limit_open==1) { out1=0。 out2=1。 led_open=0。 led_close=1。 flag_shan=0。 }}}} else if(change_flag==1)//手動(dòng)模式 { if((close==0)amp。amp。(limit_close==1))//關(guān)閉是否按下 { delay(50)。 //去抖 if((close==0)amp。amp。(limit_close==1))//再次判斷 { out1=1。 out2=~out2。//按一下打開(kāi),再按一下,停止 led_open=1。 led_close=out2。 //指示燈跟隨電機(jī)狀態(tài)點(diǎn)亮 flag_shan1=0。 //變量置零 } while(!close)。//釋放 } else if((open==0)amp。amp。(limit_open==1))//打開(kāi)是否按下 { delay(50)。 //去抖 if((open==0)amp。amp。(limit_open==1))//再次判斷 { out2=1。 out1=~out1。//按一下關(guān)閉,再按一下,停止 led_close=1。 led_open=out1。 flag_shan2=0。 } while(!open)。//按鍵釋放 } if((limit_close==0)amp。amp。(flag_shan1==0)) //碰觸限位時(shí) { delay(5)。 if((limit_close==0)amp。amp。(flag_shan1==0)) { out2=1。 led_close=1。 for(shan=0。shan6。shan++) //閃爍3次 { led_close=~led_close。 delay(500)。 } flag_shan1=1。 } } if((limit_open==0)amp。amp。(flag_shan2==0)) { delay(5)。 if((limit_open==0)amp。amp。(flag_shan2==0)) { out1=1。 led_open=1。 for(shan=0。shan6。shan++) { led_open=~led_open。 delay(500)。 } flag_shan2=1。 } } }}void main()//主函數(shù) { light=0。 while(1)//進(jìn)入死循環(huán) { work()。//調(diào)用工作函數(shù) }}附錄
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1