|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机光照显示电路proteus仿真 源程序 原理图 课题题目! ~! u+ u. D) D+ e
( a5 k$ G" R5 `+ }* N" J; p
: j% ?8 U- W" w0 E3 Q0 N
做的单片机光照显示电路
* B* T( H( S! j) c2 [! ?" [. u2 u用了一个星期的时间7 g8 f( B4 A/ u4 W! |0 x* r' ~
附件里包含源程序 原理图 课程设计的要求
. D* ~4 y. t& h! T g9 o原理图用proteus画的
4 m3 [. d( o! X4 L$ |) }4 t里面的放大电路不知道哪里用的上所以随便添加了一个,放大倍数设成一倍; `& u- d+ E* d+ g5 _) O9 l0 J) s
这只是个简单的电路 适合刚做单片机课设的新手
) u- s. l. H, D. E1 P5 W
{7 q" v2 o' `& s- N& Q
2 |! f7 {& n- s; d, S! `0 y! Q* O( p( e' `7 }$ t
单片机源程序:' ^" O! C/ E6 ?& C
#include& F7 i3 e4 N \8 t, ]! ?
#define uint unsigned int
1 @2 d& l1 q2 z0 E#define uchar unsigned char
# B5 f3 u$ U1 f" nsbit st=P3^3;
& h' x* Z$ [6 M" ]* F4 qsbit eoc=P3^5;
0 l4 j* Y" G- C% t/ v" b* ksbit OE=P3^4;
& [! _3 _ z; w- ?5 s( _4 tsbit dian=P1^7;
! a; N, K2 A I4 G2 \uchar code dt[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};* Z, E' W+ `" _8 s, Q8 h2 I
uint data1,disi,disan,dier,diyi;8 _! s; p* ?/ r! T' n. d& p4 ]3 M
0 K, Z; r7 S- f/*********延时函数************/
; ]; U0 c9 v% V* r+ u" {. y
* y* o& C9 n2 [( x0 i( ^void delay(uint ms)
" Y! b! P9 e: q' F{
* p9 N3 n9 `4 A1 i0 ]: w. \) B6 z! m uint i,j;# ~4 e. \7 e$ E9 M
for(i=ms;i>0;i--): Y, t3 ]" w6 e& R
for(j=120;j>0;j--);
" X6 a6 y2 P* B2 E7 Q- \3 p}8 g& d, F3 h; R7 ]8 {1 m9 n3 k
9 A- v0 R7 J: K) |8 P /*********AD转化函数************/
# D$ f7 z+ _, O5 Y) y0 y* x( g6 q+ w6 Q- f! `# q
void AD()+ ]! Y" a. d/ L* O6 I" ~5 R
{
8 C& O. Q' i8 @$ y/ T" k OE=0;, l8 e" j U" M" ~5 s+ K( {# e
st=0;
$ ]% k0 E2 \2 D" `9 i. ? delay(1);" W7 _2 F2 o( n/ X
st=1;, H7 Q8 C4 Q9 f% I7 t+ p* V
st=0;& |4 x2 U" V3 \( P
delay(5);// while(eoc==1);//等待转化完毕0 I2 X% e C" f( A
OE=1;//打开传送数据
$ K* }6 s8 }, W* R: \% e5 [$ ] data1=P0;//数据送入P0口! j& B a8 _: P7 |2 V7 U8 Z
}/ X' l& L: S) X& b
% M `: v6 H# M7 I# A" D9 R& O
/*********计算除法************/1 ]& u! k* O$ ~$ \9 u
$ w& b% ?8 [! g+ Q3 tvoid chufa()
- W B A1 j" b: Z# S% E! L{
. s5 L3 }5 o, W I% _2 e9 q data1=data1*19.53125*2;
' r3 ^) H. L: y/ I1 c disi=data1/1000;- M6 ~# x1 e2 o( ?& N- h i( d+ [% m
disan=data1%1000/100;
* D- W- V. u) S7 F dier=data1%1000%100/10;; Y% I# ]: a: Y' Y; T5 k9 N
diyi=data1%1000%100%10;
" g) e; d9 `# Q B y! r1 y7 F7 L}# n3 [% f0 ?3 J+ z m+ G
. V7 F; S8 c, y- v2 Y0 P p/ P/*********显示函数************/- b2 X! a! d$ x" T+ T# [( L
4 U# o G9 L( _& _void xianshi(), d9 ~( l+ [. O" R! }' s
{
6 n6 w5 w$ q" K7 n P1=dt[disi];//整数部分
9 V6 }. h* e* c* i% h P2=0x01;
; c* P1 S! j* |8 S, K9 q2 B delay(1);
* h+ D) x. p1 B' } P1=0xff;/ K1 i/ a3 r) T4 \5 u
P1=dt[disan];//小数点后一位, c- A5 F7 o1 Z( u8 ?/ Q3 V
P2=0x02;9 `+ J: B3 z5 j# h( A
delay(1);
! s) j4 Q8 g# v P1=0xff;* y& @( _0 I7 C# K. ^, r
P1=dt[dier];//小数点后两位0 v+ Q9 ?1 f4 C9 O
dian=0;//打开小数点
3 u, I/ x: ^7 u( K P2=0x04;* r: T$ M/ A2 N& @" @
delay(1);8 z a a5 m1 o& s7 a0 z
P1=0xff; 3 X' B( u* m+ S
P1=dt[diyi];//小数点后三位/ M. q# [, N- p/ k* L( U: E
P2=0x08;
- m% [, J6 q3 S3 H. ^0 u9 R! P delay(1);
& w; e; ], j1 A5 \$ Y* P5 p P1=0xff;
) v! b; s+ ^0 c8 s}
9 R2 V6 \# }3 h0 n3 ^/ Z, w* K. ^
. `3 P/ O* H4 ?0 d2 G/*********主函数************/+ O, ^: P, y; R
6 O- N- i4 o4 h/ ~# Z" \void main(void)
7 }6 r- U2 Z1 V7 `4 \7 q{) b+ K/ X% n6 _3 q/ `+ u
while(1)' B8 J% H, a4 O
{3 [$ [ |: i7 E
AD();
7 D6 e4 G. b% F }. f3 N chufa();' \% V* Y q5 ]2 a, i, T3 e: Z, c
xianshi();$ |9 K6 k+ Z0 ?2 s; _/ |: V
}) `9 {1 ?1 ~+ _( Z+ z" a. E& u
}
) a+ a) b5 N0 i# I! I; t x# j
( v' h2 G) X& r0 s+ o' ]
4 M H$ j2 F; _2 k w& \
4 n; R2 q" X: U# G7 Y所有资料下载:
/ T6 L9 Y V0 x3 Y4 L. h
& p f+ ?' W5 X. D+ u" }
0 c( m$ O a' h( M: k" ]: v |
|