当前位置:首页 > 单片机 > 单片机
[导读]>>定时器比较值、计数值比较缓存寄存器TCMPBn、TCNTBn,这两个寄存器用于存储定时器的比较值和计数初始值。>>定时器比较值、计数值比较寄存器TCMPn、TCNTn,这两个寄存器是定时器的内部寄存器,用户无需进行操作。1.

>>定时器比较值、计数值比较缓存寄存器TCMPBn、TCNTBn,这两个寄存器用于存储定时器的比较值和计数初始值。

>>定时器比较值、计数值比较寄存器TCMPn、TCNTn,这两个寄存器是定时器的内部寄存器,用户无需进行操作。


1. 需要配置成定时器模式时使用以下的初始化函数,并且计数值到0时产生中断。

//****************定时器中断服务函数*****************

void __irq Timer0_isr()

{

//send_str((unsigned char *)"Timer0 interrupt is started!rn");

Led_on(0);Led_off(1);Led_off(2);Led_off(3);

dely(350);

Led_off(0);Led_on(1);Led_off(2);Led_off(3);

dely(350);

Led_off(0);Led_off(1);Led_on(2);Led_off(3);

dely(350);

Led_off(0);Led_off(1);Led_off(2);Led_on(3);

dely(350);

rSRCPND |= 1<<10;

rINTPND |= 1<<10;

//send_str((unsigned char *)"Timer0 interrupt is end!rn");

}

void Init_timer0()

{

rTCFG0 &= ~(0xff);

rTCFG0 |= 99;

rTCFG1 &= ~(0xf);

rTCFG1 |= 0x02;

rTCNTB0 =62500;//1s中断一次

rTCON |= 1<<1;

rTCON = 0x09;

//使能定时器中断

rINTMSK = ~(1<<10);

pISR_TIMER0= (unsigned int)Timer0_isr;

}

2. 若需要配置成PWM使用如下的初始化函数,不需要中断处理函数,并且有外部引脚提供输出。此情况下,输出电平变化两次,一次是比较值相等时,另一次是计数器减到0时,所以一下初始化程序产生的PWM方波的频率是62500Hz。

void Init_PWM0()

{

rGPBCON &= ~(0x03); //GPB0进行清零

rGPBCON |= 1<<1; //设置为TOUT0输出

rTCFG0 &= ~(0xff);

rTCFG0 |= 99; //第一级分频器的分频系数是100

rTCFG1 &= ~(0xf);

rTCFG1 |= 0x02;//第二级分频器的分频系数是8

rTCNTB0 =62;//0.001s中断一次

rTCMPB0 = rTCNTB0/2; //占空比为50%

rTCON |= 1<<1; //加载计数值和比较值分别到各自的缓存寄存器

rTCON = 0x0d;//0位开启定时器,2位当TCNT0和TCMP0相等时翻转电平,3位当TCNT0中的值减到0时,TCNTB0的值自动加载到TCNT0中计数。

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

  本文根据网络视频采集的需要,将网络传输与视频采集相结合,设计了以S3C2440为核心的USB摄像头视频采集和嵌入式Linux系统下的视频服务器,从而实现了远程网络视频信息采集。   

关键字: s3c2440 视频采集 usb摄像头

         之前在提起自动化或是智能化时,人们会不自觉的想到工业生产,这是因为自动化这个字眼进入中国,确实是以工业

关键字: 嵌入式 Linux s3c2440 视频采集

  引言   随着科技的不断发展,以数据业务为主的固定宽带无线接入技术发展已经很成熟,而移动宽带无线通信技术还并没有得到广泛的应用。由于移动宽带无线接入系统需要解决带宽、移动性和覆盖范围

关键字: IPv6 s3c2440 x86 架构

  1 引言   人们生活水平的提高以及科技的进步,特别是计算机技术、网络技术和通信技术的发展,智能家居将慢慢成为未来家居生活的发展方向。1984年在美国诞生了世界上第一座智能家居建筑,

关键字: boa nrf24l01 s3c2440 智能家居

之前由于同学的一个小实验,需要用到频率计,所以自己想搞一个出来,于是网上找了很多资料,简单的有用8052单片机的定时器和计数器的结合来测其信号的频率,还有的是c8051f的捕捉功能,想来想去,还是想用用自己熟悉的8052...

关键字: 8052 定时器0 计数器1

我们知道2440开发流程为:移植uboot--》移植内核---》挂接根文件系统。我们移植完内核需要挂接根文件系统,那么首先我们必须拥有根文件系统。如何来制作我们的根文件系统呢?第一步:在linux下建

关键字: s3c2440 根文件系统

1.TQ2440u-boot-1.1.6修改文件所在的路径是u-boot-1.1.6includeconfigsEmbedSky.h将#defineLCD_TFTxxx(LCD类型)W353.5寸TFT4802724.3...

关键字: s3c2440 lcd参数

2440的晶振频率为12MHZ,有两个PLL:MPLL和UPLL,其中MPLL产生FCLK、HCLK、PCLK;UPLL产生UCLK。FCLK为ARM核提供时钟,HCLK为AHB总线时钟,PCLK为APB总线时钟,UCL...

关键字: s3c2440 时钟初始化

开发板:TQ2440内核:Linux 2.6.32PC OS:Ubuntu 11.041.配置内核打开I2C功能:打开杂项设备,该选项打开后,EEPROM也就打开了。2. 修改代码修改文件: linux/arch/arm...

关键字: at24c02 eeprom s3c2440 移植 linux驱动

在分析ARM-Linux s3c2440中UART的时有必要先了解 s3c2440A中串口的硬件知识。硬件篇:S3c2440A串口提供三个独立的异步串行通信I/O端口(asynchronousserial I/O por...

关键字: ARM Linux s3c2440 uart
关闭
关闭