|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
启动时,没有效果,按下1按键,数码管显示,按下二号键,蜂鸣器响一秒(此时数码管依旧亮) 按下复位键回到初始状态,我这个程序为什么蜂鸣器不响?
5 ?( w2 z C, @8 m1 n0 w: \8 ~# O9 U$ d( r n2 u3 G8 O
#include<reg51.h>
; ]: B; j5 b" s#define uchar unsigned char
) @' [/ X4 P) q" D$ juchar smg[]={0xc0,0xf9,0xa4,0xb0}; //数码管
2 H2 c; Y0 b0 F+ R7 ]; M N! asbit a1=P2^0;# w. y: Z$ I' `0 K: t
sbit a2=P2^1;8 C' R! m/ v* m) |8 ]5 Z. W: U
sbit a3=P2^2;! f1 L8 }4 ]# l" [( E, o9 c6 P
sbit a4=P2^3; //位选码
% [; T! k; w0 |; V+ \sbit feng=P2^5;
3 ^% V& [6 W0 q5 I9 d1 ksbit jian0=P3^2; //按键- z& ^! }; \$ x6 u# _
sbit jian1=P3^3;
& i' G( [$ q$ Y3 Nvoid delay1() //定时1秒' s D. t: f# o! ]
{
' I& d3 o! g4 b& juchar k;. d0 k. E3 d2 I) H/ r
for(k=20;k>0;k--)
( t! U s+ l j: k# [% A5 k8 h) I{
7 [+ F) p* @% h, r3 h9 FTH1=(65536-50000)/256;
: B. Y5 R n( e: M& H rTL1=(65536-50000)%256;
" d2 G; ?3 p' Qwhile(TF1==0);$ W5 N0 C8 B0 ~1 H* B/ z
TF1=0;6 m+ Z$ |# Z* g0 G; O8 F( ^
}7 f/ m+ L0 y6 Y8 K
}; {2 U/ c3 G7 V( V0 u# w
void delay()
* n- X$ Z: p/ v/ b% d! Y{0 A& x9 V" h: D" [% ^% H ?) ^" P
int i;1 H2 P9 `) W+ Z6 q9 @& I6 T" i8 `
for(i=600;i>0;i--);
+ q2 p, T8 Q$ K" S2 m* \}6 p- l1 i; g. x) ~' ]- O1 r
void main()- Q( y0 \* o! |( Y
{
& d& @/ A1 Q+ DTMOD=0X11;4 \1 a- m) t0 B% z+ q4 D
TH0=(65536-5000)/256;
6 k$ C6 z+ L/ qTL0=(65536-5000)%256; //初始化
J; h* p0 w6 _TH1=(65536-50000)/256;
5 K; D* s3 t4 A+ e. _: y- e8 [TL1=(65536-50000)%256;1 y v' v1 P* L, @5 a
TR1=1;
' ]1 Y* {- r( J% P% rEA=1;
6 ?( P- L4 X+ z5 G4 l& [ET0=1; //开中断# ~( R! O; G' w
while(1)
* L/ A6 y3 e' O* Y{' s; X( P* \ k9 A# F
TH0=(65536-5000)/256;+ \: `$ q* ^- [( H2 S
TL0=(65536-5000)%256;% O* f5 A4 L* X, A! }3 P& A
: j8 E) P4 o( tif(jian1==0) //按键,去抖 X, K4 L6 O3 _1 G! l$ O/ ^
{
% G6 C3 s! z$ L1 l5 H; odelay();
, u2 K' j+ `9 W9 x& M$ }/ Gif(jian1==0)
( d/ G* K, W9 I) U4 D( u{
~8 |5 w7 D% v+ {) v3 bwhile(!jian1);4 ^8 A- @; s, c8 _
TR0=1;1 S8 v) u. U( J8 |& ~
}3 a! m+ y$ U' B: Z8 s
}
7 e, t( [1 V$ t4 N9 L0 zif(jian0==0)
~' @% T- w) o& k; l: c: u{7 n4 `9 s5 U+ h) R% D" y
delay();- P0 Q0 G) V F+ w8 v
if(jian0==0)
' R2 r t* L7 w- T1 I{5 P1 e, h* P b
while(!jian0);
8 W8 I, O% U: h8 ^/ q. j
0 Y% j$ M: N8 s0 y- Lfeng=0;
# T$ g# m6 Z5 v; q/ @delay1();
0 A: q0 T. \( r5 N% p4 ]' q6 Wfeng=1;
n) y' U* L3 y}
2 s* T9 G! A; T/ D}
3 z2 v5 r" `. v3 b0 m}( A7 W$ i9 v" g( ^4 A" `
}
) C3 h% u* R6 q* g- rvoid t0(void) interrupt 1 using 1
, Z2 K' J! ?6 P; ^+ v& I+ X{
0 m+ \/ R O! l- i" n3 }2 ^7 C5 k4 n. Q# Z
+ S7 l: E+ h' ]* o: ~
TH0=(65536-5000)/256;
2 e6 \1 G9 X& x) \8 {; Z( F" kTL0=(65536-5000)%256;
. B' g& I, B+ L0 ^5 h; la1=0;
8 @5 V8 n* R+ ^/ q; r( U& @P0=smg[2];1 _% N$ z- H# t6 S# K7 y- o
delay();
+ U3 V7 [3 j" O' v) G: t/ Ma1=1;+ [9 g6 _1 a1 F. n; Q3 x
1 W2 ?3 B6 l0 [) H
a2=0 ;8 P0 a) t; i. }" J9 Z0 `) c& c
P0=smg[0];, u/ c4 V0 Q; M2 H. L9 ?6 W
delay();& W; l1 e, @( A+ l9 h) d# a
a2=1;3 E9 J1 I( x: @
+ j* [+ W- r- J1 k9 U' Sa3=0;
9 P8 R% D: V$ n6 o; z+ HP0=smg[0];
; @! M; {4 P' y) Adelay();
- M9 B; _2 l. e: ~: |a3=1;
% A9 [; F& j$ }" S
/ @. `) y7 c# u# M( S! n( T- r7 `a4=0;0 o9 R- {, s i
P0=smg[3];$ o* @0 D" Q2 W! W& f
delay();- C% S) {; S( |# r$ M
a4=1;7 ~$ \# W$ j# L( Z6 a6 \2 m
0 ?% D2 s6 `0 e, C( x/ k4 a3 H
}
+ |( p& K3 H+ @ |
|