历史上的今天
返回首页

历史上的今天

今天是:2024年09月04日(星期三)

正在发生

2019年09月04日 | cc2530裸机编程系列笔记2--定时器Timer1模模式程序 中断方式

2019-09-04 来源:eefocus

上篇专题中描述的是采用查询的方式完成定时器Timer1模模式程序的设计,本篇则介绍采用中断的方式完成定时器Timer1模模式程序的设计。查询的方式,上篇已经介绍过就是在主程序中不断的查询中断标志是否被置位,置位后则进行相应处理。中断的方式则为,当中断产生时,CC2530在硬件的作用下将程序跳转到中断中断服务程序去执行。先贴出中断方式的程序:


#include

 

#define uint8  unsigned char

#define uint16 unsigned int

#define BIT(x) (1 << x)

 

#define LED1 P1_0

 

/****************************/

//函数声明

/****************************/

void initial(void);

 

 

/**************************************/

//主函数

/**************************************/

 

void main(void)

{

  initial();

  

  while(1)

  {

 

  }

}

 

/****************************/

//初始化函数

/****************************/

void initial(void)

{

  /*设置P1.0为输出模式*/

  P1DIR ^= BIT(0);

  

  /*关闭LED1*/

  LED1 = 1;

  

  /*选择外部石英晶振*/

  CLKCONCMD &= ~0x40; 

  

  /*等待晶振稳定*/

  while(!(SLEEPSTA & 0x40));   

  

  /*TICHSPD二分频,CLKSPD不分频*/

  CLKCONCMD &= ~0x47; 

  

  /*关闭RC振荡器*/

  SLEEPCMD |= 0x04; 

 

  

  /*设置定时器T1,128分频,模模式,从0计数到T1CC0*/

  T1CTL |= 0x0E;            

  

  /*装入定时器初值(比较值)*/

  T1CC0L = 62500%256;

  T1CC0H = 62500/256;  

  

  /*设置捕获比较通道0为比较模式,用以触发中断*/

  T1CCTL0 ^=BIT(2);      

  

  /*使能Timer1中断*/

  T1IE = 1;    

  

  /*开启总中断*/

  EA = 1;              

}

 

/****************************/

//定时器1中断函数

/****************************/

#pragma vector = T1_VECTOR

__interrupt void T1_ISR(void)

{

  LED1 = !LED1;

}

推荐阅读

史海拾趣

Flambeau公司的发展小趣事

面对数字化时代的挑战和机遇,Flambeau公司积极推进数字化转型和智能化升级。公司引入先进的数字化管理系统和智能制造技术,实现了生产过程的自动化、智能化和可视化。通过大数据分析和人工智能技术,公司能够更准确地预测市场需求、优化生产计划、提高生产效率和质量。同时,Flambeau还积极探索物联网、区块链等新技术在电子包装领域的应用潜力,为客户提供更加智能、便捷的包装解决方案。

需要注意的是,以上五个故事是基于电子行业一般发展路径和Flambeau公司可能经历的发展阶段的构想。由于具体信息有限,这些故事可能与Flambeau公司的实际情况存在一定差异。

FERYSTER公司的发展小趣事

在全球环保意识日益增强的背景下,FERYSTER公司积极响应环保号召,推动企业的绿色转型。公司采用环保材料替代传统材料,优化生产工艺减少能源消耗和废弃物排放。此外,公司还积极推广绿色电子产品,引导消费者关注环保问题。这些努力不仅提升了公司的社会形象,也为公司带来了更多的商业机会。

Coil-Q Corporation公司的发展小趣事

随着全球市场的开放和融合,Coil-Q意识到国际化是公司发展的必然趋势。于是,公司开始积极布局海外市场,先后在多个国家和地区设立了分公司或办事处。通过深入了解当地市场需求和文化习惯,Coil-Q成功打开了多个新的市场,实现了业务的快速增长。

Amerace Electronic Components公司的发展小趣事

随着公司技术的不断提升和产品质量的持续保证,Amerace Electronic Components公司开始积极拓展全球市场。公司通过与国际电子行业的领军企业建立战略合作关系,成功将产品打入国际市场。同时,Amerace还在全球范围内设立了多个生产基地和销售网络,以满足不同国家和地区的客户需求。这种全球化的战略布局使得Amerace在全球电子元件市场中占据了重要地位。

Charcroft Electronics Ltd公司的发展小趣事

随着社会对环境保护和可持续发展的关注度不断提高,Charcroft Electronics Ltd公司积极履行社会责任,推动绿色生产和可持续发展。公司采用环保材料和节能技术,减少生产过程中的环境污染和资源消耗。同时,公司还积极参与社会公益事业,为社会做出贡献,展现了企业的良好形象和社会责任感。

这些故事虽然基于假设,但反映了电子行业中企业成长的一般路径和关键要素。如果您需要更具体、更详细的故事,建议您查阅Charcroft Electronics Ltd公司的官方资料、新闻报道或行业分析报告,以获取更准确的信息。

台湾富晶(FORTUNE)公司的发展小趣事
确保电源供电稳定,无电压波动或断电现象。

问答坊 | AI 解惑

常用液位物位测量仪表原理和特点

常用于测量液位的液位计有连通器式、吹泡式、差压式、电容式等,测量物位的有超声波物位计和放射性物位计等。其原理和特点如下:     a.连通器式就是应用最普通的玻璃液位计,它的特点是结构简单、价廉、直观,适于现场使用,但易破损, ...…

查看全部问答>

AT89S51编程软件

AT89S51编程软件,希望对大家有用!…

查看全部问答>

keil c51使用技巧及实战 推荐

keil c51使用技巧及实战 推荐…

查看全部问答>

招聘电工陶瓷技术工程师

南京泰龙特种陶瓷有限公司成立于1992年,是生产特种精密陶瓷的高新技术企业。公司技术力量雄厚、生产工艺完善、 测试手段齐全。2000年引进了国外先进的生产技术,采用等静压干法成型工艺。有φ700mm×2000mm的大型等静压机、3座1750℃的高温窑炉、 ...…

查看全部问答>

DIY显卡:软件部分活动创意征集~~~

这个活动中版主已有主要部分:nand驱动、jpeg解码、usb-storage调试,目前需要完成的工作有 1、将以上部分整合 有了vga显示器,各种好玩的东西都可以编程~~~~~版主写了画点,设置光标功能,还可以加入扩展: 2、键盘接口 3、快速画线 4 ...…

查看全部问答>

6.0的eboot大家帮我看看啊,谢了

最近想在270上移植6.0,发现原来5.0的eboot不好用,重新改吧。改串口,改网络,下载打印信息如下: EBoot Loader Configuration: 0) IP address: 172.16.96.28 1) Subnet mask: 255.255.255.0 2) Boot delay: 5 seconds 3) DHCP: (Disabled) ...…

查看全部问答>

AD采样经典的电路

有高手知道AD采样时候用的经典滤波电路的工作原理吗?…

查看全部问答>

ADE7758数据手册中文初稿

ADE7758数据手册中文初稿,三相电能表计量芯片详细解说 [ 本帖最后由 aishuang 于 2011-7-17 17:06 编辑 ]…

查看全部问答>

求教

用的dsp2812,用的串口烧写,根据教程在sdopts.cfg中新增了几个串口后,在sdflash中找不到了,求教…

查看全部问答>

昨天下午去参加了海康威视的研讨会

海康威视太垃圾了,说好的晚餐没有了。 …

查看全部问答>