版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第9章 STC單片機(jī)CCP/PCA/PWM模塊原理及實(shí)現(xiàn)何賓2015.02如需原始PPT文件請點(diǎn)擊此處http:/ CCP/PCA/PWM結(jié)構(gòu)n CCP/PCA/PWM寄存器組n CCP/PCA/PWM工作模式本章主要內(nèi)容如需原始PPT文件請點(diǎn)擊此處http:/ 上升/下降沿捕獲n 軟件定時器n 高速脈沖輸出n 可調(diào)脈沖輸出如需原始PPT文件請點(diǎn)擊此處http:/ P _SW 1) 寄 存 器 可 以 控 制 這 三 路CCP/PCA/PWM輸出所使用的引腳號。n CCP/PCA/PWM的輸出p 對于CCP/PCA/PWM模塊0的輸出,可以選擇使用P1.1、P3.5或者P2.5引腳。p 對于C
2、CP/PCA/PWM模塊1的輸出,可以選擇使用P1.0、P3.6、P2.6引腳。p 對于CCP/PCA/PWM模塊2的輸出,可以選擇使用P3.7或者P2.7引腳。如需原始PPT文件請點(diǎn)擊此處http:/ CCP/PCA/PWM的外部脈沖輸入p 對于CCP/PCA/PWM不同模塊使用一個外部脈沖輸入(External Control Input,CPI),該輸入信號可以選擇使用P1.2、P3.4或者P2.4引腳,也就是后面所說的輸入可以在P1、P2和P3口之間進(jìn)行切換。如需原始PPT文件請點(diǎn)擊此處http:/ 計數(shù)器CH和CL的內(nèi)容是正在自由遞增計數(shù)16位PCA定時器的值。如需原始PPT文件請點(diǎn)
3、擊此處http:/ PCA定時器是三個模塊的公共時間基準(zhǔn)。n CMOD寄存器還有兩位與PCA有關(guān),即:p CIDL,空閑模式下允許停止控制位;p ECF,PCA 中斷使能位。即:當(dāng)PCA定時器溢出時,將CCON寄存器的PCA計數(shù)溢出標(biāo)志位CF置位。n 通過CMOD寄存器CPS2、CPS1和CPS0位,選擇16位PCA定時器/計數(shù)器的時鐘源,包括:p SYSclk/1、SYSclk/2、SYSclk/4、SYSclk/6、SYSclk/8、SYSclk/12、定時器0溢出和外部脈沖輸入。如需原始PPT文件請點(diǎn)擊此處http:/ CCON寄存器包含PCA的運(yùn)行控制位CR和PCA定時器標(biāo)志CF以及各
4、個模塊的標(biāo)志CCF2、CCF1和CCF0。p 通過軟件置位CR為1(CCON.6),使能運(yùn)行PCA;當(dāng)軟件置位CR為0時,禁止運(yùn)行PCA。p 當(dāng)PCA計數(shù)器溢出時,置位CF。如果CMOD寄存器的ECF位為1,則產(chǎn)生PCA中斷。如需原始PPT文件請點(diǎn)擊此處http:/ 第0位對應(yīng)與模塊0;n 第1位對應(yīng)模塊1;n 第2位對應(yīng)模塊2。注:當(dāng)發(fā)生匹配或者比較時,由硬件置位這些比特位。如需原始PPT文件請點(diǎn)擊此處http:/ 當(dāng)出現(xiàn)捕獲或者比較時,它們可以用來保存16位的計數(shù)值。n 當(dāng)PCA模塊用于PWM模式時,用來控制輸出的占空比。如需原始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特
5、殊功能寄存器地址為0 xD9的位置。n 當(dāng)復(fù)位后,該寄存器的值為0 xxx0000。n CIDLp 空閑模式下是否停止PCA計數(shù)的控制位。當(dāng)該位為0時,空閑模式下PCA計數(shù)器繼續(xù)工作;當(dāng)該位為1時,空閑模式下PCA計數(shù)器停止工作。比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字CIDLCIDL-CPS2CPS2CPS1CPS1CPS0CPS0ECFECFPCA工作模式寄存器工作模式寄存器CMOD各位的含義各位的含義如需原始PPT文件請點(diǎn)擊此處http:/ 11 11 1SYSclk/8SYSclk/81 11 10 0SYSclk/6SYSclk/61 10 0
6、1 1SYSclk/4SYSclk/41 10 00 0SYSclkSYSclk0 01 11 1外部控制脈沖輸入外部控制脈沖輸入SYSclk/2SYSclk/20 01 10 0定時器溢出脈沖定時器溢出脈沖0 00 01 1SYSclk/2SYSclk/20 00 00 0SYSclk/12SYSclk/12n CPS2CPS0p PCA計數(shù)脈沖源選擇控制位。n ECFp PCA計數(shù)溢出中斷使能位。當(dāng)該位為0時,禁止寄存器CCON中CF位的中斷;當(dāng)該位為1時,允許寄存器CCON中CF位的中斷。如需原始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xD8的位
7、置。n 當(dāng)復(fù)位后,該寄存器的值為“00 xxx000”。n CFp PCA計數(shù)器陣列溢出標(biāo)志位。當(dāng)PCA計數(shù)器溢出時,硬件將該位置1。此時,如果CMOD寄存器的ECF位為1,則CF標(biāo)志位可用于產(chǎn)生中斷??梢酝ㄟ^軟件或者硬件給CF位置1,但是只能通過軟件將CF位清0。PCA控制寄存器CCON各位的含義比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字CFCFCRCR-CCF2CCF2CCF1CCF1CCF0CCF0如需原始PPT文件請點(diǎn)擊此處http:/ CRp PCA計數(shù)器陣列運(yùn)行控制位。當(dāng)該位為1時,啟動PCA計數(shù)器陣列;當(dāng)該位為0時,關(guān)閉PCA計數(shù)器陣列。n
8、CCF2p PCA模塊2中斷標(biāo)志。當(dāng)出現(xiàn)匹配或者捕獲時,由硬件將該位置1。該位必須通過軟件清0。n CCF1p PCA模塊1中斷標(biāo)志。當(dāng)出現(xiàn)匹配或者捕獲時,由硬件將該位置1。該位必須通過軟件清0。n CCF0p PCA模塊0中斷標(biāo)志。當(dāng)出現(xiàn)匹配或者捕獲時,由硬件將該位置1。該位必須通過軟件清0。如需原始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xDA的位置。n 當(dāng)復(fù)位后,該寄存器的值為“x0000000”。比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字-ECOM0ECOM0CAPP0CAPP0CAPN0CAPN0MAT0
9、MAT0TOG0TOG0PWM0PWM0EECF0EECF0比較捕獲寄存器CCAPM0各位的含義nECOM0p 允許比較器功能控制位。當(dāng)該位為1時,允許比較器功能;當(dāng)該位為0時,禁止比較器功能。如需原始PPT文件請點(diǎn)擊此處http:/ 上升沿控制位。當(dāng)該位為1時,允許上升沿捕獲;當(dāng)該位為0時,禁止上升沿捕獲。nCAPN0p 下降沿控制位。當(dāng)該位為1時,允許下降沿捕獲;當(dāng)該位為0時,禁止下降沿捕獲。nMAT0p 匹配控制位。當(dāng)該位為1時,PCA計數(shù)值與模塊的比較/捕獲寄存器值的匹配將置位CCON寄存器的中斷標(biāo)志CCF0。如需原始PPT文件請點(diǎn)擊此處http:/ 翻轉(zhuǎn)控制位。當(dāng)該位為1時,工作在P
10、CA高速脈沖輸出模式,PCA計數(shù)器的值與模塊的比較/捕獲寄存器值的匹配將使CCP0引腳翻轉(zhuǎn)。nPWM0p 脈沖寬度調(diào)節(jié)模式。當(dāng)該位為1時,允許CCP0用于PWM輸出;當(dāng)該位為0時,禁止CCP0用于PWM輸出。nECCF0p 使能CCF0中斷。當(dāng)該位為1時,使能寄存器CCON的比較/捕獲標(biāo)志CCF0產(chǎn)生中斷。如需原始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xDB的位置。n 當(dāng)復(fù)位后,該寄存器的值為“x0000000”。n ECOM1p 允許比較器功能控制位。當(dāng)該位為1時,允許比較器功能;當(dāng)該位為0時,禁止比較器功能。比特比特B7B7B6B6B5B5B4B
11、4B3B3B2B2B1B1B0B0名字名字-ECOM1ECOM1CAPP1CAPP1CAPN1CAPN1MAT1MAT1TOG1TOG1PWM1PWM1EECF1EECF1PCA比較捕獲寄存器比較捕獲寄存器CCAPM1 各位各位的含義的含義如需原始PPT文件請點(diǎn)擊此處http:/ CAPP1p 上升沿控制位。當(dāng)該位為1時,允許上升沿捕獲;當(dāng)該位為0時,禁止上升沿捕獲。n CAPN1p 下降沿控制位。當(dāng)該位為1時,允許下降沿捕獲;當(dāng)該位為0時,禁止下降沿捕獲。n MAT1p 匹配控制位。當(dāng)該位為1時,PCA計數(shù)值與模塊的比較/捕獲寄存器值的匹配將置位CCON寄存器的中斷標(biāo)志CCF1。如需原始PP
12、T文件請點(diǎn)擊此處http:/ TOG1p 翻轉(zhuǎn)控制位。當(dāng)該位為1時,工作在PCA高速脈沖輸出模式,PCA計數(shù)器的值與模塊的比較/捕獲寄存器值得匹配將使CCP1引腳翻轉(zhuǎn)。n PWM1p 脈沖寬度調(diào)節(jié)模式。當(dāng)該位為1時,允許CCP1用于PWM輸出;當(dāng)該位為0時,禁止CCP1用于PWM輸出。n ECCF1p 使能CCF1中斷。當(dāng)該位為1時,使能寄存器CCON的比較/捕獲標(biāo)志CCF1產(chǎn)生中斷。如需原始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xDA的位置。n 當(dāng)復(fù)位后,該寄存器的值為“x0000000”。n ECOM2p 允許比較器功能控制位。當(dāng)該位為1時,允許
13、比較器功能;當(dāng)該位為0時,禁止比較器功能。比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字-ECOM2ECOM2CAPP2CAPP2CAPN2CAPN2MAT2MAT2TOG2TOG2PWM2PWM2EECF2EECF2PCA比較捕獲寄存器CCAPM2各位的含義如需原始PPT文件請點(diǎn)擊此處http:/ CAPP2p 上升沿控制位。當(dāng)該位為1時,允許上升沿捕獲;當(dāng)該位為0時,禁止上升沿捕獲。n CAPN2p 下降沿控制位。當(dāng)該位為1時,允許下降沿捕獲;當(dāng)該位為0時,禁止下降沿捕獲。n MAT2p 匹配控制位。當(dāng)該位為1時,PCA計數(shù)值與模塊的比較/捕獲寄存器值的匹
14、配將置位CCON寄存器的中斷標(biāo)志CCF2。如需原始PPT文件請點(diǎn)擊此處http:/ TOG2p 翻轉(zhuǎn)控制位。當(dāng)該位為1時,工作在PCA高速脈沖輸出模式,PCA計數(shù)器的值與模塊的比較/捕獲寄存器值匹配將使CCP2引腳翻轉(zhuǎn)。n PWM2p 脈沖寬度調(diào)節(jié)模式。當(dāng)該位為1時,允許CCP2用于PWM輸出;當(dāng)該位為0時,禁止CCP2用于PWM輸出。n ECCF2p 使能CCF2中斷。當(dāng)該位為1時,使能寄存器CCON的比較/捕獲標(biāo)志CCF2產(chǎn)生中斷。如需原始PPT文件請點(diǎn)擊此處http:/ 分別用CL寄存器和CH寄存器表示。n CL和CH寄存器分別位于STC單片機(jī)特殊功能寄存器地址為0 xE9和0 xF9的
15、位置。n 當(dāng)復(fù)位后,CL和CH寄存器的值均為“00000000”。PCA的寄存器的寄存器CL各位的含義各位的含義 PCA的寄存器的寄存器CH各位的含義各位的含義比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字1616位計數(shù)值的低位計數(shù)值的低8 8位位比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字1616位計數(shù)值的高位計數(shù)值的高8 8位位如需原始PPT文件請點(diǎn)擊此處http:/ PCA捕獲/比較寄存器9.2 CCP/PCA/PWM寄存器組 本節(jié)介紹PCA捕獲/比較寄存器,分別對應(yīng)于每個模塊,即:CCAP0、CCAP1和CCAP2。
16、當(dāng)PCA模塊用于捕獲或者比較時,它們用于保存各個模塊的16位捕捉計數(shù)值;當(dāng)PCA模塊用于PWM時,它們用來控制輸出的占空比。表1 PCA的寄存器CL各位的含義表2 PCA的寄存器CH各位的含義比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字1616位計數(shù)值的低位計數(shù)值的低8 8位位比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字1616位計數(shù)值的高位計數(shù)值的高8 8位位如需原始PPT文件請點(diǎn)擊此處http:/ 分別用CCAP0L寄存器和CCAP0H寄存器表示。n CCAP0L和CCAP0H寄存器分別位于STC單片機(jī)特殊功能寄存器地
17、址為0 xEA和0 xFA的位置。n 當(dāng)復(fù)位后,CCAP0L和CCAP0H寄存器的值均為“00000000”。PCA捕獲捕獲/比較寄存器比較寄存器CCAP0L各位的含義各位的含義 PCA捕獲捕獲/比較寄存器比較寄存器CCAP0H各位的含義各位的含義比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字捕獲捕獲/ /比較寄存器比較寄存器CCAP0CCAP0低低8 8位位比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字捕獲捕獲/ /比較寄存器比較寄存器CCAP0CCAP0高高8 8位位如需原始PPT文件請點(diǎn)擊此處http:/ 分別用CCAP
18、1L寄存器和CCAP1H寄存器表示。n CCAP1L和CCAP1H寄存器分別位于STC單片機(jī)特殊功能寄存器地址為0 xEB和0 xFB的位置。n 當(dāng)復(fù)位后,CCAP1L和CCAP1H寄存器的值均為“00000000”。PCA捕獲捕獲/比較寄存器比較寄存器CCAP1L各位的含義各位的含義PCA捕獲捕獲/比較寄存器比較寄存器CCAP1H各位的含義各位的含義比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字捕獲捕獲/ /比較寄存器比較寄存器CCAP1CCAP1低低8 8位位比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字捕獲捕獲/ /比較
19、寄存器比較寄存器CCAP1CCAP1高高8 8位位如需原始PPT文件請點(diǎn)擊此處http:/ 分別用CCAP2L寄存器和CCAP2H寄存器表示。n CCAP2L和CCAP2H寄存器分別位于STC單片機(jī)特殊功能寄存器地址為0 xEC和0 xFC的位置。n 當(dāng)復(fù)位后,CCAP2L和CCAP2H寄存器的值均為“00000000”。 PCA捕獲捕獲/比較寄存器比較寄存器CCAP2L各位的含義各位的含義 PCA捕獲捕獲/比較寄存器比較寄存器CCAP2H各位的含義各位的含義比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字捕獲捕獲/ /比較寄存器比較寄存器CCAP2CCAP2低
20、低8 8位位比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字捕獲捕獲/ /比較寄存器比較寄存器CCAP2CCAP2高高8 8位位如需原始PPT文件請點(diǎn)擊此處http:/ CCP/PCA/PWM寄存器組-PCA模塊PWM寄存器PCA模塊PWM寄存器PCA_PWMn 它包含PCA_PWM0、PCA_PWM1和PCA_PWM2,這些寄存器分別對應(yīng)一個模塊。如需原始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xF2的位置。n 當(dāng)復(fù)位后,該寄存器的值為“00 xxxx00”。 PCA模塊模塊PWM寄存器寄存器PCA_PWM0比特比特B
21、7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字EBS0_1EBS0_1EBS0_0EBS0_0-EPC0HEPC0LEPC0L如需原始PPT文件請點(diǎn)擊此處http:/ EBS0_1和EBS0_0p 當(dāng)PCA模塊工作在PWM模式時的功能選擇位。n EPC0Hp 在PWM模式下,與CCAP0H組成9位數(shù)。n EPC0Lp 在PWM模式下,與CCAP0L組成9位數(shù)。ESB0_1ESB0_1ESB0_0ESB0_0功能功能0 00 0PCAPCA模塊模塊0 0工作于工作于8 8位位PWMPWM功能功能0 01 1PCAPCA模塊模塊0 0工作于工作于7 7位位PWMPWM功能功
22、能1 10 0PCAPCA模塊模塊0 0工作于工作于6 6位位PWMPWM功能功能1 11 1無效,無效,PCAPCA模塊模塊0 0仍工作于仍工作于8 8位位PWMPWM功能功能如需原始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xF3的位置。n 當(dāng)復(fù)位后,該寄存器的值為“00 xxxx00”。比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字EBS1_1EBS1_1EBS1_0EBS1_0-EPC1 1HEPC1LEPC1LPCA模塊模塊PWM寄存器寄存器PCA_PWM1各位的含義各位的含義如需原始PPT文件請點(diǎn)擊此處htt
23、p:/ EBS1_1和EBS1_0p 當(dāng)PCA模塊工作在PWM模式時的功能選擇位。n EPC1Hp 在PWM模式下,與CCAP1H組成9位數(shù)。n EPC1Lp 在PWM模式下,與CCAP1L組成9位數(shù)。ESB1_1ESB1_1ESB1_0ESB1_0功能功能0 00 0PCAPCA模塊模塊1 1工作于工作于8 8位位PWMPWM功能功能0 01 1PCAPCA模塊模塊1 1工作于工作于7 7位位PWMPWM功能功能1 10 0PCAPCA模塊模塊1 1工作于工作于6 6位位PWMPWM功能功能1 11 1無效,無效,PCAPCA模塊模塊1 1仍工作于仍工作于8 8位位PWMPWM功能功能如需原
24、始PPT文件請點(diǎn)擊此處http:/ 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xF4的位置。n 當(dāng)復(fù)位后,該寄存器的值為“00 xxxx00”。比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字EBS2_1EBS2_1EBS2_0EBS2_0-EPC2HEPC2LEPC2LPCA模塊模塊PWM寄存器寄存器PCA_PWM2各位的含義各位的含義如需原始PPT文件請點(diǎn)擊此處http:/ EBS2_1和EBS2_0p 當(dāng)PCA模塊工作在PWM模式時的功能選擇位。n EPC2Hp 在PWM模式下,與CCAP2H組成9位數(shù)。n EPC2Lp 在PWM模式下,與CCAP2
25、L組成9位數(shù)。ESB2_1ESB2_1ESB2_0ESB2_0功能功能0 00 0PCAPCA模塊模塊2 2工作于工作于8 8位位PWMPWM功能功能0 01 1PCAPCA模塊模塊2 2工作于工作于7 7位位PWMPWM功能功能1 10 0PCAPCA模塊模塊2 2工作于工作于6 6位位PWMPWM功能功能1 11 1無效,無效,PCAPCA模塊模塊2 2仍工作于仍工作于8 8位位PWMPWM功能功能如需原始PPT文件請點(diǎn)擊此處http:/ 用于選擇CCP輸出、SPI接口和串口所使用的引腳在單片機(jī)上的位置。n 該寄存器位于STC單片機(jī)特殊功能寄存器地址為0 xA2的位置n 當(dāng)復(fù)位后,該寄存器
26、的值為“00000000”。比特比特B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0名字名字S1_S1S1_S1S1_S0S1_S0CCP_S1CCP_S1CCP_S0CCP_S0SPI_S1SPI_S1SPI_S0SPI_S00 0DPSDPSPCA模塊引腳切換寄存器AUXR1(P_SW1)各位的含義如需原始PPT文件請點(diǎn)擊此處http:/ S1_S1和S1_S0確定串口1在單片機(jī)上引腳的位置。S1_S1和和S1_S0各位的含義各位的含義S1_S1S1_S1S1_S0S1_S0功能功能0 00 0選擇串口選擇串口1 1分別對應(yīng)于單片機(jī)分別對應(yīng)于單片機(jī)P3.0/RxDP3.0/
27、RxD和和P3.1/TxDP3.1/TxD引腳引腳0 01 1選擇串口選擇串口1 1分別對應(yīng)于單片機(jī)分別對應(yīng)于單片機(jī)P3.6/RxD_2P3.6/RxD_2和和P3.7/TxD_2P3.7/TxD_2引腳引腳1 10 0選擇串口選擇串口1 1分別對應(yīng)于單片機(jī)分別對應(yīng)于單片機(jī)P1.6/RxD_3P1.6/RxD_3和和P1.7/TxD_3P1.7/TxD_3引腳引腳1 11 1無效無效如需原始PPT文件請點(diǎn)擊此處http:/ CCP_S1和CCP_S0確定CCP輸出在單片機(jī)上引腳的位置CCP_S1和和CCP_S0各位的含義各位的含義CCP_S1CCP_S1CCP_S0CCP_S0功能功能0 00
28、 0選擇選擇CCPCCP輸入對應(yīng)于單片機(jī)輸入對應(yīng)于單片機(jī)P1.2/ECIP1.2/ECI引腳,同時選擇引腳,同時選擇CCPCCP三個輸出三個輸出分別對應(yīng)于單片機(jī)的分別對應(yīng)于單片機(jī)的P1.1/CCP0P1.1/CCP0、P1.0/CCP1P1.0/CCP1和和P3.7/CCP2P3.7/CCP2引腳引腳0 01 1選擇選擇CCPCCP輸入對應(yīng)于單片機(jī)輸入對應(yīng)于單片機(jī)P3.4/ECI_2P3.4/ECI_2引腳,同時選擇引腳,同時選擇CCPCCP三個輸三個輸出分別對應(yīng)于單片機(jī)的出分別對應(yīng)于單片機(jī)的P3.5/CCP0_2P3.5/CCP0_2、P3.6/CCP1_2P3.6/CCP1_2和和P3.7
29、/CCP2_2P3.7/CCP2_2引腳引腳1 10 0選擇選擇CCPCCP輸入對應(yīng)于單片機(jī)輸入對應(yīng)于單片機(jī)P1.2/ECIP1.2/ECI引腳,同時選擇引腳,同時選擇CCPCCP三個輸出三個輸出分別對應(yīng)于單片機(jī)的分別對應(yīng)于單片機(jī)的P2.4/CCP0_3P2.4/CCP0_3、P2.6/CCP1_3P2.6/CCP1_3和和P2.7/CCP2_3P2.7/CCP2_3引腳引腳1 11 1無效無效如需原始PPT文件請點(diǎn)擊此處http:/ SPI_S1和SPI_S0確定SPI接口在單片機(jī)上引腳的位置。SPI_S1和和SPI_S0各位的含義各位的含義SPI_S1SPI_S1SPI_S0SPI_S0功
30、能功能0 00 0選擇選擇SPISPI接口分別對應(yīng)于單片機(jī)接口分別對應(yīng)于單片機(jī)P1.2/SSP1.2/SS、P1.3/MOSIP1.3/MOSI、P1.4/MISOP1.4/MISO、P1.5/SCLKP1.5/SCLK引腳引腳0 01 1選擇選擇SPISPI接口分別對應(yīng)于單片機(jī)接口分別對應(yīng)于單片機(jī)P2.4/SS_2P2.4/SS_2、P2.3/MOSI_2P2.3/MOSI_2、P2.2/MISO_2P2.2/MISO_2、P2.1/SCLK_2P2.1/SCLK_2引腳引腳1 10 0選擇選擇SPISPI接口分別對應(yīng)于單片機(jī)接口分別對應(yīng)于單片機(jī)P5.4/SS_3P5.4/SS_3、P4.0
31、/MOSI_3P4.0/MOSI_3、P4.1/MISO_3P4.1/MISO_3、P4.3/SCLK_3P4.3/SCLK_3引腳引腳1 11 1無效無效如需原始PPT文件請點(diǎn)擊此處http:/ 要想工作在該模式,寄存器CCAPMn的兩位(CAPNn和CAPPn)或者其中一位必須置為1。p 當(dāng)該模塊工作于捕獲模式時,對模塊外部CCPn輸入(可選擇:CCP0/P1.1、CCP1/P1.0或CCP2/P3.7)的跳變進(jìn)行采樣。p 當(dāng)采樣到有效跳變時,PCA硬件就將PCA計數(shù)器陣列寄存器(CH和CL)的值加載到模塊的捕獲寄存器CCAPnL和CCAPnH中。n 如果CCON寄存器中位CCFn和CCA
32、PMn寄存器中的ECCFn置位為1,則將產(chǎn)生中斷??稍谥袛喾?wù)程序中,判斷產(chǎn)生中斷的模塊,并注意中斷標(biāo)志的清零問題。如需原始PPT文件請點(diǎn)擊此處http:/ reg51.hsfr P_SW1=0 xA2; /聲明P_SW1寄存器的地址0 xA2sfr CCON=0 xD8; /聲明CCON寄存器的地址0 xD8sfr CMOD=0 xD9; /聲明CMOD寄存器的地址0 xD9sfr CL=0 xE9; /聲明CL寄存器的地址0 xE9sfr CH =0 xF9; /聲明CH寄存器的地址0 xF9sfr CCAPM0=0 xDA; /聲明CCAPM0寄存器的地址0 xDAsbit CCF0=C
33、CON0; /聲明CCF0標(biāo)志位sbit CCF1 =CCON1; /聲明CCF1標(biāo)志位sbit CR=CCON6; /聲明CR標(biāo)志位sbit CF =CCON7; /聲明CF標(biāo)志位如需原始PPT文件請點(diǎn)擊此處http:/ PCA_int() interrupt 7 /聲明PCA中斷服務(wù)程序CCF0=0; /CCF0標(biāo)志清零P46=!P46; /P4.6端口取反P47=!P47; /P4.7端口取反void main() P46=0; /P4.6端口置0,燈亮P47=0; /P4.7端口置0,燈亮P_SW1=0 x00; /CCP_S0=0,CCP_S1=0CCON=0; /停止PCA定時器,
34、清除CF和CCF0標(biāo)志CL=0; /CL寄存器清零如需原始PPT文件請點(diǎn)擊此處http:/ /CH寄存器清零CMOD=0 x00; /設(shè)置時鐘源,禁止CF溢出中斷CCAPM0=0 x11; /PCA模塊下降沿觸發(fā)CR=1; /啟動PCA定時器EA=1; /CPU允許響應(yīng)中斷請求while(1);如需原始PPT文件請點(diǎn)擊此處http:/ 通過設(shè)置CCAPMn寄存器中的ECOM和MAT位,使得PCA模塊工作在16位軟件定時器模式。p PCA定時器的值與模塊捕獲寄存器的值進(jìn)行比較,當(dāng)它們相等時,如果CCON寄存器的CCFn位和CCAPMn寄存器的ECCFn位都置位,則將產(chǎn)生中斷。如需原始PPT文件請
35、點(diǎn)擊此處http:/ 在16位軟件定時器模式下,每個時鐘節(jié)拍(由所選擇時鐘源確定)到來時,自動加1。p 當(dāng)CH,CL增加到等于CCAPnH,CCAPnL時,CCFn=1,產(chǎn)生中斷請求。p 如果每次PCA模塊中斷后,在中斷服務(wù)程序給CCAPnH,CCAPnL增加相同的值時,下次中斷來臨的間隔時間也是相同的,從而實(shí)現(xiàn)了定時功能。p 定時時間的長短取決于時鐘源的選擇,以及PCA計數(shù)器計數(shù)值的設(shè)置。如需原始PPT文件請點(diǎn)擊此處http:/ reg51.h“#define value 3906 /定義value為3906sfr P_SW1=0 xA2; /聲明P_SW1寄存器的地址0 xA2sfr CC
36、ON=0 xD8; /聲明CCON寄存器的地址0 xD8sfr CMOD=0 xD9; /聲明CMOD寄存器的地址0 xD9sfr CL=0 xE9; /聲明CL寄存器的地址0 xE9sfr CH =0 xF9; /聲明CH寄存器的地址0 xF9sfr CCAPM0=0 xDA; /聲明CCAPM0寄存器的地址0 xDAsfr CCAP0L =0 xEA; /聲明CCAP0L寄存器的地址為0 xEAsfr CCAP0H =0 xFA; /聲明CCAP0H寄存器的地址為0 xFAsfr CLK_DIV =0 x97; /聲明CLK_DIV寄存器的地址為0 x97如需原始PPT文件請點(diǎn)擊此處htt
37、p:/ CCF0=CCON0; /聲明CCF0標(biāo)志位sbit CCF1 =CCON1; /聲明CCF1標(biāo)志位sbit CR=CCON6; /聲明CR標(biāo)志位sbit CF =CCON7; /聲明CF標(biāo)志位void PCA_int() interrupt 7 /聲明PCA中斷服務(wù)程序 CCF0=0; /CCF0標(biāo)志清零CL=0; /CL寄存器清零CH=0; /CH寄存器清零P46=!P46; /P4.6端口清零P47=!P47; /P4.7端口清零如需原始PPT文件請點(diǎn)擊此處http:/ main() P46=0; /P4.6端口置0,燈亮P47=0; /P4.7端口置0,燈亮CLK_DIV=0
38、x07; /設(shè)置SYSclk頻率=主時鐘頻率/128P_SW1=0 x00; /CCP_S0=0,CCP_S1=0CCON=0; /停止PCA計數(shù)器,清除CF和CCF0標(biāo)志CL=0; /CL寄存器清零CH=0; /CH寄存器清零CMOD=0 x00; /設(shè)置PCA時鐘源SYSclk/12如需原始PPT文件請點(diǎn)擊此處http:/ /value低8位賦值給CCAP0L寄存器CCAP0H=value8; /value高8位賦值給CCAP0H寄存器CCAPM0=0 x49; /打開比較器,使能匹配控制,使能CCF0中斷CR=1; /啟動PCA定時器/計數(shù)器EA=1; /CPU允許響應(yīng)中斷請求while
39、(1);如需原始PPT文件請點(diǎn)擊此處http:/ 高速脈沖輸出模式高速脈沖輸出模式結(jié)構(gòu)如需原始PPT文件請點(diǎn)擊此處http:/ 高速脈沖輸出模式n 當(dāng)PCA計數(shù)器的計數(shù)值與模塊捕獲寄存器的值匹配時,PCA模塊的CCPn輸出將發(fā)生翻轉(zhuǎn)。n 當(dāng)CCAPMn寄存器的TOGn位、MATn位和ECOMn位都置為1時,PCA模塊工作在高速脈沖模式。n CCAPnL的值決定了PCA模塊n的輸出脈沖頻率。p 當(dāng)PCA時鐘源是SYSclk/2時,輸出脈沖的頻率為: f=SYSclk/(4CCAPnL)p 因此,就可以得到對應(yīng)的CCAPnL寄存器的值。如需原始PPT文件請點(diǎn)擊此處http:/ 高速脈沖輸出模式【例
40、】高速脈沖輸出模式C語言描述的例子#include reg51.h#define value 3906sfr P_SW1 =0 xA2; /聲明P_SW1寄存器的地址0 xA2sfr CCON =0 xD8; /聲明CCON寄存器的地址0 xD8sfr CMOD =0 xD9; /聲明CMOD寄存器的地址0 xD9sfr CL =0 xE9; /聲明CL寄存器的地址0 xE9sfr CH =0 xF9; /聲明CH寄存器的地址0 xF9sfr CCAPM0 =0 xDA;/聲明CAPM0寄存器的地址0 xDAsfr CCAP0L =0 xEA; /聲明CCAP0L寄存器的地址0 xEAsfr
41、CCAP0H =0 xFA; /聲明CCAP0H寄存器的地址0 xFAsfr CLK_DIV =0 x97; /聲明CLK_DIV寄存器的地址0 x97如需原始PPT文件請點(diǎn)擊此處http:/ 高速脈沖輸出模式sbit CCF0 =CCON0; /聲明CCON寄存器的CCF0位sbit CCF1 =CCON1; /聲明CCON寄存器的CCF1位sbit CR =CCON6; /聲明CCON寄存器的CR位sbit CF =CCON7; /聲明CCON寄存器的CF位void PCA_int() interrupt 7 /聲明中斷服務(wù)程序 CCF0=0; /CCF0標(biāo)志清零CL=0; /CL寄存器清
42、零CH=0; /CH寄存器清零P46=!P46; /P4.6端口取反P47=!P47; /P4.7端口取反如需原始PPT文件請點(diǎn)擊此處http:/ 高速脈沖輸出模式void main()P46=0; /P4.6端口置0,燈亮P47=0; /P4.7端口置0,燈亮CLK_DIV=0 x07; /SYSclk頻率=主時鐘頻率/128P_SW1=0 x00; /CCP_S0=0,CCP_S1=0CCON=0; /停止PCA定時器,清除CF和CCF0位CL=0; /CL寄存器清空CH=0; /CH寄存器清空CMOD=0 x00;/設(shè)置時鐘源,SYSclk/12如需原始PPT文件請點(diǎn)擊此處http:/
43、高速脈沖輸出模式CCAP0L=value; /value的低8位賦值給CCAP0LCCAP0H=value8; /value的高8位賦值給CCAP0HCCAPM0=0 x4d; /PCA模塊為16位定時器模式,同時翻轉(zhuǎn)CCP0CR=1; /啟動PCA定時器EA=1; /CPU允許響應(yīng)中斷請求while(1);如需原始PPT文件請點(diǎn)擊此處http:/ 使用數(shù)字電路來控制電機(jī)的速度,通常使用脈沖寬度調(diào)制PWM信號波形。n 在PWM中,脈沖周期是恒定的。n 在一個脈沖周期內(nèi),將高電平的時間稱為占空,占空是可變的。占空周期 PWM信號p 占空比表示為:%100脈沖周期占空占空比如需原始PPT文件請點(diǎn)擊
44、此處http:/ PWM信號的直流平均值與占空是成比例的。p 一個占空比為50%的PWM信號,其直流值為PWM信號幅度最大值的1/2。n 如果通過電機(jī)的電壓與PWM成正比,簡單的改變脈沖占空比就可以改變電機(jī)的速度。如需原始PPT文件請點(diǎn)擊此處http:/ 當(dāng)連接電機(jī)或其他負(fù)載時,可能向數(shù)字電路(CPLD,F(xiàn)PGA和微處理器)流入很大的電流,因此最安全和最容易的方法是使用一些類型的固態(tài)繼電器(solid-state relay, SSR)p 數(shù)字電路提供小的電流(5-10mA)到輸入引腳1和2,將開啟固態(tài)繼電器內(nèi)的LED,來自LED的光將打開MOSFET,這樣將允許引腳3和4之間流經(jīng)很大的電流。
45、p 這種光電耦合電路將數(shù)字電路隔離開,這樣可以降低電路的噪聲和防止對數(shù)字電路造成的破壞。1243如需原始PPT文件請點(diǎn)擊此處http:/ SSR適用于控制直流負(fù)載。然而一些SSR有兩個MOSFET和背對背的二極管控制交流負(fù)載。當(dāng)使用直流或交流SSR時,需要確認(rèn)SSR能處理所使用的電壓和電流負(fù)載。通常需要為電機(jī)提供獨(dú)立的電源,將兩個地連在一起。p 一個例子是使用G3VM-61B1/E1固態(tài)繼電器SSR,該SSR是歐姆龍公司的一個6腳的MOSFET繼電器,能用作直流或交流SSR。最大的交流負(fù)載電壓是60V,最大負(fù)載電流是500mA(將兩個MOSFET并聯(lián)后可為直流負(fù)載提供1A電流)。如需原始PPT
46、文件請點(diǎn)擊此處http:/ 62 4+5V+5VPWM電機(jī)1N4004地 PWM控制直流電機(jī)電路如需原始PPT文件請點(diǎn)擊此處http:/ 直流電機(jī)的速度取決于電機(jī)的電壓,電壓越高,電機(jī)轉(zhuǎn)動的越快。p 如果需要電機(jī)以恒定的速度旋轉(zhuǎn),將4腳和電源連接起來,將電機(jī)連在3腳和地之間(也可以將3腳連接到地,或者連接電機(jī)到第四引腳和電源之間)。p 連接到電機(jī)的電源極性決定了電機(jī)的轉(zhuǎn)動方向。如果轉(zhuǎn)動方向錯誤,只需要將連接電機(jī)的兩端對調(diào)。如需原始PPT文件請點(diǎn)擊此處http:/ 此外,通過設(shè)置PCA模塊各自PCA_PWMn(n=0,1,2)寄存器中的EBSn_1以及EBSn_0比特位,使得PCA模塊工作在8位
47、、7位或者6位PWM模式。如需原始PPT文件請點(diǎn)擊此處http:/ 當(dāng)設(shè)置EBSn_1,EBSn_0=0,0或者1,1時,PCA模塊工作在8位PWM模式。p 0,CL7:0與捕獲寄存器EPCnL,CCAPnL7:0進(jìn)行比較。如需原始PPT文件請點(diǎn)擊此處http:/ 每個模塊的占空比各自獨(dú)立,只與該模塊的捕獲寄存器EPCnL,CCAPnL7:0有關(guān),即:p 當(dāng)0,CL7:0的值EPCnL,CCAPnL7:0時,輸出為低;p 當(dāng)0,CL7:0的值EPCnL,CCAPnL7:0時,輸出為高;n 當(dāng)CL的值由FF變成00溢出時,將EPCnH,CCAPnH7:0的內(nèi)容加載到EPCnL,CCAPnL7:0中。因此,就可以實(shí)現(xiàn)無干擾更新PWM。p 在8位模式下,PWM的頻率由下式確定: fPWM=PCA時鐘輸入源頻率/256如需原始PPT文件請點(diǎn)擊此處http:/ 0,1時,PCA模塊工作在7位PWM模式p 此時,0,CL6:0與捕獲寄存器EPCnL,CCAPnL6:0進(jìn)行比較。如需原始PPT文件請點(diǎn)擊此處http:/ 每個模塊的占空比各自獨(dú)立,只與該模塊的捕獲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版儀器設(shè)備租賃合同
- 2025年小學(xué)生電影欣賞教案-開啟影視教育新篇章
- 2024版?zhèn)}儲地租用協(xié)議3篇
- 幼兒園惡劣天氣應(yīng)急預(yù)案惡劣天氣應(yīng)急預(yù)案(合集四篇)
- 2024新能源充電樁充電站設(shè)備租賃與維修服務(wù)合同3篇
- 2025年度綠色建筑租賃合同提前終止協(xié)議書3篇
- 2025年度合作伙伴保密協(xié)議范本共筑商業(yè)信任3篇
- 2025年度蔬菜種植合作社與超市供貨合同3篇
- 二零二五年度環(huán)境友好型土方工程合同范本3篇
- 二零二五年度個人房貸借款協(xié)議書3篇
- 《動物營養(yǎng)與飼料》課件
- 附表四計劃開、竣工日期和施工進(jìn)度網(wǎng)絡(luò)圖
- 2023服裝跟單工作總結(jié)
- 兒童哮喘控制測試(C-ACT)
- 福建泉州惠安縣2023-2024學(xué)年數(shù)學(xué)四年級第一學(xué)期期末質(zhì)量跟蹤監(jiān)視試題含答案
- DL5168-2023年110KV-750KV架空輸電線路施工質(zhì)量檢驗及評定規(guī)程
- 門診發(fā)生火災(zāi)應(yīng)急預(yù)案演練建議5篇,門診發(fā)生火災(zāi)的應(yīng)急預(yù)案
- 醫(yī)療廢物轉(zhuǎn)運(yùn)工作制度
- 新編建筑施工扣件式鋼管腳手架安全技術(shù)規(guī)范
- 三年級下冊小猿口算題1000道
- 《古蘭》中文譯文版
評論
0/150
提交評論