定时器与可编程计数器阵列-山东大学课程中心.PPT

定时器与可编程计数器阵列-山东大学课程中心.PPT

  1. 1、本文档共153页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定时器与可编程计数器阵列-山东大学课程中心

* [例7-10]定时器0溢出作为PCA模块时钟输入源实例 PWM_WIDTH EQU 0FFH ;数字越大脉宽越窄,占空比越小 PWM_PULSE_WIDTH EQU 0FFH;值越大脉宽越窄(占空比越小) COUNTER EQU 30H ;声明计数器变量,计数中断次数 LED_5MS EQU P1.6 ;5毫秒指示灯 LED_1S EQU P1.5 ;1秒钟指示灯 ORG 0000H LJMP MAIN ORG 003BH ;PCA中断入口地址 LJMP PCA_ISR ORG 0060H MAIN:MOV SP, #70H ;设置堆栈指针 MOV COUNTER, #100 ;置COUNTER计数器初值 ;初始化PCA模块 MOV CMOD, ;PCA 在空闲模式停止 计数器 ;PCA时钟源为定时器0的溢出,禁止PCA计数器溢出时中断 MOV CCON, #00H ; PCA计数器溢出中断请求标志位CF清0 ,CR = 0, 禁PCA计数器计数, PCA模块中断标志CCFn清0 MOV CL, #00H ; PCA 计数器清0 MOV CH, #00H ;设置模块0为 8 位 PWM 输出模式, PWM无需中断支持。脉冲在P1.1/CCP0引脚输出 MOV CCAPM0, #42H ;设置模块0为8位PWM输出模式 MOV PCA_PWM0, #00H ; PWM 模式第9位EPC0L(H)清0 MOV CCAP0H, #PWM_PULSE_WIDTH ;设置脉宽0FFH * [例7-10]定时器0溢出作为PCA模块时钟输入源实例 ;设置 PCA 模块1 MOV CCAP1L, #CH1_5mS_L ;PCA模块1置初值CCAP1L MOV CCAP1H, #CH1_5mS_H ;PCA模块1置初值CCAP1H MOV CCAPM1, #49H ;置PCA模块1为16位软件定时器 ;ECCF1=1, 允许PCA模块1中断, ;[CH,CL]=[CCAP1H,CCAP1L]时,产生中断请求,CCF1=1,请求中断 SETB EA ;开单片机所有中断共享的总中断控制位 SETB CR ;设置CCON启动PCA计数器[CH, CL]计数 ;初始化T0, 其溢出脉冲作PCA计数器(CH,CL)的时钟源 MOV TMOD, #02H ;置定时器0 为8位自动重装工作模式 MOV TH0, #T0_1 ;T0重装数值(计数值10溢出) MOV TL0, #T0_1 ;T0重装数值(计数值10溢出) SETB TR0 ;设置TCON启动定时器0 * [例7-10]定时器0溢出作为PCA模块时钟输入源实例 不特别设置AUXR的T0x12=0, 因其初始化默认为12分频。 * [例7-10]定时器0溢出作为PCA模块时钟输入源实例 MAIN_LOOP: MOV TH0, #T0_1 ;T0溢出率时间常数(计数值10) MOV TL0, #T0_1 MOV A, #PWM_WIDTH ;PCA模块0是8位PMM,脉宽0FFH MOV CCAP0H, A LCALL DELAY MOV TH0, #T0_2 ;修改T0溢出率时间常数(计数值20) MOV TL0, #T0_2 LCALL DELAY ;P1.1/CCP0的LED较亮 MOV TH0, #T0_1 ;T0 溢出率高(计数值10) MOV TL0, #T0_1 MOV A, #PWM_WIDTH ;PCA模块0是8位PMM,脉宽0FFH LCALL RR_A ; A带C=0循环右移, A=7FH,改变 PWM占空比 LCALL RR_A ; A带进位C清0循环右移, A=3FH MOV CCAP0H, A ;值越大,PWM占空比越小,P1.1的LED越亮 LCALL DELAY ;T0溢出率变低,接定时器脉冲的LED闪烁速度变慢, 而PWM的LED亮度未改变 * [例7-10]定时器0溢出作为PCA模块时钟输入源实例 MOV TH0, #T0_2 ;T0溢出率低(计数值20) MOV TL0, #

文档评论(0)

zhuwo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档