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

正文內(nèi)容

基于pic單片機(jī)單相spwm逆變電源的設(shè)計(jì)(參考版)

2024-08-18 11:48本頁面
  

【正文】 float const SIN[]={,17,,,41,,,,,}。unsigned char const user16x16[]={ //笑臉圖片0x0F,0xF0,0x10,0x08,0x20,0x04,0x40,0x02,0x9C,0x39,0xBE,0x7D,0x80,0x01,0x80,0x01,0x80,0x01,0x88,0x11,0x84,0x21,0x43,0xC2,0x20,0x04,0x10,0x08,0x0F,0xF0,0x00,0x00,}。uchar CCP_DATA[96]。/* * 位定義 */bit flag1,flag0。unsigned long int MCP3202_data0。//AD采樣強(qiáng)制轉(zhuǎn)換的中間變量unsigned long int MCP41010_data0。//ADunsigned long int ad0。//Tc,PR2 查表指針long unsigned int ad_var0。/* * 四個(gè)字節(jié)變量定義 */ float m。uint i。uint CCP_Bdata。uint MCP3202_data。//mkuan查表指針uchar msta。uchar hdata。uchar X9312_wsta。uint led_data。uchar Myad_sta。uchar vref。uchar sin_data。uchar LCD_X9312_data。uchar X9312_data。uchar DB_data。uchar keyt。38/* * 變量定義 *//* * 單字節(jié)變量定義 */uchar R0,R1。static volatile bit lk3 (unsigned)amp。static volatile bit lk2 (unsigned)amp。static volatile bit lk1 (unsigned)amp。static volatile bit lk0 (unsigned)amp。static volatile bit k3 (unsigned)amp。static volatile bit k2 (unsigned)amp。static volatile bit k1 (unsigned)amp。static volatile bit k0 (unsigned)amp。}/************************ 文件: * 名稱:定義函數(shù)* 平臺(tái): PIC16F877A 4 晶振* 描述: 系統(tǒng)板 ***********************/define _XTAL_FREQ 12022000define uint unsigned intdefine uchar unsigned chardefine RA PORTAdefine RB PORTB//define RC PORTC//用到 RC時(shí)要改成 PORTCdefine RD PORTDdefine RE PORTEdefine speak RA5/* *按鍵定義 */ static volatile bank3 uchar key1 0x6b。37}void INTE0(void){INTEDG=1。CCP2IF = 0。PEIE = 1。} void capture(void){TRISC1 = 1。if(k1) temp。if(k0) temp++。temp)1。temp。// CCPR2L = temp2。//24時(shí) 40KCCP2CON = 0x0c。TRISC1 = 0。return(van/=8)。ADCON0=0x00。van+=。 //等待采樣36[1]=ADRESH。 //清看門狗 18ms 保證程序的穩(wěn)定性ADGO=1。while(i) //連續(xù)采樣 8次,求平均值{ ADIF=0。while(i)。ADCON0=adcon0。//PEIE=0。van=1。}ad_temp。union //定義聯(lián)合體以存每次 AD結(jié)果{ //共同占用同樣的存儲(chǔ)空間uint y1。}35}/************************ 文件: * 名稱:AD 函數(shù)* 平臺(tái): PIC16F877A 4 晶振* 編寫:xiao06 202288* 修改:* 描述: 系統(tǒng)板 ***********************/uint MYAD(uchar adcon0,uchar adcon1){uchar i。i95。flag0=1。//PR2 = Tosc[table]*2。i95。m = table*。PEIE=1。TMR2IE=1。T2CON=0x06。 TRISC2=0。PEIE=0。LCDWrite(v)。34LCDWrite(.)。Write_Data(ad0/100%10+0x30)。 //以內(nèi)部的叁考電壓為準(zhǔn)LCDPrints(0,4, 采樣電壓:)。ad_var0=MYAD(0X01,0X8e)。Write_Data(ad1%10+0x30)。Write_Data(ad1/100%10+0x30)。Write_Data(ad1/1000%10+0x30)。//AN1采樣ad1=(unsigned long)ad_var1*。LCDWrite(z)。Write_Data(ccpbuf%10+0x30)。ccpbuf = 375000/ccpbuf。LCDPrints(0, 2, CCP..:)。LCDWrite(z)。Write_Data(table%10+0x30)。LCDPrints(0, 1, 設(shè)置頻率:)。}if(table75) table=75。if (k3){ table++。CCP()。LCDWrite(z)。Write_Data(table%10+0x30)。LCDPrints(0, 3, 幅頻變換:)。time = 0。if(time400) {flag0=0。}/* *工作模塊 *自動(dòng)幅頻變換 */void work2(){ uchar i。 LCDPrints(2, 4, .......)。LCDWrite(H)。Write_Data(table/10%10+0x30)。 LCDPrints(0, 3, 固定頻率:)。LCDPrints(2, 1, 080502230)。}/* *工作模塊 *固定頻率 50Hz */void work1(){ //LCDDisplay1S()。INTE = 0。 //設(shè)置為 16分頻GIE=1。//RC2設(shè)置為輸出口CCP1CON=0x0c。 uchar i。TMR2IE=0。 LCDPrints(3, 4, .......)。LCDPrints(3, 2, 待機(jī)模塊)。}}/************************ 文件: * 名稱:工作函數(shù)* 平臺(tái): PIC16F877A 20 晶振* 編寫:xiao06 202213* 修改:* 描述: 系統(tǒng)板 ***********************//*31 *待機(jī)模塊 */void work0(void){ LCDDisplay1S()。CCP2IF = 0。T1CON = 0X30。CCPR2L = TMR1L。T1CON = 0X31。TMR1L = 0。CCP2IF){ //GIE=0。 }if(CCP2IEamp。if(flag0) CCPR1L =CCP_DATA[spwm_sta]。 spwm_sta++。 } }}}/* *中斷函數(shù) */void interrupt pic (void) {if(TMR2IF){ TMR2IF = 0。break。break。break。break。 msta = 3。} 29 if(k2){table = 25。LCDPrints(0, 2, 工作模塊)。ClrScreen()。} if(k1){table = 25。if(k0){ClrScreen()。TMR0=0X64。while(1){while(T0IF){CLRWDT()。// pwm()。msta=0x00。28PEIE=0。//下降沿觸發(fā)中斷INTE=0。TRISB0=1。 __delay_ms(10)。 DrawCollumLine(0,0,63,1)。 DrawRowLine(0,48,127,1)。 DrawRowLine(0,32,127,1)。 //初始化 ClrBMP()。keyt= 0。ADCON1=0x06。spwm_sta = 0。//開啟定時(shí)器table = 8。 // 1:256TMR0 = 0X64。//PIE1=0X00。ADCON1= 0X06。 //第二個(gè) IO口 CCP1TRISD = 0x00。TRISB = 0x00。}27while(POR==0){POR=1。PORTD=0X00。PORTB=0x00。父母的教誨是我一生最寶貴的財(cái)富,再一次感謝他們對(duì)我繼續(xù)深造的支持。尤其感謝漳州師范學(xué)院物理與電子信息工程系的全體老師,教誨我知識(shí),讓我終身受益。他做論文的經(jīng)驗(yàn)和查找資料的方法對(duì)我起了非常大的幫助,多次面對(duì)面和電話的指導(dǎo)對(duì)我們論文及硬件設(shè)計(jì)給出了寶貴意見。7.結(jié)束語本系統(tǒng)利用 PIC16F877A 芯片的功能,基本上實(shí)現(xiàn)了設(shè)計(jì)的預(yù)期功能,能夠較好的實(shí)現(xiàn)逆變電壓的穩(wěn)定輸出,且有較好的帶載能力和較高的效率,隨輸入電壓增大后,效率有所提高。圖 18 中斷程序流程圖19(見附錄)5 軟硬件調(diào)試 SPWM信號(hào)調(diào)試單片機(jī)輸出的 SPWM 信號(hào)經(jīng)過普通的 RC 濾波后的到正弦波,如圖 19:其中 R 取為 10KΩ 的普通電阻、C 取為 104 瓷片電容。在中斷服務(wù)程序中查找脈寬表,將下一個(gè)脈寬值寫入寄存器CCPR1L 中。 當(dāng) TMR2≥PR2 時(shí),則 TMR2=0,重新開始另一個(gè)周期計(jì)數(shù),PWM 功能引腳開始輸出高電平。 SPWM 信號(hào)的產(chǎn)生過程 軟件控制 PIC 單片機(jī)使之產(chǎn)生 SPWM 波形,首先將之前設(shè)置的寄存器值寫入相關(guān)寄存器,當(dāng) PIC 的 PWM 功能開啟后 TMR2 從 0 開始計(jì)數(shù),同時(shí) CCP 模塊引腳輸出高電平。CCPR1L 脈寬寫入寄存器后,寫入的脈寬值在下個(gè) TMR2 周期開始時(shí)轉(zhuǎn)至自定義的單元,通過讀自定義的脈寬值來改變 PWM脈寬。選擇 CCP 模塊作用于 PWM 功能模式。相關(guān)寄存器的設(shè)置如下。17 主程序設(shè)計(jì)圖 17 主程序流程圖 PIC單片機(jī)設(shè)置本系統(tǒng)所用晶振 12MHz,計(jì)算得指令周期即計(jì)時(shí)步階為 。根據(jù) ,電容43C TR)~3(?取值為 [13]。PSB 腳接高電平,3 腳為調(diào)節(jié)液晶背光。列驅(qū)動(dòng)器的數(shù)據(jù)傳輸方式有兩種:其一為串行數(shù)據(jù)傳輸方式;其二為 4 位或 8 位并行數(shù)據(jù)傳輸方式。矩陣 LCD 的驅(qū)動(dòng)系統(tǒng)包括了行驅(qū)動(dòng)器、列驅(qū)動(dòng)器、偏壓電路、驅(qū)動(dòng)電源發(fā)生器以及溫度補(bǔ)償電路。 15圖 14 檢測(cè)電路1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2012864D0 D1 D2 D3 D4 D5 D6 D7RS(CS)R/W(SDI)E(SCLK)C5 C6 C7PSB1K+5 5K104C/B圖 15 顯示電路顯示電路使用液晶 12864 來設(shè)計(jì)。頻率檢測(cè)電路則是利用比較電路,從而實(shí)現(xiàn)對(duì)頻率的采樣。如圖 14 所示,輸出電壓電流檢測(cè)模塊通過 TV19G 采集后端電壓,然后通過全波整流電路在 輸入正弦波,當(dāng) 為正半周時(shí),經(jīng)過反向比例放大器0U0U后,輸出電壓極性為負(fù),二極管 D3 導(dǎo)通, D4 截止, 輸出電壓為B2 BU2,再經(jīng)過反向比例放大器 ,然后根據(jù)疊加原理,可得 = 。此電路還有一作用是:在系統(tǒng)上電時(shí),封鎖了 SPWM 控制信號(hào),對(duì)主電路起到上電保護(hù)作用。由于主電路只有一路的過流判斷,在過流時(shí)會(huì)不停的脈動(dòng),不能完全封鎖 SPWM 控制信號(hào),故設(shè)計(jì)時(shí)還應(yīng)另加一路軟件保護(hù)來同時(shí)進(jìn)行信號(hào)的判斷,從而讓單片機(jī)來封鎖 SPWM 控制信號(hào)。W21254?910118U7C74103456U7B7410121312U7A7410
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1