|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机光照显示电路proteus仿真 源程序 原理图 课题题目0 R! t9 a8 i8 G! { X
/ `# l% k4 V4 m' o6 @' W/ t
! h/ I: M+ n9 H" N做的单片机光照显示电路
( I, N2 r% U0 N9 P$ O C, }. X用了一个星期的时间
5 t+ [/ Z. b# B# }$ C( E附件里包含源程序 原理图 课程设计的要求" M: u' h; [2 H* Z
原理图用proteus画的
2 F& \9 B: x3 N2 o0 ?" V里面的放大电路不知道哪里用的上所以随便添加了一个,放大倍数设成一倍
/ r+ T# k- Y! a1 |这只是个简单的电路 适合刚做单片机课设的新手+ l2 n3 Z1 m4 `# T8 ~' g
& O; X Z t: d# A: G b
% @3 R% j' U& k4 e
3 x8 f, R) o0 n H单片机源程序:# |( ?& _/ x/ _+ |
#include( m" y/ b' {9 D {1 J) U
#define uint unsigned int
3 `0 s6 k+ E5 X+ f#define uchar unsigned char# q' l, c- d9 h, h
sbit st=P3^3;
8 C% W+ o4 G U& S. A: lsbit eoc=P3^5;
/ i& C S9 C/ [) d% |% F5 csbit OE=P3^4;! B1 i" r7 @& b6 {1 J
sbit dian=P1^7;$ i. X) u9 a' o. m8 I$ I( Y) s
uchar code dt[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
% N. f1 p3 N( F/ Muint data1,disi,disan,dier,diyi;- b, u- }& w# ^! e- s5 g/ |/ p
1 ^: v$ w8 d/ k1 J- n. O
/*********延时函数************/
" q# ]# j% s! f3 g2 l8 `
8 a) a( f% f4 K; C' `void delay(uint ms)/ n! q) d. ^. ^8 r
{5 b1 X/ G: V: u: ?- Z
uint i,j;
S0 c) \) b- S for(i=ms;i>0;i--)
9 ?2 v2 K/ r. c w7 \0 R3 i2 @ for(j=120;j>0;j--);0 Q+ u6 l+ S7 Y) C. a! M- v& C
}
4 a! p% S$ D) [5 f. K X6 M1 Y: s& y3 o
/*********AD转化函数************/, Z' x- k- o4 T G7 J; D: n1 |) y
2 M+ W0 W: l: }' R void AD()" v* s7 H* m2 A$ ^3 H2 p' m
{ & U4 w9 C1 I) j) s$ m+ P6 f
OE=0;1 G) ?- U2 o4 x2 y& C
st=0;/ K2 w; u6 O# l9 R" w" W% y( {) \3 \) {
delay(1);* q4 }# h7 O5 f7 \4 b
st=1;) t3 _/ C/ {0 @5 |; n# Q V+ i
st=0; m; b# }& C R2 z. h
delay(5);// while(eoc==1);//等待转化完毕
: O: y3 k. U+ X/ w! ~ OE=1;//打开传送数据
+ Q; i d) X d1 e data1=P0;//数据送入P0口
) X! W- a* S' d( n}3 U) m4 Q5 a E9 M! F) I5 m
# G; B) i- a. c( C v4 U/*********计算除法************/' f6 U. ]) `5 F2 f& W
% k( A( p9 s+ d
void chufa()
$ _9 ^+ q N% W8 V- H! ]3 }) D{ 5 U# K9 F2 u' r3 h5 B3 a
data1=data1*19.53125*2;
( C2 J; K" f, L; f) G disi=data1/1000;: p; ]4 D. L" ]+ e) G8 {$ a; I
disan=data1%1000/100; [* x" ]# `& a9 | I
dier=data1%1000%100/10;
* \" K% o; w% `3 n' W- A diyi=data1%1000%100%10;/ s0 h( k3 F4 x4 h. L( k5 q* N
}( v6 g! T$ d5 I# V5 R; x
7 r( |2 h* o! r% K5 [0 h/*********显示函数************/
& w5 h2 E& x) Q6 u0 t/ e M# I5 y! j6 O+ N
void xianshi()
) Q! ^4 G) J) i{
' z: t0 `7 o7 C7 N `( K P1=dt[disi];//整数部分
" ^% v8 d3 ~/ U6 i/ {* ^ P2=0x01;
( K( i3 Y. P# J1 j8 q* I delay(1);. |& A* ]/ M8 W4 z: Q& J# I, e
P1=0xff;
* ?. X' U! o! O6 } P1=dt[disan];//小数点后一位
5 Y9 _& ]$ Z3 k2 L2 K F P2=0x02;1 M* q* U0 |1 O7 u: j
delay(1);
. j& a* ^1 D. M% N2 @ P1=0xff;
# i: K' t% t% r( f P1=dt[dier];//小数点后两位
/ x) e) W! C& }3 {9 z dian=0;//打开小数点
2 ^# Z7 k D/ }: P3 m: z" C8 Z( W P2=0x04;
/ q% w0 L4 |. ~( g" E! v( a! f delay(1);, Z# \8 I; v ]& f5 M
P1=0xff; ( V' G# G# Y0 K
P1=dt[diyi];//小数点后三位# M0 A: m/ U! k7 s9 p" j
P2=0x08;" ~, E6 A8 d) l4 `- k8 L' ^7 V1 T
delay(1);
: a; s* O, @- T$ F P1=0xff;
7 A, H7 F! G2 a, W) D- W}
0 |8 ?0 H: L0 S5 j& M q* g* O& c q y- P1 o/ n
/*********主函数************/
, ]4 a" ^* T: X" w: N- L: o$ P
# N( M1 ^( z( D$ avoid main(void)
3 V C0 e$ ~ R; ~{: w! |: d5 O$ d! H9 i+ [, Z6 |
while(1)7 B: g3 A2 w$ z$ a0 V/ h
{: a9 E% y8 X0 C
AD();* Z- g, L. d+ e4 U
chufa();# D- @( s: l* a' M3 U# I. B1 r
xianshi();
3 S6 B7 z1 v% U) `0 u, m }
& G7 W- w6 }0 e' R" N2 w+ |}* _1 Y0 V/ r, F0 p
% L8 a+ Q+ h G: \+ V, I/ K . U/ n0 |+ S5 c: X( x
5 h) z$ C! `( d/ a( l* f所有资料下载:0 @* C. F6 c- d! E- i" U7 X
! W5 Z8 \1 u( y% ^: M5 o: `# p/ r
! {4 |3 D8 W+ v4 l& j
|
|