西南科技大学应用型自学考试毕业设计(论文)
表2-2 P3口第二功能
端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外中断0) INT1(外中断1) T0(定时/计数器0) T1(定时/计数器1) WR(外部数据存储器写选通) RD(外部数据存储器读选通) 对Flash存储器编程器件,改引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位复位,可禁止ALE操作。该位置复位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
h) PROG:程序储存允许(PROG)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PROG有效,即输出两个脉冲。在次期间,当访问外部数据存储器,将跳过两次PROG信号。
i)EA /VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
j)XTAL1:振荡器反相放大器及内部时钟发生器的输入端。
8
西南科技大学应用型自学考试毕业设计(论文)
k)XTAL2:振荡器反相放大器的输出端。 2.3.2单片机最小系统的实现
介绍完以上的单片机系统的核心芯片之后,我们采用AT89C52来实现一个单片机系统能运行起来的需求最小的系统,电路图见图2-3:
图2-3单片机最小系统图
上图由晶振电路和复位电路,AT89C52芯片组成,构成最小的单片机系统, 下面详细介绍其中的两个电路。 (1)晶振电路
单片机工作的过程中各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,AT89C52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片AT89C52单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns,且为频率低于12MHz的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。
本系统中为了尽量降低功耗的原则,采用了内部时钟方式。电路图见图2-4:
9
西南科技大学应用型自学考试毕业设计(论文)
图2-4晶振电路图
在89C52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在5~30pF,典型值是22pF,晶振CYS选择的是12MHz。
(2)复位电路 ①复位的意义
单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据??因此,任何单片机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态。
②复位电路原理
图2-5上电复位电路图
当在AT89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机
10
西南科技大学应用型自学考试毕业设计(论文)
内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。 实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位,上电复位见图2-5,要求接通电源后,单片机自动实现复位操作。常用的上电复位电路如上图所示。上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。
RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。该电路典型的电阻和电容参数为:晶振为12MHz时,C1为22uF:R1为8.2K?;振为6MHz时,C1为22uF,R1为1K?。
本设计中复位电路采用的是开关复位电路,开关S9未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合理的充电常数,就能保证在开关按下时是RST端有两个机器周期以上的高电平从而使AT89C52内部复位。开关按下时是按键手动复位电路,RST端通过电阻与VCC电源接通,通过电阻的分压就可以实现单片机的复位。电路图见图2-6:
图2-6复位电路图
2.3.3数据采集系统
(1)从传感器过来的电压信号,必须放大,滤波,采集,转换才能被MCU识别和处理。由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。然而选择多路模拟开关时必须考虑以下的几个因素:通道数量、切换速度、开关电阻和器件的封装形式。总之数据采集与硬件的选择有很大的关系。
(2)甲醛传感器的选择
11
西南科技大学应用型自学考试毕业设计(论文)
甲醛传感器由甲醛探头CH2O传感器组成。甲醛传感器/甲醛模块(CH2O传感器)详细介绍如下表2-3。
(3)测量电路
测量电路由CH2O/S-10甲醛传感器,ADC0832组成。甲醛传感器由甲醛探头和CH20传感器组成。当空气被内部的采样系统吸收后,产生一个与甲醛浓度成正比的电压信号,该电压信号经ADC0832与AT89C52单片机相连,在显示器上显示出甲醛的浓度值,当超过国家规定的标准时报警。
表2-3 传感器参数表
名称 测量范围 最大负荷 工作寿命 输 出 分辨率 温度范围 压力范围 响应时间 (T 90) 湿度范围 零点输出 (纯净空体,20℃) 最大零点漂移(20℃to 40℃) 长期漂移 推荐负载值 线性度输出 重 量 甲醛传感器 CH2O/S-10 0-10 ppm CH2O/S?1050 ppm 空气中3年 4-20mA(甲醛模块) 0.05 ppm -20℃ to 45℃ 大气压±10% 〈 50 seconds -20℃ to 45℃ 〈 0.1 ppm 0.1 ppm 〈2% /每月 10Ω 线性 约32克 2.3.4模数转换的选择与简介
(1)实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SAR)和1个逻辑
12