STM8S TIM1寄存器 PWM呼吸灯
* R# C2 f2 H: b. M! g& r, S原理图:
7 s/ A0 `% l8 F C& \
4 P+ e; R, q/ S- {
2 O2 }; z( u, t2 w; m, K7 { b/ g1 Z
1.TIM1 初始化& E, `1 y5 Y# w) Z# r
- void TIM1_Init(void)1 z" Y! Q2 Y7 W
- {$ D" Y# F; Y9 S" A6 S7 d
- TIM1_PSCRH = 0;
( i$ l+ E' \- H4 s( I7 R5 w2 H+ x- z- e - TIM1_PSCRL = 15; //(15+1)分频为1M
+ `. C5 U+ S$ r2 N - TIM1_ARRH = 0x03;
2 K- |: A) M- h - TIM1_ARRL = 0xE8; //每1000us中断一次7 D( ^% `. m' C+ l
-
) {1 ] o4 y3 f" O: O8 P - TIM1_CCMR2_OC2M = 6; //PWM2模式1
1 I! d" u& g4 C" A - TIM1_CCER1_CC2E = 1; //CC2引脚使能
6 l! f& `' I/ A$ W - 3 R; c1 V# D z+ G7 p; H, y/ [+ }
- TIM1_CCMR3_OC3M = 6; //PWM3模式1# d: ?! h) n. M* ]. T: s
- TIM1_CCER2_CC3E = 1; //CC3引脚使能' |. S; ^0 y- A# K9 D
- 5 R9 h7 a* _3 j8 M. D
- TIM1_CCR2H = 0X00; //DUTY
! b7 C' X) o% R- v - TIM1_CCR2L = 0x00; / h$ K' ?6 h% o9 u
-
0 P% c6 W6 M2 t y4 w - TIM1_CCR3H = 0X00; //DUTY
* b! E' @$ e- D n" d" ?- X - TIM1_CCR3L = 0x00; : ?. s6 ?- e5 H1 p
- TIM1_BKR |= 0x80; //设置刹车寄存器
8 | D0 ?; P* x5 M" K) O - TIM1_IER = 0x01; //允许更新中断
7 j, E$ r" P' R! ` - TIM1_CR1 = 0x01; //计数器使能,开始计数
4 |6 _ N1 s3 o/ d- ` - }
3 T o% X/ `6 R: {# d0 k& I
复制代码
$ ^9 q/ [9 a8 ]9 w% ^/ e2.设置占空比+ e# G3 W1 @; t" k. H. o
- void pwm1_duty(u16 duty)9 A4 }1 ^$ V5 O; c( j% o- C9 |3 V
- {8 {' w& Q! G; m" o5 s O" a
- TIM1_CCR2H=duty>>8;
8 |9 ]9 s3 D3 S3 ?) \ `; I - TIM1_CCR2L=(u8)(duty);
5 p# D/ ~" A/ T) M: F7 y4 ? - TIM1_CCR3H=duty>>8;
6 ]. t* S- ] z& g: s' ? b0 s - TIM1_CCR3L=(u8)(duty);
: v K" Z6 C, q. Q: K - }9 D6 N' ~2 l, C; A4 Z
复制代码 # w8 B4 Y6 |4 U. i+ q( _3 x
3.呼吸/ e: ~% M/ Q! e; C, s% \+ ?
- while(1)
2 P6 a# {2 |* G0 r - {( e7 }7 r- m8 G
- if(key_value>=1000) dir=0;
6 b ~4 y; Q+ M9 K( _ - if(key_value<=1) dir=1;% d" i9 [! D8 @) X
- if(dir) key_value++;
2 I" l4 W% U- [$ _! P - else key_value--;9 L9 c8 E V! H' h$ {) Z
- pwm1_duty(key_value);. i; m5 Z, b1 S u1 F" V
- delay_ms(3);
8 ^6 `5 S9 Z9 S x! g - }6 |' q& Q. n u" {
复制代码
2 f3 b$ M( v" P1 \5 u5 }1 ~4.实验现象:
) Y: m$ a' l/ @
& G' L6 T+ Q1 h: V3 {
5 n2 M5 S8 j3 @( Z" }+ q# v6 Y T. P
————————————————+ I% Z0 I7 }$ ]7 @
版权声明:xiaoqi976633690: O) G9 ~# j5 ^- }. Z" u
; M" c) ?8 P$ i; [3 ]! v8 _5 O |