首页 PIC单片机课件8

PIC单片机课件8

举报
开通vip

PIC单片机课件8nullCapture, Compare & PWMCapture, Compare & PWMCapture/Compare/PWM (CCP) OverviewCapture/Compare/PWM (CCP) OverviewCapture Times the duration of an external event using an input pin Compare Changes an output pin or generates an interrupt when a specific amoun...

PIC单片机课件8
nullCapture, Compare & PWMCapture, Compare & PWMCapture/Compare/PWM (CCP) OverviewCapture/Compare/PWM (CCP) OverviewCapture Times the duration of an external event using an input pin Compare Changes an output pin or generates an interrupt when a specific amount of time has passed Pulse Width Modulation (PWM) Creates a reconfigurable, steady duty-cycle, square wave output at a defined frequency Provides enhanced features for various bridge connectivityCapture/Compare/PWM (CCP) OverviewCapture/Compare/PWM (CCP) OverviewCapture Times the duration of an external event using an input pin Compare Changes an output pin or generates an interrupt when a specific amount of time has passed Pulse Width Modulation (PWM) Creates a reconfigurable, steady duty-cycle, square wave output at a defined frequency Provides enhanced features for various bridge connectivityCCP Control RegisterCCP Control RegisterCCP1 Control Register (CCP1CON)CCP的应用CCP的应用PIC16F87X单片机具有两个CCP模块 CCP1,CCP2 CCP模块共有三种工作模式: 输入捕捉(Capture) 输出比较(Compare) 脉宽调制(PMW) 时钟:定时器模块提供 CCP模块工作在输入捕捉与输出比较模式下需要TIMER1的支持。 CCP模块工作在脉宽调制调制也需要TIMER1的支持。寄存器CCP1模块包含两个8位寄存器 CCP1L(低8位)和CCP1H(高8位) 控制寄存器CCP1CON管理CCP1的运作,当比较匹配时专用事件触发器触发,同时复位Timer1。 CCP2模块包含两个8位寄存器 CCP2L(低8位)和CCP2H(高8位) 控制寄存器CCP2CON管理CCP2的运作,当比较匹配时专用事件触发器触发,同时复位Timer1,如果开放了A/D转换模块,还触发A/D开始转换。 寄存器CCP Control RegisterCCP1 Control Register (CCP1CON)CCP Control RegisterCapture ModeCCPxCapture ModePrescaler ÷1, 4, 16Edge Detect andSystem Clock (Fosc)CCPxCONCCPxIF in PIRxSingle BufferedCapture ModeCCPxCapture ModePrescaler ÷1, 4, 16Edge Detect andSystem Clock (Fosc)CCPxCONCCPxIF in PIRxSingle BufferedCapture InitializationCapture InitializationTMR1HTMR1ONCCP1IFTMR1LPIR10CCP1CONT1CON10CCPR1HCCPR1L1Rising Edge Detected!!Captured!;Turn off CCP module banksel CCP1CON clrf CCP1CON ;Make sure Timer1 is off bcf T1CON,TMR1ON ;Clear Timer1 registers clrf TMR1H clrf TMR1L ;Disable all interrupts for CCP bcf PIR1,CCP1IF banksel PIE1 bcf PIE1,CCP1IE ;Set CCP1 pin for input bsf TRISC,2 ;Set Capture for every 4th rising edge banksel CCP1CON movlw b’00000110’ movwf CCP1CON ;Start Timer1 incrementing bsf T1CON,TMR1ON ;Test the interrupt flag for capture btfss PIR1,CCP1IF goto $-1CCP1 Pin011111st2nd3rd4th11TIMER1 INCREMENTING!!Current Timer1 ValueCompare ModeCCPxSpecial Event TriggerCompare ModeCCPxIF in PIRxOUTPUT LOGICCCP1CON捕捉(Capture)工作方式捕捉(Capture)工作方式捕捉工作方式,引脚RC2/CCP1有事发生,CCPR1H:CCPR1L就捕捉TMR1寄存器16位的值。 捕捉工作方式的事件:每一个下降沿;每一个上升沿;每4个上升沿;每16个上升沿。 事件的类型由CCPxCON控制寄存器的CCP1M3:CCP1M0设定。 当捕捉成功,中断请求标志位CCP1IF置位(置位后由软件复位)。当CCP1 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 还没有取走,另一捕捉出现,旧的值被新的值覆盖。输入捕捉工作模式的应用捕捉 CCP模块工作在输入捕捉模式时,如有设置的事件在RC2脚发生,CCPR1寄存器会 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 这一时刻TIMER1的计数值,并能产生中断。 功能 测量一个脉冲的脉宽或周期。 例 测量脉冲周期:测量两次上升沿之间的时间间隔。在第一次捕获上升沿时将TIMER1计数清零,在下一次捕获上升沿后CCPR1的计数值即为脉冲的周期。输入捕捉工作模式的应用null ORG 00H GOTO RESET ORG 04H GOTO INT_PRO ORG 10H RESET CLRF INTCON BSF STATUS,RP0 MOVLW 0FFH MOVWF TRISB MOVLW 04H MOVWF TRISC ;RC2为输入 MOVLW 04H MOVWF PIE1 ;中断允许 BCF STATUS,RP0 CLRF PIR1 CLRF PIR2 CLRF TMR1L CLRF TMR1H CLRF TEMP MOVLW 30H MOVWF T1CON ;1:8 MOVLW 05H MOVWF CCP1CON ;每个脉冲的上升沿 MOVLW 0C0Hnull MOVWF INTCON ;开中断 BSF T1CON,TMR1ON ;开启定时器1 WAIT_LOOP NOP GOTO WAIT_LOOP INT_PRO BCF PIR1,CCP1IF ;清中断标志 MOVF TEMP,W BTFSS STATUS,Z GOTO CAP_OVER BCF T1CON,TMR1ON ;关闭定时器1 CLRF TMR1L CLRF TMR1H ;清定时器1 BSF T1CON,TMR1ON ;开启定时器1 MOVLW 055H MOVWF TEMP RETFIE CAP_OVER MOVF CCPR1L,W MOVWF TEMP1 MOVF CCPR1H,W MOVWF TEMP2 CLRF TEMP RETFIE ENDCompare ModeCCPxSpecial Event TriggerCompare ModeCCPxIF in PIRxOUTPUT LOGICCompare InitializationCompare InitializationTMR1HTMR1ONCCP1IFTMR1LPIR10CCP1CONT1CONCCPR1HCCPR1L011;Turn off the CCP module banksel CCP1CON clrf CCP1CON ;Turn off Timer1 bcf T1CON,TMR1ON ;Clear Timer1 result registers clrf TMR1H clrf TMR1L ;Disable CCP1 interrupt and make sure ;its flag is clear banksel PIE1 bcf PIE1,CCP1IE banksel PIR1 bcf PIR1,CCP1IF ;Make CCP1 pin output banksel TRISC bcf TRISC,2 ;Initialize Compare to set output on match banksel CCP1CON movlw b’00001000’ movwf CCP1CON ;Load Compare value into CCPR1H:CCPR1L banksel CCPR1H movlw b’10000000’ movwf CCPR1H clrf CCPR1L ;Start Timer1 incrementing bsf T1CON,TMR1ON ;Test CCP1IF for Timer1 match with CCPR1x btfss PIR1,CCP1IF goto $-1111111111比较(Compare)工作方式比较(Compare)工作方式比较工作方式,16位CCPR1寄存器的值一直与TMR1寄存器的值相比较,一旦相等,在RC2/CCP1引脚会出现如下三种现象之一:变高、变低或不变,同时中断标志位CCP1IF置1 三种变化的选择由控制位CCP1M3:CCP1M0决定,引脚工作在输出方式,在设置时应使端口C方向寄存器TRISC的D2=0。输出比较工作模式的应用输出比较模式 不停地用CCPR1寄存器值与TIMER1的计数值相比较,若相等则输出所设置的事件。 功能 通过改变CCPR1的值则可以在RC2的IO口上输出符合需要的波形。 例 通过在CCP的中断中对CCPR1累加固定的值并改变输出事件,实现了在RC2口输出一个1KHz的方波。 如每次累加值不是固定的一个值则可以在RC2口输出一个脉宽不断变化的脉冲序列。输出比较工作模式的应用null例6.7 输出比较模式编程 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 00H GOTO RESET ORG 04H GOTO INT_PRO ORG 10H RESET BCF STATUS,RP0 CLRF TMR1L CLRF TMR1L CLRF INTCON CLRF PIR1 BSF STATUS,RP0 CLRF T1CON MOVLW 04H MOVWF PIE1 ;中断允许 BCF TRISC,2 ;RC2输出 BCF STATUS,RP0 MOVLW 08H MOVWF CCP1CONnull MOVLW 0E8H MOVWF CCPR1L MOVLW 03H MOVWF CCPR1H MOVLW 0C0H MOVWF INTCON ;开中断 BSF T1CON,TMR1ON ;开启定时器1 WAIT GOTO WAIT INT_PRO BCF PIR1,CCP1IF MOVLW 0E8H ADDWF CCPR1L,F BTFSC STATUS,C INCF CCPR1H,F MOVLW 03H ADDWF CCPR1H,F ;下次比较输出值 MOVLW 01H XORWF CCP1CON,F ;反转RC2 RETFIE ENDPWM ModePWM ModeGenerates a Pulse-Width Modulated (PWM) signal on the CCP1 and CCP2 pins Duty cycle, period and resolution determined by the following registersPeriod RegisterPR2Timer2 ControlT2CONDuty Cycle RegisterCCPRxLCCP Control RegisterCCPxCONDescriptionRegister PWM OperationPWM OperationCCP1 pinLatchCCP1 Output PinCOMPARATORCOMPARATORR S88TMR2 is concatenated with 2 bits from FOSC, or 2 bits from Prescaler to create a 10 bit time base1010101TMR2PR2CCPR1HCCPR1LCCP1X:CCP1Y bits in CCP1CONDetermines Period1111TMR2 Reset to 0’sPWM OperationPWM OperationCCP1 pinLatchCCP1 Output PinCOMPARATORCOMPARATORDouble BufferR S88TMR2 is concatenated with 2 bits from FOSC, or 2 bits from Prescaler to create a 10 bit time base10101010TMR2PR2CCPR1HCCPR1LCCP1X:CCP1Y bits in CCP1CONDetermines Duty Cycle11111110PWM OperationPWM OperationCCP1 pinLatchCCP1 Output PinCOMPARATORCOMPARATORR S88TMR2 is concatenated with 2 bits from FOSC, or 2 bits from Prescaler to create a 10 bit time base10101010TMR2PR2CCPR1HCCPR1LCCP1X:CCP1Y bits in CCP1CON11111111PWM OperationPWM OperationCCP1 pinLatchCCP1 Output PinCOMPARATORCOMPARATORDouble BufferR S88TMR2 is concatenated with 2 bits from FOSC, or 2 bits from Prescaler to create a 10 bit time base10101010TMR2PR2CCPR1HCCPR1LCCP1X:CCP1Y bits in CCP1CONDetermines Duty CycleTMR2 Reset to 0’sTMR2 Reset to 0’s1111111111111PWM InitializationPWM InitializationPR210111111CCP1CON00000PWM Mode CCP1M <3:0>duty cycle LSBs CCP1CCPR1L10001111TMR200000000111T2CON1TMR2ON0000000Prescaler bits TOUTPS<3:0>Prescaler bits T2CKPS<1:0>;Turn off CCP1 pin by making it an input banksel TRISC bsf TRISC,2 ;configure pin as input ;Turn off Timer2 banksel T2CON bcf T2CON,TMR2ON ;Clear Timer2 clrf TMR2 ;Set up Period and Duty Cycle movlw b’01111111’ ; movwf PR2 ;Load a Period Value movlw b’00011111’ ; movwf CCPR1L ;Load Duty Cycle Value ;Configure CCP module for PWM ;and LSB’s of Duty Cycle = b’10’ movlw b’00101100’ movwf CCP1CON ;Turn CCP1 pin back on (make it an output) banksel TRISC bcf TRISC,2 ;Start the PWM by turning on Timer2 and ;Configure Prescaler and Postscaler to 1:1 movlw b’00000100’ movwf T2CON 脉宽调制(PWM)工作方式脉宽调制(PWM)工作方式脉宽调制(PWM)工作方式,CCPx引脚可以产生10位分辨率的PWM输出。端口C引脚为多功能复用,必须复位方向寄存器TRISC的D2使CCP1引脚位输出。 PWM输出波形有两个参数:周期和占空因子 PWM的频率是周期的倒数:PWM周期由寄存器PR2决定 TPWM=[(PR2)+1]×Tosc×(TMR2预分频数)占空因子占空因子10位分辨率的PWM占空因子由寄存器CCPR1L的8位和CCP1CON的D5:D4两位组成,CCP1L包含高8位,CCP1CON包含低2位,10位 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示为CCPR1L:CCP1CON。 PWM占空因子可由下式计算: PWM占空因子=(CCPR1L:CCP1CON)×T×(TMR2)预分频数) 在操作过程中,CCPR1L:CCP1CON的值可以在任何时间写入,但并不能马上锁存到CCPR1LH,只有等到周期完成,PR2和TMR2相等,在下一个周期采用新设置的值。在PWM模式,CCPR1H为只读寄存器。PWM工作模式的应用PWM输出模式 在RC2口输出脉冲宽度与周期随时可以调整的脉冲(PWM)。 PWM信号周期由PR2设置,PWM信号脉宽由(CCPR1L,CCP1CON)设置。 当改变CCPR1L与CCP1CON值时就可以改变输出信号的占空比。 功能 日常中的电机控制,调速,变频PWM工作模式的应用null利用PWM输出模式,在RC2口输出一个38.4KHz占空比为1:1的波形 ORG 00H GOTO RESET ORG 10H RESET BSF STATUS,RP0 MOVLW 19H MOVWF PR2 BCF TRISC,2 ;RC2输出 BCF STATUS,RP0 CLRF TMR2 MOVLW 0CH MOVWF CCPR1L MOVLW 0CH MOVWF CCP1CON ;定义PWM输出 MOVLW 00H MOVWF T2CON ;PWM输出为38.46Khz BSF T2CON,TMR2ON WAIT GOTO WAIT END
本文档为【PIC单片机课件8】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769412
暂无简介~
格式:ppt
大小:2MB
软件:PowerPoint
页数:0
分类:工学
上传时间:2012-02-24
浏览量:12