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

正文內(nèi)容

dc-dc開關(guān)電源及其控制系統(tǒng)畢業(yè)論文-資料下載頁

2025-06-28 08:16本頁面
  

【正文】 第一個(gè)為例說明。 程序來自2005年4月22日科創(chuàng)講座的筆記,袁焱老師提供。 ********************************************/ /* 對(duì)按鍵一進(jìn)行消抖 */ cur_sample1 = KEY1。 /* 將按鍵一的當(dāng)前狀態(tài)讀取到cur_sample1 */ if(pre_sample1 != cur_sample1) key1_count++。 else key1_count = 0。 /* 如果按鍵的狀態(tài)發(fā)生了改變,則開始計(jì)數(shù),反之清零 */ if(key1_count = v_keycount)/* 如果按鍵在改變的狀態(tài)持續(xù)達(dá)到v_keycount的次數(shù)執(zhí)行以下片斷 */ { key1_count = 0。 /* 給出按鍵被按下的flag,計(jì)數(shù)器歸零,默認(rèn)狀態(tài)置為當(dāng)前狀態(tài) */ if(cur_sample1 == 0) key1_flag = 1。 pre_sample1 = cur_sample1。 } /* 對(duì)按鍵二進(jìn)行消抖,原理同按鍵一,見按鍵一的注釋 */ cur_sample2 = KEY2。 if(pre_sample2 != cur_sample2) key2_count++。 else key2_count = 0。 if(key2_count = v_keycount) { key2_count = 0。 if(cur_sample2 == 0) key2_flag = 1。 pre_sample2 = cur_sample2。 } /* 對(duì)按鍵三進(jìn)行消抖,原理同按鍵一,見按鍵一的注釋 */ cur_sample3 = KEY3。 if(pre_sample3 != cur_sample3) key3_count++。 else key3_count = 0。 if(key3_count = v_keycount) { key3_count = 0。 if(cur_sample3 == 0) key3_flag = 1。 pre_sample3 = cur_sample3。 } /* 對(duì)按鍵四進(jìn)行消抖,原理同按鍵一,見按鍵一的注釋 */ cur_sample4 = KEY4。 if(pre_sample4 != cur_sample4) key4_count++。 else key4_count = 0。 if(key4_count = v_keycount) { key4_count = 0。 if(cur_sample4 == 0) key4_flag = 1。 pre_sample4 = cur_sample4。 } /*按鍵消抖程序結(jié)束*/ /************************************* 子模塊:ADC部分程序,讀取ADC的輸出值 *************************************/ if(AD_flag==0) { if((++DelayCounter)=30) { AD_data[AD_ptr] = ADDR_0804 。 // 讀0804 AD_ptr++。 } AD_flag = 1。 } ET0=1。 /*開中斷*/}/************************************* PMW信號(hào)發(fā)生模塊,使用定時(shí)器1提供的中斷*************************************/PwmGenerator() interrupt 3 using 1{ EA=0。 TR1=1。 if(PWM_flag==0) { PWM_OUT=1。 TH1=hilv_th。 TL1=hilv_tl。 PWM_flag=1。 } else { PWM_OUT=0。 TH1=lolv_th。 TL1=lolv_tl。 PWM_flag=0。 } EA=1。}/*開環(huán)控制模塊,計(jì)算v對(duì)應(yīng)的p*/void Calc_Prop(){ EA=0。 prop_float=coe_pv[0]+coe_pv[1]*volt+coe_pv[2]*volt*volt。 prop_int=prop_float+。 EA=1。}/*自動(dòng)擬合模塊,調(diào)整coe[]的值*/void Adjust(){ EA=0。 coe_pv[0]=*adjust_Prop[1]*adjust_Prop[2]+*adjust_Prop[3]。 coe_pv[1]=*adjust_Prop[1]+*adjust_Prop[2]*adjust_Prop[3]。 coe_pv[2]=*adjust_Prop[1]*adjust_Prop[2]+*adjust_Prop[3]。 adjust_count=1。 adjust_Prop[1]=327。 adjust_Prop[2]=429。 adjust_Prop[3]=504。 EA=1。}/*閉環(huán)控制模塊*/void CLC_func(){ if(AD_flag) /*處理AD轉(zhuǎn)換的任務(wù)*/ { ADDR_0804 = 0 。 /* 啟動(dòng)一次AD轉(zhuǎn)換*/ if (AD_ptr = AD_SMPL_NUM ) /*計(jì)算平均值*/ { AD_ptr = 0。 AD_value = 0。 for(i=0。iAD_SMPL_NUM。i++) { AD_value += AD_data[i]。 } AD_value = AD_value/AD_SMPL_NUM。 } AD_flag=0。 } if(DelayCounterCLC_DELAY) /*延時(shí)一定時(shí)間之后調(diào)整占空比*/ { AD_require=ad_change(volt)。 DelayCounter=0。 /*重置延時(shí)計(jì)數(shù)器*/ AD_ptr=0。 /*閉環(huán)占空比調(diào)整部分*/ AD_temp= AD_valueAD_require。 if( (AD_temp) 0 ) /*AD_value大了,電壓低了,Prop應(yīng)增加*/ {/*分段調(diào)整,根據(jù)差值的大小動(dòng)態(tài)改變占空比,實(shí)現(xiàn)1秒之內(nèi)的調(diào)整速度*/ if((AD_temp)37) { prop_int+=30。 prop_float=prop_int。 } else if((AD_temp)10) { prop_int+=10。 prop_float=prop_int。 } else { prop_int++。 prop_float=prop_int。 } change_flag=1。 if (setting_flag) { refresh_flag=1。 } } else if(AD_temp0) { if(AD_temp37) { prop_int=30。 prop_float=prop_int。 } else if(AD_temp10) { prop_int=10。 prop_float=prop_int。 } else { prop_int。 prop_float=prop_int。 } change_flag=1。 if (setting_flag) { refresh_flag=1。 } } } }/*************** 主程序***************/main(){ /* 單片機(jī)系統(tǒng)初始化 */ P1=0XFF。 P3=0XFF。 /* 中斷工作寄存器初始化 */ PT0=0。 IE=0X80。 IP=0。 PT1=1。 IT0=0。 IT1=0。 /* 定時(shí)器工作寄存器初始化 */ TMOD=0X11。 TH1=(6553611059200/12/2)/256。 TL1=(6553611059200/12/2)%256。 TH0=V_TH0。 TL0=V_TL0。 /* 串行通信口工作初始化 ,注:本例中雖未使用到串行通信口,但本段程序無妨保留 */ SM0=0。 /*SCOM MODE 1 (8BIT UART VARBR)*/ SM1=1。 SM2=0。 REN=1。 TI=1。 /* 全局變量賦初值 */ /*數(shù)碼管掃描*/ digi_scaner=1。 /*以下按鍵消抖變量清零*/ key1_flag=0。 key2_flag=0。 key3_flag=0。 key4_flag=0。 key1_count=0。 key2_count=0。 key3_count=0。 key4_count=0。 cur_sample1=0。 pre_sample1=0。 cur_sample2=0。 pre_sample2=0。 cur_sample3=0。 pre_sample3=0。 cur_sample4=0。 pre_sample4=0。 /*輸出置零*/ PWM_OUT=0。 /*狀態(tài)標(biāo)志初值*/ refresh_flag=1。 setting_flag=0。 change_flag=1。 /*任務(wù)變量賦初值,默認(rèn)輸出頻率為400Hz,%,*/ volt=50。 prop_int=310。 prop_float=prop_int。 /*pv多項(xiàng)式系數(shù)賦初值*/ coe_pv[0]=。 coe_pv[1]=。 coe_pv[2]=。 /*自動(dòng)擬合*/ adjust_count=1。 adjust_Prop[1]=327。 //v= adjust_Prop[2]=429。 //v= adjust_Prop[3]=504。 //v= /*ADC變量賦初值*/ AD_flag =1。 AD_ptr=0。 AD_value=1。 AD_require=241。 /*開/閉環(huán)控制變量賦初值*/ CLC_flag=0。 DelayCounter=0。 /** 開定時(shí)器,定時(shí)器中斷允許 **/ TR0=1。 TR1=1。 ET0=1。 ET1=1。 /****************************************** 主循環(huán)模塊 在T0、T1中斷服務(wù)程序未被執(zhí)行的空余時(shí)間里, 處理機(jī)在以下程序中不斷循環(huán) *******************************************/ while(1) { /************************ 按鍵服務(wù)子模塊 **************************/ if(key4_flag) /*按鍵四:可以進(jìn)入不同狀態(tài),setting_falg==0為OPEN/CLOSE,稱非設(shè)置狀態(tài) 1,2,3稱設(shè)置狀態(tài),1為電壓,2為占空比,3為自動(dòng)擬合按鍵服務(wù)*/ { if( (++setting_flag)3 ) { setting_flag=0。 } refresh_flag=1。 key4_flag=0。 } if(key3_flag) { if(setting_flag==0) /*按鍵三:0為開環(huán)、閉環(huán)控制切換*/ { CLC_flag=!CLC_flag。 } else if(setting_flag==3) /*按鍵三:3為自動(dòng)擬合流程控制*/ { if( (++adjust_count)ADJUST_NUM ) { Adjust()。 } } key3_flag = 0。 refresh_flag=1。 } if(key1_flag) { /*在設(shè)置狀態(tài)下,1號(hào)按鍵的作用是增加*/ if(setting_flag==1) { if(volt100) { volt+=1。 } /*電壓調(diào)整后計(jì)算占空比*/ Calc_Prop()。 } else if(setting_flag==2) { if(prop_int1000) {
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1