MCU是msp430g2553,用timerA0控制LED的闪烁,闪烁速度由快到慢,循环执行
#include "msp430g2553.h"
unsigned char J,K
void main( void )
{
//unsigned char i
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW+ WDTHOLD
P1DIR |= BIT6
/*BCSCTL1 &= ~BIT7
do
{
IFG1 &= ~OFIFG
for(i=0xff i>0 i--)
}
while(IFG1&OFIFG)
BCSCTL2 |= SELS+ DIVS_3 */
CCTL0 |= CCIE
CCR0=65000
TACTL |= TASSEL_2+ MC_1 //+ ID_3
_EINT()
LPM0
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void key(void)
{
P1OUT ^= BIT6
J++
if(J==16)
{
J=0
K++
if(K==1)
{
TACTL &=~(ID0+ ID1)
TACTL |= ID_0
}
if(K==2)
{
TACTL &=~(ID0+ ID1)
TACTL |= ID_1
}
if(K==3)
{
TACTL &=~(ID0+ ID1)
TACTL |= ID_2
}
if(K==4)
{
TACTL &=~(ID0+ ID1)
TACTL |= ID_3
K=0
}
}
}
(2012-07-09, C++ Builder, 21KB, 下载19次)
当/CS变为低电平后, TLC549芯片被选中, 同时前次转换结果的最高有效位MSB (A7)自 DATA OUT 端输出,接着要求自 I/O CLOCK 端输入8个外部时钟信号,前7个 I/O CLOCK信号的作用,是配合 TLC549 输出前次转换结果的 A6-A0 位,并为本次转换做准备:在第4个 I/O CLOCK 信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个 I/O CLOCK 信号的下降沿使片内采样/保持电路进入保持状态并启动 A/D开始转换。转换时间为 36 个系统时钟周期,最大为 17us。直到 A/D转换完成前的这段时间内,TLC549 的控制逻辑要求:或者/CS保持高电平,或者 I/O CLOCK 时钟端保持36个系统时钟周期的低电平。由此可见,在自 TLC549的 I/O CLOCK 端输入8个外部时钟信号期间需要完成以下工作:读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次 A/D转换开始。
TLC549 is TI company a low price, high performance 8 bit A/D converter, it takes 8 switched capacitor successive approximation method to realize A/D conversion, the conversion speed is less than 17us, the maximum conversion rate of 40000HZ, 4MHZ typical internal system clock, the power of 3V to 6V. It is convenient to use three line serial interface mode and a variety of microprocessor is connected, a variety of inexpensive measure and control system. (2011-11-15, C++ Builder, 262KB, 下载5次)