下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1引言.12设计方案与论证.13设计内容.23.1系统扩展接口的选择.23.2温度传感器与AD转换器的选择.23.3显示接口芯片.33.4设计原理及功能说明.33.5系统软件设计.43.6单元电路的设计(计算与说明).54.8086微处理器及其体系结构.84.18086微处理器的一般性能特点.8428086CP U的编程结构.94.38255A并行IO接口.94.4ADC0809概述.114.5ADC0809与8255的连接.134.6键盘/显示方式设置命令字.134.7LED显示器.145硬件的制作与调试.146结束语:.17参考文献.19附录1:元器件清单:.20附录2:电路总图.20
2、附录3:程序.2011引言为了实现计算机对生产过程及对象的控制,需要将对象的各 种测量参数按照要求转换成数字信号送入计算机。计算机运算处 理后再转换成适合于对生产过程进行控制的量。所以在微机和生 产过程之间,须设置信息的变换和传递通道。主要功能就是随时 间变化的模拟输入信号变成数字信号送入计算机,主要由 AD590 温度传感器,8088CPU,8255A,A/D 转换器和数码管显示器等组成。本实验通过设计一个微机控制的温度控制系统旨在能做到 以下几点:1了解微机控制的温度采集系统软硬件设计原理和 方法。 2进一步掌握并行接口芯片和模数转换的工作原理与使 用方法。以 8088 CPU 为核心设计
3、一个温度采集系统,系统可以实现一路温度的采集,在 3 位 LED 显示器上显示当前温度。本设计所用器件主要有传感器,A/D 转换器,8088CPU 可编 程并行接口 8255, 显示器等。首先传感器把所测的温度转换为电 压, 输入 A/D 转换器中进行转换, 然后再把得到的二进制数经过 CPU 在数码管上显示出来。本设计共分以下几个模块: 8088 主控模块、 A/D 转换模块、并 行接口模块、显示模块。2设计方案与论证采用铂电阻温度传感器的电阻与温度的关系是非线性的,用 电桥实现温度升高引起的电阻变化对应于电压的变化。经 A/D 转 换器后,送入锁存器锁存,在经译码器输出后,再在数码管上显
4、示,由于 74LS373 具有锁存功能就能实现四位的温度显示。由于铂电阻与温度的关系是非线性的,因此输出的结果测试精度较 低,并且不能达到我们对温度控制的要求。2图 2-1 设计方案3设计内容3.1系统扩展接口的选择本次设计采用的是 8086 微处理器, 选择 8255A 可编程并 行接口作为系统的扩展接口, 8255A 的通用性强,适应灵活,通 过它 CPU 可直接与外设相连接。3.2温度传感器与AD转换器的选择本系统选用温度传感器 AD590 构成测温系统。AD590 是一种 电压输入、电流输出型集成温度传感器,测温范围为-55 C150C,非线性误差在土 0。30E,其输出电流与温度成正
5、比,温度每升高1K( K 为开尔文温度),输出电流就增加 1uA0其输出 电流 l=(273+T)uA。本设计中串联电阻的阻值选用 2KQ,所以输 出电压 V+=(2730 + 10 T)MV另外,为满足系统输入模拟量进行处 理的功能,对其再扩展一片 ADC0809以进行模拟一数字量转化。3.3显示接口芯片为满足本次设计温度显示的需要, 我们选择了 8279 芯片, INTEL8279芯片是一种通用的可编程的键盘、显示接口器件,单 个芯片就能完成键盘3键入和数码管显示控制两种功能。3.4设计原理及功能说明本系统采用的是 8086 微处理器,选择 8255A 可编程并行接 口作为系统的扩展接口,
6、 8255A 的通用性强,适应灵活,通过它 CPU 可直接与外设相连接。对温度进行检测,然后通过 A/D 转换 器(ADC0809 转换成数字信号输入主机。使用 Intel8279 可编 程序的键盘、显示接口功能, 完成键盘输入和显示控制两种功能。 针对各模块的硬件功能,对各模块设定子程序,通过主程序对这 些子程序模块的调用,完成软件设计。(1)温度测量显示部分温度通过 AD590 温度传感集成芯片,将温度变化量转换成电 压值变化量,经过 OP07 级跟随后输入到电压放大电路,放大 后的信号输入到A/D 转换器将模拟信号转换成数字信号,然后将 该数字信号通过然间编程转化为十进制 BCD 码,并
7、送到 8279 进 行温度值的显示。4图 3-1 主程序流程图3.5系统软件设计本设计的目的是以 8086 微处理器为控制器,将温度传感器 输出的小信号经过放大和低通滤波后,送至 A/D 转换器;微控制 器实时采集、显示温度值(要求以摄氏度显示),同时系统还应 可设定、控制温度值,使系统工作在设定温度。通过开始界面,显示提示信息,调用温度子程序,设置温度。 通过模数转换器采集 AD 值并求其平均值。调用 BCD 码转换子程 序将其转换为十进制温度值;调用显示子程序,如果温度高于实 际温度,就加热,反之拨动开关关闭,停止加热。在此过程中, 还可以重复设置温度值。5(1)BCD码转换子程序设定温度
8、为 0 摄氏度时变换放大电路送出的模拟量为 0.0V , 此时A/D 输出的数字量为 00H;温度为 68C 时变换器送出对应电 压 4.98V, 此时A/D 输出的数字量为 FFH 即每 0.3 C 对应 1LSB 的变化量,对应电压值为19.5mA 报警温度设定为 68C,此时, 输出电压约为 5.0V 左右。(2)温度值设置子程序为了避免加热温度过高,在程序设计中加了一条,即设定值不能大于 68E,否则就认为有错系统报警。3.6单元电路的设计(计算与说明)(1)温度检测系统温度信息由温度传感器测量并转换成微安级的电流信号,经 过运算放大电路将温度传感器输出的小信号进行跟随放大,输入 到
9、A/D 转换器(ADC0809 转换成数字信号输入主机。数据经过 标度转换后,一方面通过数码管将温度显示出来;另一方面,将 该温度值与设定的温度值进行比较,调整电加热炉的开通情况, 从而控制温度。在断开电加热器,温度仍然异常,报警器发出声 音报警,提示采取相应的调整措施。(2)温度测量部分AD590 是 AD 公司生产的一种精度和线度较好的双端集成传 感器,其输出电流与绝对温度有关, 对于电源电压从 5-10V 变化 只引起 1uA 最大电流的变化或 1 摄氏度等效误差。图 4-1 给出了 用于获得正比于绝对温度的输出电流的基本温度敏感电路。AD590 输出的电流 匸(273+T)uA(T 为
10、摄氏温度)。6因此测量的电压 V 为(273+T)uAX 10K= (2.73+T/100 ) V, 为了将电压测量出来,又务必使电流 I 不分流出来。使用电压跟 随器使其输出电压V2 等于 V。由于一般电源供应多器件之后,电源是带杂波的,因此使用 稳压二极管作为稳压元件,再利用可变电阻分压,其输出电压 V1 需调至 2.73V。差动放大器其输出 V0 为(100K/10K)X (V2-V1)=T/10,如 果现在为摄氏 28C,输出电压为 2.8V。输出电压接 AD 转换器,那么 AD 转换输出的数字量就和摄 氏温度成线性比例的关系。图 3-3 ADC0809 与 8255 的连接模拟输入通
11、道地址 A,B,C 直接接地,因此 ADC0809R 对通道IN0 输入的电压进行模数转换。为了减少输入噪声其他通道直接7图 3-4 8086 的可编程外设接口电路8255 的数据口 D0-D7 与 CPU 勺 6 根控制线相连接,控制 8255A 内部的各种操作。控制线 RESET1 来使 8255A 复位。CS 和地址线 A1 及 A0用于芯片选择和通道寻址。 分别与 8086 的高位地址线 A19, A1,A0 相连接。数据显示部分中我们采用功能强大的可编程设置型显示器8279 来对控制温度和实际温度进行显示。我们用 8 段数码管显示。8279 显示功能介绍:8279 内部有 16X8
12、的显示 RAM 通过显示寄存器和两个四位端 口 0UTA0-3,0UT B0-3 来刷新显示,显示器可以是 8 段数码管,8图 3-5 电路工作原理:AD 转换器将转换结果由十六进制转换为十进制后分别存储在 54H,55H,56H,57H,58H,59H. 中。8279 连接一个 74ls38 译码器, 经过译码再接 6 个 8 段数码管分别显示每个存储单元的内容4.8086微处理器及其体系结构4.1 8086微处理器的一般性能特点(1) 16 位的内部结构, 16 位双向数据信号线;(2) 20 位地址信号线,可寻址 1M 字节存储单元;( 3 )较强的指令系统;( 4)利用第 16 位的地
13、址总线来进行 I/O 端口寻址,可寻址 64K 个 I/O端口;( 5)中断功能强,可处理内部软件中断和外部中断,中断源可达 256 个;(6)单一的+ 5V 电源,单相时钟 5MHzA Fll 31API nALilO貝 8*07-.er-装!-!員匸口WJCL.l I1fa-Ji Jtal ar i牛:.I_ r iJ- !-.L -L L i严产产产r|j_d942 8086CPU的编程结构ZT图 4-1 8086/8088CPU 内部功能结构图编程结构:是指从程序员和使用者的角度看到的结构,亦可 称为功能结构。从功能上来看,8086CPU 可分为两部分,即总线 接口部件 BIU( Bu
14、sIn terface Unit )和执行部件 EU (Execution Unit)。4.3 8255A并行l0接口8255A 芯片内包含有 3 个 8 位的端口,它们是 A 口,B 口和 C 口。这 3 个端口均可作为 CPU 与外设通讯时的缓冲器或锁存器, 当需要“状态”或“联络”信号时,C 口可以提供,此时,将 C 口的高 4 位为 A 口所用,C 口的低 4 位为 B 口所用。3 个端口通 过各自的输入/输出线与外设联EQ凹位地址协法器AMkL胡BLCHCL口HDLSP皿PSIDC【运算奇存:IT输岀揑制电路外都总樓16ALU|标志寄有器F匸指令队列10系。并行输入/输出端口: 一个
15、并行输入/输出的 LSI 芯片,多功 能的 I/O器件,可作为 CPU 总线与外围的接口。具有 24 个可编 程设置的 I/O 口,即使 3 组 8 位的 I/O 口为 PA 口,PB 口和 PC 口。 它们又可分为两组 12位的 I/O 口,A 组包括 A 口及 C 口(高 4 位, PC4PC7) B 组包括 B 口及 C 口 (低 4 位, PC0PC3。 A 组可设置 为基本的 I/O 口, 闪控 (STROBE的 I/O 闪控式,双向 I/O3 种模 式;B 组只能设置为基本 I/O 或闪控式 I/O两种模式,而这些操 作模式完全由控制寄存器的控制字决定。8255 引脚功能:RESE
16、T 复位输入线,当该输入端处于高电平时,所有内部寄 存器(包括控制寄存器)均被清除,所有 I/O 口均被置成输入方 式。CS:芯片选择信号线,当这个输入引脚为低电平时,即 贡=0 时,表示芯片被选中,允许 8255 与 CPUS 行通讯;可=1 时,8255 无法与 CPU 做数据传输。RD 读信号线,当这个输入引脚为低电平时,即 矿=0 且矿=0 时,允许 8255 通过数据总线向 CPU 发送数据或状态信息,即 CPU 从 8255 读取信息或数据。WR:写入信号,当这个输入引脚为低 电平时,即而厂二。且C=0 时,允许 CPI 将数据或控制字写入 8255。D0- D7:三态双向数据总线
17、,8255 与 CPU 数据传送的通 道,当CPU 执行输入输出指令时,通过它实现 8 位数据的读/写 操作,控制字和状态信息也通过数据总线传送。PA0-PA7:端口 A 输入输出线,一个 8 位的数据输出锁 存器/缓冲器,一个 8 位的数据输入锁存器。PB0-PB7:端口 B 输入输出线,一个 8位的 I/O 锁存器,一个 8 位的输入输出缓冲器11PCSPC7 端口 C 输入输出线,一个 8 位的数据输出锁 存器/缓冲器,一个 8 位的数据输入缓冲器。端口 C 可以通过工 作方式设定而分成 2个 4 位的端口,每个 4 位的端口包含一个 4 位的锁存器,分别与端口 A 和端口 B 配合使用
18、,可作为控制信号 输出或状态信号输入端口。A0 A1:地址选择线,用来选择 8255 的 PA 口,PB 口,PC 口和控制寄存器。当 A0=0, A1= 0 时,PA 口被选择;当 A0=0, A1=1 时,PB口被选择;当 A0=1, A 仁 0 时,PC 口被选择;当 A0=1。 A1=1 时,控制寄存器被选择。4.4 ADC0809概述ADC0809 是采样分辨率为 8 位的、以逐次逼近原理进行 模数转换的器件。其内部有一个 8 通道多路开关,它可以 根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中 的一个进行 A/D 转换。(1)ADC0809的主要特性1)8 路输入通道,8
19、 位 A/D 转换器,即分辨率为 8 位。2)具有转换起停控制端。3 )转换时间为 100 卩 s4 )单个 5V 电源供电5 )模拟输入电压范围 0+ 5V,不需零点和满刻度校准。6 )工作温度范围为-40+ 85 摄氏度 7 )低功耗,约 15mW(2)ADC0809的内部逻辑结构由下图可知, ADC0809 由一个 8 路模拟开关、一个地址锁存与 译码器、一个 A/D 转换器和一个三态输出锁存器组成。多路开关12可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字量,当 0E端为高电平时,才可以从三态输出锁存器取走转
20、换完的数据(3)外部特性(引脚功能)ADC0809 芯片有 28 条引脚, 采用双列直插式封装,下面说明 各引脚功能。IN0IN7: 8 路模拟量输入端。2-12-8 : 8 位数字量输出端。ADDA ADDB ADDC 3 位地址输入线,用于选通 8 路模拟输 入中的一路ALE 地址锁存允许信号,输入,高电平有效。START A / D 转换启动脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动 A/D 转换)。EOC A/D 转换结束信号,输出,当 A/ D 转换结束时,此 端输出一个高电平(转换期间一直为低电平)tknitlItIInnn
21、oDH4比巳地 址2 朋in怖图 4-2 ADC0809 的内部逻辑结构13OE 数据输出允许信号,输入,高电平有效。当 A/D 转换结 束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK 时钟脉冲输入端。要求时钟频率不高于 640KHZREF( +)、REF (-):基准电压。Vcc:电源,单一+ 5V。GND 地。4.5 ADC0809与8255的连接模拟输入通道地址 A,B,C 直接接地, 因此 ADC0809R 对通道 IN0 输入的电压进行模数转换。为了减少输入噪声其他通道直接 接地。ADC0809勺数据线 D0-D7 与 8255 的 PB0-PB7 相连接。 其片
22、选 CS 与 8086 的地址/数据总线 AD14 相连接。4.6键盘/显示方式设置命令字命令格式:D7 D6 D5 D4 D3 D2 D1 D0000DDKKK其中:D7、D6 D5=000 方式设置命令特征位。D D ( D4 D3):来设定显示方式,其定义如下: 00: 8 个字符显示,左入口00: 16 个字符显示,左入口00: 8 个字符显示,右入口00: 16 个字符显示,右入口 所谓左入口,即显示位置从最左- 位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列; 所谓右入口,即显示位置从最右一位(最低位)开始, 以后逐次 输入的显示字符时, 已有的显示字符逐个向左顺序移动。
23、KKK (D2、D1、D0):用来设定七种键盘、显示工作方式144.7 LED显示器工作原理:发光二极管组成的显示器事单片机应用产品中最 常用的廉价输出设备。它由若干个发光二极管按一定的规律排列 而成。当某一个发光二极管导通时,相应的一个点或一个比划被 点亮,控制不同组合的二极管导通,就能显示出多种字符。常见 LED 数码管的两种接法如图 3.8 所示。Dr r cDR罚31*91 D图 4-3 7 段 LED 数码管的两种接法通过控制管脚 a、b、c、d、e、f、g、dp 的电平即可获得所 需的符号显示。显示器的工作方式有两种,一种是静态显示:当 显示器显示某一个字符时,相应的发光二极管恒定
24、地导通或截 止。另一种事本次设计中采用的动态显示方式:所谓动态显示即 一位一位轮流的点亮各位显示器,对于每一位显示器来说,每隔 一段时间点亮一次。但由于时间间隔很小,我们就可以看到完整 的显示了。5硬件的制作与调试通过前一部分的介绍说明,我们对系统的工作情况有了大体 的了解。为了进一步了解系统的工作过程, 介绍一下系统调试过 程及调试过程中出现的一些具体的问题,软件仿真图(在仿真软15件上运行,只是电路的一部分,通过硬件可以制作出来)。 按照要求,在仿真软件中画出一部分电路图:如下图 通过电路的设计与链接在仿真软件中即可运行,在其中运行 的时候要注意操作,通过 TPC2003 EMU 中运行后
25、得到.exe 文件, 按照要求运行.J-甘冲-卜心乐心图 5-1 数据显示部分实验调试软件运行于 DOC 环境下,其步骤如下:三耳,m I: 16一、根据硬件图和原理图连接好线路。二、在 PC 机上敲入程序,对其进行的查错,编译,连接,最后 生成可执行文件。三、接上电源,敲入可执行文件的文件名,系统就开始了工作过 程 0图 5-2 硬件原理图1) 这是 DO(屏幕上会出现的一些提示信息,如ENTER ANY KEY TO BEGIN!LET PA0=0 TO ADJUST THE TEMPERATURE VALUE!LET PA0=1 TO INPUT ANEW TEMPERATURE VAL
26、UE!这里后两条只作注释用。2) 然后敲任意一个键,系统就开始进行温度测量和显示,屏幕上就会显示INPUT THE TEMPERATURE:在这一条信息之后敲入一温度值。注意这里敲入的温度值不4?I0. B17能大于 76 摄氏度,否则屏幕将会显示INPUT VALUE ERROR!并返回 DOC (以后重新设定温度时也是如此)3)在正常情况下,敲入设定温度后系统就开始进行控制调 节,当实际温度小鱼设定值时,系统就开始进行加热,如果不加 改变,它就会加热一直稳定到设定的温度值;如果这是想重新设 置一温度,只要把 8255 的PAO 读取拨动开关拨到 1,屏幕上就会 显示: INPUT A NE
27、WTEMPERATURE: 这里又得注意一下,在敲入一个新的设定温度之前,得先把 PAO 读取拨动开关拨到 0,否则,在敲完设定温度之后,屏幕上又会 显示同样一条信息。 因为它是根据 PA0 是 0 还是 1 来决定是去重 新输入设定温度还是去调节温度。如果不先把PA0 拨为 0,它就是一直让你输入却不进行调节。6结束语:本设计采用的 8086 微处理器实现温度的控制。 具有体积小、重量轻、抗干扰能力强、 对环境要求不高、 价格低廉、 可靠性高、 灵活性好、易于推广应用等显著优点,通过软件逻辑控制实现对 温度的控制和调节。温度控制系统,只是 8086 广泛应用于各行 各业中的一例。本设计中应用
28、了许多与微机接口技术的芯片和常 用的外部设备, 芯片如:ADC080, 9 8255等。外部设备如:温度 检测元件 AD590 键盘和显示系统中的 LED 显示器等。该系统的 主要优点如下:一、 本系统本着简单可靠的原则完成了设计要求,尽量做到 线路简单,充分利用软件编程,安装比较灵活而且价格较低。二、 在系统的硬件和软件设计中,都加有安全设计部分,避 免加热过高造成设备的损坏。最后,通过这次设计,我发现还有很多知识并不牢固,因此 在以后的18学习中更应该多了解并掌握微机原理与接口技术的相 关知识,熟练掌握使用汇编语言编程实现微机芯片的控制, 多积 累经验为以后的工作打好基础,最后感谢王清珍老
29、师的帮助与指 点,对此我深表谢意。19参考文献1戴梅蕚 微型计算机技术及应用2007清华大学出版社2何克忠 计算机控制系统2002清华大学出版社3朱善君 汇编语言程序设计1998.3清华大学出版社4颜永军 protel99电路设计与应用2001.1国防工业出版社5康华光.电子技术基础(模拟部分).高等教育出版社.2006.16何希才.传感器及其应用电路M.北京:电子工业出版社,2001.7沙占友.智能化集成温度传感器原理与应用M.北京:机械工业出 版社,2002.8赵继文.传感器与应用电路设计M.北京:科学出版社,2002.9张洪润、刘秀英、张亚凡等单片机应用设计200例M北京:航 空航天大学
30、出版社,2006.20附录1:元器件清单:传感器,A/D 转换器,8086|8088CPU 可编程并行接口 8255A芯片,LED 显示器(7SEG-MPX2-CC),74LS138 锁存器,8279 等附录2:电路总图附录3:程序QS18B20.ASM;* DS18B20g.ASM *;不用定时中断,用8253方式0延时,时钟1MHZ计一个数1us*5ioport equ 0ec00h-0280hio8255k equ ioport+28bh ;8255控制口io8255c equ ioport+28ah ;8255 C口io8255a equ ioport+288h ;8255 A口io8
31、253a equ ioport+283h ;8253控制口io8253b equ ioport+280h ;8253计数器0CS1 alrl.二F * o.Tr :liz MiJBIElxmM325-MiraOUTS讥ElUATILOTtJCLDGAI IQOTHJ d c J pk:kfi-1- 2 i I -1 71! *MPJ益肚PJL器nFrFPBPBPB旳Hpt-fLKE盟55TF21STACK SEGMENTSTA DB 20 DUP (?)TOP EQU LENGTH STASTACK ENDSDATA SEGMENTCSREG DW ?IPREG DW ? count0 db
32、00COUNT db 00COUNT1 DB 00COUNT2 DB 00qf db 0ehTEMP DB 00 ;温度,8位TEMPL DB 00 ;温度,低字节TEMPH DB 00 ;温度,高字节TEMPD DB 00 ;温度,小数位MESS DB 8253A TIMERO IN MODEO0 10uS TIMER,0AH,0DHDB 8255 IN MODEO PA0 INPUT PC4-PC7 OUTPUT,0AH,0DHDB Strike any key, to convert temperature!,0AH,0DHDB Strike ESC key, return to DOS
33、!,0AH,0DH,$ buff db 20hBUFF1 DB 20hbuff2 db 20hbuff3 db 20hbuff4 db 2ehbuff5 db 20h;172DATA ENDSCODE SEGMENT22ASSUME CS:CODE,DS:DATA,SS:STACKSTART: CLIMOV AX,DATAMOV DS,AXMOV DX,OFFSET MESSMOV AH,09HINT 21H ;显示提示信息MOV DX,io8255k ;8255初始化MOV AL,91HOUT DX,AL ;8255 PA0 IN PC7-PC4CALL INI ;初始化MOV AH,0CC
34、H跳过读ROM命令CALL WRITEMOV AH,4EH ;写暂存器命令CALL WRITEMOV AH,32H ;写高温度值50度CALL WRITEMOV AH,00H ;写低温度值0度CALL WRITEMOV AH,1FH ;写配置字节CALL WRITEKEY: MOV AH,01H ;查有否键入INT 16Hjz keyMOV AH,00 ;有键入,读取键值INT 16H23CMP Al,1BHJZ sss ;ESC退出CALL INI ;初始化MOV AH,0CCH跳过读ROM命令CALL WRITEMOV AH,44H ;温度转换命令CALL WRITE conv: MOV
35、DX,io8255kMOV AL,0eH ;PC7清另OUT DX,AL nop nopMOV DX,io8255kMOV AL,0fH ;PC7置1OUT DX,ALconv1: call delay1 ;延迟50ms call delay1MOV DX,io8255kMOV AL,0fH ;PC7置1OUT DX,ALCALL INI ;初始化MOV AH,0CCH跳过读ROM命令CALL WRITEMOV AH,0BEH ;读暂存器命令CALL WRITECALL READ ;读两个字节MOV TEMPL,ahCALL READMOV TEMPH,ahMOV AL,TEMPL ;合成一个
36、十六位字MOV CL,04SAL AX,CL ;左移四位24and ah,7fhMOV TEMP,AH ;温度值整数部分jmp jjjsss: jmp exitjjj: MOV BUFF,2BH ;+AGN: MOV AH,TEMPLAND AH,08H ;温度值小数部分JZ AGN1MOV BUFF5,35H ;.5JMP AGN2AGN1: MOV BUFF5,30H ;.0AGN2: mov dl,buff mov ah,02 int 21h call disp ;显示mov dl,0dh mov ah,02 int 21h movdl,0ah mov ah,02 int 21hJMP
37、KEY ;恢复现场,返回DOSEXIT: MOV AX,4C00HINT 21H;延时子程序,延时时间长短由COUNT勺值决定25DELAY: push ax pushfMOV DX,io8253aMOV AL,30H ;定时器0,模式0,16 OUT DX,ALMOV DX,io8253bMOV Al,count ;8253 clk0 1MHZ OUT DX,ALMov al,count0 Out dx,alMOV DX,io8255c lll: in al,dx and al,01h jz lll popf popax RETQS18B20初始化子程序INI: MOV DX,io8255k
38、 MOV AL,0eHOUT DX,AL ;PC7置0口清0MOV COUNT0,02h mov count,0bchCALL DELAY ;主机发复位脉冲持续700微妙MOV COUNT0,00 mov count,00MOV DX,io8255kMOV AL,0fHOUT DX,AL ;主机置位,为输入作准备MOV COUNT0,00 mov count,28h CALL DELAY ;等待40微秒MOV COUNT,00 ini1: MOV DX,io8255aIN AL,DXAND AL,80HJNZ INI ;数据线应变低,若没变低,重来。;数据线变高,初始化成功;初始化失败,重来L
39、2:MOV COUNT0,02h mov count,0bchCALL DELAY QS18B20勺应答过程至少需700mov count0,0026MOV COUNT,00MOV DX,io8255kMOV AL,0fHOUT DX,ALRET;写DS18B2子程序WRITE PROC NEARMOV COUNT1,08HW0:MOV DX,io8255kMOV AL,0fHOUT DX,AL ;PC7清1 w1: MOV DX,io8255kRE1:27MOV AL,0eHOUT DX,AL ;PC7置0QS18B20数据线变低nopnopSHR AH,01JC W2MOV DX,io8255kMOV AL,0eHOUT DX,AL ;PC7置0,写0JMP W3W2: MOV DX,io8255kMOV AL,0fHOUT DX,AL ;PC7清1,写1W3: MOV COUNT0,00mov count,46hCALL DELAY ;延时70微秒,写时间为70微秒MOV COUNT,00MOV DX,io8255kMOV AL,0fHOUT DX,ALDEC COUNT1JNZ W1RETWRITE ENDP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025技术授权代理合同样本
- 2025青岛汽车买卖合同
- 2025搬运工劳动合同模板
- 2025瓷砖买卖合同范本
- 2025求职季签订劳动合同的技巧
- 2025版循环借款合同范本
- 2025版房屋买卖合同范本
- 2025餐厅合伙合同协议书范本
- 2025新版商业办公场地租赁合同
- 2025年公司年终总结会的策划方案
- 2024年陕西咸阳杨陵区招聘社区专职工作人员考试真题
- 江西洪城水业环保有限公司面向社会公开招聘工勤岗工作人员【28人】考试笔试备考试题及答案解析
- 2025年郑州登封市公共交通运营有限公司社会招聘工作人员35人考试笔试备考试题及答案解析
- 期中模拟卷试题-2025-2026学年六年级上册数学人教版
- 2025-2026学年鲁教版(五四学制)(2024)初中英语七年级上册(全册)各单元知识点梳理归纳
- 2025甘肃金川集团股份有限公司财务和审计一般管理岗位成熟人才社会招聘27人考试参考试题及答案解析
- 河北省农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(典优)
- 古树就地保护及移栽服务方案投标文件(技术方案)
- 流感应急预案卫生院
- 全国大学生职业规划大赛《新能源汽车技术》专业生涯发展展示【高职(专科)】
- 酒店英语情景对话口语完整教程
评论
0/150
提交评论