1、单片机课程设计智能电动百叶窗姓 名: 班 级: 机101-3班 专 业:机械设计制造及其自动化学 号: 2010*1310 指导教师: * 完成时间: 2013年6月5日 目录一、课程设计任务书- 3 -(一)课程设计题目:智能电动百叶窗- 3 -(二)任务详情:- 3 -二、设计项目简介- 3 -(一)基本要求:- 3 -(二)基本工作原理:- 4 -(三)各元器件资料:- 4 -1.AT89C51单片机- 4 -2.ADC0808- 7 -3.光敏传感器- 8 -4.74SEG-MPX4-CA数码管- 9 -5.74LS245 驱动- 10 -三、电路原理图- 11 -(一)复位电路- 1
2、1 -(二)时钟电路- 11 -(三)数码管显示电路- 11 -(四)电机控制电路- 12 -(五)A/D转换电路- 14 -(六)总体电路图- 14 -四、程序框图- 15 -五、程序清单- 16 -六、总结- 18 -七、参考资料- 19 -一、 课程设计任务书(一) 课程设计题目:智能电动百叶窗(二) 任务详情:本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状
3、态时二极管亮。设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。按键输入采用中断方式,按键中断请求信号接INT0。单片机根据设定光强S1和S2(S2S1)和实测光强P控制电机M的动作:当PS2时,控制M反转以减少进光量;当S1PVB时,Vout输出高电平;当VBVA时,Vout输出低电平。在仿真中,用1K的滑动变阻器控制5V电压变化模拟光敏电阻的变化。4. 74SEG-MPX4-CA数码管图2-341 数码管引脚选用7段4位一体共阳极数码管显示器,单片机的P2.0、P2.1、
4、P2.2、P2.3为位选,分别控制4位数码管的亮灭,P0P7为数据线。图2-342 7段数码管共阳极接法原理图及管脚令P0-P7分别对应a、b、c、d、e、f、g、dp管段,选取共阳极数码管,则单片机P0口输出为0时,控制段点亮。则数码管显示数字时对应的P0口输出如表所示:12345678900F9H0A4H0B0H99H92H82H0F8H80H90H0C0H5. 74LS245 驱动74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或
5、超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1)。三、 电路原理图(一) 复位电路图3-1 复位电路(二) 时钟电路
6、图3-2 时钟电路(三) 数码管显示电路 如图3-3,单片机的P2.0-P2.3由+5V的上拉电压驱动控制数码管显示位,P0口经74LS245输出数码管显示数据:图3-31 数码管显示电路图3-32 显示实例(四) 电机控制电路如图3-4,按钮实现手动控制,上面按钮控制正转,下面按钮实现反转,开关SW1控制手动、自动的切换,按下SW1后,二极管点亮,INT0出现低电平,进入中断控制电动机的正反转或停止,SW3、SW4作为行程开关,当一个方向到达极限是触动行程开关,是继电器断出系统,不再控制。图3-41 电机控制电路图3-42 手动控制图3-43 自动控制(五) A/D转换电路如图3-5,使用A
7、/D转换器的IN0通道,故ADD A-ADD C均接地,CLOCK口接500KHZ的方波脉冲,单片机P3.0与START、ALE口连接控制A/D转换器的启动,EOC口接P2.7传递转换结束信号,单片机P2.6与A/D转换器OE口连接,控制数据输出。图3-5 A/D转换电路(六) 总体电路图图3-6 总电路图四、 程序框图主程序框图NY进入中断在取A/D转换器的数据数据处理是否有中断控制LED显示YN主程序开始初始化数码管显示初始化中断0启动A/D转换器,等待取数据A/D转换结束程序结束五、 程序清单LED_0 EQU31H ;存放三个数码管LED_1 EQU 32HLED_2EQU 33HAD
8、 EQU 30H ;存放AD转换后的数据的段码ORG 0000HLJMPMAINORG0003H ;中断0起始地址LJMPZD0ORG0030HMAIN:MOVLED_0,#00H ;给显示赋初值0 MOV LED_1,#00HMOV LED_2,#00H SETB EA SETB EX0 SETB IT0;低电平触发 ;在A/D转换器内取数值:WAIT: SETB p3.0CLR p3.0 ;启动AD转换JNB p2.7,$ ;等待转换结束SETB p2.6 ;允许输出MOV AD ,P1 ;暂存转换结果CLR p2.6 ;关闭输出LCALL BCD ;调用数据处理子程序LCALL LED
9、;调用显示程序,显示转换的值SJMP WAIT;将AD转换输出的数据转换成相应的电压值:BCD: MOV A,AD;将AD转换结果转换成BCD码 MOV B,#51;255/51=5.00V DIV AB MOV LED_2,A;个位数字存入LED_2中 MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A, #10 MUL AB MOV B,#51 DIV AB JB F0,LOOP1 ADD A,#5LOOP1: MOV LED_1,A;十分位存入LED_1中 MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A, #10 MUL
10、 AB MOV B,#51 DIV ABJB F0,LOOP2 ADD A,#5LOOP2: MOV LED_0,A;百分位存入LED_0中 RET;控制数码管显示程序:LED: CLR P2.0MOVA,LED_0MOV DPTR,#TABLE1 ;送段码表首地址 MOVC A,A+DPTRSETB P2.3 ;允许百分位输出MOV P0,A ;将位段码送给P0口LCALL DELAY ;调用延时程序CLR P2.3 ;关闭百分位显示 MOV A,LED_1MOV DPTR,#TABLE1 ;送段码表首地址MOVC A,A+DPTRSETB P2.2 ;允许十分位输出MOV P0,A ;将位
11、段码送给P0口LCALL DELAY ;调用延时程序CLR P2.2 ;关闭十分位显示 MOV A,LED_2MOV DPTR,#TABLE2 ;送段码表首地址MOVC A,A+DPTRSETB P2.1 ;允许个位输出MOV P0,A ;将位段码送给P0口LCALL DELAY ;调用延时程序 CLR P2.1 ;关闭个位显示RET;中断服务子程序0:ZD0: CLRP2.4 ;清除电机控制端数据CLRP2.5MOVA,AD CLRC ;清除CY位CJNEA,#150,CONTROL ;将A/D转换后的数与150比较SJMPRETURNCONTROL: JNC ZHENG ;若大于,则跳至正
12、转CJNE A,#110,FAN ;若小于,则与110比较SJMPRETURNFAN:JCZHUAN ;若大于110,则返回SJMPRETURNZHUAN: CLR P2.5 ;若小于,则反转SETBP2.4LCALL DELAYSJMPRETURNZHENG: CLR P2.4 ;输出正转指令SETBP2.5LCALL DELAYRETURN: RETI;延时服务子程序DELAY:MOVR6,#2 ;延时1MS子程序D1: MOVR7,#250DJNZ R7,$DJNZ R6,D1RET;数码管显示表格TABLE1:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H, 82H
13、,0F8H, 80H,90H;共阳极09十个段码TABLE2:DB 40H,79H,24H,30H,19H,14H;带小数点的05六个段码END六、 总结本文介绍了智能电动百叶窗的设计,较为详细的介绍了只能电动百叶窗从硬件电路设计到软件设计的一系列步骤。设计主要采用直流电动机执行元件,以光敏电阻作为传感元件,89C51单片机作为控制芯片,从而实现了智能电动百叶窗的设计。同时,由于设计的时间和能力有限,没有对智能电动百叶窗的许多其他功能和技术没有进行进一步的研究,如电机旋转速度和光杆强度的优化等,没有完成实物的设计。但是,通过智能电动百叶窗课题设计,不仅让我掌握了关于单片机系统和电子操作软件等各方面的知识,更是将所学电工电子有效的与单片机结合在了一起。在实践和动手能力方面更是有了很大的提升。七、 参考资料1、2、3、查电子元器件资料:4、胡汉才编著,单片机原理及系统设计,清华大学出版社5、张建民编著,机电一体化系统设计,高等教育出版社- 19 -