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

基于stm32F103C8T6智能门禁经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-1 18:01
分享一期 RC522刷卡模块做的门禁系统(上面是视频呈现)
/ H* u$ Y- s% u# j+ [功能文字说明(拓展空间非常大)( B4 b) D9 Y: W$ [5 B

$ A6 S) Q9 h0 }2 I) N识别卡号以及卡类并显示3 c1 a( S. Y6 E4 @& v

- X% c. r; ?6 y  N! ?刷管理卡 按下按键 提示刷卡录入(刷未录入的卡即可录入)
$ k8 i9 A( A- u' t5 t7 x: b4 a( i6 _$ M( L
刷用户卡 按下按键 提示刷卡录入(刷未录入的卡即可录入)% B9 U' @! k) L0 X- C, d# Z

. T5 c4 J* a- S再次刷卡 会显示卡号以及卡类2 K7 Y  R/ r' U

! {& z- i: G( P( ^3 v" ~$ J实际的项目中添加了舵机,语音播报模块,大家也可根据自己的需求任意修改( [( G$ d9 v- b, n! G
; E+ z; [; p; m. Q+ }
本次演示所需硬件介绍
3 B7 C! N: q0 L0 U3 f( N" ^
* p; e# Z: Y2 F7 L: K
" ~4 I1 t- }9 _; t4 Q
F103C8T6最小系统7 F/ \, [7 Q- P

; m/ T: N; b9 o8 W9 K2 X- q
20210630150249385.png
, t  u$ z/ Y% V# D: y0 G1 N2 _$ Y
0 K/ ~. m7 @% S4 ^9 r

7 g* V3 _! x) M0 R. `7 _RC522刷卡模块
+ h! t7 h- A! h4 v5 s接法
8 C; w  R7 e' l: T' m3 I8 F- RVCC接3.3V
3 h# y# ]8 z# cGND接GND' ~2 w0 B$ }1 A7 [/ T' `
SDA,SCK,MOSI,MISO根据引脚配置连接" g! H* W& t! p# [
RQ悬空(不用接)
* E+ b9 b% }3 m  V* IRST接3.3V(波特率设置为9600)' c' `4 W3 N3 l) H4 `

, ]% U' T+ [7 K- J% m
20210630150120352.png 9 S" G9 m, u) g: b  Y: |

" m8 t: E% ]! `, G+ V6 u. p+ u轻触按键
4 L6 _9 I. p% U: A( l: L* F/ y找一块以前测试的洞洞板, 随意焊接一个小按键,对脚用排针引出更方便连接(节省成本 向我学习)
0 ^" L( o; o  C7 U' S" y
6 Q1 a1 W0 _- E! l3 I% q
Y0Y0)%~}5S7_253%JTM%)JS.png * X% s- {* R% Z' e- c+ f# r& g
) I9 Z' n2 `8 `" r% W1 j9 I
部分代码
+ T1 ]" k8 x- }9 R/ f7 a% q
  1. #include "stm32f10x.h"
    & S& _! ~3 n/ u) v# p7 n1 x
  2. #include "usart.h"
    + Q7 G! c% d4 Y& o% Z8 _
  3. #include "sys.h"
    1 S! U& Y6 E7 D# @2 m
  4. #include "oled.h": D: u; o; d. z
  5. #include "delay.h"  a1 ]6 F- n- U5 M
  6. #include "rc522_function.h"  Z) W1 K+ n' F! M' ?+ l
  7. #include "rc522_config.h"
    7 o3 {# T. H3 \
  8. #include "timer.h"
    ; E& D, t( v9 Z! }% x' j7 j
  9. #include "read_card.h"
    ) {( a  p5 k  @
  10. #include "rtc.h"
    7 d% Z9 O8 a$ A1 x5 n1 J
  11. #include "usmart.h"+ f  w" ?2 ^; s( |. ^
  12. #include "key.h"3 @* P5 I, a) n) L9 l# Q* P
  13. #include "stmflash.h"3 e: o& l7 S2 r' u- p
  14. #include "MP3.h"/ R" Y# x  I$ n9 @
  15. const u8 TEXT_Buffer[]={"STM32F103 FLASH TEST"};
    : V4 o9 [1 U4 x9 b
  16. u8 USERResult;//IC卡匹配结果- R& L& r% |) D- e- n. x% Z# N3 J& t
  17. u8 Look_Start;//门禁状态$ c" d3 a3 \" d! F8 P; ~
  18. u8 Key_Value;//按键值* `% s8 T- X4 v& s
  19. extern u8 flag;
      o- u. R* N! b( }
  20. extern int lu;5 e6 j* T4 V. B/ y
  21. extern int lz;( Q8 j* R( _9 C& A4 y6 L1 U: g( d
  22. int main(void)4 v/ w) G! C9 \2 M5 M' T% G2 V; u
  23. {
    5 e0 L1 u1 |8 X- ~# Q' l: x" X
  24.   u8 datatemp[30];
    % S. X+ y; L3 [+ {, ]
  25.         u8 sss,aaa;
    ' l& [: }$ ?9 T  P, Z
  26.   delay_init();       
    : {1 R& q. [+ r( `( s0 A7 t
  27.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         / ^- Z6 u- p( a- p9 ~
  28.   uart_init(9600);& c9 t5 o  O! o- Q
  29.         TIM3_PWM_Init(899,0);
    - N' n9 C! g9 C) o- {
  30.         RC522_Init ();
    1 l( c6 o, z4 J% A- J& z+ a% V( ~
  31.         KEY_Init();         
    9 t0 d, k) S: w' f+ s+ S1 }  q
  32.         usmart_dev.init(SystemCoreClock/1000000);        ) N: [0 m  x2 F' I% m# m
  33.         RTC_Init();
    + s$ t; m' G, M
  34.         PcdReset (); + ]5 m5 ~! U/ ]8 C0 w0 x: I7 m0 O
  35.         MP3_Init();( E. p$ F# z& U* Q) I8 f0 u
  36.         M500PcdConfigISOType ( 'A' );//设置工作方式
    & `( q% m3 B: c8 ^* N: f4 U4 b
  37.         OLED_Init();                       
    ( U* f6 Q$ n. a% _3 q0 I
  38.         OLED_Clear();# u& Q! B! Q/ `4 c
  39.         delay_ms(100);! R* j5 R' g1 l
  40.          while(1)) Z6 a5 d# G. Y0 i) V& `& R; ]
  41.          {- T/ V: ]% B% \0 b* M
  42.           display_time(0,0,calendar.sec);//显示时间  `3 t0 y: @* U
  43.                 oledkaiji();( g3 ~4 [0 Y2 O! n
  44.                 delay_ms(100);+ ~0 j/ ?* N5 u' V* D: m
  45.                 IC_test ();//IC卡检测,还需要修改                 2 V) _7 P% c0 `# I& \% H
  46.                  Key_Value=KEY_Scan(0);
    ( D5 ^5 ~$ n, P
  47.                 if((flag==0x01)&&(Key_Value==1))
    2 [/ C! h$ E9 s% {. w5 ?
  48.                  {
    " ^& _4 c, Y  [. L3 u
  49.                          OLED_Clear();
    ) `+ W% n; {6 A0 g  h
  50.                    cunka();//显示 刷卡录入
    5 y9 i+ \6 x$ V9 i; R  R: ~
  51.                          //舵机关闭
    ) I, @" U, z' ?0 @3 k9 i2 j7 Z
  52.                          delay_ms(1000);+ ~( W- R2 }* @$ S5 f! l1 u
  53.                          while(lu)( b3 n/ N" o# l  s2 B
  54.                          {         7 {1 E. r5 _1 T$ F' A
  55.                           lurukahao();
    3 Q/ g% W2 x# J
  56.                                 //duka();
      _0 s" L' f9 v* B! r! D
  57.                          }) v+ q* D7 O# Z3 B/ c/ e
  58.                          flag=0;
    0 g% {7 N  x  R+ ^1 E
  59.                          delay_ms(1000);: l3 e! L0 F% |( R* h1 c% v
  60.                          OLED_Clear();
    0 M3 ?6 F1 V% A* ^7 Z6 C
  61.                          OLED_Clear();5 ?" g1 q8 E: h5 U
  62.            }
    . o7 I% U# r9 G/ Z( {, e4 |- N, _
  63.                  if((flag==2)&&(Key_Value==1))* b1 e5 `, z& D' q: w. e9 q4 i7 x& C
  64.                  {
    , z' Z4 S% Z* B" I. \, X+ `' V
  65.                          OLED_Clear();
    / B( s! {) J+ G9 \
  66.                    //cunka1();//显示 刷卡录入. m& N$ R% r. }/ s
  67.                          //打印卡号,保存到flash3 \7 o) E9 z1 K: t# f* L" C* Q1 f# H
  68.                          flag=0; ) g, p- H: }/ Q$ @* ]4 `. ^
  69.                          delay_ms(1000);, D6 j3 `& y8 @/ m' T3 k. u! C
  70.                          OLED_Clear();
    3 h# y+ c) x, F2 T4 O
  71.                          OLED_Clear();
    3 Z3 m* B: Q& R' I$ O7 l! V( a
  72.            }- y" e9 ?; G. Q& [2 u! g& O
  73.          if((flag==1)&&(Key_Value==2))9 h! H* H! ^9 w  g+ \
  74.                  {- u& w  L% G8 A8 R
  75.                          TIM_SetCompare3(TIM3,37000);5 }3 ~+ a- Q- F# R
  76.                          flag=0;
    2 u" q7 y1 c4 c/ z
  77.            }+ M3 O& J; p' [6 j
  78.          6 O  c! a5 Q( a+ ]1 z
  79.                  if((flag==2)&&(Key_Value==2))
    6 q$ E) j. X$ x# G
  80.                  {
    3 s' l0 o  Z3 _3 b0 s) s8 |, [
  81.                   //MP3_choose(3);//没有权限关门
    , U* ?2 l( e; _" `' b  \
  82.                  }                         9 D: J: Q6 N! n- h9 l
  83.                  3 Q6 }0 E% s/ T
  84.                  if(Key_Value==3)
    2 Y7 V2 I* K! i1 w" ?5 D
  85.                  {6 s* N# l2 e. h- S7 c; R" r
  86.                          OLED_Clear();
    ' \" X" Z8 z5 j  a+ L. u9 [" q4 f
  87.                          while(lz)
    ) i6 b- A$ u( `$ r% i
  88.                          {         6 r1 n+ b) S) B) N$ A# E$ h
  89.                                  9 p" {3 I: v6 t% q3 x
  90.                           //shanchukahao();" M" {$ }! j& [6 y$ ?
  91.                                 delay_ms(1000);
    4 P+ _% n7 v2 S1 P2 Y( d! Z) o- X
  92.                                 sk1();
    " p$ W! M6 Y6 J1 Z% O) x9 u& K
  93.                                 OLED_Clear();3 X7 k$ ^/ V0 g* D: B/ V+ e! |7 S
  94.                           OLED_Clear();
    4 o, Q+ M: d, O, _
  95.                                 //duka();3 G4 r6 e, M" L4 h
  96.                          }
    4 m6 g# A  {' X0 `. u, l9 ]( g
  97.                     //flag=0; ( Z( L3 r6 D$ f9 }
  98.                  }* m3 `. X% K/ \2 M: ?! ^
  99.                  , Q) J  g  {$ t
  100.          1 K9 x( [4 ]7 k
  101. }: `9 ?* x0 h: y1 k7 H0 _! [
  102. 7 v; E6 e, Z6 k1 T3 g7 y, A- K: v
  103. & r% Z, n: n( U! \! L; v
  104. ; Q$ o6 j/ Q- c* |7 A, \, s" N
  105. 5 Q2 j* f  `/ Z

  106. ! `4 s/ K6 L7 D* _$ |7 }6 Y
  107. }  C; ?4 M/ F/ z7 _) c4 C3 y) N
复制代码
# S4 l1 A& x0 m( D
————————————————
* r; f  ^9 k7 _; X版权声明:文某9
. G7 H! c  ]/ N8 V/ _- C1 l如有侵权请联系删除
! X4 s0 `7 Q# I7 V' r9 l3 @
$ C. ~" ^+ U6 b$ `9 M2 J$ Z7 r# u9 N, j  |/ A* s/ D
收藏 评论0 发布时间:2023-5-1 18:01

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版