|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机光照显示电路proteus仿真 源程序 原理图 课题题目/ g# L) V B6 \" V, Y# X
' o" @0 l: t% H/ q/ v
: i' g/ |# c9 v- F- T& E5 V' W! I做的单片机光照显示电路; U) p8 e+ J/ H" i1 ~
用了一个星期的时间# I$ v3 c! c& Y0 r4 ?* C: r
附件里包含源程序 原理图 课程设计的要求
. A. S F, V3 T v1 c. \9 ~* W" o5 M原理图用proteus画的
- b- t8 ?" B" D里面的放大电路不知道哪里用的上所以随便添加了一个,放大倍数设成一倍
0 f; L) G4 k4 J& j3 {* C: @/ V这只是个简单的电路 适合刚做单片机课设的新手% h, [# {0 y6 ]# t
- ^, i+ b0 E3 [+ u K9 N7 E3 i+ t3 e' i- O. L; P
# q$ ?6 F U2 I6 A) T5 G
单片机源程序:
) W5 J( C5 A; g4 R& P- r. X. \* m#include/ f5 t4 l+ R$ W5 c h
#define uint unsigned int. A! T7 X. g! H9 c1 a( _/ ?" v
#define uchar unsigned char
' H) C2 j. \( [7 Ysbit st=P3^3;* V( Y1 g/ Y! q) }+ g. r3 `
sbit eoc=P3^5;
, B; ~8 l/ k! F8 D( r( Ssbit OE=P3^4;
! Q6 k) ~1 A+ { J8 D! wsbit dian=P1^7;
1 ?) ~2 y) `* i0 Muchar code dt[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
/ S, ]8 ]: H9 n9 Iuint data1,disi,disan,dier,diyi;0 |" D( d$ U5 c6 V# @. m
7 o; f& C8 ]! P0 F) I+ g
/*********延时函数************/6 ` n7 c: h+ d; N6 z' r- ~
- o! g0 a% J3 s ~
void delay(uint ms)- K1 ~& ~& b3 O0 Z$ {. h5 b* L
{
9 w( P- u$ T% p: l0 } uint i,j;
" K( r. }: u* x4 j) n9 k for(i=ms;i>0;i--)
6 x5 L4 A7 f6 N: ^3 |9 Y for(j=120;j>0;j--);
1 ~5 H# o7 ~: S8 D r& q}
+ x/ P) I% O A2 B% e% z5 H, I) T# D3 D/ A
/*********AD转化函数************/! H1 |* R5 B7 J8 Y3 R% E7 f$ u+ Z2 P
% D2 j, u) e( N( Y* s void AD()
( b+ k4 J4 y# L/ w5 p{
$ E: J8 N. x7 I7 ^, `8 k8 g% K! Z OE=0;/ K0 d- Q! Y2 h1 e. I& F/ ^
st=0; @ K- ^/ Y$ t# N$ a' C
delay(1);
' l. ~0 O/ K& C% n( C. r st=1;( H8 v3 c) [5 ^" Y W4 a$ V
st=0;) D$ E/ E. L7 w/ t% ~% o
delay(5);// while(eoc==1);//等待转化完毕 ]9 g2 i5 p3 i D
OE=1;//打开传送数据
6 M5 u( M/ R2 J0 m data1=P0;//数据送入P0口
( C2 U. \ K: S X7 W}+ j5 J# V+ w' m1 R
5 V; I9 `) N$ x' ]. o
/*********计算除法************/
2 z- q, v1 }- {: `, _6 `6 V
& I9 \ J4 }1 _. ?void chufa()! s. T8 ]6 r& a( Y5 t( q
{ # L& \3 W' A- x. l2 i# `
data1=data1*19.53125*2;% `2 J' Y3 h" M8 O0 c" r+ ]
disi=data1/1000;4 R; k4 W( H1 y0 _- l2 a
disan=data1%1000/100;
4 x" U2 @; f4 [& A" y dier=data1%1000%100/10;( B) y1 Y2 n) W
diyi=data1%1000%100%10;# g9 k# G9 w% Q1 t, H
}/ l, T6 M2 i8 i1 D1 \6 x, G/ V
3 T' r, D3 R" Q8 D0 [, l0 T/ B/*********显示函数************/! D' R1 g# r7 s) k# a) p6 x* x
& @. O. N( e8 Xvoid xianshi()( P4 A$ D& Z+ W; [- n
{ # O" H* }8 Y8 f/ k( ]
P1=dt[disi];//整数部分
/ @; A) c4 I* t" A P2=0x01;
' Z% J6 W( C: ]% @8 p delay(1);
: P$ V3 K& C# P G. ^9 Z P1=0xff;3 U: n$ s8 k6 N
P1=dt[disan];//小数点后一位( f* f# x" }/ u# ~
P2=0x02;
" O; h/ L' r5 M1 @( b9 v2 k delay(1);
/ W( N$ D* O8 h P1=0xff;
5 L* ^9 J9 E0 O3 r1 Y9 N/ ? P1=dt[dier];//小数点后两位
/ o$ _2 L0 s" [0 q dian=0;//打开小数点, `3 \( |, |3 y. Z4 E
P2=0x04;
0 _) j9 K3 L' E delay(1);
; o3 Q& A/ h/ A9 Z P1=0xff;
9 ~. j5 j( r. |% a. s P1=dt[diyi];//小数点后三位
! d; v! o" g+ F" W4 ?4 V P2=0x08;3 d& \4 F6 \" G+ h5 A
delay(1); : e& a8 v T1 @3 l; W2 V% O
P1=0xff;
0 E8 W( X: | {}
6 |% v4 r/ T+ W) z4 _, J) V- y8 \6 u, c6 A) }! |& j' N, a0 f
/*********主函数************/
1 w4 J8 {- f1 F$ f9 K
: B" r( H) M3 N9 p6 U0 Y$ Dvoid main(void)
) y& W& m3 ~& H0 _{
+ y& }& [$ G1 `) m while(1)
) A- b5 @- S8 S ^/ l+ Q {
% J5 \6 r5 j1 p Y- U0 d. p AD();2 L2 [ K1 e+ l0 B
chufa();
- K4 U) @% \ v/ X4 @ xianshi();
: w# e9 t, U% D' M. c }
. D% x% H- v5 h. B}
$ ]) s' ? p1 q( ~) @, H8 M; }- w' K7 K2 H0 S$ A
2 e( t5 D4 m+ }% f6 o( n' F& V
, \% S, ?8 ]( Z9 f1 d. L所有资料下载:
! y2 D$ ?; Q0 m/ T8 w
, P, L& c( Z3 f* R9 F/ O
- \$ X0 t; N; H+ f0 i |
|