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

单片机99秒定时报警器proteus仿真

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机99秒定时报警器proteus仿真 : z( l$ n4 m4 k" B, A2 n
# x1 G% P/ E* [, R1 j5 t& a# L

: `8 h9 D* X1 @- q单片机源程序:
, I, x. l' P' W; k#include<reg52.h>: R3 h+ a9 y+ r  W
#define uchar unsigned char
. V4 G1 @2 L: \* V' A" u#define uint unsigned int  V0 `# d( `9 k7 q8 G
sbit k1=P1^0;
7 v7 z1 a( q7 ]0 Wsbit k2=P1^1;( l0 B- N( z7 _$ y0 Q6 b* u
sbit k3=P1^2;
) T' S! [  }' e$ ?6 fsbit k4=P1^3;
. `! k% ^" A, G* c$ ]sbit buz=P3^0;% N0 y4 o  Q! z+ |; G' ?
uchar code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};7 X( z) l+ k  L. e
uchar count,shi,ge,dcount,dicount;
/ U% D" D; h6 ^( y0 [. g% z& Cvoid delay(int ms)6 o- Y) A+ M) j$ q
{# L7 h$ D& Z6 h/ p- k
        uchar i,j;
% F4 \4 c6 S2 B: u% j        for(i=ms;i>0;i--)' |+ p8 I0 @) j- V9 b& T
                for(j=200;j>0;j--);
3 P) g: O6 f( [1 e8 y0 K5 R}
- d9 Q7 a& o6 [7 r2 v7 [( Ivoid init()
, s# K5 W' J  n" J! F7 ]{
/ X2 r  j! G, H) ]        P0=0x6f;
8 S& j/ c( u+ s) d) @7 \" ?        P2=0x6f;
. h% R* l  S, x. |/ [0 \        P1=0xff;. U- J( t1 k, j! \5 y* A; V, y& J
        buz=0;+ `" B1 J+ p1 H9 c. q' |
        TMOD=0x01;  N4 I! z& `# D3 u
        IE=0x82;
& S# @# i$ d2 t" D' H6 c/ f. A8 H8 \- z        TH0=(65536-50000)/256;
2 m2 F( ^8 y3 Y: ^        TL0=(65536-50000)%256;* h) U, m  {: X5 v( b( y
        TR0=1;
2 @: V) U! d' q6 \( j8 S; z2 j        dcount=99;        0 S" n( K3 _9 f
}' j# {) l: R& h# G- P
void keyscan()$ X$ W9 Z6 z; T$ S$ x
{
& _# A+ A* \' t3 @, k. {        if(k1==0)! [8 A. d1 J8 i  r4 [' J
        {        . Y, Q4 |4 R( F( ?5 g2 x
               
6 d# ^6 S1 ?2 _  A$ X7 b6 f                delay(5);3 f$ R. B" g% ^# S& p- w
                if(k1==0)- y9 q7 t  s  o& I* J7 q( y
                {
4 o$ w* Z! o" ]: \. X% k3 {                        TR0=0;
7 Y" Z: I8 D, N1 n) `2 L                }
4 M0 t: k1 L& F4 @2 u        }               
' a: ^: n: }) C, n8 u                if(TR0==0)0 i/ T, r' U2 }' @4 T1 e, e
                {; y+ u9 i0 p4 U" L
                        if(k2==0)1 M; p4 T. o: U0 M, X" K4 |
                        {1 B% ]: g' C1 _6 O9 Q3 H" e/ J
                                delay(5);. N$ W" T2 X2 R% p4 V( Y9 `; k
                                if(k2==0)
( a, R3 B6 c- L( @$ [                                {
. m$ W% l! [1 v8 n6 p                                        8 Z# n8 i; W# k4 k/ W2 f- ?" T8 h. E
                                        dcount++;# p6 s" J. ^& @7 ?8 K8 c
                                        if(dcount==100)
) t9 D. E2 W" q9 h+ U/ t+ H( `                                                dcount=0;
* T9 @+ j  Y1 }: e( s6 `1 d1 y0 N                                while(!k2)
* }, u7 _3 F! E$ f8 u                                        {        / q8 a9 R# y6 P3 r% g
                                        shi=dcount/10;
8 O) L( [7 _5 w, P                                        ge=dcount%10;
' {0 f8 M& L4 O: ^. W9 C                                        P0=duan[shi];. E4 z" V" y7 J& H. n
                                        P2=duan[ge];/ P2 a8 G. Q; h
                                        }
* K4 W0 i: @4 G) x2 M4 j7 [                                }& X7 W$ x" z! t/ D+ ]: E+ D3 I
                        }
  l( W5 ?/ _! G          b* g. V( E" D3 F
                        if(k3==0)
  ^8 F/ R  a$ Y3 c) k                        {
# i5 N$ _. v; E: H) O                                delay(5);* n+ y  T5 O( J( e
                                if(k3==0)3 e# f9 M% M8 V8 b6 Q1 C
                                {( |. P6 u% W! f, U+ s# V* g
                                        dcount--;' ]9 ?8 Z& u0 N* Q$ t
                                        if(dcount==-1)
  ?4 Z) J# F, A6 [+ F                                                dcount=99;( J, m# {6 d1 d
                                while(!k3)3 d4 W! E! B( I8 S/ b+ D
                                        {
7 \, V9 _' D% D# a                                        shi=dcount/10;
  u5 @* ]; M- S. I1 T                                        ge=dcount%10;
' N! x9 h. w1 s                                        P0=duan[shi];
; [' c4 ]7 @/ ?! Q) e4 O                                        P2=duan[ge];
, e8 M: n- L2 L6 e: D                                        }6 J8 r4 F8 `" m; Y
                                }3 u" k) w9 x, n# q0 p, C. X1 c; d
                                5 R' b4 B$ }0 j3 g8 x4 p
                        }0 ?; Z5 v2 M  `6 L3 J2 p6 x8 ]
                }- |# Q9 G1 W0 F- v; x! E
                        
# B, v2 x& c4 M$ |. w+ ?                        if(k4==0)
* @& Y8 \& `' o6 j- x9 {                        {
  c" F7 ?$ s/ b$ h, P0 ~+ M0 h                                delay(5);% n& C0 r% `/ i8 }4 O
                                if(k4==0)  a  u( t( I! G  P: b9 b  }
                                {2 A& x& o3 L/ X
                                TR0=1;
8 f( O$ ^8 B8 w' x                                % D: A5 G& s5 _1 G$ x
                                }
  V1 l# C( Y, o, }                        }                                
$ ~) q5 @7 e  L( e8 g                6 Y5 E( U# u* H& |. l+ f
        
6 ]& Z8 h- t& R2 H}$ |9 R9 a/ f/ i- L: V: V1 N9 `- a
void timer0() interrupt 1) }/ |( K" I# W. K
{
/ O4 g" H* G! z3 w1 {! ]        TH0=(65536-50000)/256;
# ?3 ~- e: w: \8 J! _1 Z# Y        TL0=(65536-50000)%256;
1 }0 j$ g7 z4 L7 {: p2 [! u: n& k        if(++count==20)
$ f. ?- A. S7 U        {
) ]+ b2 Z& e  s; T; P8 e0 v        count=0;; r4 \: k% d" p" U
        dcount--;) R8 F% D! R& L9 g
        if(dcount==-1)/ [" L" v) ?# d3 E! s3 X8 x0 F
        {
  d6 a. V! Y' U        TR0=0;
+ J1 ~+ n, P/ J' ]        while(k1!=0)
7 }- g4 ]. n# I0 l! @5 S                {% Q4 `2 A! z5 ~# e# h+ k, A
                P0=0x00;% c5 e0 ], L& `8 R0 v
                P2=0x00;/ A* u. q4 b6 f9 c: N4 X( Y
                buz=1;
$ U. r2 `4 k7 ^( `2 d; @6 u                delay(1000);
2 p6 y! r+ q& k# T; K                P0=0xff;6 g4 K( Q8 r/ s4 X
                P2=0xff;
4 g2 D$ H- r% j7 j                buz=0;
& q# Y. }2 O3 W- C+ @, S                delay(1000);
/ I1 x. l& j: A* S                }
+ X, `' j, j' @. l6 N6 x+ O        dcount=99;
# w7 K+ t7 i; v0 F, M! ^+ c        }( r0 o( `" m6 \9 `* b
        shi=dcount/10;* ^  j8 U# s! U' J. x; v$ g" X* g
        ge=dcount%10;
$ u5 B# n# K6 V8 }  Y+ P" ?        P0=duan[shi];( c- q) e4 s# w% x- S
        P2=duan[ge];! k/ G# G) {- D0 Z' H( }: Z
        }& |# t6 s5 G$ V3 R& C
                , m0 m: q" ~; I! x
}
4 z0 {3 ?; x; L8 C) ~+ Dvoid main()
, a- }$ U, e. w/ H{; h( K! E. t5 L
        2 A" j, T; m8 H2 \4 f
        init();
9 R& g5 }/ S! Z- X& G. C8 Y3 }& Z        while(1)& _% O- R+ g5 l; F
        {  |9 n5 @+ d9 J
                keyscan();& c0 `" m. q% r  F: O, U
        }
2 Y% c0 m8 ^# s: r% }: Q& q        : m0 _5 ^* H1 q% e$ z
}
: g7 ]( D% s5 @2 C: J9 T
游客,如果您要查看本帖隐藏内容请回复
$ g! n6 m' f1 W. `8 X' ^
! ], ]* @7 [* E) ~$ ?

该用户从未签到

2#
发表于 2018-11-30 09:48 | 只看该作者
谢谢楼主分享

该用户从未签到

3#
发表于 2019-2-25 17:12 | 只看该作者
不错,谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-2 16:54 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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