|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"( Z7 w2 p3 A1 O1 `- m
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形' @5 D; \9 X9 f) @$ O0 W, ~2 U5 M5 u
void main (void) # L- @8 r E5 Q8 ^4 ]
{ * |1 x( ^& E* c& D7 E
WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 / g- T t: W$ L9 u
& ^0 q3 C8 x* C
//定时器A0的8 c5 l/ o, ~" L8 [- I! n
TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
0 G0 Q) U4 k1 p; X- O // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; % K6 Z8 x; v J0 b" H7 w
// TACLR=0x0004,清除定时器A计数器 ; W. y5 J+ N. ~% X1 ?. f r3 E
/ Y7 i; X) p/ y
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
) L* g g! G. U. a+ S# G8 `+ A! ~ CCR1=6000; //占空比50%" f3 w5 a T% w! E
CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,7 Z9 H% {7 v. P* A- n7 U
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,) V. P! p+ [/ F8 d* l& L
//OUTMOD_7与之相反( E$ f, o4 d( F$ R7 q
3 Q9 G6 u* v. e# o2 i) Z9 n
CCR2=3000; //占空比25%,错了,没有TA0.2
" P, D! j1 l- D# R CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,0 r4 |$ K0 i d( A. Y
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,' {1 D6 b0 d+ r# W
//OUTMOD_7与之相反# z: i$ I4 L! v7 w) {9 ~
P1SEL |=BIT2; ) u" ^4 z$ c5 c: F% C0 E
P1DIR |=BIT2; //输出 TA0.1
8 M9 I% e0 X: v( {) } O3 d: A3 d& c
7 `/ }0 w7 y! J7 S' L' q
1 w4 g/ u+ U" G* o2 m" e' ~8 z8 W //定时器A1的
! {& x- k' w! O& w TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
9 `& e" p" f+ l( p% Z // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 5 u ?* f1 E+ f1 p) n j
// TACLR=0x0004,清除定时器A计数器 - ~# w5 |, r+ q3 Q
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
# K0 K3 S* Y6 @ B @2 x2 F8 ^+ S
- i9 b; u/ V) W0 F5 O TA1CCR1=6000; //占空比50%
% ^/ p" {) F: H1 c TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
" u! k! {9 n% e1 s O% a1 _3 p) h% h //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,( {* \4 }2 W$ V" z9 H% B- d% M" ?" Y
//OUTMOD_7与之相反
% ^) k$ l. M* e$ i TA1CCR2=3000; //占空比25%
3 s3 z( M# b, z' F TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,, N! p2 @5 [- P3 T% V, i
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
. O, r% t# y; z //OUTMOD_7与之相反. P m! L+ H- ]; w6 B$ E
P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.29 J l/ a( Q6 T3 {
P2SEL |=BIT1+BIT4;
. m$ d( Q) [. W* l# I M$ y while(1) //无限次while循环 2 ]" _. x! o3 a( T. t- ]
{
Z# j7 H! H$ g- T _NOP();
) V* D0 M; a5 y7 @ }
! D3 I& U- r, B# i} |
|