单片机功能测试:PCA功能

发布于:2024-07-17 编辑:匿名 来源:网络

MPC82G是台湾胜泉公司生产的8位MCU,兼容。

内置6个PCA功能模块,模块0-5对应P1.2-P1.7,P1.1为输入脉冲源ECI。

本文记录了测试PCA的代码和过程,重点分析了各个寄存器的设置,同时还通过逻辑分析仪记录了相关波形。

STC15F60S2等芯片也内置了PCA功能,不过模块只有3个,但功能更丰富。

设置和编程过程类似,可以参考。

  1。

相关寄存器:   寄存器   功能   地址   7  6  5  4  3  2  1  0  描述   CCON  控制   D8  CF  CR  CCF 5  CCF4  CCF3  CCF2  CCF1  CCF0  CR:启动和停止 PCA 总计数器   CF:PCA 总计数器溢出标志   CCF0-5:各模块中断标志   CMOD  模式  D9  CIDL  —  —  —  —  CPS1  CPS0  ECF  CIDL: I空闲模式 是否计数  CPS1、CPS0:时钟源:12 分钟。

2分钟。

T0.ECI。

选择四个   ECF:PCA 计数溢出中断   AUXIE  中断   AD  —   —  EKB  ES2  EBD  EPCA   EADC  ESPI  EPCA:PCA 中断开关   CCAPM  0-5  模块模式   DA-  DF  —  ECOM   0-5  CAPP  0-5  CAPN  0-5  MAT  0-5  TOG  0-5  PWM   0-5  ECCF  0-5  ECOMn 允许比较   CAPPn 上升 CAPNn 下降    MATn 与 CCFn 位匹配   TOGn 与翻转引脚电平匹配   PWM 脉宽调制输出   ECCFn 使能中断信号 CCFn  CCAPnL  捕获  寄存器  EA-EF  比较:先设置初始值并与 PCA 进行比较   捕获:将 PCA 值捕获到寄存器   CCAPnH  FA-FF  PCAP  WM0-5  PWM  模式  F2-  F7  —  —  —   —  —  —  ECA  PnH  0-5   ECA  PnL  0-5  作为 PWM 期间的第 9 位   用于设置占空比  CL、CH  PCA  PCA 总计数器   AUXR1   引脚   8E  P4KB  P4PCA  P4SPI  P4S2  GF2  —?中断    功能    备注   -  无操作   -x10 只进入中断,相当于添加外部中断功能   -x01 x  10/11   16 位 CEXn 引脚下降沿触发捕获模式   -x11 x  30/31  16 位 CEXn 引脚具有边沿触发捕获模式   -x  48/49  16位软件定时器  需要中断来重置比较值并将中断标志清0。

因此,最小定时值>=5us。

不同的是定时器只使用中断信号,高速输出使用对应引脚电平的翻转  -x  4C/4D  16位高速输出   - 42/   8 位 PWM  占空比=1-[ECAPnH,CCAPnL]/ 3。

PCA函数使用步骤:  1)确认CCON=0x00;一般清除 0  2) 确认 CMOD= 0x00; 00不开启PCA中断,01开启;脉冲源为 FSOC/12  3) AUXIE = 0x04;打开PCA主中断开关,捕获和定时必须打开,在PWM期间可以关闭  4)设置各个模块工作模式寄存器CCAPMn,见表2  5)设置PCA计数器:CL=0;CH=0  6) 对于定时或高速输出,需要设置CCAPnL和CCAPnH值  7) PWM功能,需要设置CCAPnH(和ECAPnH PCAPWM寄存器中)  8)开始PCA计数:CR=1;如有必要,开启总中断:EA=1  9)编写中断处理函数,MPC82G的PCA中断向量为10(53H),STC15F60S2为7  4。

PCA功能逻辑图:  5。

PCA中断逻辑图:  6。

PCA中断向量  MPC82G的PCA中断号为10。

STC15F60S2的中断向量为7。

  测试1:PCA总计数器溢出中断  思路:不使用任何模块,只启动PCA总计数器。

为了方便观察,可以在中断处理程序中使能中断并设置观察变量(P2.1)进行电平翻转,然后用逻辑分析仪观察其变化。

  步骤:  1。

单片机功能测试:PCA功能

将CCON清0,将各中断标志清0,关闭PCA计数  2。

CMOD:设置脉冲源并设置ECF(允许总PCA计数溢出中断)  3。

打开各级中断:在AUXIE中设置EPCA,打开总中断EA  4。

启动PCA:CR=1   65。

在p2.1中可以观察到宽度水平翻转。

程序如下:   程序:  #include "REG_MPC82G.H"  #include "intrins.h"  sbit LED =P2^1;//测试LED  void PCA_isr ()中断10 //注意中断向量号为10,STC15F为7  {  CF=0; //清除中断   LED=!LED;//LED反转   }  void main ()  {  CCON=0;  CL=0;  CH= 0;  CMOD=0x01; //除以12。

使用0x03就是系统时钟除以2  AUXIE=0x04;  EA=1;  CR=1;  while(1);  }  FOSC/12:PCA 计数每 65.ms 溢出一次(理论值应为 65.ms)   如果脉冲源更改为 FOSC/2:PCA 计数每 10.ms 溢出一次  测试2:PCA模块0作为捕获模式,CEX0触发中断  思路:  模块0设置为捕获模式。

捕捉信号由模块0对应的引脚P1.2输出。

可以是上升沿、下降沿或边沿触发。

这是通过设置 CCAPM0 来实现的,请参见表 2。

  下降沿触发捕捉:CCAPM0=0x11(),即CAPN0=1,ECCF0=1可以直接短接CEX0/P1.2与地来获得下降沿;   上升沿触发捕获:CCAPM0=0x21 ( ) 需要先将CEX0/P1.2与地短路,然后释放才能获得上升沿;   注意MCU的四个口复位后都是“准双向口”,开路时有内部弱上拉。

  CEX0触发捕捉时,捕捉到的数据不做处理(如果是仿真的话,仿真时可以查看捕捉到的值),所以这个程序相当于给单片机增加了一个外部中断功能。

  程序:  #include "REG_MPC82G.H"  #include "intrins.h"  sbit LED =P2^1;//测试LED  sbit LED2=P2^2;//连接LED观察  void PCA_isr()中断10  {  unsigned charTmpL;//临时变量, 暂存捕获值  unsigned charTmpH;  //CF=0; //清除中断(PCA计数溢出,此处无需使用)   LED=!LED;//LED反转  if (CCF0)//当CEX0(P1.2)触发捕获时,中断触发CCF0  {  TmpL=CCAP0L;  TmpH=CCAP0H;  CCF0=0;//软件清除中断  //P12=1;//将测试引脚拉高下一个下降沿触发  LED2=!LED2;//可以接一个发光二极管来观察中断的发生  }  }  void main()  {  CCON=0;  CL=0;  CH=0;  CMOD=0x00;//模式:FSOC/12,ECF禁用PCA中断(以避免无效中断)  AUXIE=0x04 ;//开启PCA总中断  CCAPM0 =0x11;//模块0设置为外部引脚上升沿触发捕获模式,并产生模块0中断信息CCF0  EA=1;  CR =1;  //P12=1;  while(1);  }  测试3:PCA模块0和1用作16位定时模式  想法:  如果每个PCA模块用作定时器,由于16位PCA计数器启动后总是从-FFFF开始循环计数,如果比较寄存器[CCAPnH + CCAPnL]加载固定值,则每个PCA计数的每个周期(5 个脉冲)只能生成一次相同的比较输出。

为了实现自定义计数值,必须在每次计数中断后将固定值添加到[CCAPnH + CCAPnL],以便PCA在计数到新值后可以生成另一个输出。

单片机功能测试:PCA功能

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 我去参加了中国最大的Web3聚会,发现人们想要的并不是Web3

    我去参加了中国最大的Web3聚会,发现人们想要的并不是Web3

    01。 危险的气氛顿时变得凝重起来。 面前的漂亮女孩不经意地皱起了眉头,盯着朋友递给她的手机屏幕,不知道该输入什么。 10秒前,我们坐在这家咖啡馆里开心地聊天,气氛很融洽,直到我们提出互发微信。 时间静止了片刻。 一位在国外加密货币交易所工作的女孩略显尴尬地解释道

    06-18

  • 软银Vision 2首次融资20亿美元

    软银Vision 2首次融资20亿美元

    投资社区(微信ID:pedaily)11月18日消息,据彭博社报道,软银集团悄然完成了第二只科技基金的初始募资,仅达到其1亿美元目标的一小部分。 两位知情人士表示,这家日本公司已为第二支愿景基金筹集了约 20 亿美元,以便开始支持初创企业。 本阶段融资为首轮融资,软银将继续融

    06-17

  • 长沙百亿投资基金来了

    长沙百亿投资基金来了

    这次是长沙。 投资界-解码LP从长沙市商务局、市政府金融办获悉,长沙近期成立了一支亿元基金——长沙投资基金合伙企业(有限合伙)(简称“长沙投资基金”),重点吸引本地投资。 该基金为长沙市产业发展基金中的二级基金中的基金。 今年年初,长沙市推出了一系列基金投资举措

    06-17

  • 智能表带有何特别之处?

    智能表带有何特别之处?

    去年第一次看到Apple Watch S7时,包括我在内的周围好几个朋友都被它的大屏幕震惊了。 尺寸保持不变,但内置了更大的屏幕。 短暂的惊讶之后,一个念头不受控制地浮现出来。 智能手表的工业设计是否走上了手机的路线?屏占比越来越高,各个产品的外观也越来越相似。 ▲Apple W

    06-21

  • 电子产业服务平台云汉芯城完成新一轮数千万元融资

    电子产业服务平台云汉芯城完成新一轮数千万元融资

    据投资界(微信ID:pedaily)6月4日消息,据36氪报道,电子产业服务平台“云汉芯城”完成新一轮数千万元融资< titlesplit >云汉核心城”近日完成新一轮融资。 A轮融资数千万元。 投资方为上市公司火炬电子。 本轮融资将主要用于平台运营和大数据建设。 火炬电子作为电容器制造

    06-17

  • 华为旗下天才稚晖君创业公司“智元机器人”完成超6亿元A3轮融资

    华为旗下天才稚晖君创业公司“智元机器人”完成超6亿元A3轮融资

    投资界(ID:pedaily)12月18日报道,智元机器人完成新一轮A3轮融资。 本轮融资由蓝驰创投、中科创兴、鼎晖投资、长飞基金、C Capital、高瓴创投、丽晶创新、三花控股集团、基石资本、临港新区基金和银杏谷资本投资。 据36氪了解,本轮融资金额超过6亿元人民币。 智元机器人因

    06-18

  • 你买的HDMI 2.1显示器可能是“假货”

    你买的HDMI 2.1显示器可能是“假货”

    用PS5玩游戏有多难?价格上涨只是第一个障碍。 当你抢到一款手速出众的游戏,兴奋地拆箱,迫不及待地玩游戏时,你会发现首发游戏阵容并不多,被视为一次重要的硬件升级。 特色的 HDMI 2.1 接口还需要超高速传输线。 幸运的是,PS5 配备了高质量的传输线。 跨过第二个门槛之后

    06-21

  • 成都市将设立50亿元试点平台建设基金

    成都市将设立50亿元试点平台建设基金

    投资界(ID:pedaily)1月11日消息,为全面贯彻落实党的二十大精神,市委以及政府“三个提升”、产业“建圈强联”、制造强市等战略部署,增强科技创新资源源功能,以创新推动制造业高质量发展。 成都高新区启动建设具有全国影响力的科技成果中心试点跨越行动计划。 是检测的首

    06-17

  • 联想智能通信获超亿元B轮融资

    联想智能通信获超亿元B轮融资

    据36氪6月22日消息,联想智能通信宣布获得国有资本和产业资本投资的B轮融资,本轮融资金额超亿元。 元。 联想通讯CFO周利军在6月22日举行的投资者沟通会上透露,本次获得的资金将继续加大5G云平台、eSIM技术、车联网平台的研发力度,加大数据智能和人工智能的投入。 投资,在

    06-18

  • 智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折

    智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折

    自从Meta宣布更名后,元宇宙之路频频被堵。 不仅人事变动出现了几次风波,各种产品的开发计划也进展得不太顺利。 新的VR/AR软件操作系统的开发于年初停止。 不久前,彭博社报道称,此前曝光的带摄像头的智能手表也已停止开发。 ▲图片来自:Unsplash 从之前曝光的产品原型来看

    06-21

  • “黑名单”占比超50%!为何发制品成为违规重灾区?

    “黑名单”占比超50%!为何发制品成为违规重灾区?

    8月以来,国家食品药品监督管理局(以下简称“药监局”)加大了对化妆品市场的监管力度,抽查和曝光频率明显增加。 《FBeauty未来迹》发现,近一周多来,国家药监局抽查了超批不符合规定的化妆品,其中添加禁用原料的化妆品有9批次。 从通报信息看,护发产品、染发产品已成为

    06-17

  • 安徽自贸区首批项目清单出炉,投资超700亿元,涉及人工智能、新能源等领域,

    安徽自贸区首批项目清单出炉,投资超700亿元,涉及人工智能、新能源等领域,

    制造头条,近日,安徽省发改委发布中国(安徽)自由贸易试验区创新驱动发展和产业优化升级专项推进行动方案,共计32个项目,总投资7500万元。 据了解,本次清单中的32个项目涉及量子信息、人工智能、机器人、生物医药、高端制造、新能源汽车、智能网联汽车等自贸试验区重点发

    06-18