找回密码
 注册
关于网站域名变更的通知
查看: 324|回复: 1
打印 上一主题 下一主题

stc51单片机做的六位密码锁控制54步进电机自动开门 源程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-11-30 09:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
stc51单片机做的六位密码锁控制54步进电机自动开门 源程序
" p0 G( `1 C6 Q; {8 ^/ Y, I% I

  x; _2 U8 B! S+ X+ S8 ]7 ~单片机源程序:' E" X, \# B4 ]$ W7 o$ ]  v
#include"reg52.h"/ V1 |& Z+ f. g
#include"1602.h"5 `* Z" Y- o3 \4 C) v
#include"key.h"
0 K+ ]- X- z; n# n) \; f#include"54power.h"& V# v0 T( ~- ^% K
+ J! A! O; a* Q6 l1 ?" O( V, z
#define uint unsigned int
1 e3 b) W& b# c' X#define uchar unsigned char
* j$ g6 H% m2 O4 k6 c7 R& i9 ]5 a8 T
: j- y/ O9 C8 vvoid UsartInit()                                    //串口初始化函数
: }. W& l( @# \3 B# `$ Z& A) F1 E9 t{0 m' B& O' _* f# C1 ~. F7 `
        SCON=0X50;                                                           //设置为工作方式1  w$ i# B% C+ p
        TMOD=0X20;                                                          //设置计数器工作方式2
) ]- l0 |8 ~' r, J# [6 |        PCON=0X80;                                                                //波特率加倍
  f$ ^8 T1 `/ n! k        TH1=0XF3;                                                                        //计数器初始值设置,波特虑4800
6 Y9 q$ n; l! D4 V3 q        TL1=0XF3;1 G& v6 E) w) T* s% F* r4 v
        ES=1;                                                                                        //打开接收中断
% g! Z9 a7 b) a# c        EA=1;                                                                                        //打开总中断
5 L; M- ?, D' f0 e# J3 @        TR1=1;        / {' @5 T6 p- Y
}
0 d, M1 j$ ]# ]2 `; l. L' H' a0 |/ N0 O2 A4 f( L$ I+ V+ x2 D& z
void main()
9 d4 |  X7 n# G; G{
8 c3 i4 V3 ^9 W* E- K4 F7 z        int i = 0;        8 g; ^( L  J: u; ]
        UsartInit();                                  //中断初始化/ c8 Q2 b5 @8 ~
        init();                                 //1602初始化9 S' q) p; J5 h- E
        while(n)* G% E( R: z# e) {8 X2 x
        {, C, B  u& p4 J) B" _7 Y# M
                t = 0;, |7 [: j! z/ b
                printfstart();                        //1602第一行输出“Welcome back ! "
3 y7 Q2 o; \/ j( ^                printf();                             //通过串口1602显示屏显示输入的六位密码# R% Q  p" I) B  ^- G6 I* n, L, \
                write_com(0x0C);                      //开显示屏,光标不显示) a; Q+ r7 W+ y' i8 n( h; O! }0 G
                check();                                    //检测输入的六位密码,正确灯亮! S& J+ t" }) [, k$ u
                write_com(0x0F);                      //开显示屏,光标显示% y2 ?* d( L0 O  [+ d/ ?& F
                write_com(0x01);" b& x; g8 I) D7 ]
        }
( q) {4 v7 j$ _9 l        while(1);
) n* x$ n5 S5 j: A}
9 _" n% ~. T* L5 }! N" B* q6 t, x
: r. F  A$ w- T, nvoid timeint(void) interrupt 1 # x$ Z5 e. A! U4 y
{ ' \9 s3 ]2 [8 X) v9 W6 T) ~( ?, N
        TH0=0xFE;% G$ t  c0 N% U
        TL0=0x0C;                     //设定时每隔0.5ms中断一次
1 A; B6 I& Z' y: h+ l        count++;& t: H, v1 \. x! k, I% t- ]
        spcount--;
7 Y& q6 e  h4 D+ e  H" |7 `# l/ a        if(spcount<=0)
' K  j8 q0 A/ x; |8 }4 x        {
+ w5 H3 M+ @# H: {( N                spcount = speedlevel;- f* P( O% T& N6 `& G" a, {  A
                gorun();0 |% [+ n+ }8 ?6 p$ v3 _& Y
        }
7 w8 g) H4 j! l# v* T//        turn = 1;
( A. \7 @$ L! p; i//        step_index = 7;
) J: [# H# S0 Q5 N! X//        gorun();) d  ^& b; `% Q8 G; P
//                        step_index = 7;9 E) g% b' s& M) Y' L3 x
//                gorun();: Q2 K: O" }1 _/ q* r6 f* w6 u
}- o: |" x: I4 i# Q3 W6 X
' T/ Y; o) ^, z" O# L/ E
void Usart() interrupt 4
/ l' }: C# {* i7 ]9 \; G{9 ]( S7 d2 W' g" ^4 G; u
        receiveData[t++] = SBUF;- q. S3 n, l  i( ~
        RI = 0;$ J" H* K: _# y
        SBUF = receiveData[t-1];                      //将接收到的数据放入发送寄存器
2 K) F$ A2 D& A( X( c        while(!TI);                                   //等待数据发送完成
2 U; T4 P1 {6 f# I
5 F" H8 d' x, }
& y  S) Z" T/ \' S% t6 a/ s1 H…………限于本文篇幅 余下代码请从论坛下载附件…………
- y5 U" ~. [1 M0 p! E8 s; Q$ T9 ~, S
游客,如果您要查看本帖隐藏内容请回复
; X5 n. l- X& g# R- L3 J% h/ G; F/ B

+ c0 z  [# F/ I" r0 U

该用户从未签到

2#
发表于 2018-11-30 09:49 | 只看该作者
路过 学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 07:09 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表