EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
请教关于ADC0809转换程序
0 L* H$ `2 G/ w3 W9 b8 a8 o; j2 J, S/ `8 I. d
这个是ADC0809转换及显示程序,我想问AD_DATA[0]-AD_DATA[3]是十进制的吗?7 E2 ~3 d; T9 M" D+ e1 t( s$ [6 x- Y
#include <reg52.h>
; R/ J* L& t9 T. K#define uint unsigned int! K4 L! p' {& `# x$ e/ |% ~: s
#define uchar unsigned char
9 [' B% b0 I# Z+ D' }
6 q) s% i. k' Z6 p3 {, j4 duchar code LEDData[]=% n5 o! C1 w: Z/ Q9 H9 p
{
/ q0 F. g9 ~+ W- [ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f9 V4 h: X t6 z" E! c
};
; O4 \6 `4 |' C9 Y7 {sbit OE = P1^4;! _" \1 e- a* e6 J3 W" {
sbit EOC = P1^5;; u o5 }( I* @) g5 r9 L1 U
sbit ST = P1^6;
/ J, c7 W* t' c% z1 a: P& isbit CLK = P1^3;* a" c6 o' R: I% k- ]. j( [3 w
uchar AD_DATA[5]; - Z4 @6 D$ T6 |& e/ w4 _
int i;
- q0 t% i5 e& Xvoid DelayMS(uint ms)
$ T+ `! O o$ T{2 i1 f5 H0 ^$ @, s( G' ]
uchar i;
3 F) r& ~; {; A1 ~( x while(ms--)
% l- a) L T+ a5 }1 O {
6 ^' v/ U/ I, |2 O! h+ _( [& D for(i=0;i<120;i++);
# o9 V! }, n1 T) [' b, g }" v; ]7 \( b3 W; U
}# s- d1 t( N9 ]7 e" e: Q. x+ U- c M
1 N& ]7 p1 L6 B5 C$ U
void Display_Result(uchar d)) m9 a; a$ y5 J9 N. J
{
) o, L6 d( C K Q3 [% ~& V for(i=0;i<100;i++)
) S& x( W, G: j {& W6 ~2 J' f( D$ }
5 ?; ^ E: s9 C. Z5 y& a4 o
P2 = 0xf7;8 C9 q* f+ j2 w0 c( n
P0 = LEDData[d%10];; R3 u* L% J+ F2 W: Z3 `/ V
DelayMS(5);. j" m) D! C; [+ c' W' ?1 t5 ^5 m
P2 = 0xfb;
) P6 a) U9 n, h- L: u P0 = LEDData[d%100/10];& H, U9 d- C( Z L2 b1 Z( `
DelayMS(5);
1 r+ l. `1 y; B8 u o6 z( F P2 = 0xfd;
! x( l' k) {7 s' a P0 = LEDData[d/100];
: P# U4 x, h0 i+ f. ?3 t DelayMS(5);
" H4 @" ^# H0 p# E6 l4 w! p- [ } q5 m3 B, X3 H8 H. K8 n2 h
}
+ Y) S X+ a2 N- P! x7 v. `9 I( n6 {1 o$ y
void main()3 z& N9 m* \; g, v# l) v) I( Q6 m' y
{2 n4 q8 z4 w* J
TMOD = 0x02;
0 N9 E5 k* W& R TH0 = 0x14;: v1 B: O9 a$ S4 B/ w" J R, x% j
TL0 = 0x00;
. i" ]* c% X, D) K) B IE = 0x82;5 c. P9 d' a- R; Z. h
TR0 = 1;2 i% W7 {- V. m% V: W
F' e. O4 [2 F, a5 F4 F
while(1)3 Q4 N! n$ ~2 @& D2 y
{
2 ~) z: G. ~: G) V8 \ P1 = 0x7c;, L+ }# N3 A9 u# N: x
ST = 0;
& e9 s6 V# h* N) s' w3 s5 c! J ST = 1;
$ ]4 [+ V# e# |- J ST = 0;. H7 P& H6 O( z" l/ ^ o9 L
while(EOC == 0);
! z. }1 L, |$ I* U5 M" S OE = 1;% u% \2 I0 P! P/ w8 d3 K
AD_DATA[0]=P3;4 o( j9 ]$ e! v9 y8 B3 f6 j
Display_Result(AD_DATA[0]);& h7 t2 A% ?3 Y% Q4 S0 M
OE = 0;
$ V$ d. @, t+ w' t DelayMS(500); o! d2 D* S5 n& N. V+ L3 M: w
( g0 v8 U( ]" X( t3 q P1 = 0x7b; T$ l" D! b) N; j# Y J
ST = 0;# x2 c5 k, ?/ I5 |4 `
ST = 1;
1 t: U, @$ L8 j, Q O' q% v3 A ST = 0;7 f8 n5 q7 ~4 G+ n0 u9 j+ [
while(EOC == 0);, L- J+ a* m7 H9 g' f4 j0 L
OE = 1;: N6 j, I% ?, ~/ V
AD_DATA[1]=P3;
5 Z% R& ]* `+ ~* M' i% [ Display_Result(AD_DATA[1]);& w) E( w% T+ V2 n, s2 u
OE = 0;
, \9 q! G3 [0 k DelayMS(500);! r, b+ z2 G d2 s" G
5 |, J; h1 ?7 ?& R( D& \
P1 = 0x7a;5 O9 y! I; x7 e
ST = 0;, F% q% H% h7 h* J4 H
ST = 1;
0 A) E/ U# t2 |" k ST = 0;
% {, D6 b5 g% \6 E while(EOC == 0);8 n' a# H. l" S5 z1 b3 }
OE = 1;
' S' `6 b& ^1 B5 `' _1 r AD_DATA[2]=P3;& `7 }, e3 U& l
Display_Result(AD_DATA[2]);
/ j% g) Y8 G" h5 N& t5 q* d OE = 0;- h1 O# @# o1 M2 I/ u& d
DelayMS(500);/ B' G) h8 U) N3 c6 K" P- g2 `
# H) m9 \. A2 ^ P1 = 0x79;
/ S! _9 g, c% R+ x ST = 0;
- m9 H9 f/ I* ~7 P- W' E ST = 1;
$ ?( ?) x" A/ E ST = 0;
. z6 w& o, \- z! c# [) t6 ~: ~5 l* r& W/ u while(EOC == 0);6 v$ V: Y, h6 u9 Z; v
OE = 1;
8 x0 c/ e/ v, M; S AD_DATA[3]=P3;5 h" L* \# X9 B
Display_Result(AD_DATA[3]);0 X% K" {* o, n. j6 G
OE = 0;3 h3 Q3 `: E. A% B: s* \
DelayMS(500);3 c8 Z9 T. ?) ?% Z7 b
$ n+ O. e) Z/ c' |& i( Z
P1 = 0x78;
* |0 l/ ?: L z( {$ g ST = 0;+ O6 E: x; [3 |2 [
ST = 1;7 `$ A) K5 ~& k# G3 z$ J" u
ST = 0;
$ ^# j j$ K8 ^- W- {3 S while(EOC == 0);. `' a, }2 D3 t/ @7 x; J% G+ n
OE = 1;
! h- J" x: \. f% Y$ a- s0 [ AD_DATA[4]=P3;
0 n- @1 r$ w l& {- c5 P/ v0 ? Display_Result(AD_DATA[4]);
+ s8 U, G) A/ {& {" N2 N9 A OE = 0;
& u+ q4 q$ T7 Q4 W/ ?2 _. p2 ] DelayMS(500);, t" x. N8 U0 o# N
7 o* e" R- Y. g$ X1 c. m }
3 |7 }" k& k2 o- ^
! I$ e. o- z6 G% X% X
; K$ d! n# A! |/ `( e. u- S! W+ S2 {, F; i0 W7 h) _9 F
}
/ w+ v8 g3 p$ { C
: U9 G$ }) o5 y3 L2 U4 K' vvoid timer0_INT() interrupt 11 ^0 W o/ Y' `% H6 F! s) Q! h
{7 Z9 q6 |" b6 y; T. t$ E
CLK = !CLK;
0 ~+ N/ u- ~; I. z+ c/ ^}" q6 [; n& s. K4 ?$ Q% C9 M- N" j, u9 R
|