|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机智能电动百叶窗 proteus仿真和源程序+ x4 k& o8 ^* g- r* G& [# W
; P% G* c$ J, N& a4 o( w+ I9 }$ J' T, s2 z, k
& h3 i" b4 l3 C; ]
. b" _5 M5 Y* U电动机部分用l298n驱动电机正反转:
/ ?6 b( s' p$ V* ]" D2 L& W% d " d% G$ ]( f" I6 r0 H. s
51单片机源程序:
. q/ b( S* c% p% ^//题目:智能电动百叶窗( @- _# o, u7 y3 C0 U& E
//要求:两种模式5 |% a0 \4 m& Z2 G
//模式一:自动模式:通过光敏电阻检测进光量,使电机正反转 ,同时使LED亮' G( m5 v6 m* X3 a
//模式二:手动模式,两个按键分别控制电机正反转
( S. W P! O. x( h# t1 v0 ^//两个限位开关限制电机转动,中断0切换控制模式- u) o# p( z. W
//收获:在使用if。。。 else 时如果多个选择模式应使用if else 而不是if if else 这时后面的else仅仅与
& k3 b6 Q! B X7 w; z, p6 u( J7 ~//前一个if配对,第一个if就失去了意义
0 ?7 L: c. `/ _8 O) N//2,数据处理还是要注意,不要混淆6 N; R9 I! Y7 N! C
//3,不同模式时要先相互独立分析再分析其共性。9 Q; ?: \4 K8 U2 R7 m
#include<reg52.h>* R7 e3 `$ b& S' v l! h
#include<intrins.h>
5 l* ]; b% ~( b5 Z' C#include"I2C.h"
" ^3 l1 K) L2 m$ n! {unsigned char GetADCValue(unsigned char chn);//PCF8591读取光敏电阻电压值
: `8 ]7 p. q8 y# C3 a. C* c2 j0 gunsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示当前值0-83$ N$ C$ M8 N- c: |
void System_Init(); //外部中断初始化
4 E" n0 I9 F2 N$ x, Dbit flag=0;//模式选择8 C3 t0 g s i: h% w
sbit LED=P2^0;
6 `3 l$ U1 J' Fsbit IN1=P2^6; //电机
3 K) ? a7 u1 x- s, Zsbit IN2=P2^7; 6 n: D3 v0 T% d$ Z) `
sbit K2=P3^3; //按键控制正反转
6 E# T% q% ]$ K1 P! Y, e3 b1 Wsbit K3=P3^4;1 }) Q& d- e9 h
sbit xianwei1=P3^6; //限位开关( a: A* \ {7 V' O
sbit xianwei2=P3^7;# C1 O0 t6 p0 \4 H0 S+ V7 V' O
void main()
) A3 y x1 S5 R! R{
0 T/ ?* W( }" f. T$ j6 d( w unsigned char val;9 K% q0 r% V! i' J6 ^
System_Init();
5 I% \5 u7 I9 q7 q( T) k; P8 ^0 @ while(1)6 S. q8 r ^4 V5 A. X
{
8 Q! P5 k [5 `) k val=(char)(GetADCValue(0)/3);3 O+ y1 r/ [7 q! i
P1=M[val/10];/ r3 {6 p6 _- |3 ]2 G
P0=M[val%10];0 X0 D* d/ K# }% G# B' A
if(flag==0)8 P/ Z; X4 U8 g1 ~+ X" I' H& M
{) C' @% d- F( i! @2 ~/ c, i" V N0 W
xianwei1=1;* |' X, k! @# H
xianwei2=1;. I; y( u5 S& D# f: u
LED=1;
; s; N- J# m2 D3 i3 w _nop_();
; |+ H- i" i) h% `$ P& b if((val<30)&&(xianwei1==1)) //0-30
9 T) y8 ]4 X+ u2 { {IN1=1;IN2=0;} //正传
' U" H1 O8 a; c, ^: ^ else if((val>50)&&(xianwei2==1)) //50-80
8 f: Z" t# e7 g# W# g% ]$ A* ~ {IN1=0;IN2=1;} //反转7 g- h8 x- ~. \: c1 w7 b7 c
else# {, z; L5 X( N! x" Z, |! {
/ g# o) L: J: c' |1 k5 e/ {# i8 i5 c7 ?" q( \
…………限于本文篇幅 余下代码请下载附件…………% V* Y$ x$ y+ _
9 R' D' M! z+ n* }0 M- h) B单片机智能电动百叶窗仿真工程文件和源程序下载:& H5 x' z3 E, q, I5 B7 q' ]
2 R8 g0 T0 U! C9 I# R, p2 H
; Z6 M) s s" I! D% O6 w: | N; K
|
|