《微机原理与接口技术课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大棚环境指标监测器系别:信 息 系 专业班级:自动化姓名; 学号: 指导教 师: 设计日期: 2010-6-29微机原理与接口技术课程设计课程设计任务书学生姓名:专 业班级:自 动化 l 班指导教师:工作单位:信息系题目:大棚环境指标监测器设计条件:G)工作电压: 5v;测温精度: 土o.s c; 测湿精度: 土 5.0 RH ;设计要求:G)选择适当的芯片, 画出原理电路图; 选择元器件的型号及参数,并列出材料清单; 画出安装布线图; 拟 定 调试内容及步骤, 画出测试电路及记录表格;要求完成的主要任务:设计大棚环境监测系统,使其对农业大棚中自动测擢温度,湿度。时间安排:第1天, 查找资料。
2、第2天, 进行分析计算。第3天, 进行系统分析。第4天, 调整与测试。第5天, 撰写课程设计报告。2学生姓名: 课程设计(论文)工作起止日期指导教师签字 教研室主任审查签字 系主任批准签字 专业班级: 日 期 : 日期 日 期 : 摘要 4弓I 言 5l 基 础 理 论 知 识 61.18253 的 功 能 61.1.1 方 式 0 计 数 结 束 后 输 出 由 低 变 高 , 即 产 生 中 断 61.1.2. 方 式 1 可 编 程 的 单 拍 脉 冲 71.1.3. 方 式 2 分 频 脉 冲 发 生 器 71. 1.4. 方 式 3 分 频 方 波 发 生 器 81.1.S. 方 式
3、 4 软 件 触 发 选 通 81.1.6. 方 式 5 硬 件 触 发 选 通 脉 冲 发 生 器 81.2整 流 电 路 91.2.18255A的 工 作 方 式 91.3ADC0809 功 能 101.48259 功 能 102、 系 统 设 计 112.1系 统 原 理 112.2芯 片 的 初 始 化 132.2.1.8255初 始 化132.2.2.8259初 始 化 1 42.3系统功能的实现162.3.1中断设置 1 62.3.2 数 据 采 集 162.3.3 中 断 服 务 操 作 173 系 统 剖 析 174、 原 件 清 单 185、 小 结 与 体 会 18参 考
4、文 献 19附录 1:电 路 连 接 图 203摘要在微型计算机及应用中futel 系列的8253、8259、8255 以及 ADC0809在现实生活中都有很广泛的应用。我们运用它们可以设计大棚环境监测系统,使其在 农业大棚生产中发挥意想不到的作用。当温度或者湿度超限时,进行光提示; 两者同时超限时, 进行光声提示,并采取提前设置的相应的措施(可根据季节进行调整)。 同时,为了实现当大棚内工作人员发现条件异常时,能够通过手动方式向监测室工作人员提供相应提示,系统设置手动提示按钮和接触提示按钮也是必 要的。关键字:血el82 53; futel8255; 血el8259; ADC0809; 大棚
5、环境指标; 监测系统4引言:衣业是我国经济、社会发展的基础。农业大棚生产是一种应经被广泛应用的 一种特殊的生产方式,这种生 产 方 式打破时 间 与地域的差距,但是大棚的环境指标要求比较严格,其中湿度、温度是影响作物产量的最重要的因素。我们可以用 己学的微机原理与接口技术课程中介绍的芯片设计一种大棚内的环境检测器。I 11tel 系列 的 8253 是 常 用 的 可编程 定时 计数 器,它通过编程来控制电路的定时值及定时的范围, 功能强 , 使用 灵活 。在 计 算机系统中,定时中断、定时检测、定时扫描等等都是用可编程定时器来完成定时控制的lrltel8259A 时被广泛使用的可编程中断控制
6、器,它用来管理 CPU 的可屏蔽中断请求。血el8255A 是微机配套的通用可编程并行接口芯片,具有三个可编程端口 ( A 端口、B 端口、C 端口)。ADC0809 时 NSC 公司生产的 8 路模拟输入逐次逼近型 AID 转换器,它采用 CM OS 工艺,另外,还有 8 通道多路转换器和 3 位地址锁存和译码器,以实现对 8路输入模拟撮 INO IN7 的选择。运用以上芯片可以实现对农业中大棚中某些环境指标的监测, 并且 可以设计完整的监测系统根据实际情况采取相对合理的措施。在实现电气化与农业的结合的过程中,数字化 走进农 业生产便是 一种 表 现形式。在 我国 , 电 子产品在农业生产中
7、的开发与应用能力还在初级阶段。我们大学生应该倡导电子产品在农业生产方面的应用,为祖国的信息化农业做出自己的贡 献。51 .基础 理论知识1.18253的功能血el 8253- PIT, 即可编程间隔计数器有3 个独立的 16 位计数器每个计数器都可以按照二进制或者 BCD 码进行计数, 计数速率可达 2MHz, 每个计数器有6 种工作方式,可编程设置和改变。血el8253 可以广泛应用在方波发生器、分频器、实时时钟、事件计数等方面。8253 内部有三个计数器,分别成为计数器 0、计数器l 和计数器2, 他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制 字,互相之间工作
8、完全独立。每个计数器通过三个引脚和外部联系,一个为时钟 输入端CLK, 一个为门控信号输入端 GATE, 另一个为输出端OUT。每个计数器内部有一个8 位的控制寄存器,还有一个16 位的计数初值寄存器CR、一个计数执行部件CE 和一个输出锁存器OL。执行部件实际上是一个 16 位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的 输出锁存器的值是通过程序设置的。输出锁存器OL 用来锁存计数执行部件 CE 的内容, 从 而使CPU 可以对此进行读操作。顺便提一下, C R 、 C E 和 OL 都 是 1 6 位寄存器,但是也可以作 8 位寄存器来用。8253 内部结
9、构:数据总线缓冲器A0A枣CLK。 G AT E。OUT。CLK , GATE, OUT1CLK2 GATE2OUT 2图 1 8253 内部结构图1.1.1. 方式0 计数结束后输出由低变高,即产生中断8253 用作计数器时一般工作在方式0。所调计数结束产生中断,是指在计数值减到0 时,输出端 ( OUT) 产生的输出信号可作为中断申请信号,要求 CPU 进行相应的处理。方式0 有如下特点: 当控制字写进控制字寄存器确定了方式 0 时,计数器的输出(O UT 端口) 保持低电平。当写入计数初值时,计数器开始减一计数。在计数过程中 OUT 保待低电平。当计数器减到0 时输出端OUT 才由低变高
10、。适应于向C P U发送中断请求。6 计数器只记一遍数。当计数到 0 时, 不回复计数值,不重复开始计数, 且输出一直保持高电平。只有在写入新的数值时,OUT 才变低电平, 并 开始新的计数。 GATE 为计数控制门,方式 0 的计数过程可由GATE 控制暂停,即 GATE - 1 时,允许计数; GATE= O 时 ,停止计 数。GATE 信号的变化不影响输出OUT 端口的状态。 计数过程中,可重新装入计数初值。如果计在数过程中, 重 新写入某一计数初值, 若是 8 位计数,则在写完新计数值后,计数器将从该值重新开始作减l 计数; 若是 16 位计数,在写入第一个字节后,计数器将停止计数,在
11、写入第 二个字节后,计数器按照新的计数值开始计数。1.1.2. 方式1 可编程的单拍脉冲可编程的单拍负脉冲又称为单稳态输出方式,简称单稳定时。方式l 的特点是:G 写入控制字后, 计数器输出OUT 端为高电平作为起始电平, 在写入计数值后计数器并不开始计数,而要由外部门控GATE 脉冲上升沿启动,并在上升沿之后的下一个CLK 输 入脉冲的下降沿开始计数。GATE 上升沿启动计数的同时, 使输出 OUT 变低,每来一个计数脉冲,计数器作减一计数,直到 计数减为 0 时, OUT 输出端再变为高电平。假设计数初值为N , 则OUT 端输出的单拍脉冲宽度为N 个 CLK 时钟脉冲周期。 如果在计数器
12、未减到0 时,不用送计数值,可再次由 GATE 脉冲启动。由下一个时钟脉冲开始,计数器将从初始值重新作减 l 计数。当减至0 时,输出端又变为高电平,输出脉冲宽度的单拍脉冲 在计数过程中, 可 改变计数初值, 此时计数过程不受影响。如果再次触发启动,计数器将按新的输入的 计数值计数。)在计数器未到0 时,如果GATE 再次启动,则计数初值将重新装入计数器,并重新开始计数。1.1.3. 方式2 分频脉冲发生器方式2 是一种具有自动予置计数初值N 的脉冲发生器。从 OUT 端可以输出连续脉冲信号,脉 冲宽度等于时钟脉冲周期,而计数初值N 决定了输出端两个负脉冲之间的宽度即输出脉冲周期。方式2 也叫
13、N 分频器,因为输出脉冲为输入脉冲的N 分频,即出现N 个输入脉冲才输出一个脉冲。方式2 有如下特点:G 当写入控制字后OUT 端输出为高电乎作为起始电乎,在 写入计数值N 后将立即自动开始对输入脉冲CLK 计数,输出端仍一直为高; 当 计数器减到1 时, 输出变低,计数器减到0 时又变为高,计数器 重新按己写入的计数值N 继续计数,周而复始,在 O U T 端 输出一个N 分频脉冲, 其正脉冲宽度为 ( N- l ) 个输入脉冲时钟周期(是N 个 CLK 时钟脉冲周期之和), 而负 脉冲输出宽度(持续时间)是一个 CLK 脉冲周期。(在方式2 下,不但高电平的门控信号有效,上升 跳变的门信号
14、也是有效的。)7 N 分频计数器, 这种方式是输出对输入脉冲按计数器计数初值N 分频后的连续脉冲信号。 GATE用于控制计数, GATE=l, 允许计数; GA T E= O, 停 止计数。因此, 可以用 GATE来使计数器同步。 )在计数过程中可以改变计数值,这对正在进行的计数没有影响。但计在数到1 时输出变低 , 经过一个C L K周期后又变高,计数器将按照新的计数值计数。1.1.4. 方式 3 分频方波发生器方式3 的特点是:O方式3 常用千波特率发生器。输出为方波或近似方波的矩形波, 若计数为N , 则输出方波的周期为N个 CLK 脉冲的宽度。 写入方式3 控制字后输出为高电平。写入计
15、数值后计数器自动开始对输入 CLK 脉冲计数,输出 OUT 仍保待为高; 在计数完成一半时, 输出OUT 变为低电平, 且到计数为 0 时,输出 OUT 又变为高电乎, 并重复 上述计数过程 。 若计数值 N 为偶数时,OUT 方波的占空比为1: 1; 若N 为奇数, 其占空比为: ( N + l ) / 2: ( N-1) /2即输出分频波高电平宽度为( N+l ) /2 CLK 周期,低电平周期为 ( N-1 ) /2 CLK 周期。 GATE信号能使计数过程重新开始。GATE=l 允许计数,GATE=O 禁止计数。停止后O U T 将立即变为高点平,当G A T E 再次变为高后,计数器
16、将自动装入计数值,重新开始计数。1.1.5. 方式 4 软件触发选通方式4 是类似于方式0 的工作方式,计数器是靠置入新的计数初值这个软件操作来触发计数器工作的,故称为软件触发。方式4 有如下特点:方式4 是靠写入计数值来进行软件触发的一次性有效的 选通脉冲发生器。写入控制字后输出端 OUT 变为高,并一直保待。在写入计数初值之后开始计数,当计数到0 时输出端OUT 变为低,维待一个CLK 周期后又恢复为高,并一且保待为高, 直到再次写入计数来进行“软件触发,再才次能开始 若 GATE=l,允许计数; GATE=O, 停 止计数。 在计数过程中,如果改变计数值,则按新计数值从新开始计数。如果计
17、数值是I 6 位, 则在设 置第一个字节时停止,在设置第二个字节后,按新的计数值开始计数。1.1.6. 方式 5 硬件触发 选通脉冲发生器方式5 有如下特点:O 方式5 类似于方式 4, 所不同的是GATE端输入信号的作用不同。方式5是硬件触发,是在外部硬件发出门控 信号后才发生的8 方式5 是靠门控脉冲GATE的上升沿来进行触发的选通脉冲发生器。写入控制字后输出端OUT 为高,这是初始电平; 写 入计数值后计数器并不开始计数,而要由门控脉冲GATE上升沿触发后才开始计数,计数到 0 输出由高变低, 一个 CLK 时钟周期后又恢复为高,并一直保待,直到下次门控脉冲触发再次开邯一议人岛8始计数。
18、 在此方式中,计数器可重新触发,在任何时候,当 GATE 信号的上升沿到来,将把计数初值重新送入计数器,然后开始计数过程。1.28255 功能Intel8255A 是微机配奎的通用可编程并行接口芯片,具有三个可编程 端口( A 端口、B 端口、C 端口),每个端口 8 条线,共 24 条 I/0 引脚, 也可分 2 组工作,每组 12线,并有三种工作方式。芯片的 主要技术性能如下:输入 、 输出电平 与TTL 电平完全兼容。时序特性好。部分位 可以直接置 “ l /置 “ O , 便 于 实现控制接口使用。单一的5V 电源82 55A 的内部结构:L,PA n .陀寸正 8255A内 鄱 结
19、钩 媪 田忧,权 心图 28 255 内部结构图1.2.18255A 的工作方式8255A 有三种 工作 方 式 : 基 本输入输出方式、单向选通输入输出方式和双向选通输入输出方式。9(1 ) 方式 0: 基本输入输出方式在方式 0 下, A 端口、B 端口和 C 端口都 可提供简单的输入输出操作, 对每个端口不需要固定的应答联络信号。工作在方式0 时,在程序中可以直接使用输入命令 ( IN) 和输出命令 ( OUT) 指令对个端口进行读写。方式0 的基本定义是2 个 8 位的端口和2 个 4 位端口。任何一个端口都可以作为输入或输出,输出的数据可以被锁存,输入的数据不能锁存。方式0 常用千与
20、外设无条件数据传送或查询方式数据传送。( 2 ) 方式1: 单向选通输入输出方式方式 l 是一种带选通信号的单方向输入输出工作方,式其特点是: 与外设传送数据时,需要联络信号进行协 调,允许用查询或中断方式传送数据。由于C 端口的 PCO, PCl 和 PC2定义为B 端口工作在方式l 的联络信号线, PC3, PC4 和PC5 定义为A 端 口工作 方式l 的联络信号线,因此只允许A 端 口 和B 端口工作在方式1。为了能实现用中断方式传送数据,在 8255A 内 部 设有一个中断允许触发器INTE, 当触发器为 “ 1” 时允许中断,为 “ O 时 禁止中断。( 3 ) 方式 2: 双向选
21、通输入输出方式在双向的传输中, 8 255A 可以向外设发送数据,同时CPU 通过这8 位数据线有接收外设的数据是方式 1 输入和输出的组合,即同一端口的信号线既可以输入又可以输出。方式 2 的基本定义是,只能适用于 A 端口, 一个 8 位的双向端口( A 端口) 和1 个 5 位的控制端口( C 端口)A 端口的 输入和输出都可以被锁存。 5 位的控制端口用来传送 8 位双向端口的控制和状态信息。当 A 端口 工作方式2 时,由 PC7 PCO作为8 位数据线,因为要由C 端 口对 A 端口 进行控制,所以称为带选通的双向传输方式。在此方式下,C 端 口 中有 5 位 PC7 PC3 作为
22、 控制信号和状态信息使用,剩下的 3 位 PC2 PCO 仍 可以作为基本I/ 0 线, 工作在方式0。当控制字的DO 位为 1 时 ,PC2 PCO 作 输入; 当 控制字的 DO 位为 0 时 ,PC2 PCO 作输出。需要注意的是: 输入和输出公用一个中断请求线 PC3, 但中断允许触发器有两个, 即输入中断允许触发器为 INTE2, 由 PC4写入设置, 输出中断允许触发器为 INTEl , 由 PC6 写入设置。1.3ADC0809 功能ADC080 9 是采样频率为8 位的、以逐次逼近原理进行模一数转换的器件。其内部有一个8 通道多路开关, 它可以根据地址码锁存译码后的信号,只选通
23、 8 路模拟输入信号中的一个进行AI D 转换。1.48259 功能In t el 8259A 时 被广泛使用的可编程中断控制器,它用来管理CPU 的 可屏蔽中断请求。8 259A 的 主要功能如下:1 0O一片8259A 可以 且接接受并管理 8 级可屏蔽中断请求,即可以且接管理8 个中断源,级联方式下不用附加电路就可以管理64 级可屏蔽中断元源, 并具有优先权判决优先控制。能为中断源提供中断向翟码。对每一级中断进行屏蔽控制。具有多种工作方式,并可通过编程来加以选择。8259 内部结构图如下:DOINTAINT三内内剖注袒钊逻辑部 数 据 总 线A国石芦阴挡犁复回 犁侣杆沁h 骂中断屏蔽宅存
24、 器 IMR 阳 38259内部结构阳2系统设计2.1 系统原理该系统设计主要是围绕对In t el 8255、8253、8259 以及 ADC0809 应用展开的。首先,通过传感器采集外界信号,将湿 度和温度等非电学量信号转化成电信号。只将温度传感器所检测到的模拟信线号通过ADC0809的I N0 I N7 的8 路模拟输入通道输入到 ADC0809, 然后通过 D0 D7 将转换后的 8 位数字撮输出到 8255 的PAO PA 7, 即将数字信息输入 8255 进行锁存。同时, 82 55 通过B 组控制电路部分通道向 ADC0809的 ADDC ADDA 引脚 输入信号,控制8 路桢拟
25、开关的3 位地址选通端,以选择对应的输入通道。8255的 C 端口、ADC0809的 OE 受到EOC 的作 用( 转化结束信号控制输出允许信号, 并将此信号输入到8255 中)。8255 的 C 端口的 一低位输入缓冲器需要接收度传感器的信号,C 端口的高位需要作为数据输 出器作为环境调节器的启动信号,并控制8253 的计数器0 和计数器2 的门控信号。另外,Al 、 AO 配合其他引脚进行对8255 进行端口操作,即实现对寄存器选择和操作。II8253 的通道0、通道 1 和通道 2 均工作在工作方式3, 即方波发生器。通道0 和通道2 所接受的计数脉冲输入设为1MHz。通道 0 的脉冲输
26、出作为通道 1 的输入脉冲, 同时 , 始终 保持通道1 的门控信号为高电平,使其一直工作 ,以此达到对单一指标(温度或湿度信号)的监测目的,实现光信号提示。输入端口 2 主要作用是对湿度和温度同时满足条件时进行声音提示。另外, Al 、 AO 配合其他引脚进行对8253 进行端口操作,即实现 对寄存器选择和操作。系统的另外一部分是实现手动调节部分主要是由 In t e l 8259 完成,因为 它是具有可编程功能的中断控制器。8259 拥有8 个中断申请器I RO I R7,因此可以通过手动开关对中断控制器的中断请求锁存器进行控制。电路连接图可见附录 l 。8255 的端口地址范围: 80W
27、83 H8 253 的端口 地址范围: 4 0 H8 259 的端口 地址范围: 2 OH43H2 l H8255ADC0809温度传感器湿度传感器外界响应设备下图是 我所设计系统的原理框图:8259数 据 总 线 解除警报信男II 手动提示信驾图 4系统框图8253upc122.2 芯片的初始化2.2.18255 初始化8255A 的 三个独立端口 A 端 口、 B 端口、C 端口, 它们彼此独立,都是 8 位的数据口,用来完成和外设之间的信息交换。A 端口对应一个8 位的数据输入锁存器和一个8 位的数据输出锁存器和缓冲器。因此,A 端口 适合用在双向的数据传输场合,用 A 端 口传 送数据
28、,不管是输入还是输出,都可以锁存。B 端口、C 端口分 别是由一个8 位的数据输入缓冲器和一个8 位的数据输出锁存器和缓冲器组成。一次用 B 端口和C 端口传输数据作输出端口时,数据信息可 以实现锁存功能; 而用作输入端口时, 则 不能对数据实现锁存。A 端口和B 端口常用作独立的输入口和输出口,而C 端口常用来配合A 端口和B 端口的工作使用。C 分成两个 4 位的端口,这两个4 位的端口分别作为A端口和B端口的控制信号和输入状态信号使用。控制电路分为 A 组控制电路和B 组控制电路。A 组控制电路控制A 端口和C 端口的高4 位 ( P C 4 P C 7 )。B 组控制电路控制B 端口和
29、C 端口的低 4 ( P CO p C 7 ) 由它们内部的控制寄存器接收 CPU 输出的方式控制命令字, 还接受来自读写控制逻辑电路读写命令,根据控制命令决定 A 组合B 组的工作方式和读写操作。8 255A 的 A, B, C 三个端口的工作方式是在初始化编程时,通过向8255A 的 控制端口写入控制字来设定的。8255A 由编程 写入的控制字有两个: 方式控制字和C 端口置位复位控制字。方式控制字用于设置端口 A, B, C 的工作方式和数据传送方向; 置位复位控制字用于设置C 口的 PC7 PCO 中某 一条口线PCi ( i = 0 7 ) 的电平。 两个控制字公用一个端口地址,由控
30、制字的最高位作为区分这两个控制字的标志位。( 1 ) 8255A 工作方式控制字的格式DO: 设置 PC3 PCO 的数 据传送方向。DO= l 为 输入; DO= O 为 输出。Dl : 设置B口的数据传送方向。Dl = l 为 输入; Dl = O 为 输出D2: 设置B口的工作方式。D2 = 1 为方式l ; D2 = 0 为 方式0。D3: 设置 PC7 PC4 的数据 传送方向。D3 = 1 为输入; D3 = 0 为 输出。D4 : 设置A 口的 数 据传送方向。D4 = 1 为 输入; D4 = 0 为 输出。D6 D5 : 设 置A 口的 工作方式。D6D5 = 00 为方式0
31、, D6D 5 = 01 为方式1 , D6D5= 10 或 11 为方式 2。D7 : 方式控制字的标志位,恒为1。( 2) C 端口口置位复位控制字的格式8255A C 口置位复位控制字用千设置C 口某一位口线PCi ( i = 0 7 ) 输出为高电平(置位)或低电平(复位),对各端口的工作方式没有影响。D3 Dl : 8 种状态组合000 111 对应表示 PCO PC7。DO: 用 来设定指定口线PCi 为高电 平还是低电平。当D0 = 1 时 ,指定口线PCi输出高电平; 当 DO= O 时, 指定口线PCi 输出低电平。13D6 D4 没有定义,状态可以任意,通常设置为O. D7
32、 位作为标志位,恒为 0。例如,若把PC2口线输出状态设置为高电平, 则 置位复位控制字为 00000101B。( 3) 8255A 初始 化编程8255A 的 初始 化编程比较简单,只需要将工作方式控制字写入控制端口即可。另外,C 口置位复位控制字的写入只是对C 口 指定位输出状态起作用,对 A 口和 B 口的工作 方式没有影响,因此只有需要在初始化时指定 C 口某 一位的输出电平时, 才写入C 口 置位复位控制字。初始化思路为:G)地址确定控制字确定初始化程序按照系统要求对 8255进行初始化, 具体程序如下:MOYAL, 91H; 设置 8255工作方式, 输出方式0OUT83H,ALM
33、OYAL, OOH; C 端口初 始化OUT82H,AL2.2.28259 初始化8259A时 可编程控制器,它通过对控制字的编程控制,来初始化来控制初始化和控制 8259A 工作方式,使其完成规定的功能。CPU 对 8259A 的 控制命令分为两类: 初始 化控制字 ( I C W ),从工作命令字 ( OCW) 。 8259A共有 7 个控制字, 其中 4 个是初始化控制字,3 个是操作控制字。8259A 的编程分为 两部分: 一是初始化程序,它是通过初始化控制字来完成对 8259A初始 状态的设定,在计算机加电初始化时有 BIOS 完成的: 而是操作方式的编程,它是通过操作命令字控制82
34、59A的 工作方式,操作命令字可在 8259A 初始化 后的任 何时间 写入。按照系统要求,8259A的初始 化程序为:MOY AL, 13H,初 始 化 8 259IClllOUT20H, ALMOYAL, 08H送中断类型码基值OUT21H, ALMOYAL, ODH一般中断结束方式OUT21H, AL2. 2. 32583 B勺卒刀女台七14按照系统需求 8253需是通道 0、通道 1、通道 2, 工作在方式三, 即 方波发生器。要使用 8253, 必须首先对其进行初始化,初始 化主要有两种方法 :G)对每个计数器分别进行初始化,先写控制字,后写数值。如果是16 位的,则先写地8 位再写
35、高8 位。先写所有计数器的方式字, 再写各个计数器的计数值。如果是16 位的,则先写地8 位再写高8 位。8253加电后的工作方式不确定, 必须经初始化编程 后, 才能正常工作。初始化编程:O 先写入控制字, 写入计数初值, 工作后, 可随时读取计数值,)一般先将计数值锁存在通道内 的锁存器中然后可分两次读取 16位的计数,根据系统要求,应将计数器0, 计数器l 和计数器2 设置为方式3, 即方波发生器。计数器2 需输出频率为 2KHz 的方波, 由 于输入为 1沺 z, 计数器取自时钟发生器的输出的2期 z 的时钟脉冲,其重复周期为 T=l/ 2MHz=O. 5 s, 而输出方 波 周 期
36、为 TO=l / 2 KHz=O. 5ms , 因 此 计 数 器 2 初 值 设 置 为 你釭f o=2MHz/ l KHz=2000 。而且由系统获得的信息有 8253 的端口地址范围是40H43H:在方波的产生之前对8253进行初始化的程序如下:MOV MOVOUTDX, 43H AL, 36HDX, AL;设置控制字00110110(计数器 0、方式3, 写两个字节)输出计数器0 的控制字,计数器 0 以二进制工作在方式3MOVAX, OOH;设置计数初值OUT40H,ALMOVAL, lOHOUT40H,ALMOVAL, 77H;设置 8253 计数器l 方式控制字OUT43H,AL
37、MOVAL, OOH;8253设置计数初值OUT41H, ALMOVAL, lOHOUT41H, ALMOVAL, 0B7H设置 8253 计数器2 方式控制字OUT43H,ALMOVAL, OOH设置 8253 计数器计数初值OUT42H,ALMOVAL, 0 5H15OUT4 2H,AL2. 3 系统功 能的 实现根据系统 需要,对各芯片进行编程操作,以实现系统的实际功能。主要包括: 中断设置、 数据 采集 、中 断 服 务 操作。具体程序如下:2. 3 .1中断设置MOVAH,25H; 置中断向蔷MOVAL,08H; 中断类型号为入I 参数MOVBX,SEGKEYBINT: DS: DX
38、 指向 4 字节地址MOVDS,BXMOVDX.OFFSET KEYBINT INT21HMOVAH,25H MOVAL,09HMOVBX,SEG KEYAINT MOVDS,BXMOVDX.OFFSET KEYAINT INT21HSTI2.3.2 2数据采集MOYAL, OOL选 ADC0809 模拟噩输 入通道 号OUT81H, ALLOP:MOYAL, 09H置 PC4= 1, 锁存 模拟播通道选择号OUT83H, ALNOPMOYAL, 08H置 PC=O, 启动AI D 转换OUT83H, ALLOPl :INAL, 82H读 8255C 端口, 查询 EOCTEST AL, OlH J ZLOPlINAL, 80H读 AI D 转换结果CMPAL, 7AH判断是 否高于上限JAABOVEINAL, 82H; 判断湿度传 感器是 否产生提示信号TESTAL, 02H JNZTSMOYAL, OEH16OUTJMP8 3H,ALL OPABOVE:INAL,82HTESTAL, 0 2LJZTSMOYAL,OFOH启动提示信号发生器及调节设备OUT8 2H,ALJMPL OPTS:MOYAL,OFH光信号提示OUT8 2H,ALJPML OP2.3.3 中断服务操作K