|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机8路抢答器设计 仿真 AD原理图PCB 代码
6 i: c+ }9 {, J% { v7 }9 _: P2 B P7 J
6 `! n0 l0 g" L {( M. G# v! `
附件,抢答器的原理图和pcb都有ad画的 还有完整的程序
& O8 |& w6 I6 g ; b n# B+ x2 T
' ^) E2 f) p8 i% W+ @单片机源程序:8 g2 L+ Z! v, G( R( l; D' k, \
#include<reg51.h>/ | q/ S3 f6 J1 O
#define uchar unsigned char
/ p) f' C n2 v+ K" L#define uint unsigned int8 K9 g8 e1 a+ W' a" [
uchar code1[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F};
9 `* l$ J# M! l! C& xsbit key1=P1^0;
& ?$ [; U6 i Osbit key2=P1^1;. w# H3 y- R! {4 f' {3 w
sbit key3=P1^2;
! S! x: Z; f7 b/ I/ Gvoid delay(uint t)! r6 A! v% ^0 C3 o6 [) Q
{
% Q# ]5 o0 z- Y; D, z2 ]- P uint j;7 y8 t) O7 ?: I) [
for(;t>0;t--)
8 V) {; z1 T- Y; b( A: M for(j=19;j>0;j--);
! e8 B) S3 e. Q3 r3 n; w/ {}. I3 { b) x& O$ q
void display(uchar i)
2 x2 `3 ]" E/ Z! C{3 M. B9 y/ q. {% W' u- }; j; I
switch(i)9 s9 T% H0 U1 H5 p
{! {; b9 w9 n/ ]) ~/ N5 E( ~8 K
case 0 2=code1[0];break;% \4 _1 e8 V' K" c$ M; b
case 1 2=code1[1];break;
' s8 V& }1 k8 Q7 C% M+ l. |0 e case 2 2=code1[2];break;
4 s7 N, D% x* q' h7 p7 E }
1 j5 s8 r- B9 }0 i6 c" o; g$ R8 |}$ I8 j F; Z8 o9 \& p; G1 f
void key(), a* M4 @. T4 f5 c6 |# s" f
{8 F* |) f$ k4 ^- @3 u3 }0 p
uchar i;0 i& J& I3 b2 T: a5 M/ t) }, ]- d
if(key1==1)
8 i, u1 K0 n5 c {5 {! y* ?! B5 R& h( y# F6 ~2 x% r6 v7 S
delay(10);: Y$ V4 j/ A# J- b E$ p2 }
if(key1==1)5 C A9 p, p- n2 z
{9 \3 m( r5 m& \ g+ U6 \
delay(10);
2 l/ @* z/ |; i+ Y2 A i=0;* F: V- K9 |9 ~$ h' \
display(i);% n# v% Z5 t) j; \8 i" d6 U
}
0 |1 F/ K* n0 `' V) { }! E0 v9 X m2 S. X9 ?
while(key1!=1);
) r) z& q/ T- ^. C, o s5 {, ? delay(10);8 n9 _5 j% ~7 s5 F
if(key2==1)4 }, A" z9 h) R3 V$ W- ]
{
/ a5 K' ~. [8 o4 N delay(10);
7 l- _+ y' x% y if(key2==1)
# Q/ P- H4 Q6 {) { {
' D, K& P9 [0 k: }( Q- M1 U9 u- c4 X delay(10);
' e# h- s, \( y; K& X0 c9 c i=1;
/ A7 |2 m. W) v8 h5 D$ x display(i);3 |7 q; j0 a) o# O8 @. Z$ h- r+ X* ]/ S1 K
}/ Y7 d8 K; c# ?( r: `
}
1 e: f4 H* U3 }3 O! V& B8 V, a while(key2!=1);4 V0 [9 a) g! K F4 J) f y7 u) _
delay(10);% v" X- Q2 l! P: W9 h _
if(key3==1)' n( V0 x1 P# e7 S. h- n
{
* l9 E2 t/ ?2 \' R! w0 ~7 [6 g delay(10);
9 f8 ^: \: H3 Y( g; z3 M if(key3==1)
1 ]/ D$ s8 G& H0 ~; c8 o8 v {
1 I r- F! l% t7 N. o5 b7 H delay(10);
5 f4 f0 x- S/ o$ ]3 c i=2;2 c2 P1 Y( |$ O( T+ R' V* _& W
display(i);
5 }* D1 t, \3 ]' c! Z9 b }# Q/ B. ]! t1 A3 t/ H; ~! X+ B4 J
}
p) z. J. H7 f/ ~4 S while(key3!=1);
. N8 r6 w3 r3 ^% w X delay(10);7 S7 n; {3 f* Z5 o3 ]1 h
while(1);5 O$ D; F& z j% ]1 B& I% s
}
$ u8 ]' P1 T8 M8 H0 P2 D( B8 V# `void main()
4 o. r3 K) g/ H) V0 h& x9 J' j…………限于本文篇幅 余下代码请从论坛下载附件…………
; u% [$ a- g5 C1 I" n
& |4 [8 Q, g+ `2 \$ s0 a# E
% H" }5 g- t# x9 _& _5 H. O+ t7 ^
1 K! i4 k9 l: T5 J# r5 U- S |
|