|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机光照显示电路proteus仿真 源程序 原理图 课题题目
; L [% E* B, v
, Z" i6 X }4 t* ?; j) S. o+ R& |% |: A
9 y f+ r+ ^4 j) g8 _! v做的单片机光照显示电路
& }! n" h+ Y- f/ f用了一个星期的时间
2 Q" W6 \ R/ _3 J, |附件里包含源程序 原理图 课程设计的要求2 a3 V! e/ c6 O3 \
原理图用proteus画的2 d/ N2 c+ f$ h
里面的放大电路不知道哪里用的上所以随便添加了一个,放大倍数设成一倍+ R# @ L2 m6 M# n2 f
这只是个简单的电路 适合刚做单片机课设的新手
) j/ p) ^1 ?0 z! ~
9 Y0 B3 C" T* p
2 f* O& B! C7 q# R. n
/ ]6 J% z! s: _/ i1 Q7 ?单片机源程序:
3 b. r% [+ o# f# F#include
% \) |) B- _0 `# }- f6 L% t#define uint unsigned int0 i# v" p; R7 f0 D$ T7 D
#define uchar unsigned char
. j8 P ]3 s( ^) ~/ d, Wsbit st=P3^3;6 {+ {) l5 o% J1 y! Q
sbit eoc=P3^5;/ [9 A; Z t9 L+ ^- @2 w5 q
sbit OE=P3^4;4 m& ?1 R5 H" U, q0 ]
sbit dian=P1^7;: _* I4 G" _1 d5 t. E& I
uchar code dt[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
2 \) a( W! V; B% O) ]/ a8 Zuint data1,disi,disan,dier,diyi;2 H. }, `. f9 E2 [, |5 G7 j2 b& Q" B
8 ^' N5 u7 `2 {4 {# e" |# F
/*********延时函数************/
" x; M; `8 E/ o9 R* E4 V% N" p9 l
void delay(uint ms)
' Z" a; H/ U2 x( k! @- C7 F{
/ g9 v. {- H7 N$ v4 v uint i,j;
5 @# b' [( @4 ~4 j7 P, h; y c for(i=ms;i>0;i--)+ H( t) w M; U0 U: x5 j
for(j=120;j>0;j--);* g1 S& j! `3 y. \5 y
}
1 H p/ X: P$ ~& [: s. L! y. e' G7 g
/*********AD转化函数************/
) e ^5 _4 d- `7 F; i
6 h9 i' f0 t7 ~+ d# p0 V void AD()
3 e0 E. Y8 y( z( @* e" s{
. [! f! T; W+ [0 ^2 u( g- x" h OE=0;) @* \5 I% A0 s' c K- {( g
st=0;' ^3 e- x) w7 z0 s9 x
delay(1);) g ?+ R1 H9 R& ]: f
st=1;3 K' w% B$ E' B8 V
st=0;
" R; `7 O0 u9 r/ V' q! j: q delay(5);// while(eoc==1);//等待转化完毕
5 r: ]$ x' E& w0 F. h+ ^ OE=1;//打开传送数据2 l5 a' C; Z, X- Z8 x6 {1 |
data1=P0;//数据送入P0口# ?. I* ~, W+ |+ B8 S7 m
}$ w1 e3 M1 ~/ R* L) c' e6 {# `! Q# d! o
! W, e4 I+ ]! z* E: }- G* j
/*********计算除法************/2 {9 _/ _& b t
: s$ }3 d' D, C/ ]! Q9 U: o
void chufa()' K$ i' T7 _2 {. j$ i! ^1 u; d$ C
{
* O3 |. I: X0 @0 \* |! M# t% r data1=data1*19.53125*2;
( ^$ e. }6 J& p4 N# f disi=data1/1000;& H0 c8 F5 U+ y6 H8 Z- R) j" M
disan=data1%1000/100;
! M/ e$ h n; q# ^; T( e dier=data1%1000%100/10;/ X6 m/ \& ^. z& w
diyi=data1%1000%100%10;
$ K; x0 e0 ^% _8 _& x% C}, h$ t8 D3 ~0 X& L' K. W
6 \3 f4 |6 B# ?; P
/*********显示函数************/4 `; m" | m5 U
+ o/ G1 W1 c/ D9 Z% W- M
void xianshi()% e. p3 h3 Z8 t( f" ^8 `7 I5 [
{
8 y* J8 K3 D+ ?9 ~% G7 ? P1=dt[disi];//整数部分6 V4 n: _" }7 L+ i J$ Y3 u9 c: S
P2=0x01;$ ?$ M$ | E7 m8 d2 E2 V
delay(1);4 z% g7 G9 |* b, k
P1=0xff;
; J* E* R+ m9 t) ] P1=dt[disan];//小数点后一位
" [! y" T2 ~! E0 F3 p/ x/ T P2=0x02;- B' Q# I1 O% b% l# b' X) g
delay(1);
: X, P( n) @; X+ n1 a P1=0xff;
; Q W# [ q7 u n5 Y7 l P1=dt[dier];//小数点后两位7 F" c2 R7 M2 S7 @ E% v; |% m
dian=0;//打开小数点! h1 b) H$ r/ l
P2=0x04;
' S9 S/ J4 @2 d- E% ~ delay(1);1 e0 b/ m, U) K: ?
P1=0xff; 9 I: U' f7 t3 g
P1=dt[diyi];//小数点后三位& b$ s* Q5 l/ a8 {9 V2 Q6 a2 C, @
P2=0x08;, g3 O/ A0 v6 X8 ?+ o( t4 {; G
delay(1); ! V1 O' {: C$ p$ y
P1=0xff;
( }4 C- }' f: O$ z( ?" c7 v}. C h I) P$ Y: h4 R0 t' u
2 m1 c7 Y: s; q# d) e
/*********主函数************/
8 I4 G3 F- s* [& P& i4 j& f( I) k- x" K8 x3 ^
void main(void). R9 c+ P1 W! a* |( {
{
- o8 [) B# C; I+ \7 N- ~0 c while(1)( _/ Q5 c5 V/ _" p
{
- u& H8 E' O3 q3 I& e) ]6 R AD();
8 T8 ?% w, ]. k: F5 z( ? chufa();- L" Z% T. f/ w3 N
xianshi();
& b. _ m8 Q3 ?& W" h6 o( b }
8 u; D* @& o" w/ q}" i* I, W" s. U$ B- @4 J4 G0 m9 A& Y* F
3 u/ @6 e6 Z& ?& E9 _
$ b7 h0 k) \4 a. R) \
1 n- X# m: D! K. J8 U/ I7 C
所有资料下载:
) p0 d! v' P2 Q/ s4 E% q J8 X4 V3 G% r a( `! h5 w0 T
( f+ R' L$ X8 y6 [, A' X
|
|