单片机功能测试: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功能

站长声明

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

标签:

相关文章

  • 文化科技创新企业服务商德必集团完成数亿元C轮融资,获致远资本投资

    文化科技创新企业服务商德必集团完成数亿元C轮融资,获致远资本投资

    据投资界9月26日消息,服务型企业德必集团完成数亿元C轮融资,获致远资本投资< titlesplit >文化科技创新企业提供商,宣布完成数亿元C轮融资。 吸引致远资本投资。 本轮投资方招商致远资本为招商证券旗下全资私募子公司。 这也是德必集团继中国民生资本、大辰创投、阳光财险

    06-18

  • 上交所现场发布科创板发行上市保荐业务督导指引

    上交所现场发布科创板发行上市保荐业务督导指引

    今天,上交所发布《上海证券交易所科创板发行上市审核规则适用指引第1号——保荐业务现场督导》。 此次发布的《现场督导指引》总结了科创板发行上市审核中现有的现场督导做法,并将现有做法制度化、公开化。 指引规定,审查中发现与发行人有关的重大疑点或异常情况,且无法提

    06-18

  • 崇爱国际宣布完成B、B+轮融资,累计金额超亿元

    崇爱国际宣布完成B、B+轮融资,累计金额超亿元

    据投资界6月28日消息,据36氪消息,北京崇爱国际动物医疗机构有限公司崇爱国际有限公司(以下简称“崇爱国际”)正式宣布团队已完成B轮和B+轮两轮融资。 B轮由双虎资本领投,弘晖资本跟投。 B+轮融资也于近期完成。 具体投资者暂时未透露。 两轮累计融资金额已超过1亿。 元。

    06-18

  • 三星增产,Micro LED电视明年或将加速普及

    三星增产,Micro LED电视明年或将加速普及

    近日,外媒报道称,三星电子计划在今年1月份增加其MicroLED电视的产量,目标是每月生产约1英寸型号。 业内人士表示,三星此举旨在测试市场对其MicroLED电视的接受程度,为推出更小尺寸的此类设备铺平道路。 为了加大此类设备的营销力度,三星还计划在今年的多个贸易展上展示

    06-08

  • 立即获取云上的成本削减指南!奇墨科技携FinOps新技术亮相2023云栖大会

    立即获取云上的成本削减指南!奇墨科技携FinOps新技术亮相2023云栖大会

    剖析云上综合治理,奇墨ITQM让云上价值看得见企业数字化进程不仅是技术问题,更是企业组织架构、云文化、运营问题变革管理。 尤其是面对日益复杂的混合多云环境,企业面临着越来越大的云运维、云成本、云安全等压力,迫切需要全新的涵盖应用治理的IT治理方法论和技术体系、解

    06-18

  • 云霁科技完成C+轮融资

    云霁科技完成C+轮融资

    据投资界9月18日消息,云霁科技近日完成C+轮融资,投资方为以岭资本。 公开资料显示,云霁科技是国内第一家自主研发数据中心操作系统的初创公司。 在当前环境下,企业用户需要的是一个更加全面的“数据中心操作系统”(Internet Data Center OS,iDC OS),能够统一管理“单

    06-18

  • 299元!摩拜押金终于要回来了

    299元!摩拜押金终于要回来了

    “朋友们,六年了,我终于可以拿回摩拜押金了!” 10月13日下午,不少网友在社交平台上分享:我在摩拜单车成功退还人民币押金。 没有人会怀疑其欣喜的水平。 毕竟这几年用户想要从摩拜和ofo那里拿回押金太难了。 看了太多总部维权和上万人排队退押金的消息,终于成功退押金的

    06-18

  • 启明创投梁颕宇:一位医疗投资人的最新观察

    启明创投梁颕宇:一位医疗投资人的最新观察

    编者按:在经历了爆发式、跨越式的发展之后,中国的医疗健康产业已经进入了新的发展阶段。 2017年,受资本市场整体低迷、集采降价、PD-1医保谈判超出预期等因素影响,医疗健康领域投融资回归理性,企业估值加速回升。 ——泡沫破灭,市场开始梳理、重新审视自己。 早在十多年

    06-18

  • “宁王”日赚过亿,追赶者已逼近

    “宁王”日赚过亿,追赶者已逼近

    10月19日晚,宁德时代发布今年第三季度业绩报告。 数据显示,公司三季度实现营收1亿元,同比增长8.28%,三季度归属于母公司净利润1亿元,同比增长增长10.66%。 今年前三季度,宁德时代营业收入为7700万元,同比增长40.10%;前三季度归属于母公司净利润4500万元,同比增长77.0

    06-18

  • 投资界新闻 - 清流 Capital完成首轮新人民币基金,80%项目完成后续融资

    投资界新闻 - 清流 Capital完成首轮新人民币基金,80%项目完成后续融资

    投资界消息4月16日,创投机构清流 Capital宣布完成首轮人民币基金新一轮人民币基金募集。 迄今为止,清流资本已管理两只美元基金和两只人民币基金。   据了解,这只清流人民币基金是清流资本管理的第二支人民币基金。 其背后的投资者包括机构投资者和企业家个人。 清流资本

    06-18

  • 微鲸电视荣获中国设计最高荣誉“金点奖”,

    微鲸电视荣获中国设计最高荣誉“金点奖”,

    如今女神越来越老练,许多男生希望在与心中的女神第一次约会时做好充分的准备。 首先,出门前记得照顾好自己。 就算不喷香水,至少也要洗干净身体吧?外出时,应该穿一套得体的衣服。 不需要很贵,但至少应该让人看起来清新舒适。 忘掉那些非主流的铆钉和孔吧。 当然,一定要

    06-18

  • 马斯克从世界首富的宝座上跌落;新款MacBook Air发布,搭载M3芯片;简体中文成为Steam上最常用的语言

    马斯克从世界首富的宝座上跌落;新款MacBook Air发布,搭载M3芯片;简体中文成为Steam上最常用的语言

    马斯克从世界首富的宝座上跌落,被贝索斯超越。 北京时间3月5日,当地时间周一,特斯拉股价大跌7.16%,收于0.14美元。 这导致埃隆马斯克(Elon Musk)将世界亿万富翁的位置让给了亚马逊创始人杰夫贝索斯(Jeff Bezos)。 马斯克目前的净资产为10亿美元,而贝佐斯的财富为10亿

    06-17