單片微型計(jì)算機(jī)原理及接口技術(shù)-32-PWM模塊-6_第1頁
單片微型計(jì)算機(jī)原理及接口技術(shù)-32-PWM模塊-6_第2頁
單片微型計(jì)算機(jī)原理及接口技術(shù)-32-PWM模塊-6_第3頁
單片微型計(jì)算機(jī)原理及接口技術(shù)-32-PWM模塊-6_第4頁
單片微型計(jì)算機(jī)原理及接口技術(shù)-32-PWM模塊-6_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

單片微型計(jì)算機(jī)原理及接口技術(shù)(32)1/41內(nèi)容提綱STC8H8K64U單片機(jī)PWM模塊的應(yīng)用舉例-22/413、捕獲模式的應(yīng)用舉例(1)輸入捕獲模式測量脈沖波形的周期。原理:使用高級(jí)PWM內(nèi)部的某一通道的捕獲模塊CCx,捕獲外部的端口的上升沿或者下降沿,兩個(gè)上升沿之間或者兩個(gè)下降沿之間的時(shí)間即為脈沖的周期,也就是說,兩次捕獲計(jì)數(shù)值的差值即為周期值。只有PWM1P、PWM2P、PWM3P、PWM4P、PWM5、PWM6、PWM7、PWM8才有捕獲功能。3/413、捕獲模式的應(yīng)用舉例例:使用PWMA的第一組捕獲模塊CC1捕獲功能,捕獲PWM1P(P6.0)引腳上的上升沿,在中斷中對(duì)前后兩次的捕獲值相減得到周期。使用P4.2輸出周期為50ms,占空比2:5的波形進(jìn)行測試。4/41核心代碼

P_SW2|=0x80;//擴(kuò)展寄存器(XFR)訪問使能符號(hào)地址b7b6b5b4b3b2b1b0復(fù)位值P_SW2BAHEAXFR-I2C_S[1:0]CMPO_SS4_SS3_SS2_S0x00,0000P4M0=0x04;P4M1=0x00; //P4.2推挽輸出P6M0=0x00;P6M1=0x01; //P6.0高阻輸入PnM1.xPnM0.xI/O口模式00準(zhǔn)雙向口01推挽輸出(強(qiáng)上拉輸出,可達(dá)20mA,要加限流電阻)10僅為輸入(高阻)11開漏(OpenDrain)5/41符號(hào)地址b7b6b5b4b3b2b1b0復(fù)位值PWMA_PSFEB2HC4PS[1:0]C3PS[1:0]C2PS[1:0]C1PS[1:0]0000,0000PWMA_PS=0x02; //PWM通道輸出腳選擇位 PWM1P:P6.0高級(jí)PWM通道1的輸出腳可以在三個(gè)地方切換,由C1PS[1:0]選擇:00:PWM1P在P1.0/PWM1P,PWM1N在P1.1/PWM1N;01:PWM1P在P2.0/PWM1P_2,PWM1N在P2.1/PWM1N_2;10:PWM1P在P6.0/PWM1P_3,PWM1N在P6.1/PWM1N_3。6/41預(yù)分頻器的設(shè)計(jì)原則:系統(tǒng)時(shí)鐘為11.0592MHz,不分頻時(shí),可以捕獲的波形最大周期為:65536/11.0592(us)≈5.926(ms)若周期超過6ms,則需要分頻。在本利中,周期為50毫秒,因此,預(yù)分頻器的值設(shè)置為9。PWMA_PSCRH=0x00; //預(yù)分頻寄存器PWMA_PSCRL=0x09; 符號(hào)地址b7b6b5b4b3b2b1b0PWMA_PSCRHFED0HPSCA[15:8]PWMA_PSCRLFED1HPSCA[7:0]7/41PWMA_CCER1=0x00; //關(guān)閉PWM通道1PWMA_CNTRH=0x00; //計(jì)數(shù)器清0PWMA_CNTRL=0x00;符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CNTRHFECEHCNTA[15:8]PWMA_CNTRLFECFHCNTA[7:0]8/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCMR1FEC8HIC1F[3:0]IC1PSC[1:0]CC1S[1:0]

PWMA_CCMR1=0x01; //CC1為輸入模式,且映射到TI1FP1上CC1S[1:0]:捕獲/比較1選擇。定義通道的方向(輸入/輸出),及輸入腳的選擇。01:輸入。IC1映射在TI1FP1上。9/41PWMA_CCER1=0x01; //使能CC1上的捕獲功能符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCER1FECCHCC2NPCC2NECC2PCC2ECC1NPCC1NECC1PCC1ECC1P:OC1輸入捕獲/比較輸出極性。CC1通道配置為輸出時(shí):0:高電平有效;1:低電平有效。CC1通道配置為輸入或者捕獲:0:捕獲發(fā)生在TI1F或TI2F的上升沿;1:捕獲發(fā)生在TI1F或TI2F的下降沿。CC1E:OC1輸入捕獲/比較輸出使能。0:關(guān)閉輸入捕獲/比較輸出;1:開啟輸入捕獲/比較輸出。10/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_SMCRFEC2HMSMATSA[2:0]-SMSA[2:0]PWMA_SMCR=0x54; //TS=TI1FP1,SMS=TI1上升沿復(fù)位模式MSMn:主/從模式觸發(fā)輸入延遲控制位。0:無作用;1:觸發(fā)輸入(TRGI)上的事件被延遲。TSA[2:0]:PWMA觸發(fā)源選擇位。101:濾波后的定時(shí)器輸入1(TI1FP1)SMSA[2:0]:PWMA時(shí)鐘/觸發(fā)/從模式選擇位。100:復(fù)位模式。在選中的觸發(fā)輸入(TRGI)的上升沿時(shí)重新初始化計(jì)數(shù)器,并且產(chǎn)生一個(gè)更新寄存器的信號(hào)。11/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CR1FEC0HARPEACMSA[1:0]DIRAOPMAURSAUDISACENAPWMA_CR1=0x01;//開始計(jì)時(shí)CENn:允許計(jì)數(shù)器控制位。0:禁止計(jì)數(shù)器;1:使能計(jì)數(shù)器。12/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_IERFEC4HBIEATIEACOMIEACC4IECC3IECC2IECC1IEUIEAPWMA_IER=0x02; //使能CC1中斷CC1IE:捕獲/比較1中斷允許位。0:禁止捕獲/比較1中斷;1:允許捕獲/比較1中斷。13/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_SR1FEC5HBIFATIFACOMIFACC4IFCC3IFCC2IFCC1IFUIFAPWMA_SR1&=~0x02; //標(biāo)志清零CC1IF:捕獲/比較1中斷標(biāo)記。當(dāng)捕獲事件發(fā)生時(shí)該位由硬件置1,它由軟件清0或通過讀PWMA_CCR1L清0。0:無輸入捕獲產(chǎn)生;1:計(jì)數(shù)器值已被捕獲至PWMA_CCR1。14/41代碼演示!??!15/413、捕獲模式的應(yīng)用舉例(2)輸入捕獲模式測量脈沖波形的高電平寬度。原理:使用高級(jí)PWM內(nèi)部的兩通道的捕獲模塊CCx和CCx+1同時(shí)捕獲外部的同一個(gè)引腳,CCx捕獲此引腳的上升沿,CCx+1捕獲此引腳的下降沿,然利用CCx+1的捕獲值減去CCx的捕獲值,其差值即為脈沖高電平的寬度。注意:只有CC1+CC2、CC3+CC4、CC5+CC6、CC7+CC8這4種組合才能完成上面的功能。CC1+CC2組合可以同時(shí)捕獲PWM1P引腳,也可以同時(shí)捕獲PWM2P引腳;CC3+CC4組合可以同時(shí)捕獲PWM3P引腳,也可以同時(shí)捕獲PWM4P引腳;CC5+CC6組合可以同時(shí)捕獲PWM5引腳,也可以同時(shí)捕獲PWM6引腳;CC7+CC8組合可以同時(shí)捕獲PWM7引腳,也可以同時(shí)捕獲PWM8引腳。16/413、捕獲模式的應(yīng)用舉例例:使用PWMA的第一組捕獲模塊CC1捕獲功能和第二組捕獲模塊CC2,CC1捕獲PWM1P(P6.0)引腳上的上升沿,CC2捕獲PWM1P的下降沿,在中斷中使用CC2的捕獲值減去CC1的捕獲值,其差值即為脈沖高電平的寬度。使用P4.2輸出周期為50ms,占空比2:5的波形進(jìn)行測試。17/41核心代碼

P_SW2|=0x80;//擴(kuò)展寄存器(XFR)訪問使能符號(hào)地址b7b6b5b4b3b2b1b0復(fù)位值P_SW2BAHEAXFR-I2C_S[1:0]CMPO_SS4_SS3_SS2_S0x00,0000P4M0=0x04;P4M1=0x00; //P4.2推挽輸出P6M0=0x00;P6M1=0x01; //P6.0高阻輸入PnM1.xPnM0.xI/O口模式00準(zhǔn)雙向口01推挽輸出(強(qiáng)上拉輸出,可達(dá)20mA,要加限流電阻)10僅為輸入(高阻)11開漏(OpenDrain)18/41符號(hào)地址b7b6b5b4b3b2b1b0復(fù)位值PWMA_PSFEB2HC4PS[1:0]C3PS[1:0]C2PS[1:0]C1PS[1:0]0000,0000PWMA_PS=0x02; //PWM通道輸出腳選擇位 PWM1P:P6.0高級(jí)PWM通道1的輸出腳可以在三個(gè)地方切換,由C1PS[1:0]選擇:00:PWM1P在P1.0/PWM1P,PWM1N在P1.1/PWM1N;01:PWM1P在P2.0/PWM1P_2,PWM1N在P2.1/PWM1N_2;10:PWM1P在P6.0/PWM1P_3,PWM1N在P6.1/PWM1N_3。19/41預(yù)分頻器的設(shè)計(jì)原則:系統(tǒng)時(shí)鐘為11.0592MHz,不分頻時(shí),可以捕獲的波形最大周期為:65536/11.0592(us)≈5.926(ms)若周期超過6ms,則需要分頻。在本利中,周期為50毫秒,因此,預(yù)分頻器的值設(shè)置為9。PWMA_PSCRH=0x00; //預(yù)分頻寄存器PWMA_PSCRL=0x09; 符號(hào)地址b7b6b5b4b3b2b1b0PWMA_PSCRHFED0HPSCA[15:8]PWMA_PSCRLFED1HPSCA[7:0]20/41PWMA_CCER1=0x00; //關(guān)閉PWM通道1PWMA_CNTRH=0x00; //計(jì)數(shù)器清0PWMA_CNTRL=0x00;符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CNTRHFECEHCNTA[15:8]PWMA_CNTRLFECFHCNTA[7:0]21/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCMR2FEC9HIC2F[3:0]IC2PSC[1:0]CC2S[1:0]符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCMR1FEC8HIC1F[3:0]IC1PSC[1:0]CC1S[1:0]PWMA_CCMR1=0x01; //CC1為輸入模式,且映射到TI1FP1上PWMA_CCMR1=0x02; //CC2為輸入模式,且映射到TI1FP2上CC1S[1:0]:捕獲/比較1選擇。定義通道的方向(輸入/輸出),及輸入腳的選擇。01:輸入。IC1映射在TI1FP1上。CC2S[1:0]:捕獲/比較2選擇。定義通道的方向(輸入/輸出),及輸入腳的選擇。10:輸入。IC2映射在TI1FP2上。22/41PWMA_CCER1=0x31;//使能CC1和CC2上的捕獲功能,CC1捕獲發(fā)生在TI1F的上升沿,CC2捕獲發(fā)生在TI1F的下降沿符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCER1FECCHCC2NPCC2NECC2PCC2ECC1NPCC1NECC1PCC1ECC1P:OC1輸入捕獲/比較輸出極性。CC1通道配置為輸出時(shí):0:高電平有效;1:低電平有效。CC1通道配置為輸入或者捕獲:0:捕獲發(fā)生在TI1F或TI2F的上升沿;1:捕獲發(fā)生在TI1F或TI2F的下降沿。CC1E:OC1輸入捕獲/比較輸出使能。0:關(guān)閉輸入捕獲/比較輸出;1:開啟輸入捕獲/比較輸出。23/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CR1FEC0HARPEACMSA[1:0]DIRAOPMAURSAUDISACENAPWMA_CR1=0x01;//開始計(jì)時(shí)CENn:允許計(jì)數(shù)器控制位。0:禁止計(jì)數(shù)器;1:使能計(jì)數(shù)器。24/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_IERFEC4HBIEATIEACOMIEACC4IECC3IECC2IECC1IEUIEAPWMA_IER=0x04; //使能CC2中斷CC2IE:捕獲/比較2中斷允許位。0:禁止捕獲/比較2中斷;1:允許捕獲/比較2中斷。25/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_SR1FEC5HBIFATIFACOMIFACC4IFCC3IFCC2IFCC1IFUIFAPWMA_SR1&=~0x04; //標(biāo)志清零CC2IF:捕獲/比較2中斷標(biāo)記。當(dāng)捕獲事件發(fā)生時(shí)該位由硬件置1,它由軟件清0或通過讀PWMA_CCR2L清0。0:無輸入捕獲產(chǎn)生;1:計(jì)數(shù)器值已被捕獲至PWMA_CCR2。26/41代碼演示?。?!27/413、捕獲模式的應(yīng)用舉例(3)輸入捕獲模式測量脈沖波形的周期和高電平寬度。原理:使用高級(jí)PWM內(nèi)部的兩通道的捕獲模塊CCx和CCx+1同時(shí)捕獲外部的同一個(gè)引腳,CCx捕獲此引腳的上升沿,CCx+1捕獲此引腳的下降沿,同時(shí)使能此引腳的上升沿信號(hào)為復(fù)位觸發(fā)信號(hào),CCx的捕獲值即為周期,CCx+1的捕獲值即為高電平寬度。注意:只有CC1+CC2、CC3+CC4、CC5+CC6、CC7+CC8這4種組合才能完成上面的功能。CC1+CC2組合可以同時(shí)捕獲PWM1P引腳,也可以同時(shí)捕獲PWM2P引腳;CC3+CC4組合可以同時(shí)捕獲PWM3P引腳,也可以同時(shí)捕獲PWM4P引腳;CC5+CC6組合可以同時(shí)捕獲PWM5引腳,也可以同時(shí)捕獲PWM6引腳;CC7+CC8組合可以同時(shí)捕獲PWM7引腳,也可以同時(shí)捕獲PWM8引腳。28/413、捕獲模式的應(yīng)用舉例例:使用PWMA的第一組捕獲模塊CC1捕獲功能和第二組捕獲模塊CC2,CC1捕獲PWM1P(P6.0)引腳上的上升沿,CC2捕獲PWM1P的下降沿,并設(shè)置PWM1P的上升沿信號(hào)為復(fù)位觸發(fā)信號(hào),CC1的捕獲值即為周期,CC2的捕獲值即為占空比。。使用P4.2輸出周期為50ms,占空比2:3的波形進(jìn)行測試。29/41核心代碼

P_SW2|=0x80;//擴(kuò)展寄存器(XFR)訪問使能符號(hào)地址b7b6b5b4b3b2b1b0復(fù)位值P_SW2BAHEAXFR-I2C_S[1:0]CMPO_SS4_SS3_SS2_S0x00,0000P4M0=0x04;P4M1=0x00; //P4.2推挽輸出P6M0=0x00;P6M1=0x01; //P6.0高阻輸入PnM1.xPnM0.xI/O口模式00準(zhǔn)雙向口01推挽輸出(強(qiáng)上拉輸出,可達(dá)20mA,要加限流電阻)10僅為輸入(高阻)11開漏(OpenDrain)30/41符號(hào)地址b7b6b5b4b3b2b1b0復(fù)位值PWMA_PSFEB2HC4PS[1:0]C3PS[1:0]C2PS[1:0]C1PS[1:0]0000,0000PWMA_PS=0x02; //PWM通道輸出腳選擇位 PWM1P:P6.0高級(jí)PWM通道1的輸出腳可以在三個(gè)地方切換,由C1PS[1:0]選擇:00:PWM1P在P1.0/PWM1P,PWM1N在P1.1/PWM1N;01:PWM1P在P2.0/PWM1P_2,PWM1N在P2.1/PWM1N_2;10:PWM1P在P6.0/PWM1P_3,PWM1N在P6.1/PWM1N_3。31/41預(yù)分頻器的設(shè)計(jì)原則:系統(tǒng)時(shí)鐘為11.0592MHz,不分頻時(shí),可以捕獲的波形最大周期為:65536/11.0592(us)≈5.926(ms)若周期超過6ms,則需要分頻。在本利中,周期為50毫秒,因此,預(yù)分頻器的值設(shè)置為9。PWMA_PSCRH=0x00; //預(yù)分頻寄存器PWMA_PSCRL=0x09; 符號(hào)地址b7b6b5b4b3b2b1b0PWMA_PSCRHFED0HPSCA[15:8]PWMA_PSCRLFED1HPSCA[7:0]32/41PWMA_CCER1=0x00; //關(guān)閉PWM通道1PWMA_CNTRH=0x00; //計(jì)數(shù)器清0PWMA_CNTRL=0x00;符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CNTRHFECEHCNTA[15:8]PWMA_CNTRLFECFHCNTA[7:0]33/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCMR2FEC9HIC2F[3:0]IC2PSC[1:0]CC2S[1:0]符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCMR1FEC8HIC1F[3:0]IC1PSC[1:0]CC1S[1:0]PWMA_CCMR1=0x01; //CC1為輸入模式,且映射到TI1FP1上PWMA_CCMR2=0x02; //CC2為輸入模式,且映射到TI1FP2上CC1S[1:0]:捕獲/比較1選擇。定義通道的方向(輸入/輸出),及輸入腳的選擇。01:輸入。IC1映射在TI1FP1上。CC2S[1:0]:捕獲/比較2選擇。定義通道的方向(輸入/輸出),及輸入腳的選擇。10:輸入。IC2映射在TI1FP2上。34/41PWMA_CCER1=0x31;//使能CC1和CC2上的捕獲功能,CC1捕獲發(fā)生在TI1F的上升沿,CC2捕獲發(fā)生在TI1F的下降沿符號(hào)地址b7b6b5b4b3b2b1b0PWMA_CCER1FECCHCC2NPCC2NECC2PCC2ECC1NPCC1NECC1PCC1ECC1P:OC1輸入捕獲/比較輸出極性。CC1通道配置為輸出時(shí):0:高電平有效;1:低電平有效。CC1通道配置為輸入或者捕獲:0:捕獲發(fā)生在TI1F或TI2F的上升沿;1:捕獲發(fā)生在TI1F或TI2F的下降沿。CC1E:OC1輸入捕獲/比較輸出使能。0:關(guān)閉輸入捕獲/比較輸出;1:開啟輸入捕獲/比較輸出。35/41符號(hào)地址b7b6b5b4b3b2b1b0PWMA_SMCRFEC2HMSMATSA[2:0]-SMSA[2:0]PWMA_SMCR=0x54; //TS=TI1FP1,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論