历史上的今天
今天是:2025年04月21日(星期一)
2020年04月21日 | MSP430F149的TIMERA定时中断理解
2020-04-21 来源:eefocus
代码如下:
//本平台 msp430f149
#include #include volatile unsigned char count = 0,flag = 0; void select_xt2(void){ unsigned char i; /*------选择系统主时钟为8MHz-------*/ BCSCTL1 &= ~XT2OFF; do{ IFG1 &= ~OFIFG; //清除晶振失败标志 for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振 }while ((IFG1 & OFIFG)); BCSCTL2 |= SELM_2 + SELS ; //MCLK和SMCLK选择高频晶振 } void main(){ WDTCTL = WDTPW + WDTHOLD; // 关狗 select_xt2(); //8MHz晶振 P2DIR = 0xFF; P2OUT = 0x00; CCTL0 = 0X0010; // CCR0 中断使能,或写为 CCTL0 = CCIE; CCR0 = 10000; TACTL = 0X02E0; // SMCLK = 1MHz, 连续计数模式 _EINT(); // 开启全局中断 while(1){ if(count == 50){ count = 0; P2OUT = ~P2OUT ; } } } // Timer A0 中断服务函数 #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) { count ++; CCR0 += 10000; // 下次中断时间装入CCR0中 } 我是比较 喜欢直接配置寄存器而不是使用库函数进行与或,所以在设置TACTL时 根据需要:1.使用8分频将8MHz变为1MHz 2.使用SMCLK子系统时钟,在设置xtal2中SMCLK和MCLK一样是外部晶振8MHZ 3.使用连续计数模式,此模式要手动重装 其余位均为0 所以TACTL控制字为: 0000,0010,1110,0000 02E0 CCTL0寄存器配置:、 因为我们是使用比较模式,开启中断,所以只有CCIEx位为1,其余全为0 控制字为:0X0010。此时也可以直接写出CCTL0 = CCIE0;不过我还是喜欢配置寄存器来写 CCR0中装入计数初值10000,当计数到10000,count加一,重装CCR0。当count等于50时,count=0
下一篇:MSP430单片机__中断服务
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:19 编辑 一、任务 测量两个正弦信号的叠加信号,其中,x1是主信号,幅值为 V(偏置为0V),频率为:20-20kHz;x2是次要信号,幅值为主信号的1/4-1/6,频率为:20-20kHz;二、要求 1.基本要求 (1)利用两个 ...… 查看全部问答> |
|
哈哈!我骗大家进来的,没什么爽的 问题是这样的:在PXA270上我跑这段程序:入口地址选为0X0(即NORFLASH的地址) xlli_GPIOREGS_PA_BASE EQU 0x40e00000 xlli_GAFR0_L_offset EQU 0x00000054 xlli_GPDR0_offset   ...… 查看全部问答> |
|
具体请看taobao上的介绍 http://auction1.taobao.com/auction/item_detail-0db2-5a0abc7b0e70e1f7ae53ffad3582dfc4.jhtml 配件清单: 1) S3C2440核心板一片,配置64MB NAND FLASH和64MB SDRAM 2) S3C2440开发板底板一片 3) 直连九针串口线一条 ...… 查看全部问答> |
|
'CHtmlView' : base class undefined 我在evc下pocketPC模拟器,在一个窗口上要显示网页内容,使用了CHtmlCtrl类 http://dev.yesky.com/128/2272128_1.shtml 这个是国外某达人写的。 我在stdafx.h中已经加了#include \"afxhtml.h\",但是编译后提示我 \'CHtmlView\' : base class u ...… 查看全部问答> |
|
我今天用一个探测火源的模块去接F149的内部AD,我用3.3V给火焰传感器模块供电,输出脚悬空的时候我测输出脚是0到3V之间在变化(就是当没有火源或者火源超过探测范围的时候是3V),但我接上F149的AD的输入脚之后本来的3V输出就立即衰减为1.7V了。然 ...… 查看全部问答> |
|
Solder Mask就是阻焊层,所有需要焊接的焊盘,铜皮需要的。paste Mask是SMD钢网层,对于需要汇流焊的焊盘的。回流焊的工艺过程是,刷锡膏,贴片,然后过回流焊机。Solder Mask是制造PCB的要求,Paste Mask是PCB组装的要求。 Solder Mask一般比焊盘 ...… 查看全部问答> |




