基于单片机的光控自动窗帘控制系统设计说明书1 下载本文

·1个片内振荡器及时钟电路。 ·4KB ROM程序存储器。 ·128B RAM数据存储器。

·可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路。 ·32条可编程的I/O线(4个8位并行I/O接口)。 ·2个16位的定时/计数器。 ·1个可编程全双工串行接口。

·5个中断源、2个优先级嵌套中断结构。

51系列单片机内部结构图如图3.3所示,各个功能部件由内部总线连接在一起。程序存储器部分用ROM代替即为8051/8052;用EPROM代替即为8751/8752;若去掉ROM即为8031/8032;用FLASH EPROM代替即为89C51/89S52。

基准频率源脉冲技术输入

振荡器及定时电路4KB/8KB程序存储器128B/256B数据存储器2/3个16位定时器/计数器CPU64KB总线扩展控制可编程I/O接口可编程串行接口外部中断控制并行I/O接口串行输入串行输出

图3.4 MCS-51单片机内部结构框图

(2)引脚功能

有总线扩展的51单片机有44个引脚的方形封装形式和40个引脚的双列直插式封装形式,本文用40个引脚的双列直插式封装形式, 40个引脚封装的引脚图如图3.4,各引脚的功能说明如下。

第 13 页 共 26 页

GND 2

XTAL1, XTAL2 2 RESET 1 EA/Vp 1 ALE/PROG 1 PSEN 1 P0.0—P0.7 8 P1.0—P1.7 8 P2.0—P2.7 8 P3.0—P3.7 8

图3.5 AT89C52单片机引脚图

·GND:接地端。 ·VCC:电源端,接+5V。

·XTAL1:接外部晶体的一个引脚。CHMOS单片机采用外部时钟信号时,外部时钟信号由此引脚接入。

·XTAL2:接外部晶体的一个引脚。HMOS单片机采用外部时钟信号时,外部时钟信号由此引脚接入。

·RST:①复位信号输入。②VCC掉电后,此引脚可接备用电源,低功耗条件下保持内部RAM中的数据。

·ALE/RPOG:①地址锁存允许。当单片机访问外部存储器时,该引脚的输出信号ALE用于锁存P0端口的低8位地址。ALE输出的频率为时钟振荡频率的1/6。②对8751单片机片内EPROM编程时,编程脉冲由该引脚接入。

·PSEN:程序存储器允许。输出读外部程序存储器的选通信号。取指令操作期间,PSEN的频率为振荡频率的1/6;但若此期间有访问外部数据存储器的操作时,则有一个机器周期中的PSEN信号将不出现。

·EA/VPP: ①EA=0,单片机只访问外部程序存储器。对8031单片机此引脚必须接地。EA=1,单片机访问内部程序存储器。对于内部有程序存储器的8XX51

第 14 页 共 26 页

单片机,此引脚应接高电平,但若地址值超过4KB范围,单片机将自动访问外部程序存储器。②在8751单片机内EPROM编程期间,此引脚接入21V编程电源VPP。

·P0.0~P0.7: P0数据/低八位地址复用总线端口。具有双重功能:①可以作为输入/输出口,外接输入/输出设备。②在有外接存储器和I/O接口时常作为低8位地址/数据总线,即低8位地址与数据线分时使用P0口。此低8位地址由ALE信号的下跳沿使它锁存到外部地址锁存器中,尔后,P0口出现数据信息。

·P1.0~P1.7:P1静态通用端口。具有单一接口功能,P1口每一位都能作为可编程的输入或输出口线。

·P2.0~P2.7:P2高八位地址总线动态端口。具有双重功能:①作为输入/输出口使用,外接输入/输出设备。②在有外接存储器和I/O接口时,作为系统的地址总线,输出高8位地址,与P0口低8位地址一起组成16位地址总线。对于内部无程序存储器的单片机来说,P2口只作为地址总线使用,而不作为I/O接口。

·P3.0~P3.7:P3双功能静态端口,①可以作为输入/输出口,外接输入/输出设备。②作为第二功能使用时,每一位功能定义如表3.6所示

单片机端口 P0.0-P0.7,P2.0-P2.2 P2.5-P2.7 P2.3-P2.4 P1.0-P1.2,P1.3-P1.5 P1.6-P1.7,P3.0 P3.2 P3.3 P3.7 外围电路 屏幕显示模块 电机驱动模块 光感模块 3×3矩阵按键模块 定位开关模块 红外线 温度模块 蜂鸣器 表3.6 P3口第二功能说明

第 15 页 共 26 页

(3)单片机本身的微小电路

图3.7 单片机的微小系统连线图

上图为单片机的小系统,包含片内振荡电路和复位电路。

片内振荡电路:通常外接一个晶振,两个电容, 电容值取值范围15~45pf,取值范围晶振值0~24MHZ。时钟电路为单片机产生时序脉冲,单片机所有运动与控制过程都是在统一的时序脉冲驱动下进行的,时钟电路好比人的心脏,如果人的心脏停止工作,则人就没有生命了,同样,如果单片机的时钟电路停止工作,那么单片机也就停止运行了。

复位电路:当振荡器运行时,在此引脚上出现2个机器周期以上的高电平使单片机复位,一般在此引脚与VSS之间接一个下拉电阻,与VCC引脚之间接一个电容,单片机复位后,从程序存储器的0000H单元执行程序,并初始化一些专用寄存器为复位状态值。本文中单片机复位电路的连接如上图。 3.3 执行单元模块设计

3.3.1 驱动电机部分&&行程开关

第 16 页 共 26 页

(1)L293D芯片介绍

L293D为意大利SGS半导体公司生产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ),内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准 TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号,L293D 之接脚如图3.8所示, OUTl、OUT2 和OUT3、OUT4 之间接步进电机;input1~input4 输入控制电位来控制电机的正反转;Enable 则控制电机停转。本文主要采用L293D驱动芯片,通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作。

图3.8 L293D内部逻辑图

输入引脚与输出引脚的逻辑关系表如表3.9(ENB引脚与ENA引脚同):

L293D功能引脚模块 ENA 0 1 1 1 1 IN1 × 1 0 1 0 表3.9 L293D功能引脚模块

IN2 × 0 1 1 0 运转状态 停止 正转 反转 刹停 停止 第 17 页 共 26 页