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

正文內(nèi)容

基于spce061a單片機(jī)的全自動洗衣機(jī)控制器設(shè)計(參考版)

2025-01-21 16:19本頁面
  

【正文】 //循環(huán)結(jié)束調(diào)語音停止函數(shù) } 。 //調(diào)語音播放服務(wù)函數(shù)N Y開始定義循環(huán)次數(shù) count 初值為 10電機(jī)停止 IOB[8],IOB[9]賦 0語音資源選擇自動播放模式調(diào)播放語音函數(shù)并選擇 DCA1播放判斷 count=0播放音樂報警并延時 1s count 減 1 報警結(jié)束49 Delay_1s()。count=0。 //調(diào)語音初始化函數(shù)并選擇自動播放 SACM_A2022_Play(0,1,3)。=0xFCFF。1).報警狀態(tài)子程序流程圖如下:48 圖 報警子程序流程圖2).報警狀態(tài)子程序清單如下:void Warning() { int count=10。該子程序應(yīng)用了凌陽單片機(jī)的語音功能,調(diào)用單片機(jī)中語音函數(shù),對其進(jìn)行設(shè)置,其中要播放的語音是在建立工程文件時添加進(jìn)的事先壓縮過的語音資源文件。=0xF7FF。 Delay_1s()。 //調(diào)電機(jī)正轉(zhuǎn)子程序 Disp_Timer(i)。 //定義變量 i 并把 Dry_Time 值賦給 i*P_IOA_Buffer|=0x0800。脫水結(jié)束狀態(tài)燈滅。脫水中只用電機(jī)一個方向的轉(zhuǎn)動,故只調(diào)用電機(jī)正轉(zhuǎn)子程序。=0xFBFF。 Delay_1s()。j0。=0xFCFF。 *P_IOA_Buffer|=0x0400。 } } } 排水狀態(tài)子程序及流程圖 該程序用于洗滌或漂洗結(jié)束時排出臟水,處于該狀態(tài)時,排水狀態(tài)燈 IOA[10]口燈亮,電機(jī)停止,延時并顯示排水時間,排水結(jié)束狀態(tài)燈滅。=0xFDFF。 Delay_1s()。 Disp_Timer(Wash2_Time)。 Delay_1s()。 Disp_Timer(Wash2_Time)。 } case 1: //如果參數(shù)為 1 { *P_IOA_Buffer|=0x0200。=0xFEFF。 Delay_1s()。 Disp_Timer(Wash1_Time)。 Delay_1s()。 Disp_Timer(Wash1_Time)。1). 洗滌、漂洗狀態(tài)子程序流程圖如下:42N Y判斷 Wash1_Time=0N Y調(diào)用 1s 延時子程序調(diào)用電機(jī)反轉(zhuǎn)子程序Wash1_Time開始洗滌燈亮 IOA[8]賦高電平調(diào)電機(jī)正轉(zhuǎn)子程序判斷調(diào)用函數(shù)參數(shù) i=0調(diào)顯示程序顯示 Wash1_Time調(diào)顯示程序顯示 Wash1_TimeWash1_Time調(diào)延時 1s 子程序洗滌燈滅 IOA[8]賦低電平返回漂洗狀態(tài)43漂洗燈亮 IOA[9]賦高電平調(diào)用顯示子程序(Wash2_Time)調(diào)用電機(jī)正轉(zhuǎn)子程序調(diào)用 1s 延時子程序調(diào)用電機(jī)反轉(zhuǎn)子程序Wash2_TimeWash2_Time 調(diào)顯示子程序(Wash2_Time)N Y調(diào)用 1s 延時子程序判斷 Wash2_Time=0漂洗燈滅 IOA[9]賦低電平返回漂洗狀態(tài)44 圖 洗滌、漂洗狀態(tài)子程序流程圖2). 洗滌、漂洗狀態(tài)子程序清單void Wash_Clothes(int i) { switch(i) { case 0: //如果參數(shù)為 0 { *P_IOA_Buffer|=0x0100。工作狀態(tài)中,判斷洗滌還是漂洗,然后調(diào)電機(jī)正轉(zhuǎn)程序,顯示,全局變量減一,延時,再調(diào)反轉(zhuǎn)程序,顯示,減一延時。 //進(jìn)水狀態(tài)燈 IOA[7]口燈滅 } 洗滌、漂洗狀態(tài)子程序及流程圖 這兩個狀態(tài)采用一個子程序來控制,用調(diào)用時的參數(shù)來區(qū)分洗滌還是漂洗。 //否則循環(huán)終止停止進(jìn)水 } *P_IOA_Bufferamp。 Delay_1s()。 //檢測 IOA[5]端口狀態(tài)保護(hù)其它位 if(check_high==0x0020) //判斷若 IOA[5]口狀態(tài)為 1,即水位傳感器處于短路狀態(tài),水位不到,則顯示進(jìn)水時間并延時 { j++。 //循環(huán)檢測 IOA 口的數(shù)據(jù) check_highamp。 //電機(jī)停YN 則 j加 1開始電機(jī)停止(IOB[8].IOB[9]賦低電平 )進(jìn)水燈亮 IOA[7]賦高電平While 循環(huán)檢測 IOA[5]口調(diào)用顯示子程序(參數(shù) j)調(diào)用 1s 延時子程序判斷檢測水位是否到進(jìn)水燈滅 IOA[7]賦低電平結(jié)束循環(huán),進(jìn)水結(jié)束41 *P_IOA_Buffer|=0x0080。 *P_IOB_Bufferamp。用 IOA[5]口水位傳感器來檢測水位是否到,程序中循環(huán)檢測 IOA[5]口的狀態(tài)并判斷是否為 0,若為零,水位到進(jìn)水燈滅。 //IOA[12],IOA[13],IOA[14],IOA[15]口狀態(tài)燈亮 break。 Dry_Time=5。 } case 0x0018: //IOA[3]=1 且 IOA[4]=1 衣物較臟且較重 { Wash1_Time=25。 *P_IOA_Buffer=0xD000。 Wash2_Time=17。 //IOA[12],IOA[13],IOA[14]口狀態(tài)燈亮 break。 Dry_Time=4。 } case 0x0008: //IOA[3]=1 且 IOA[4]=0 衣物較臟且較輕 { Wash1_Time=15。 *P_IOA_Buffer=0x5000。 YN YNCheck_Result=0x0000開始讀取檢測到的 Check_Result 狀態(tài)Check_Result=0x0008狀態(tài) 2 返回狀態(tài) 4 返回 Y狀態(tài) 3 返回 NCheck_Result=0x0010狀態(tài) 1 返回39 Wash2_Time=7。=0x0018。1). 檢測控制子程序流程圖如下:38 圖 檢測控制子程序流程圖2). 檢測控制子程序void Check_Control() { //根據(jù)檢測結(jié)果確定洗衣的各狀態(tài)時間Check_Result=(*P_ADC_MUX_Data)。 } } 檢測模糊控制子程序及流程圖 檢測程序用于 IOA[3]、IOA[4] 端口輸入的狀態(tài),分別作為衣物臟凈顯示輸入端口和衣物質(zhì)量檢測輸入端口,通過對這些狀態(tài)的檢測并進(jìn)行模糊輸入精確化處理從而確定洗衣狀態(tài),漂洗狀態(tài),脫水狀態(tài)等在不同情況下的洗滌,漂洗,脫水時間。 //延時,動態(tài)顯示 *P_IOB_Buffer=Number_Disp[Shi_Wei]+0x0400。j++) //循環(huán)掃描 { *P_IOB_Buffer=Number_Disp[Ge_Wei]+0x0800。 //i 整除 10 得到時間十位 for(j=0。 //將時間傳給變量 i Ge_Wei=i%10。 //定義個位、十位變量 int i,j。 1). 數(shù)碼管顯示子程序流程圖如下:N,j++Y開始定義變量主函數(shù)傳遞參數(shù) timer 賦給 ii 對 10 取余存入 Ge_Weii 整除 10 存入 Shi_Wei返回延時位選個位 IOB[0]IOB[6]顯示位選十位 IOB[0]IOB[6]顯示延時判斷 j=10?37 圖 數(shù)碼管顯示子程序流程圖2). 數(shù)碼管顯示子程序清單如下: void Disp_Timer(int timer) //數(shù)碼管顯示子程序 { //定義數(shù)組變量,共陰極數(shù)碼管顯示 0~9 int Number_Disp[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}。 //IOB[8]口置 0delay()。 //IOB[9]口置 1*P_IOB_Bufferamp。正轉(zhuǎn)狀態(tài)時送入的狀態(tài)是 IOB[8]=0 且 IOB[9]=1。 } //延時 電機(jī)反轉(zhuǎn)子程序及流程圖電機(jī)反轉(zhuǎn)轉(zhuǎn)子程序主要用于洗滌狀態(tài),漂洗狀態(tài)。=0xFDFF。1).流程圖如下: Y YN,jN,i判斷 j=0?判斷 i=0?結(jié)束開始定義變量 i ,j 并賦初值35 圖 電機(jī)正轉(zhuǎn)子程序流程圖2).電機(jī)正轉(zhuǎn)子程序清單如下:void Motor_P_Dir()//電機(jī)正轉(zhuǎn)子程序 { *P_IOB_Buffer|=0x0100。根據(jù)電路,電機(jī)兩端分別通過器件接到了 IOB[8]、IOB[9] 口,所以控制該電機(jī)只需在這兩端口交替送入 0,1信號即可。j)。i) for(j=52。 for(i=5。N,iN,jYYN,kY判斷 k=0?判斷 j=0?判斷 i=0?返回定義變量 i,j,k 并賦初值開始34 } 延時 1ms 程序及流程圖 這個子程序主要用于電機(jī)正反轉(zhuǎn)中使電機(jī)轉(zhuǎn)動延時,及數(shù)碼管顯示子程序中能夠使兩位一體的數(shù)碼管顯示時動態(tài)顯示,采用兩層循環(huán)方式。k0。j0。i0。 1).延時程序流程圖如下圖 圖 延時 1s 子程序流程圖 2).延時 1s 子程序清單如下://延時 1s 子程序 void Delay_1s() { unsigned char i,j,k。 //調(diào)脫水狀態(tài)子程序 Warning()。 //調(diào)漂洗狀態(tài)子程序 Water_Out()。 //調(diào)排水狀態(tài)子程序 Water_In()。 //調(diào)進(jìn)水狀態(tài)子程序Wash_Clothes(0)。 Delay_1s()。i=0。=0xFCFF。 //AD 啟動并選 LIN_IN 通道 Check_Control()。*P_IOB_Buffer=0x0000。 *P_IOB_Dir=0xFFFF。 //端口寄存器初始化 *P_IOA_Attrib=0xFFC0。//主函數(shù) main(){ int i。達(dá)到設(shè)定水位時水位傳感器閉合,為 1 狀態(tài)。本次設(shè)計時采用開關(guān)式水位傳感器。實驗設(shè)計時采用電位器來代替。當(dāng)此端口輸入電壓為 0~ 左右(電位器值為 0~1k 左右)時,表示衣物較干凈;當(dāng)此端口輸入電壓為 ~5v 左右(電位器值為 1k~2k 左右)時,表示衣物較臟;2). IOA[4]:衣物質(zhì)量檢測輸入端口。實際中對臟凈程度的檢測是根據(jù)安裝在排水口的紅外線光電傳感器,通過分析透光率的變化曲線,來檢測濁污程度的。 子程序包括顯示子程序、衣物重量檢測子程序、進(jìn)水子程序、洗滌子程序、漂洗子程序、脫水子程序、時鐘中斷子程序等。主程序中既有模糊控制程序, 也有用戶根據(jù)實際需要設(shè)置的用戶程序。越臟則轉(zhuǎn)速越快,越重則設(shè)定水位越高。全自動洗衣機(jī)的設(shè)計中用到的傳感器有水位傳感器、重量傳感器、渾濁度傳感器。傳感器將檢測的數(shù)據(jù)信息傳入到控制器中,在控制器中經(jīng)過分析處理,CPU 將得到數(shù)據(jù)與標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行比較,得出控制結(jié)果,如:加水量、洗滌時間等,并將處理的結(jié)果輸出至執(zhí)行器動作;⑶洗滌模塊:洗滌部分主要由機(jī)械部分電動機(jī)以及各種開關(guān)構(gòu)成,通過 CPU 控制的電機(jī)正反轉(zhuǎn)以及開關(guān)的閉、合完成各種洗滌動作
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1