|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机光照显示电路proteus仿真 源程序 原理图 课题题目
; m6 C! K8 u% R$ G5 N- v
$ p) H/ P2 s; P- [: w9 |: b) w* Y% k; V& U8 t* D
做的单片机光照显示电路
$ ~- b4 v1 l2 s/ D9 \* Y用了一个星期的时间" d1 y5 i# m9 g
附件里包含源程序 原理图 课程设计的要求2 M! L N1 N7 V; V% V6 F
原理图用proteus画的
* g; P) a1 P; Y& s- k" L里面的放大电路不知道哪里用的上所以随便添加了一个,放大倍数设成一倍
' M& Q2 ^; A3 y5 O3 I: C7 V这只是个简单的电路 适合刚做单片机课设的新手
- o, P* `5 h/ ^2 B' B# W
6 k" e5 i- g s" V- X' ~5 {% c& F3 s5 K1 ]- n( h- w
7 K, r' {1 A2 o1 E" n& H. f
单片机源程序:: M; q1 r& s$ _% ?6 x* i4 f
#include
! B& D/ a. G* U& e#define uint unsigned int# L" Y0 {6 X! s, z x3 j
#define uchar unsigned char
( X7 d9 q5 i& Y, \/ {( i) Y6 csbit st=P3^3;
! g* X9 n; s5 w9 bsbit eoc=P3^5;
1 k' N: _4 u8 N; Z0 [sbit OE=P3^4;
9 z- t$ V3 a; Zsbit dian=P1^7;0 X. q! e7 a$ X. q
uchar code dt[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
/ {$ l2 o" O, T! W: I5 b1 s" ouint data1,disi,disan,dier,diyi;0 O2 S0 u' G; n7 q( ]6 `9 S
) K! U$ f+ Q: k/*********延时函数************/
0 `; ~9 W* O e3 |
8 ~ |3 @; n# E- X3 vvoid delay(uint ms)2 z8 V* r% A- E3 |0 J; k; | e
{
9 F; t* |- z+ b7 m0 S. d uint i,j;8 ?. O$ o* B7 z; o: G; b
for(i=ms;i>0;i--)
+ R8 A6 |# C+ |0 g for(j=120;j>0;j--);8 d. q4 l: \) Q
}
7 A4 ?$ Q& @; I4 F. l
7 i2 K$ Q |% [ /*********AD转化函数************/6 p8 K- l* o7 y! p8 m( D
1 B/ s1 S* f8 E6 | void AD()
/ O/ p) {2 ^9 `5 ]$ u{ ) \/ q/ U( N3 X
OE=0;
( y: A" @! O# L# J$ E st=0;( [8 E8 ^8 \: ^2 r% B) u
delay(1);+ x$ I- e* f3 _1 ^! w9 z
st=1;
3 p2 B g# ?3 t( b { st=0;' ^+ n- P3 }" j7 L Z
delay(5);// while(eoc==1);//等待转化完毕
7 d! S. [0 n6 w; H! @! n+ x( \; S2 ` OE=1;//打开传送数据
. I9 N# k) }$ s/ e6 f4 h data1=P0;//数据送入P0口7 y7 Q' g" ~$ [; X$ p
}
A: V9 x2 p- k$ k1 {; O5 E! R; ~
* g4 Q! j& h( P4 {/*********计算除法************/
0 X2 H$ T& u2 a; ]
x3 z" _" e8 evoid chufa()
/ W! J7 I- S6 c{
1 i9 H+ ?: M6 C# y, S2 @ data1=data1*19.53125*2;
, M7 G; p# b$ C8 n( O disi=data1/1000; S/ X# {/ Q7 y& h9 `% a
disan=data1%1000/100;- K4 _! P: s" G1 j3 Z1 l
dier=data1%1000%100/10;4 @; j9 c6 A( z V8 s3 V
diyi=data1%1000%100%10;
& x' m o0 {2 _, l- x2 O) O}
8 H# i2 m U" _, B6 ?
- K6 E; q+ e- h. n/*********显示函数************/
/ w8 Q+ p9 }% t2 ]2 T8 W0 C* R/ X: _" b/ [
void xianshi()' O( P2 h% S) f3 [0 g# l
{
& z& d* j; Y w& L, D O8 { P1=dt[disi];//整数部分
( c6 J1 H+ G. |, A6 f P2=0x01;
1 R0 X9 z# n" |9 Y* N5 Q- ?2 Q2 M delay(1);
2 h( O2 w7 s! P+ {/ R8 ~# z7 G P1=0xff;
' b* k4 a! o3 n/ { P1=dt[disan];//小数点后一位' j% k2 Z6 |5 U; i- O
P2=0x02;
" x" r6 G0 l2 R% T' f delay(1); [5 m0 f3 _6 N. l) p
P1=0xff;
+ B1 E, H! d3 w1 w& d P1=dt[dier];//小数点后两位. H( w6 ]3 L+ q
dian=0;//打开小数点; ]8 \; ~) J6 q3 }( g5 L) u; f
P2=0x04;8 v t( r( }, |) V3 |
delay(1);/ L* X2 o% q r9 c$ L
P1=0xff;
5 C& x8 O2 c- ? K9 w! W P1=dt[diyi];//小数点后三位: H/ O8 L; x6 G' v: U* e7 ?4 \4 M. x
P2=0x08;
# W+ l- n: {* O" ~+ p9 H delay(1);
* E! J* R- s! T) h& t+ ?7 I4 H0 f P1=0xff;
% Y1 \& @+ D( W2 P! h}
( ?( U; T! o% v+ m* ?9 L! O# D2 G$ z( c |* B& P8 `& n u
/*********主函数************/
( R2 M6 v Z# L" h) d) ]
9 c2 M% i1 F$ p0 xvoid main(void)1 D/ ?# q3 `" p# A2 K' e$ W# d7 E
{
8 H1 m: z& O, w while(1)5 l3 u$ y* [7 w/ x
{! |) n) T! V+ N' N
AD();
% S: D& ^8 U$ K chufa();
7 v9 l3 V4 D' D% [1 T0 } xianshi();
2 h- n$ w* F# ?7 T) l }; l% {- j9 ?3 [8 M6 U" U) ]. t
}
& A4 _, o: l# @! m: e* B& z" h2 N+ H+ u+ c+ h+ n% n" e
$ v8 @: ^6 W4 r6 B" N5 i/ C1 l0 X
% r/ E7 o/ ]$ k& Z" B& s' X, G* X, I所有资料下载:+ l9 `+ e( W/ R* |; E/ P, s& M
" G* R: ~* Y4 h. g& b
/ R B( D1 o0 ^4 T6 n q |
|