你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F103C8T6的点灯设计

[复制链接]
STMCU小助手 发布时间:2021-8-10 13:28
学习目的:本设计是基于STM32F103C8T6单片机完成入门点灯设计。2 }  Y) y- P) E$ p& h6 P

3 Y7 X+ ?/ c% J4 |6 I9 [  i* _

+ K) g. q4 l% y根据STM32F103C8T6的原理图,可知LED2与CPU的PC13相连,当PC13=1(高电平)时,LED2呈熄灭状态;当PC13=0(低电平)时,LED2呈点亮状态。
2 F, ]5 J, f0 R# ` 1.png
+ [& q9 j# h0 I3 h1 u
" w# f: c0 f8 M9 t

$ r1 i; }& W  B( V- V! T5 c参考代码如下:
, U6 N4 \3 M9 [: C3 O9 X9 N
  1. <font face="微软雅黑" size="3">//main.c
    0 E" e) k$ p/ i- d
  2. $ I* L+ \9 ?) l, ~7 t9 b) r
  3. #include "stm32f10x.h"
    1 o( s+ M2 m0 E7 D" Q* c& x! M

  4. 8 N) L/ _6 O; l/ Z$ w2 R; {6 W+ w% _
  5. #include "led.h"0 Y$ Z7 d- I" g& O: D2 O
  6. & U+ p. \% ]7 d# ?6 X) M
  7. #include "delay.h"
    ) e% `4 a6 m# A* y) S

  8. - Z1 B1 Z- e% x$ X
  9. int main(void)
    & b0 I9 y, N* x) R8 F; @
  10. 6 p  I% l  {4 }% ]% s* T5 L& z
  11. {3 Y5 w( i" l5 P& I4 a7 u1 [

  12. 1 d( W+ d( j9 ?; _) M. |* }5 F
  13.         LED_Init();
    6 |7 I' T" ~" Q" H
  14. / e. Y. ^, Y9 [: f; D4 B4 n, W
  15.         while(1)/ i' c6 t4 v) i' x
  16. ( T, S( V% E4 y; g' j
  17.         {
    & b& ?3 Z1 ?' f8 _& d
  18. $ j6 ]# V* i+ c- A: P) P; @
  19.                 GPIO_ResetBits(GPIOC,GPIO_Pin_13);
    : L8 n$ h: K3 J  T
  20. . [* w8 @4 O4 Q; I
  21.                 delay(200);) p& |0 M& f% f' W
  22. ; q9 y! `' Y5 v8 p! P" H' r! O4 V
  23.                 GPIO_SetBits(GPIOC,GPIO_Pin_13);% R$ v3 X4 W0 q. b
  24. 2 x; P+ R6 P+ K
  25.                 delay(200);
    ) v" O! S& f* m$ G$ X0 n3 M
  26. ! k" L  Z6 z" c0 G& n" E
  27.         }+ v9 K& C, i- r" z- _
  28. 1 s2 I" l9 O5 ]) w
  29. }</font>
复制代码
/ M! S! W9 m1 Z3 O
6 v' E( c$ j4 ~* M% @
  1. <font face="微软雅黑" size="3">//led.c2 p& f" |/ _4 y: B' \1 [0 c8 ^- @

  2. + F! y/ Y% y, k* l- i  C' C
  3. #include "stm32f10x_rcc.h"3 t5 f" L# M# P5 M& P% p. ]
  4. - r  L% M) f# b! G" h" ^
  5. #include "stm32f10x_gpio.h"
    3 [* @, G# p3 ]9 H1 i# J- E

  6. / h1 L3 n0 H( k, Q/ O
  7. void LED_Init(void)
    4 B, X2 e+ }! N  ]; l
  8. ! X% ^7 w% u5 P- l" `1 y2 Q
  9. {3 P) }# N( s& ^5 O

  10. # s1 V7 f* H3 b0 Y/ d+ [; B
  11.         GPIO_InitTypeDef GPIO_InitStruct;
    4 T+ O8 E3 T- U: X
  12. + H/ G' N0 E  t
  13.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
    / H2 b: M; w  A
  14. 6 \* q+ o2 |, e- N9 m: S9 r
  15.         GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;9 f  K) P! d) c

  16. 8 ?  \  k6 x6 k1 @' p
  17.         GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;6 W+ q. i4 V" B$ |4 l

  18. + Z5 _' w& ~6 ^; }- T
  19.         GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    " x$ j! L4 \2 T+ O

  20. ( \& X" ?: ^% r5 c1 ]7 _1 l% M: N
  21.         GPIO_Init(GPIOC,&GPIO_InitStruct);2 i3 A) h5 }  Y, @- B4 p

  22. * _3 R+ K. w2 C8 _; E0 E
  23.         GPIO_SetBits(GPIOC,GPIO_Pin_13);% {% f% c, h" [, C' E4 I% O+ @9 Z1 Q" e
  24. ; V- A) Q# D5 F) c1 ^
  25. }</font>
复制代码
9 Q, k& n0 D" }6 K( m$ \

! b2 A1 j3 j! o0 I! K: z, X
  1. <font face="微软雅黑" size="3">//led.h8 S" e2 }2 ~. ~, Z- s2 ~
  2. 5 H. x" N% j- }; l( Q' w5 X& u
  3. #ifndef _LED_H
    $ ]' P& `) g7 H
  4. , D1 d5 G+ R- s
  5. #define _LED_H
    ; _& [( k( M4 n! M5 @3 h' K
  6. * S: z  ]- l9 z' C( \2 o1 X
  7. void LED_Init(void);( t+ e! o2 A) }8 T0 X' D
  8. 1 a4 t; k# K$ r0 {. }9 L8 n
  9. #endif</font>
复制代码

- A$ H) F2 J2 X% _5 S  M
% B  r' s3 ?6 M1 S# p
  1. <font face="微软雅黑" size="3">//delay.c
    4 i7 A$ e# R. y4 X) [7 T

  2. , X& P9 v" t9 a) X1 h$ l# T. b7 `
  3. #include "stdint.h"7 I. w; m, O& a' V5 _9 M
  4. ' S; Q+ C/ j) s
  5. void delay(uint16_t timers)
    - j$ J' C" }3 E6 r+ S

  6. , ]% \/ @' X% J3 N  m" H
  7. {4 ]% g. z% @: N" V3 W
  8. # f1 h4 C/ ^. z6 ~( H
  9.         uint16_t i,j;/ Y* {5 n  j% ?

  10. * W% I2 H) ^: c% M6 [
  11.         for(i=0;i<timers ;i++)
    , U4 k( B5 m  C% F; r+ p
  12.   L' d$ l/ p7 l' f  F
  13.         {! F9 p$ F  H* f0 y$ R  q6 b
  14. % a- j! E) b# x. Y& V. x- P
  15.                 for(j=0;j<0xffff;j++)
      Q& V! \! p# P8 V! Y

  16. ; c" J1 s, F& R% X- X( ?  K
  17.                 {}& ?) H( E9 r2 D, @& u2 M
  18. ( A, O! `4 y, U  L! b1 B
  19.         }
      Q) G0 l2 q! Z( T# ^

  20. & n2 U0 g3 K5 t# o' o' s4 _% J
  21. }</font>
复制代码
) T3 t6 v, Z' A% X1 e- ~
! M& _8 Y7 @$ W) e" F
  1. <font face="微软雅黑" size="3">//delay.h
    5 M+ A  ^, Y. ~
  2. , i) Y- Z. ?) k2 [- O
  3. #ifndef _DELAY_H
    " Q; [2 S8 z' G- H) X
  4. ! M* L) \, [( ~! t9 ^
  5. #define _DELAY_H2 A, y. T) M# O
  6. " D  h' ?' w8 O- \6 n
  7. #include "stdint.h": s2 w1 J2 [4 S

  8.   y8 k4 a( [# _; M9 V$ \( A
  9. void delay(uint16_t timers);
    6 L, r* [7 [8 z" Z) d. _! n0 ~! B! S

  10. : d, c) m& w1 p  e
  11. #endif</font>
复制代码
' {, |/ c- {9 ~' N6 ?0 B8 K, b

( n" a" P9 K5 _! r! C9 o
赞 收藏 评论0 发布时间:2021-8-10 13:28

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版