单片机MSP430 - Timer_A 定时器中断程序

发布者:和谐的24号最新更新时间:2018-05-04 来源: eefocus关键字:单片机  MSP430  定时器中断 手机看文章 扫描二维码
随时随地手机看文章

一、利用定时器定时功能,实现定时器单个溢出中断,实现 P3.0 方波输出


#include "cc430x613x.h"  

  

void main()  

{  

    WDTCTL = WDTPW + WDTHOLD;               // 停止看门狗定时器  

    P3DIR |= 0x04;                          // P3口初始化,设置为输出模式  

      

    TA0CCR0 = 32768;                        // 定义中断计数周期1s,时钟频率为32.768MHZ,32768 / 32768 = 1s  

    TA0CCTL0 = CCIE;                        // TA0CCR0捕获/比较中断寄存器中断使能  

    TA0CTL = TASSEL_1 + MC_1 + TACLR;       // TASSEL_1,ACLK时钟源  MC_1,增计数模式  

      

    _BIS_SR(LPM3_bits + GIE);               // 进入LPM3低功耗模式,开启总中断  

}  

  

#pragma vector = TIMER0_A0_VECTOR  

__interrupt void Timer_A(void)              // 定时器中断触发,P3输出口异或,电平翻转  

{                   

    P3OUT ^= 0x04;  

}  


二、利用定时器定时功能,实现定时器多个溢出,对应产生多个中断,实现 P3.0 输出


#include "cc430x613x.h"  

  

void main()  

{  

    WDTCTL = WDTPW + WDTHOLD;               // 停止看门狗定时器  

    P3DIR |= 0x04;                          // P3口初始化,设置为输出模式  

      

    TA0CCR0 = 32768;                        // 定义中断计数周期1s,时钟频率为32.768MHZ,32768 / 32768 = 1s  

    TA0CCTL0 = CCIE;                        // TA0CCR0捕获/比较中断寄存器中断使能  

      

    TA0CCR1 = 3276;                         // 定义中断溢出周期100ms  

    TA0CCTL1 = CCIE;                        // TA0CCR0捕获/比较中断寄存器中断使能  

      

    TA0CTL = TASSEL_1 + MC_1 + TACLR;       // TASSEL_1,ACLK时钟源  MC_1,增计数模式  

      

    _BIS_SR(LPM3_bits + GIE);               // 进入LPM3低功耗模式,开启总中断  

}  

  

#pragma vector = TIMER0_A0_VECTOR  

__interrupt void Timer_A(void)              // 1s溢出中断  

{                   

    P3OUT = ~0x04;  

}  

  

#pragma vector = TIMER0_A1_VECTOR  

__interrupt void Timer_A1(void)             // 100ms溢出中断  

{  

    switch(TA0IV)  

    {  

        case 2:P3OUT = 0x04;break;  

        case 4:break;  

        case 10:break;  

    }  

}  


关键字:单片机  MSP430  定时器中断 引用地址:单片机MSP430 - Timer_A 定时器中断程序

上一篇:单片机精确延时几种方式
下一篇:GPRS模块与单片机开发的注意事项

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

基于单片机的数码管按键计算器程序
这是一个51hei论坛版主测试成功的程序。用的是 stc 单片机,电路比较简单就不画出来了 按键 接在P2口 数码管的位选口是: sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; 数码管的段选口是P0 还有一个led灯p1.4 一个喇叭P1.6 /* * Easy calculator * * K4:+ K8:- K12:* K16:/ K14:Clear K15:= * 数码管 按键计算器程序 */ #include reg52.h typedef unsigned char uint8; typedef unsig
[单片机]
基于多单片机的液位监控仪设计
采用单片机设计液位监控仪是很通用的做法。如果要测量的液位有很多路(16路以上),每路要求能滚动显示1年内每班、每日、每月的输入输出总量(1日3班),正常或意外停电数据不丢失,人机交互能力要强(要设置适当数量的按键及采用LCD显示),并且每路液位要求对应2路控制输出信号(液罐液体输入控制和输出控制),配置微型打印机端口,设置声音报警,所有这些无疑需要很多的I/O端口来支持,单凭一个单片机是办不到的,需要扩展I/O端口。在此设计中,笔者认为采用专用I/O扩展芯片有较多的弊端,权衡利弊,选择了用单片机来代替专用I/O接口芯片的方法。   1 专用 I/O芯片与单片机用作I/O芯片的对比   ①专用I/O接口芯片的I/O口数量不比
[单片机]
基于多<font color='red'>单片机</font>的液位监控仪设计
单片机控制12864液晶显示屏静态显示
显示屏幕说明图: 仿真电路图: 仿真结果展示: 汉字取模软件设置: (取模软件下载链接在文章结尾) C语言程序代码: #include reg51.h #define LCDLCDDisp_Off 0x3e// 程序中 的 LCD_OFF (LCD 断开/不亮) 的值 是 16进制 0x3E #define LCDLCDDisp_On 0x3f// 程序中 的 LCD_ON (LCD 合上/亮) 的值 是 16进制 0x3F #define Page_Add 0xb8// 页地址 #define LCDCol_Add 0x40// 列地址 #define Start_Line 0
[单片机]
<font color='red'>单片机</font>控制12864液晶显示屏静态显示
Cygnal在片系统单片机的特点与应用
1引言   Cygnal C8051F系列是全集成混合信号在片系统单片机。 在片系统随着半导体生产技术的不断发展,集成度越来越高,对嵌入式控制技术可靠性要求也越来越高而产生的新概念,即 SOC(System on chip),意思是整个系统都高度集成在一个 芯片上。本文通过使用 Cygnal C8051F000制作一个智能故障分析报警仪,介绍Cygnal C8051Fxxx系列全集成混合信号在片系统单片机的特点,及其在智能仪器中的一般使用方法,和一 些需要注意的问题。   故障分析报警仪的原理:从 4个不同点采集电压和电流数据,综合分析,得出故障的原因 和位置,相应地提供报警、显示和电路切除。 2C8051F00
[单片机]
基于FPGA与单片机的波形发生器设计
1 引言 可编程逻辑器件(PLD)及EDA技术的应用成为电子系统设计的潮流。FPGA是一种新兴的可编程逻辑器件(PLD),与其它PLD相比,具有更高的密度、更快的工作速度和更大的编程灵活性。单片机以其体积小、功能齐全、价格低廉、可靠性高等方面所具有的独特优点,长期以来被广泛的应用在各领域。 基于FPGA的高密度、高速度、现场可编程的能力和单片机强大的数据处理功能,制作了波形发生系统,用于产生频率为10Hz~20kHz的正弦波,锯齿波,三角波和四路分别占空比0~100%可调的PWM波。 2 系统设计 整体设计由四个部分组成:上位机部分,单片机部分,FPGA部分,模拟电路部分。 波形发生器以单片机(MCS8031)为中心控制
[单片机]
基于FPGA与<font color='red'>单片机</font>的波形发生器设计
51单片机+74HC595驱动数码管程序
这里是电路图: 完整的源码和图纸下载地址: http://www.51hei.com/bbs/dpj-20392-1.html 下面是51单片机驱动74hc595芯片的程序: #include reg52.h //包含51单片机的头文件 #include stdio.h #define uint unsigned int #define uchar unsigned char //sbit sin_595 =P1^0; //sbit rclk_595 =P1^1; //sbit sclk_595 =P1^2; //sbit s_clr =P1^3; sbit a_cp_595
[单片机]
51<font color='red'>单片机</font>+74HC595驱动数码管程序
基于51单片机的数字电压表设计
0 引言 数字电压表的设计和开发已有很多类型和款式,传统的数字电压表有自己的特点,它们适合在现场做手工测量,而要完成远程测量并对测量的数据做进一步处理,运用传统的数字电压表是无法完成的。为此,本文设计了基于PC通信的数字电压表,该表既可以完成测量数据的传递,又可借助PC进行测量数据的处理。所以,这种类型的数字电压表无论在功能和实际应用上,都具有传统数字电压表无法比拟的优点,这使得它的开发和应用都具有良好的前景。 1 系统构成 本系统主要由硬件和软件两部分构成,硬件主要包括数据采集电路,单片机最小数据采集系统,单片机与PC机的接口电路等。软件主要有单片机数据采集程序,单片机与上位机通信程序,以及上位机数据处理程序。 2
[单片机]
设计高能效 AC-DC 电源不再需要 MCU(和编码)
电网因为诸多原因而被设计成交流电,但几乎每台设备都需要直流电才能运行。 因此,AC-DC 电源几乎无处不在,随着环保意识的加强和能源价格的上涨,此类电源的效率对于降低运行成本和合理利用能源至关重要。 简单地说,效率就是输入功率与输出功率之比。但是,必须要考虑输入功率因数 (PF),即所有 AC 供电设备(包括电源)的有用(实际)功率与总(视在)功率之比。 对于纯阻性负载,PF 将为 1.00(“单位”),但随着视在功率的升高,无功负载会降低 PF,从而导致效率降低。小于 1 的 PF 由异相电压和电流引起,在开关型电源 (SMPS) 等不连续电子负载中常常会出现谐波含量高或电流波形失真的情况。 PF校正 考虑到低
[电源管理]
设计高能效 AC-DC 电源不再需要 <font color='red'>MCU</font>(和编码)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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