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

正文內(nèi)容

開關(guān)電源模塊并聯(lián)供電系統(tǒng)設(shè)計(jì)-預(yù)覽頁

2024-08-01 13:48 上一頁面

下一頁面
 

【正文】 ,然后經(jīng)過一個(gè)差分電路,將電壓值送入單片機(jī)進(jìn)行處理如圖 。用戶可以對 EN、RW、RS 的數(shù)據(jù)進(jìn)行編程,然后通過 D0~D7 輸出顯示數(shù)據(jù)。同時(shí)每 10 毫秒進(jìn)入定時(shí)器 0 中斷進(jìn)行調(diào)整。然后返回?cái)?shù)據(jù)。 OC R 1 B 2 6 5 ?O C R 1 A = 2 6 5O C R 1 B = 2 6 5O C R 1 A 1O C R 1 B 1O C R 1 A 2 4 0 amp。 OC R 1 B 2 6 0 ?O C R 1 A = 2 5 0O C R 1 B = 2 6 0結(jié)束YNYNYNNYYYYYNNNN 圖 按鍵程序流程圖液晶程序圖 為 1602 液晶屏的程序框圖,1602 由 3 個(gè)控制引腳,8 位雙向數(shù)據(jù)端引腳控制顯示的內(nèi)容和位置。一開始配置 AD 寄存器,然后啟動(dòng) AD 寄存器,然后將采樣回來的數(shù)據(jù)組合成 10 位的數(shù)據(jù),然后采樣 8 次,去頭去尾后,對其求平均值。11開始A D 配置 , 啟動(dòng)A D采樣 8 次獲取采樣值獲取 A D 采樣 8次的平均值A(chǔ) D采樣值小于 8 . 4 V對應(yīng)數(shù)字量 ?O C R 1 A = 2 6 5O C R 1 B = 2 6 5采樣值小于 7 . 6 V對應(yīng)數(shù)字量 ?O C R 1 A = 2 4 0O C R 1 B = 2 4 0結(jié)束中斷 P I D 電流計(jì)算YNN圖 AD 采樣程序流程圖中斷、PID 流程圖如圖 和 分別是中斷流程圖和 PID 算法程序流程圖。12開始定時(shí)器 0 中斷進(jìn)行 P I D 調(diào)整結(jié)束配置定時(shí)器 0 中斷 , 定時(shí) 1 0 毫秒定時(shí)器 0 中斷 1 0毫秒 ?電壓比較反饋定時(shí)器 0 中斷YN開始誤差 = 設(shè)定值 A D 采樣值P I D 算法誤差是否小于最小偏差 ?進(jìn)入 P I D 公式調(diào)整調(diào)整值 = 0調(diào)整值是否大于設(shè)定最大值 ?調(diào)整值 = 設(shè)定最大值調(diào)整值是否大于設(shè)定最小值 ?調(diào)整值 = 設(shè)定最小值輸出值 = 調(diào)整值 +輸出值輸出值是否大于設(shè)定最大值 ?輸出值 = 設(shè)定最大值輸出是否小于設(shè)定最小值 ?輸出值 = 設(shè)定最小值結(jié)束YNNYYNYNYN 圖 定時(shí)器 0 中斷 圖 PID 算法流程圖四、調(diào)試過程(一) 、遇到的問題及解決辦法(1) 、在對電路板進(jìn)行設(shè)計(jì),做板子的時(shí)候,經(jīng)過封塑機(jī)出來后的板子,然后用腐蝕劑進(jìn)行腐蝕,得到了一塊單面板,當(dāng)我們把器件焊上去的時(shí)候發(fā)現(xiàn),跟我們預(yù)期的反了一下,所有的器件都反了一下,這樣子,整個(gè)電路就不能用了。經(jīng)過計(jì)算后選取了一個(gè)合適的阻值,使波形能夠達(dá)到電路的要求。還有液晶刷新很慢,按鍵要按很久才能用。能夠達(dá)到基本的要求。表 負(fù)載為 ,兩模塊電流按 1:2 分配情況(比例反饋)I1(A) I2 (A) I 總 (A) Uo(V)給定值 測量值 絕對誤差 % 7% % %表 負(fù)載為 ,兩模塊電流按 1:2 分配情況(PI 反饋)I1(A) I2 (A) I 總 (A) Uo(V)給定值 測量值 絕對誤差 % % % 5%對比表 和表 可以看出,同樣是 1:1 的電流分配情況下,比例調(diào)節(jié)的誤差在5%以內(nèi),達(dá)到了基本的要求,但是在 PI 調(diào)節(jié)下,可以看出誤差精度已經(jīng)達(dá)到了 2%的要求。整個(gè)學(xué)習(xí)的過程是很重要的。對于編寫程序,整體的邏輯性還要加強(qiáng)。學(xué)的更好,希望一次比一次有進(jìn)步。 //允許中斷 SREG |= BIT(7)。 //PID 調(diào)整 OCR1B _vol()。 //兩路 PWM,匹配清零 TCCR1B = 0x11。 //占空比 %}void main(){17 KPWM()。 //定時(shí)器 0 初始化 adcport_init()。 //顯示 AD0 的模擬量和數(shù)字量 }}//****************************//ifndef _1602_H_define _1602_H_define uchar unsigned chardefine uint unsigned intvoid delay(uint MS)。void Display_PWM()。18 for(i=0。j++)。=~BIT(6)。 //EN=1 delay(5)。 //RS=1 PORTAamp。 PORTA|=BIT(7)。 //EN=0} //********1602 初始化*********//void LCD_init(){ DDRA=0XFF。 //設(shè) 8 位數(shù)據(jù)線,雙行,5*7 點(diǎn)陣 delay(5)。 //輸入地址自加,屏幕不移動(dòng) delay(5)。 uint shi,ge,xiaoshu,beichu。 //將 OCR1A 十位拆分 xiaoshu=OCR1A%10。 //將 OCR1B 十位拆分 xiaoshu1=OCR1B%10。\039。 //顯示十位 write_dat((shi*100+ge*10+xiaoshu)*100/beichu/10%10+0x30)。 write_dat((shi*100+ge*10+xiaoshu)*100/beichu%10+0x30)。 write_(0x8a)。.39。%39。void ADC1INIT(void)。float get_ADC0data(void)。endif//*****************************//includeincludeincludedefine uchar unsigned chardefine uint unsigned int //參考電壓define REF //**********ADC 端口初始化**********//void adcport_init(){ DDRAamp。 DDRAamp。 DDRAamp。}//******ADC0 初始化********//void ADC0INIT(void) { ADMUX=0x40。(1ADIF)))。 //使能 ADC,單次轉(zhuǎn)換,預(yù)分頻為 128 ADCSRA|=(1ADSC)。 //清除 ADIF 位}//******ADC2 初始化********//void ADC2INIT(void) { ADMUX=0x42。(1ADIF)))。 b=ADCL。 //組成 10 位二進(jìn)制數(shù)據(jù) return a。for(i=1。return v。for(i=0。 //將數(shù)據(jù)放入數(shù)組}v=get_ave(buf)。int buf[8]={0}。 //AD 初始化一次buf[i]=get_ADCdata()。float v。i++){ADC2INIT()。}//*********將數(shù)據(jù)拆分送顯示*******//void display_AD0()23{ int a,b。 //將數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制 b=get_ADC0data()。.39。039。V39。:39。039。039。i++) { write_dat(s[i])。j++) { write_dat(k[j])。 //鉗位到 OCR1B=240。endif//***************************//includeincludeincludedefine uchar unsigned chardefine uint unsigned intuint count_pwm=255。 //獨(dú)立鍵盤接口置高電平 PORTD|=BIT(0)。 DDRDamp。=~BIT(3)。 //獨(dú)立鍵盤接口置高電平 PORTD|=BIT(7)。=0x0f。 //讀取當(dāng)前 PWM 值 count_pwm+=1。 //OCR1A 賦新值 OCR1B=count_pwm。OCR1B=265。 //讀取當(dāng)前 PWM 值 count_pwm=1。 //OCR1A 賦新值 OCR1B=count_pwm。OCR1B=240。 //讀取當(dāng)前 PWM 值 count_pwm1=1。 //OCR1A 賦新值 OCR1B=count_pwm1。 //讀取當(dāng)前 PWM 值 count_pwm=1。 //按鍵消抖 while(PIND==0x07)。amp。void pid2_calculating()。 //PID 調(diào)整量int pwm_var1=0。 //公式計(jì)算值double Up = 0。 //中間變量double Ej1 = 0。 //差值的計(jì)算28 if(fabs(Ek)Emin) { pwm_var=0。 pwm_var=(int)Uo。 if(pwm_out=Pmax) pwm_out=Pmax。 //差值的計(jì)算 if(fabs(Ej)Emin) { pwm_var1=0。 pwm_var1=(int)Up。 if(pwm_out1=Pmax) pwm_out1=Pm
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1