3.硬件电路的设计
根据设计方案,总体功能和性价比及其运行速度等因素的考虑,下面进行系统硬件各模块电路的设计。 3.1 单片机最小系统
STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,STC89C51拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C51具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断
[2]
或硬件复位为止。
(a)电源及时钟引脚(4个) VCC:电源接入引脚; GND:接地引脚;
XTAL1:晶体振荡器接入的一个引脚(采用外部振荡器时,此引脚接地); XTAL2:晶体振荡器接入的另一个引脚(采用外部振荡器时,此引脚作为外部振荡信号的输入端)。
(b)控制线引脚(4个)
RST/VPD:复位信号输入引脚/备用电源输入引脚;
ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚(低电平有效);
EA/Vpp:内外存储器选择引脚(低电平有效)/片内EPROM(或FlashROM)编程电压输入引脚;
PSEN:外部存储器选通信号输出引脚(低电平有效)。 (c) 并行I/O引脚(32个,分成4个8位口)
P0.0~P0.7:一般I/O引脚或数据/低位地址总线服用引脚; P1.0~P1.7:一般I/O引脚;
P2.0~P2.7:一般I/O引脚或高位地址总线引脚; P3.0~P3.7:一般I/O引脚或第二功能引脚。
其内部主要由CPU、RAM、ROM、通用I/O及总线构成,内部结构如图3.2所示。
时钟 程序存储器 数据存储器 定时计数器 8051 数据 总线 地址 总线 控制 总线 并行I/O口 串行通信口 中断系统 图3.2 STC89C51内部结构图
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据; ROM:用以存放程序、一些原始数据和表格; (1)单片机的寄存器:
MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。
程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。 对于 89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。
数据存储器:STC89C51 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特
[3]
殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。 (2)机器周期和指令周期:?
(a)振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。 ? (b)状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。
(c)机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。在一个机器周期内, CPU可以完成一个独立的操作。 ? (d)指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。 (2)中断:
STC89C51 有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所
[4]
有中断。
IE.6位是不可用的,对于STC89C51,IE.5位也是不能用的。用户软件不应给这些位写1。它们为AT89系列新产品预留。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0 和TF1在计数溢出的那个周期的S5P2被置位。它们的值一直到下一个周期被电路捕捉下来。然而,定时器2 的标志位TF2 在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。 (3)复位电路
本系统采用上电+按键复位,是上电复位和按键电平复位的组合,无论是上电还是按动按键都能使单片机复位。如图3.3所示。
VCCC310ufR21K10KR39RESET
图3.3 复位电路
在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。按键按下系统复位,是
[4]
电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。 (4)时钟电路
时钟引脚为XTAL1、XTAL2,时钟引脚外接晶体与片内的反向放大器构成了一个振荡器,它提供单片机的时钟控制信号,时钟引脚也可外接晶体振荡器。 XTAL1(19脚):接外部晶体的一个引脚。在单片机内部,它是一个反向放大器的输入端。这个放大器构成了片内振荡器。当采用外接晶体振荡器时,此引脚应接地。
XTAL2(18脚):接外部晶体的另一端,在单片机内部接至内部反向放大器的输出端。若采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输
[8]
入端。
本系统采用晶振时钟电路。外部晶振以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格要求,但电容的大小多少会影响振荡器频率的高低,振荡器的稳定性,起振的快速性和稳定性。外接晶振时,C1和C2通常选择30pf,晶
[4]
振采用12MHz。本设计时钟电路如下图3.4所示。
C130p19C230p12MHZ18XTAL2XTAL1
图3.4 时钟电路
单片机最小系统电路如图3.5所示。
5VVCCR21KC310KR312MHZC130pFC130pF
图3.5 单片机最小系统
3.2 温湿度传感模块设计
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选
[9]
择。产品为4针单排引脚封装,连接方便。 DHT11的简介
·相对湿度和温度测量 ·全部校准,数字输出 ·卓越的长期稳定性 ·无需外加器件
·超长的信号传输距离 ·超低能耗 ·4引脚安装
·完全互换 (1)引脚说明:
建议接线长度短于20米时,用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。
引脚1:VDD供电3-5.5V
引脚2:DATA串行数据,单总线 引脚3:NC空脚,悬空
引脚4:GND接地,电源负极 (2)电源引脚:
DHT11的供电电压为3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。 串行接口(单线双向) (3)单总线说明
DHT11器件采用简化的单总线通信。单总线即只有一根数据线,系统中的数据交换、控制均由单总线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线;单总线通常要求外接一个约5.1kΩ的上拉电阻,这样,当总线闲置时,其状态为高电平。由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问器件都必须严格遵循单总线序列,如
[10]
果出现序列混乱,器件将不响应主机。 (4)单总线传送数据位定义
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次传送40位数据,高位先出。 数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位。
(5)校验位数据定义
“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”8bit校验位等于所得结果的末8位。 (6)数据时序图
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
错误!不能通过编辑域代码创建对象。图3.6 数据时序图
(7)外设读取
(a)DHT11上电后,测试环境温湿度数据,并记录数据,同时DHT11的DATA数据线由上拉电阻拉高一直保持高电平;此时DHT11的DATA引脚处于输入状态,时刻检测外部信号。
(b)微处理器的I/O设置为输出同时输出低电平,且低电平保持时间不能小于18ms,然后微处理器的I/O设置位输入状态,由于上拉电阻,微处理器的I/O即DHT11的DATA数据线也随之变高,等待DHT11作出回答信号。
错误!不能通过编辑域代码创建对象。
图3.7 主机发送起始信号
(c)DHT11的DATA引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11的DATA 引脚处于输出状态,输出80us的低电平作为应答信号,紧接着输出80us的高电平通知外设准备接受数据,微处理器的I/O此时处于输入状态,检测到I/O有低电平(DHT11回应信号)后 ,等待80us 的高电平后的数据接收。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库温室大棚的环境监测系统设计毕业论文 - 图文(3)在线全文阅读。
相关推荐: