Freescale 9S12 系列单片机应用笔记(ECT 模块) 5

发布者:星辰耀眼最新更新时间:2016-05-06 来源: eefocus关键字:Freescale  9S12  系列  单片机  ECT  模块 手机看文章 扫描二维码
随时随地手机看文章

实验5:初识输入捕捉功能

所谓输入捕捉,简单的说就是感应输入引脚PTx上的电平的变化,如果发现电平变化,则:

l TCNT计数器的值被保存到到输入捕捉寄存器TCx中,状态标志位被置 1

l 如果中断允许,则向CPU发出中断请求

ECT 模块可以捕捉到的电平变化包括上升沿、下降沿或任意沿。简单的说就是可以捕捉任意一种变化,功能还是很强悍的。

TCx 寄存器(Timer Input Capture/Output Compare 0-7)

在介绍输出比较功能时已经提到过。在这里,用来记录外部事件发生时TCNT的值。通过读取两次相邻事件 TCx 的值就可以计算出两次事件的间隔时间了。

TCTL3/TCTL4 寄存器(Timer Control Register 3/4)

定时器控制寄存器TCTL3和TCTL4中的EDGxB和EDGxA位决定通道 x 有效跳变边沿是上升沿、下降沿或任意跳变。具体如何设置参见表格 2 的说明。

表格 2 输入捕捉跳变边沿类型

 

EDGxB

EDGxA

类型

0

0

禁止

0

1

上升沿

1

0

下降沿

1

1

任意跳变

图 14 TCTL3/TCTL4 寄存器

TCxH寄存器(Timer Input Capture Holding Registers 0-3)

当开启输入捕捉功能时,对应事件发生时TCNT的值会被拷贝到TCx 寄存器中。对于输入捕捉的前4个通道,在这个拷贝发生之前还要完成一件事情,就是将TCx 的值拷贝到TCxH中。因此,当输入捕捉中断发生时,TCx 中存储的是发生当前事件时 的TCNT 的值,TCxH 中存放的则是上一次事件发生时TCNT 的值。这两个值的差可以计算出两次事件间隔的时间。

程序中还要使用到的寄存器包括TIOS寄存器(Timer Input Capture/Output Compare Select)、TSCR1寄存器(Timer System Control Register 1)、TFLG1寄存器(Main Timer Interrupt Flag 1)和TIE寄存器(Timer Interrupt Enable Register)。在前面的介绍中已经提到过这些寄存器了,这里就不重复了。

 

下面是例子程序的部分代码,功能很简单。连续捕捉十次上升沿对应的TCNT,然后计算周期。

#include       /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include "sci.h"

void ECTInit(void) 
{    
    TIOS_IOS0 = 0; // channel 0 as output compare
    TIE_C0I = 1;  // 使能 channel 0 中断
    
    TCTL4_EDG0A = 1;
    TCTL4_EDG0B = 0;  // 检测上升沿
    
    TSCR1_TEN  = 1;  //timer enable    
}

unsigned short buf[11];
char flag;
void main(void) 
{
    long interval = 0;
    char i;
    SCIInit();
    SCISetBaudRate (SCI0, 9600, 8192000L);
    ECTInit();
  
    EnableInterrupts;
    
    flag = 0;
    for(;;) 
    {
        if(flag == 1)
        {
            for( i = 0; i < 10; i++)
            {
                interval += buf[i+1] - buf[i];
            }
            SCIPutShort(SCI0, interval >> 16);
            SCIPutShort(SCI0, interval & 0xffff);
        }
        _FEED_COP(); /* feeds the dog */
    } /* loop forever */
}
                
                
interrupt VectorNumber_Vtimch0 void ECT_0_ISR(void) 
{
    static int i = 0;
    TFLG1 = TFLG1_C0F_MASK;   //clear channel 0 interrupt flag
    buf[i++] = TC0;
    if (i == 11) 
    {
      flag = 1;
      i = 0;
      TIE_C0I = 0; //关闭中断
    }
}

信号源还是采用 USBee AX,利用通道7 输出的 7.8125KHz 方波。

 

串口传上来的数据为:10486

简单计算一下:T = 10486*1/8192.0/10 = 0.128 ms

f : 1/T = 7.815 KHz

 

说明测量的结果还是很准确的。

关键字:Freescale  9S12  系列  单片机  ECT  模块 引用地址:Freescale 9S12 系列单片机应用笔记(ECT 模块) 5

上一篇:Freescale 9S12 系列单片机应用笔记(ECT 模块) 4
下一篇:Freescale 9S12 系列单片机应用笔记(ECT 模块) 3

推荐阅读最新更新时间:2024-03-16 14:53

晶科电子-新一代100像素集成式ADB LED模块
技术描述: 采用晶科电子自主知识产权的先进集成封装技术开发的车规级光源器件并集成驱动,具有优异的对比度及窄小的发光面,依托简单、成熟的光学配套技术即可满足ADB法规要求的大灯功能。 独特优势: 采用晶科电子自主知识产权的先进集成封装技术开发的车规级光源器件并集成驱动,具有优异的对比度及窄小的发光面,依托简单、成熟的光学配套技术即可满足ADB法规要求的大灯功能。 应用场景: 矩阵式智能车大灯 未来前景: 采用晶科电子自主知识产权的先进集成封装技术开发的车规级光源器件并集成驱动,具有优异的对比度及窄小的发光面,依托简单、成熟的光学配套技术即可满足ADB法规要求的大灯功能。
[汽车电子]
晶科电子-新一代100像素集成式ADB LED<font color='red'>模块</font>
“超视V8”银行视频监控系统解决方案
一、概述   为了遏制和打击犯罪、减少金融风险,银行需要对重要地点和营业场所进行有效和可靠的监控,实现对重要地点和营业场所的音、视频资料进行录像保存。   目前,电视监控虽实现了由模拟到数字的技术提升,但使用管理方式并未发生质的变化,仍然停留在单点式管理阶段,其弊端表现在以下几个方面:一是监控由营业网点自行管理,由于人员素质及管理精力不足等原因,设备出现故障不能及时发现;二是网点分布广,查阅调用录像不方便;三是报警后不能自动及时上传图像资料,重点在事后查证;四是录像资料的调阅在就可直接办理,基层网点有关人员可以删除信息资料,甚至可以借所谓的“客观原因”停用录像;五是由于基层机构人力限制和岗位轮换等原因,掌握监控设施管理流程和
[安防电子]
AT89S系列单片机ISP方案解析
1. ISP简 述 从事单片机设计和开发的技术人员目前一般采用以下常用的方法开发单片机产品:首先利用单片机仿真设备进行硬件和软件的仿真调试,然后将调试通过的目标代码用程序烧写器固化到单片机的程序存储器中。在这个过程中,程序烧写器是必不可少的开发工具。程序烧写器一般价格较昂贵,对于初学者来说是一笔不小的开支,并将直接影响到初学者进一步学习开发单片机的积极性。另外,以后每修改一次源程序就要将单片机芯片从目标板上取出,再将更新后的目标代码重新固化到单片机芯片中,这样调试时就会由于频繁地插拔单片机芯片而对芯片和电路板带来相应的物理损坏。借助程序烧写器进行单片机编程的缺点是烧写设备昂贵,烧写操作麻烦,不便于实现在系统编程(ISP)。
[单片机]
AT89S<font color='red'>系列</font><font color='red'>单片机</font>ISP方案解析
一种基于51单片机的多功能温度控制器的设计
O 引言 在某些工业生产过程中,如恒温炉、仓库储藏、花卉种植、小型温室等领域都对温度有着严格的要求,需要对其加以检测和控制。传统的温度测量方法是将温度传感器输出的模拟信号放大后送至远端A/D转换器,最后单片机对A/D转换后的数据进行分析处理。这种方法的缺点是模拟信号在传输的过程中存在损耗并且容易受到外界的干扰,导致测量的温度精度不高。 文中以STC89C52RC单片机为控制核心,利用美国Dallas公司最新推出的单总线数字温度传感器DSl8820测量温度,单片机处理后对温度进行控制,并将温度显示在LCDl602上,还可通过按键设置温度上下限值实现温度超限报警等功能。 1 系统的组成和工作原理 多功能温度控制系统的结构
[单片机]
一种基于51<font color='red'>单片机</font>的多功能温度控制器的设计
机器人在梅赛德斯-奔驰A系列白车身制造的应用
当前状况/任务 戴姆勒•克莱斯勒公司在生产梅赛德斯 A 系列白车身时使用不同的接合方法。例如,在金属板的 290 个不同部位完成约 3900 个焊接点。当该汽车生产商为实现   自动化 而寻找合适的 机器人 时,首要的前提条件就是循环时间短且加速能力高。 实施措施/解决方案 现在,330 台库卡机器人加入到了 Rastatt 工厂内白车身制造的工作中。其他 50 台库卡机器人则供职于该工厂内负责粘贴车窗玻璃,及对焊接缝进行密封处理的安装和表面处理技术部门。工厂使用的主要接合工艺为电阻点焊接,在此过程中机器人要在 60 秒钟内完成多达 28 个点焊接;其他补充性接合工艺包括铆焊、螺柱焊、粘贴及拧紧螺栓。
[嵌入式]
基于单片机的变频调速系统
变频调速在控制中的应用愈来愈广泛,传统的变频调速控制是用普通的单片机系统来实现,电路复杂、编程麻烦,本系统采用C504专用控制单片机来实现变频调速。 1C504功能简述 C504是西门子公司的8Bit专用微控制器,它兼容51系列单片机,其显著特点是:具有一个专用于产生PWM信号的16位捕捉/比较单元(Capture/CompareUnit,简称CCU),4个8Bit通用输入/输出口,其中P1口既可作为4路模拟输入,也可作为6路PWM输出,这就给变频调速控制提供了PWM波驱动信号,无需外加PWM波产生电路,或使用复杂的软件编程方式。 C504的PWM波产生原理是:通过向CCU中的周期寄存器、控制寄存器、方式选择寄存器
[单片机]
基于<font color='red'>单片机</font>的变频调速系统
基于MSP430单片机的智能水位计设计
摘要:为解决我国水位监测野外条件下长期无人看守的问题,研制开发了基于MSP430单片机的智能水位计。从其组成到各功能分别进行了详细的介绍,该智能水位计不仅实现了水位数据的实时监测、记录和定期采集等作模式多种工,而且提高了水位监测精度,实现了水位监测的智能化。 关键词:MSP430单片机;水位监测;远程控制;智能仪器 随着微电子技术和计算机技术的不断发展,引起了仪表结构的根本性变革,以微型计算机为主体,将计算机技术和检测技术有机结合,组成新一代“智能化仪表”,在测量过程自动化、测量数据处理及功能多样化方面与传统仪表的常规测量电路相比较,取得了巨大进展。智能仪表不仅能解决传统仪表不易或不能解决的问题,还能简化仪表电路,提高仪表的
[工业控制]
基于MSP430<font color='red'>单片机</font>的智能水位计设计
数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发
摘要:介绍3GPP提出的一种终端设备和移动台串行通信的复用协议及嵌入式Linux系统下串行通信模块的结构和功能划分,在此基础上,提出一种实现这一复用协议的方案。目前,这一设计方案已经开发成功并广泛应用于所开发的车载移动终端产品中。 关键词:TS27.010 串行链路复用 GPRS移动终端 嵌入式Linux 随着移动通信技术的迅速发展,具备无线通信功能的移动终端也迅速发展起来。这些移动终端支持普通的话音、短消息等业务,随着GPRS网络覆盖的迅速扩大,越来越多的手持/车载移动终端也开始支持GPRS上网业务。如何在一个终端设备上整合这些业务,这是许多移动终端设备开发者面对的问题。笔者在开发一款车载移动终端过程中,采用了3GPP的TS
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • Linux内核移植
    实验步骤:(1)准备工作(2)修改顶层Makefile(3)修改falsh 分区(4)配置编译内核下面以Linux2 6 30 4内核移植到gec2440为例:一、准备 ...
  • S5PV210 PWM定时器
    第一节 S5PV210的PWM定时器S5PV210共有5个32bit的PWM定时器,其中定时器0、1、2、3有PWM功能,定时器4没有输出引脚。PWM定时器使用PCLK_PS ...
  • S5PV210 NAND Flash
    NAND Flash关于NAND FlashS5PV210的NAND Flash控制器有如下特点:1) 支持512byte,2k,4k,8k的页大小2) 通过各种软件模式来进行NAND Fl ...
  • S5PV210串口
    串口设置之输入输出字符S5PV210 UART相关说明 通用异步收发器简称UART,即UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER,它用来 ...
  • S5PV210按键控制LED
    原理图如图所示:查询用户手册得到:程序例子:(完整代码见“代码下载链接”)1、轮询的方式查询按键事件 *main c* 核心代码如下:while(1 ...
  • S5PV210控制蜂鸣器
  • S5PV210的启动过程
  • S5PV210点亮LED
  • S5PV210启动过程详解
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved