新唐M051定时器2测试程序

发布者:qpb1234最新更新时间:2014-12-11 来源: 51hei关键字:新唐M051  定时器2  测试程序 手机看文章 扫描二维码
随时随地手机看文章

以下是M051单片机的定时器2测试程序 成功!!!

#include "SmartM_M0.h"

bool flag = 0; //中断标志位
/****************************************
*函数名称:TMR2Init
*输    入:无
*输    出:无
*功    能:定时器2初始化
******************************************/
VOID TMR2Init(VOID)
{
    PROTECT_REG
 (
  /* 使能TMR2时钟源 */
     APBCLK |= TMR2_CLKEN;
  /* 选择TMR2时钟源为外部晶振12MHz */ 
  CLKSEL1 = (CLKSEL1 & (~TM2_CLK)) | TM1_12M;  
  /* 复位TMR2 */
  IPRSTC2 |=  TMR2_RST;
  IPRSTC2 &= ~TMR2_RST; 
  /* 选择TMR2的工作模式为周期模式*/ 
  TCSR2 &= ~TMR_MODE;
  TCSR2 |=  MODE_PERIOD;  
  /* 溢出周期 = (Period of timer clock input) * (8-bit Prescale + 1) * (24-bit TCMP)*/
  /* 溢出周期 = (1/12MHz) * (0 + 1) * (12000*500)=500ms (0.5S)*/
  TCSR2  = TCSR2 & 0xFFFFFF00;  // 设置预分频值 [0~255]
  TCMPR2 = 12000*500;        // 设置比较值 [0~16777215]
  TCSR2 |= TMR_IE;     //使能TMR0中断
  NVIC_ISER |= TMR2_INT; 
  TCSR2 |= CRST;      //复位TMR0计数器    
  TCSR2 |= CEN;      //使能TMR0
 )
}
/****************************************
*函数名称:main
*输    入:无
*输    出:无
*功    能:函数主体
******************************************/
INT32 main(VOID)
{
  u8 i =0;
     PROTECT_REG            //ISP下载时保护FLASH存储器
  (       
   PWRCON |= XTL12M_EN;      //默认时钟源为外部晶振
   while((CLKSTATUS & XTL12M_STB) == 0);   //等待12MHz时钟稳定      
   CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M; //设置外部晶振为系统时钟 
   P2_PMD = 0x5555;       //P2口设置为输出模式
      P2_DOUT= 0x00;        //P2口输出低电平
  )
  TMR2Init();
    while(1)
  {
   if(flag)
  {
   flag = 0;
   i++;
  }
  if(i>7)
  {
   i = 0;
  }
  P2_DOUT = 1UL<
  }
}
/****************************************
*函数名称:TMR2_IRQHandler
*输    入:无
*输    出:无
*功    能:定时器2中断服务函数
******************************************/
VOID TMR2_IRQHandler(VOID)
{
 /* 清除TMR1中断标志位 */
 TISR2 |= TMR_TIF;
 flag = 1;
}
关键字:新唐M051  定时器2  测试程序 引用地址:新唐M051定时器2测试程序

上一篇:八通道adc0808数据采集
下一篇:新唐M051外部中断1使用程序

推荐阅读最新更新时间:2024-03-16 13:48

FLASH存储器测试程序原理和几种通用的测试方法
1.引言 随着当前移动存储技术的快速发展和移动存储市场的高速扩大,FLASH型存储器的用量迅速增长。FLASH芯片由于其便携、可靠、成本低等优点,在移动产品中非常适用。市场的需求催生了一大批FLASH芯片研发、生产、应用企业。为保证芯片长期可靠的工作,这些企业需要在产品出厂前对FLASH存储器进行高速和细致地测试,因此,高效FLASH存储器测试算法的研究就显得十分必要。 不论哪种类型存储器的测试,都不是一个十分简单的问题,不能只将存储器内部每个存储单元依次测试一遍就得出结论,这是因为每一个存储单元的改变都有可能影响存储器内部其他单元的变化(这种情况又是常常发生的)。这种相关性产生了巨大的测试工作量。另外,FLASH存储器有其自
[测试测量]
FLASH存储器<font color='red'>测试程序</font>原理和几种通用的测试方法
LPC2478 定时器2定时器3的启用
LPC2478 arm7内核,芯片复位后默认开启了定时器0和定时器1的时钟与电源,但timer2、timer3的却默认关闭,所以关于定时器0、1初始化的程序里没有开启时钟和电源的语句。然后我看了一些参考资料,发现关于timer2、timer3的初始化也没给,我就很好奇他妈的没运行的代码也敢当资料卖(NXP LPC2478开发板光盘资料).废话这么多,贴代码,长记性。 //Init TIMER3 to measure PG inf void Time3Init(void){ PINSEL5&=(~(3 14)); PINSEL5|=(2 14);//CAP3.1 P2.23 PCONP |= (1 23);//Open
[单片机]
52单片机有几个定时器?52单片机定时器1和52单片机定时器2程序对比
  52单片机有几个定时器?   STC89C52RC是有三个定时器的单片机,STC89C52RC共有3个定时器,分别是T0、T1、T2。   而51单片机只有T0,T1 两个定时器。   52单片机的默认(此时的IP寄存器不做设置)中断优先级为:   外部中断0 定时/计数器0 外部中断1 定时/计数器1 定时/计数器2 串行中断;   而在做定时则用一般采用16位模式,也就是TMOD=0x11(10或01单独一个定时器的话),初值的计算是这样的:   假设时间是X毫秒,晶振为YMhz,那么:   THn=(65536-1000*X*Y/12)/256   TLn=(65536-1000*X*Y/12)%256  
[单片机]
stm32f2xx与stm32f10x在正交编码器应用定时器初始化中的区别
注意: 如果stm32f2xx系列上面的网址的代码要做适当修改。 以下说重点:stm32f2xx系列,在调试中对GPIO的初始化,切记选择GPIO_Mode_AF模式,即端口复用。 随后,要做端口映射处理,即调用:GPIO_PinAFConfig()函数。 这2个方式不选择,timer是不会有反应的 本人是stm32f207,花了4天惨痛代价。 以下贴代码: /* Private define ------------------------------------------------------------*/ #define ENCODER_TIMER TIM3 //
[单片机]
51单片机I2C 24c02 1-99秒循环定时器
51单片机,I2C 24c02 1-99秒循环定时器 仿真电路。 程序源码 HEX文件 单片机源程序如下: #include reg52.h #include i2c.h #ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #endif #ifndef ulong #define ulong unsigned long #endif uchar stoptime=0,runtime=0,stopcoun=00,runcoun=00; uchar di
[单片机]
51单片机I<font color='red'>2</font>C 24c02 1-99秒循环<font color='red'>定时器</font>
基于89C52的DH11 C语言测试程序
//单片机 : AT89S52 或 STC89C52RC // 功能 :串口发送温湿度数据 波特率 9600 //单片机教程之DH11的测试程序 #include reg51.h #include intrins.h typedef unsigned char U8; // defined for unsigned 8-bits integer variable 无符号8位整型变量 */ typedef signed char S8; // defined for signed 8-bits integer variable 有符号8位整型变量 */ typedef unsigned int U16; // define
[单片机]
单片机软件SPI和硬件SPI读写SD卡,TF卡测试程序
软件SPI和硬件SPI读写SD卡,TF卡测试程序 SD卡模块和SD卡 软件SPI读写SD卡程序 测试平台:STC89C516和STC12C5A60S2 内存卡大小:128MB和2GB 晶振:均为12MHz 硬件SPI读写SD卡程序 测试平台:STC12C5A60S2 内存卡大小:128MB和2GB 晶振:12MHz (89C52没有硬件SPI) 为了尽可能的不给后来者留坑,这些代码我在发出来之前反复测试过,确保无误, 还有就是关于SD卡程序的读写我在程序中写的很清楚,这里不再赘述 单片机源程序如下: #include public.h #include SD.h //测试平台:STC89C516和STC12C
[单片机]
单片机软件SPI和硬件SPI读写SD卡,TF卡<font color='red'>测试程序</font>
stm32_ps2键盘显示测试程序
view plain copy //PS2键盘测试程序,可换行,按shift不放接着输入 //可输出大写,按下CAPS输出大写,再次按下输出小写 //此程序只用来测试,代码冗余,仅供参考,可根据需要自行删减 //PA13- PS2.CLK PA15- PS2.DATA #include stm32f10x_lib.h #include sys.h #include usart.h #include delay.h #include led.h #include key.h #include exti.h #include wdg.h #include
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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