1、东华理工大学长江学院毕业设计(论文) 摘 要I摘 要本设计是对汽车内空气质量检测及净化装置的设计,系统以单片机 AT89C52 为核心,辅以必要的外部电路,实现了空气质量的监测和净化。其主要模块除单片机控制部分外,还有空气质量测量、A/D 转换(ADC0809N) 、异常报警和负离子发生器等。系统采用 QS-01 空气质量传感器对汽车内空气质量进行测量;同时通过ADC0809N 进行 A/D 转换将模拟量转换结果给 AT89C52 对空气质量进行比较,并实现污染超标声光报警同时启动负离子发生器进行净化空气。关键词:空气净化系统;单片机 AT89C52;空气质量传感器 QS-01;ADC0809
2、N ;负离子发生器东华理工大学长江学院毕业设计(论文) ABSTRACTIIAbstractThis design is to the automobile in the air quality examination and the purification design, the system take monolithic integrated circuit AT89C52 as a core, auxiliary by necessity exterior electric circuit, has realized the air quality monitor and the p
3、urification. Its main module besides monolithic integrated circuit control section, but also has free time the makings quantity survey, A/D to transform (ADC0809N), exceptionally to report to the police and the anoin generator and so on. The system uses the QS-01 air quality sensor the air quality t
4、o carry on the survey to the automobile in; Meanwhile will carry on A/D through ADC0809N to transform will simulate the quantity transformation result to carry on the comparison for AT89C52 to the air quality, and will realize the pollution exceeding the allowed figure acousto-optics warning simulta
5、neously to start the anoin generator to carry on the scavenging airKeywords :air purification devices; AT89C52 ;Air quality sensor QS-01;ADC0809N; Anoin generator 东华理工大学长江学院毕业设计(论文) 目 录III目 录摘 要 I关键词 IAbstractIIKeywords.II绪论 11 系统设计 21.1 设计任务及要求 .21.1.1 设计任务 21.1.2 设计要求 21.2 总体设计方案 .31.2.1 系统总体电路图 3
6、1.2.2 系统总体设计思路及方框图 31.2.3 各方案论证及选择 41.2.4 系统组成 61.3 本章小结 .62 各功能模块的工作原理电路设计 72.1 控制模块 AT89C52 简介 .72.2 空气质量传感器模块 102.2.1 空气质量传感器的简介 102.2.2 空气质量传感器工作原理 112.3 A/D 转换模块 ADC0809N 简介 .132.3.1 ADC0809N 的逻辑结构 132 .3.2、ADC0809N 的引脚功能 .142.4 DM74LS90N 功能 172.5 空气净化装置的工作原理 .192.6 本章小结 213 系统软件程序设计 223.1 控制系统
7、主程序 223.2 A/D 转换模块程序设计 253.2.1 ADC0809N 工作原理 253.2.2 A/D 转换流程图及程序 .253.3 报警功能模块 273.3.1 报警功能模块电路及流程图 283.3.2 报警程序 304 软件调试 315 展望 32总 结 33IV致 谢 34参考文献 35附录 36附录 1 各模块和单片机最小系统的连接 .36附录 2 系统源程序清单 .36文献综述 40东华理工大学长江学院毕业设计(论文) 绪论1绪论车内空气污染已经成为公认的威胁人体健康的严重环境污染,汽车内空气净化清洁装置势在必行。车内病毒、霉菌、甲醛、烟碱、苯、一氧化碳、光磁辐射等内有毒
8、气体使人产生困倦、无力、胸闷、精神恍惚和过敏等现象,是造成交通事故的隐患。目前市场上还没未出现此类似产品。这篇设计是在摸索着设计,由于理论知识和实践经验的欠缺,其中肯定有很多不足,有待指正。此装置采用以单片机AT89C52 为核心,通过 ADC0809N 将空气质量传感器输出的模拟信号转化为数字信号,利用 AT89C52 来判断空气质量是否合格,如果空气质量合格,绿指示灯亮,如果空气质量不合格,红指示灯亮,并启动蜂鸣器跟空气净化装置,从而达到对空气的检测与处理。本装置的空气净化装置采用活性碳的吸附作用跟离子交换器。采用软硬件结合,来实现对空气的净化。根据此装置设计分工,分为硬件和软件两部分。笔
9、者负责软件部分,硬件部分由其合作者廖全同学负责设计。因此本设计分成软件部分和硬件部分。本文主要偏重软件部分编写,其中软件编写本文中采用汇编语言编写 1,对一些选用的硬件器件作了简单的介绍。本设计中的主要元器件:AT89C52 微型单片机;空气质量传感器 QS-01;ADC0809N A/D 转换。本设计硬件电路总体可分为四大部分:第一部是单片机AT89C52 为中心的主控电路,同时 AT89C52 为整个电路的数据处理与控制核心。第二部分是 ADC0809N 将模拟量转换给 AT89C52 和 DM74LS90N 作为分频器与 ADC0809N和单片机相连。第三部分是以蜂鸣器和发光二极管为主的
10、报警装置。第四部分是空气净化装置与单片机相连,实现空气净化。论文研究的主要内容系统的软件设计:单片机控制电路主要由一片 AT89C52 和 ADC0809N 组成。ADC0809N 进行模拟量转换结果给 AT89C52,AT89C52 主要实现对空气污染是否超标进行判断且声光报警并启动负离子发生器。单片机是整个系统的核心和控制中心,系统的各部分数据都是送到单片机进行处理,而且所有的命令都是由单片机发出,所以对单片机的软件开发是非常重要的,它关系整个系统的功能。21 系统设计1.1 设计任务及要求1.1.1 设计任务设计一个可实施的车内空气净化和清洁装置 1.1.2 设计要求设计拟达到的主要目标
11、及技术参数(1)能依据空气污染指数来判断空气是否合格(当 R0 上的电压值超过 20mv时为不合格) 。 (2)当空气不合格时,能发出报警信号,并启动空气净化装置。(3)能净化空气达标。 (4)装置能适合安装于车内(体积小) 。图 1-1-1 汽车内空气净化与清洁装置外型实物图东华理工大学长江学院毕业设计(论文) 系统设计31.2 总体设计方案1.2.1 系统总体电路图 VD5INT1P.0/2EX6478RS9xWALCUYMpFKeakrQuO+G-B()传1.2.2 系统总体设计思路及方框图系统由传感器模块、74LS90N5 分频器模块、ADC0809N 数模转换模块、单片机 AT89C
12、52 控制模块、指示灯模块、报警模块以及空气净化装置组成。通过传感器模块将空气污染程度转化为电压输入 ADC0809N 数模转换模块并将转换完的数子信息传送给控制模块。当控制模块将数字信息比较完成后判断空气质量是否合格,当空气质量合格指示灯模块亮绿灯,当空气质量不合格时指示灯模块亮图 1-2-1 总体电路图4红灯,与此同时启动蜂鸣器跟空气净化装置。 3系统框图如图 1-2-2 所示。1.2.3 各方案论证及选择(1)控制器模块对于控制器的选择有两种方案。方案一:采用 FPGA(现场可编程门列阵)作为系统的控制器。FPGA 可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上
13、,减少了体积,提高了稳定性,并且可应用 EDA 软件仿真、调试,易于进行功能扩展。FPGA 采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。由检测模块输出的信号并行输入 FPGA,FPGA 通过程序设计控制电机做出相应的转动,但由于本设计对数据处理的速度要求不是很高,FPGA 的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路布线复杂,加重了电路设计和实际焊接的工作。AT89C52 控制器模块74LS90N5分频器绿指示灯模块蜂鸣器模块A/D 转换模块传感器模块图 1-2-2 总体设计方框图红指示灯模块空气净化
14、装置模块电源模块东华理工大学长江学院毕业设计(论文) 系统设计5方案二:采用 AT89C52 作为系统的控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。 5综合考虑以上两种方案,通过比较,本设计选择采用方案二,单片机控制的方框图如图 1-2-2 所示。在本设计中, AT89C52 通过 ADC0809NA/D 转换接收空气质量传感器的模拟量,负责监测空气质量是否合格,控制空气净化装置和报警装置。(2)报警模块方案一:采用单片机或可编程逻辑器件完成。由于本系统的控制器是采用单片机的
15、,使用单片机直接驱动发光二极管和蜂鸣器,不仅可以有效地利用系统的资源、简化电路,同时还可以实现多种报警功能。这样大大增强了液体点滴监控装置的实用性。方案二:采用分立元件来实现。用分立元件大大增加了电路的复杂程度,而且不能很好的实现多种报警功能。基于以上分析,本设计采用单片机了来实现电路的报警功能。(3)传感器模块:采用空气质量传感器 QS-01 来实现。 (4)分频器模块:采用 74LS90N 五分频芯片来实现。(5)A/D 转换模块:采用 ADC0809N 来实现。ADC0809N 是 8 位、逐次比较式 A/D 转换芯片,具有地址锁存控制的 8 路模拟开关,应用单一+5V 电源,其模拟量输
16、入电压的范围为0+5V,对应的数字量输出为 00HFFH,转换时间为 100US,无须零或调整满量程。16 (6)空气净化装置模块:采用活性碳和换气箱。(7)电源模块过去,汽车内的电器较少,通常的 12 伏和 14 伏电源系统已能满足需要,因此一直沿用了 50 年。然而,随着电器和各种电子装备的大量使用,14 伏所能提供的功率,已满足不了汽车的发展需要。42 伏系统为车辆的结构改进提供了更大的可能性。使用 42V 电源系统,发动机的一些附件,如转向助力泵、水泵、冷却风扇、空调压缩机和气泵等,可以直接由新的电源系统驱动,从而减少空转消耗,提高能源利用效率。此外,这些部件也可以从发动机中分离出来,
17、减少发动机的部件数量,改善设计,提高发动机的效率。对于电动制动系统,由电源直接驱动,可以省去液压或气压系统,带来更好的驾驶舒适性和更好的燃油经济性。 在本设计中由于装置需要的功率不是很高,所以使用汽车内的 12V 直流电源对6其整个电路供电。(8)指示灯模块采用绿,红 2 种发光二极管。1.2.4 系统组成经过仔细分析和论证,确定了各系统模块的最终方案如下:(1)控制模块: 采用 AT89C52 控制;(2)报警模块: 采用单片机驱动蜂鸣器;(3)传感器模块: 采用空气质量传感器 QS-01;(4)指示灯模块: 采用发光二极管(红,绿) ;(5)A/D 转换模块: 采用 ADC0809N 型芯
18、片;(6)空气净化装置模块: 采用单片机驱动离子交换器; (7)电源模块: 采用 12V 的汽车电源;1.3 本章小结本章主要介绍本次设计的基本要求和总体设计方案,并对各模块的方案选择作了详细的论证。东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计72 各功能模块的工作原理电路设计2.1 控制模块 AT89C52 简介AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-5
19、1 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大的 AT89C52 单片机可为您提供许多较复杂系统控制应用场合。AT89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线,AT89C52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 9图 2-1-1 AT89C52 芯片引角图8管脚说明:如表 2-1-1 所示。 19名称 管脚号 类型 名称与功
20、能Vss 20 I 地Vcc 40 I 电源: 提供掉电、空闲、正常工作电压P0.0-0.7 39-32 I/O P0 口 : P0 口是开漏双向口,可以写为 1 使其状态为悬浮用作高阻输入。P0 也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉输出 1。P1.0-1.7 1-812I/O P1 口: P1 口是带内部上拉的双向 I/O 口,向P1 口写入 1 时,P1 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P1 口会因为内部上拉而输出电流。 P1 口第 2 功能:T2(P1.0) : 定时/计数器 2 的外部计数输入
21、/时钟输出。T2EX(P1.1) : 定时/计数器 2 重装载/ 捕捉/方向控制。东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计9P2.0-2.7 21-28 I/O P2 口 : P2 口是带内部上拉的双向 I/O 口,向 P2 口写入 1 时,P2 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P2 口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时分别作为地址高位字节和 16 位地址(MOVX DPTR)此时通过内部强上拉传送 1。当使用 8 位寻址方式 (MOVRi)访问外部数据存储器时,P2 口发送 P2 特殊功能寄存器的内容。P3.0-3
22、.7 10-171011121314151617I/O P3 口: P3 口是带内部上拉的双向 I/O 口,向 P3口写入 1 时,P3 口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的 P3口会因为内部上拉而输出电流。P3 口还具有以下特殊功能:RxD(p3.0) : 串行输入口TxD(P3.1) : 串行输出口外部中断 0外部中断T0(P3.4) : 定时器 0 外部输入T1(P3.5): 定时器 1 外部输入外部数据存储器写信号外部数据存储器读信号RST 9 I 复位: 当晶振在运行中,只要复位管脚出现 2个机器周期高电平即可复位,内部有扩散电阻连接到 Vss ,仅需要外
23、接一个电容到 Vcc 即可实现上电复位。10ALE 30 O 地址锁存使能: 在访问外部存储器时,输出脉冲锁存地址的低字节,在正常情况下,ALE 输出信号恒定为 1/6 振荡频率。并可用作外部时钟或定时,注意每次访问外部数据时一个 ALE 脉冲将被忽略。ALE 可以通过置位 SFR 的auxlilary.0 禁止,置位后 ALE 只能在执行MOVX 指令时被激活。29 O 程序存储使能: 当执行外部程序存储器代码时,每个机器周期被激活两次,在访问外部数据存储器时 无效,访问内部程序存储器时 无效。31 I 外部寻址使能/编程电压: 在访问整个外部程序存储器时, 必须外部置低。如果 为高时,将执
24、行内部程序,除非程序计数器包含大于片内FLASH 的地址。该引脚在对 FLASH 编程时接5V/12V 编程电压(Vpp)。 如果保密位 1 已编程,在复位时由内部锁存。XTAL1 19 I 晶体 1: 反相振荡放大器输入和内部时钟发生电路输入。XTAL2 18 O 晶体 2: 反相振荡放大器输出2.2 空气质量传感器模块2.2.1 空气质量传感器的简介在本设计中空气质量的检测采用日本进口的 QS-01 空气质量传感器。QS-O1 是表 2-1-1 引脚介绍东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计11一种二氧化锡半导体气体传感器,可以检测香烟、 NH3、酒精、CO 等多种
25、空气中的污染气体,灵敏度高,并且响应时间很快,传感器采用塑料外壳,有 3 个引脚,可在极低的功耗 情况下获得极好的感应特性,非常适合应用于空气品质控制系统、排风电扇和空气清新机。 72.2.2 空气质量传感器工作原理空气质量传感器的标准电路如图 2 所示。如系统原理图所示,使用时将端子 1接电源 5V 正极,端子 3 接电源 5v 负极。端子 2 接 ADC0809N 的 IN0 端。通过测量电阻 R1 的电压值能够判断空气质量的好坏,我们利用单片机和 ADC0809N 的 A/D 转换功能测量电阻 R0 的电压。由空气质量传感器 QS-01 的特性得知:空气质量的污染程度与电阻 R0 的电压
26、值乘正比例关系,即 R0 电压值越高,污染程度越高。图2-2-1 空气质量传感器管脚排列图12下表 2-2-3 所列为空气质量传感器 R0 电压与空气污染程度参数 18R0 电压值 空气污染指数 API 质量状况012mv 050 .优1320mv 51100 良 .2140mv 101200 轻度污染 困倦无力4160mv 201300 中度污染 精神恍惚60mv 300 严重污染 强烈症状出现某些疾病.图2-2-2 空气质量传感器电路图表2-2-3 空气质量传感器R0电压与空气污染程度参数表东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计132.3 A/D 转换模块 ADC0
27、809N 简介2.3.1 ADC0809N 的逻辑结构ADC0809N 是 8 位逐次逼近型 A/D 转换器。它由一个 8 路模拟开关、一个地址锁存译码器、一个 A/D 转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809 对输入模拟量要求:信号单极性,电压范围是05V 。 11图2-2-4 空气质量传感器R0电压与空气污染程度曲线图142 .3.2、ADC0809N 的引脚功能图2-3-1 ADC08
28、09N结构图东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计15IN3142567STAREOCD89LK0VF+G-BU对 ADC0809 主要信号引脚的功能说明如下: IN7IN 0模拟量输入通道 ALE地址锁存允许信号。对应 ALE 上跳沿,A、B、C 地址状态送入地址锁存器中。 START转换启动信号。START 上升沿时,复位 ADC0809;START 下降沿时启动芯片,开始进行 A/D 转换;在 A/D 转换期间,START 应保持 低电平。本信号有时简写为 ST. A、B、C地址线。 通道端口选择线,A 为低地址,C 为高地址,引脚图中为 ADDA,ADDB 和
29、ADDC。CLK时钟信号。ADC0809 的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。 图2-3-2 ADC0809N引脚图 16EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。 D7D 0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D 0 为最低位,D 7 为最高 OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。 Vcc +5V 电源。 Vref参考电源参考电压用来与输入的模拟信号进行比较,作
30、为逐次逼近的基准。其典型值为+5V(Vref (+)=+5V, Vref(-)=-5V)。ADC0809N 与单片机的连接示意图:图2-3-3 ADC0809N与单片机的连接图 东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计172.4 DM74LS90N 功能图 2-4-1 74LS90 引脚图18表 2-4-2 74LS90 功能表通过不同的连接方式,74LS90 可以实现四种不同的逻辑功能;而且还可借助R0(1) 、R0(2)对计数器清零,借助 S9(1) 、S9(2)将计数器置 9。其具体功详述如下:(1) 计数脉冲从 CP1 输入,QA 作为输出端,为二进制计数器。(2
31、) 计数脉冲从 CP2 输入,QDQLQH 作为输出端,为异步五进制加法计数器。(3) 若将 CP2 和 QA 相连,计数脉冲由 CP1 输入,QD、QC、QB、QA 作为输出端,则构成 异步 8421 码十进制加法计数器。(4) 若将 CP1 与 QD 相连,计数脉冲由 CP2 输入,QA、QD、QC、QB 作为输出端,则构成 异步 5421 码十进制加法计数器。(5) 清零、置 9 功能。(6) 异步清零当 R0(1) 、R0(2)均为“1” ;S9(1) 、S9(2)中有“0”时,实现异步清零功能,即 QDQCQBQA=0000。a) 置 9 功能当 S9(1) 、S9(2)均为“1”
32、;R0(1) 、R0(2)中有“0”时,实现置 9 功能,即 QDQCQBQA =1001.14 东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计19CLK10Q8B9GNDA24R()3V567UMSECLK 是时钟端,因为 ADC0809 的内部没有时钟电路,所需时钟信号由外界提供,因芯片的时钟频率最高只可工作于 640kHz ,AT89C52 晶振频率 12MHz,故本设计中由单片机 AT89C52 的 ALE 引脚经 DM74LS90N 五分频后接向该引脚。2.5 空气净化装置的工作原理在本文设计中采用活性炭的吸附跟负离子交换器来做为空气净化装置,净化原理如图 2-5-1
33、 所示。图 2-5-1 空气净化装置示意图过滤器离子交换器串离子板垫风扇活性碳图 2-4-3 DM74LS90N 与 AT89C52 和 ADC0809N 的具体连接图20活性炭表面积大,具有发达孔隙结构,有亿万以上的纳米孔,具有极强的吸附力,是竹炭等吸附力的 5 倍,具有净化空气、除湿、去味、杀菌等功效。活性炭在世界上广泛应用于生化防毒面具、制药、化学气体清除、纯净水过滤等领域,技术成熟、安全可靠,无毒性和副作用。活性炭用于吸附、净化室内装修材料及新购家俱残留的甲醛、苯、甲苯、二甲苯、氨气、氡气及总挥发性有机化合物(TVOC)等所有对人体有毒有害的气体和空气中的浮游细菌。具有吸味、去毒、除臭
34、、去湿、防霉、杀菌、净化等综合功能。有效去除室内各种异味。净化空气用的活性碳内部有发达的空隙结构和丰富的微孔组织,这些微孔组织具有强大的吸附力场,当空气中的有毒有害气体与活性炭接触时,活性炭微孔强大的吸附力场,能将有毒气有害体的分子吸附到微孔内。当利用活性炭净化空气时,为了充分发挥活性炭的功效,人们往往强迫需要净化的空气,通过由活性碳制成的滤芯装置,使污染空气能充分与活性炭接触,活性炭内部发达的微孔,就能迅速、完全、彻底地吸附空气中有毒有害气体,达到净化空气保护人体安全的目的。被吸附的有毒有害气体的分子从活性碳的微孔中释放出来的过程,叫活性碳的“脱附” ,或者叫活性炭的“再生” 。活性碳的“脱
35、附”需要在特定的设备中,通过热再生、化学洗脱、溶剂萃取再生、生物再生等复杂的工艺方法才能完成。因此,在本设备中,被吸附在活性碳微孔中的有毒有害气体分子,是不可能自己泄露出来的。负离子发生器,通过气体放电产生大量的负离子,这些负离子一方面对人体健康有直接的有益作用,另一方面负离子可以对室内环境中的污染物发生作用,使污染物浓度降低;在 AT89C52 的 P1.3 口接上空气净化装置,当 AT89C52 判断到空气质量不合格时,图 2-5-2 空气净化装置的电路连接图东华理工大学长江学院毕业设计(论文) 各模块工作原理及电路设计21使 P1.3 口输出驱动信号使其工作。SETB P1.32.6 本
36、章小结本章阐述各控制模块工作原理,具体内容分为以下几部分:(1)简单介绍了 AT89C52 (2)空气质量传感器简介及工作原理(3)对 A/D 转换模块 ADC0809N 简单介绍。(4)简单介绍了 DM74LS90N 芯片及功能(5)空气净化装置工作原理223 系统软件程序设计3.1 控制系统主程序 51 系列单片机的两个中断初始化MCS-51 中断系统的功能为:5 个(52 子系列为 6 个)中断源;2 个中断优先级,从而可实现二级中断嵌套;每一个中断源的优先级可用程序设定。与中断系统工作有关的特殊功能寄存器有中断允许控制寄存器 IE、中断优先级控制寄存器 IP 以定时器/计数器控制寄存器
37、 TCON 等。1、中断源1)外部中断 0、12)定时器/计数器 0、1 溢出中断3)串行接口中断2、中断控制1)中断允许控制:MCS-51 有多个中断源,为了便于用户灵活使用,在每一个中断请求信号的通路中设置了一个中断屏蔽触发器。中断屏蔽触发器与中断允许触发器由中断允许寄存器 IE 控制工作。IE 的每一位都可以由软件置 1 或清零。且 1中断允许,0中断屏蔽。CPU 中断允许位 EA 定时器/计数器 2 中断允许位ET2串行接口中断允许位 ES定时器/计数器 1 中断允许位 ET1外部中断 1 中断允许位 EX1定时器/计数器 0 中断允许位 ET0外部中断 0 中断允许位 EX0。2)中
38、断优先权选择:MCS-51 单片机有两个中断优先级,它是由中断优先级寄存器 IP 控制。IP 中的每一位都可以由软件来置 1 或清零,且 1高优先级,0低优先级。定时器/计数器 2 中断优先级选择位 PT2串行口中断优先级选择位 PS定时器/计数器 1 中断优先级选择位 PT1外部中断 1 中断优先级选择位 PX1定时器/计数器 0 中断优先级选择位 PT0外部中断 0 中断优先级选择位 PX0。同一优先级中的中断源优先权排队由中断系统的硬件确定,用户无法自行安排。 83、中断响应MCS-51 的 CPU 在每个机器周期的 S5P2 期间顺序采样各中断请求标志位,如有置位,且下列三种情况都不存
39、在,那么,在下一周期的 S1 期间响应中断。否则,采样的结果被取消。中断服务程序的最后一条指令必须是中断返回指令 RETI。保护现场及恢复现场的工作必须由用户设计的中断服务程序处理,有些中断请求的撤除也要由中断服务程序来实现。4、中断请求的撤除CPU 响应中断请求后,在中断返回(执行 RETI)前,必须撤除请求,否则会错误地再一次引起中断过程。对于定时器/计数器 0、1 的中断请求及跳变触发方式东华理工大学长江学院毕业设计(论文) 系统软件程序设计23的外部中断 0、1,CPU 在响应中断后用硬件清除了相应的中断请求标志TF0、 TF1、 IE0、IE1,即自动撤除了中断请求。对于串行接口中断
40、及定时器/ 计数器2 中断,CPU 响应中断后没有用硬件清除中断标志位,必须由用户编制的中断服务程序来清除相应的中断标志。对于电平触发的外部中断,由于 CPU 对 INT0、INT1引脚没有控制作用,也没有相应的中断请求标志位,因此需要外接电路来撤除中断请求信号。整套系统由软件进行实时控制,系统主程序用汇编语言编写,系统先对空气质量进行采集,并与设定标准值进行比较,当超标时系统控制声光报警且同时净化空气。系统主程序流程图如下图 3-1 所示。主程序:定时器初始化,用于读取空气质量时序 。外部中断 1:采用跳变触发方式。当 A/D 转换完毕后发出中断请求等待读取数据。 10主程序段初始化程序段S
41、TART: MOV 47H,#20 空气质量上限MOV 48H,#0 空气质量下限MOV IE,#B 开中断MOV TMOD,# 设 T0 工作方式 (T0 工作在方式 1,定时器) MOV TH0, #15H 设定定时/ 计数器初值MOV TL0, #A0SETB TR0,启动 T0 60MS 定时用于读空气质量时序24初始化空气质量采样报警是否符合标准?返回YN空气调节同步主程序流程图 3-1开始东华理工大学长江学院毕业设计(论文) 系统软件程序设计253.2 A/D 转换模块程序设计3.2.1 ADC0809N 工作原理IN0IN7:8 条模拟量输入通道,ALE 为地址锁存允许输入线,高
42、电平有效。当ALE线为高电平时地址锁存与译码器将A, B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。用于选通IN0IN7 上的一路模拟量输入。通道选择表如下表所示。C B A 选择的通道ADDC ADDB ADDA 选通输入通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。OE 为输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的
43、数据。OE 1 ,输出转换得到的数据;OE0 ,输出数据线呈高阻状态。就上述归纳:1.由控制器发出信号要求ADC0809N开始进行模/数信号的转换。2.ADC0809N 进行转换动作,转换完毕后发出中断请求等待读数。3. 由控制器发出信号以读取ADC0809N的转换资料。4. 由控制器读取数据总线上的数字转换资料。 113.2.2 A/D 转换流程图及程序 A/D 转换程序:MVT0: MOV R3, #30H R3 做为地址指针,指向存放数据的片内 RAM地址MOV R4, #78H 立即数的最低 3 位用于选择通道,做高位必须为 0 才能启动 A/D 转换器 MOVX R4, A 启动所选择通道的 A/D 转换,A 值无意义SETB EA 总开中断SETB EX1 开外部中断 1CLR F0 清采样完成标志26NEXT JBC F0,ELSE 采样标志已建起,清该标志,转 ELSESJMP NEXTELSE LJMP TRANS TRANS: MOVX A, R4 自 ADC0809 读得转换后的数字量MOV R3, A 存放片内 RAMINC R3 修改地址指针MOVX R4 ,A 启动新输入通道的 A/D 转换SETB F0