毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc

上传人:仙人指路1688 文档编号:3888867 上传时间:2023-03-26 格式:DOC 页数:33 大小:1.04MB
返回 下载 相关 举报
毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc_第1页
第1页 / 共33页
毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc_第2页
第2页 / 共33页
毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc_第3页
第3页 / 共33页
毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc_第4页
第4页 / 共33页
毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)89C52单片机系统实现煤气泄漏检测报警装置.doc(33页珍藏版)》请在三一办公上搜索。

1、 摘 要本文论述了基于测控技术的煤气泄漏检测报警装置的硬件和监控软件方案设计与实现。本系统采用了89C52单片机和四位半AD7135系统设计技术,能对传感器产生的模拟信号进行数据采集和处理。传感器方面选用了TP-2常温型CO气敏传感器,并采用了恒流源接法。此方案还为使用者提供了LED显示模块、键盘控制、大容量存储器件及蜂鸣器报警装置,使智能化程度更高、结构更紧凑、功能更丰富。 关键词:89C52 AD7135 恒流源 AbstractThis essay describes that the hardware and the monitor software projectof “the de

2、tector and alarm for the leakage of CO” which is based on measure and control technology. This system designed with sing microcomputer 89C52 and 4.5-bit AD7135, can collect and deal with the simulation signals which are created by gas sensor. Besides, we have chosen TP-normal temperature CO sensor f

3、or this system, and adopted steady current source. This system can supply user with LED display module, keyboard control, MSF, buzzer for alarm and so on. This unit has good intelligent, tightly packed structure, plentiful function, good technical hereditability and so on.KEY WORD:89C52 AD7135 const

4、ant-current source目 录绪论-(4)第一章 功能与设计方案-(5)第二章 硬件电路设计-(7)第一节89C52说明-(7)1. 总线说明-(7)2. 89C52振荡电路-(7)3. 89C52复位电路-(8)4. 89C52译码及外部扩展电路-(8)5. 存储单元电路设计-(9)第二节CO浓度检测报警电路优化设计-(10)1 传感器部分-(10)2 传感器驱动电路-(13) 3 CO检测报警电路-(13)第三节 LED显示器及接口设计-(14)1. LED显示器结构与原理-(14)2. LED显示器的接口设计-(15)第四节 A/D转换器件7135-(16)1. 原理简介-(

5、16)2. ICL7135与单片机的接口-(18)第五节 8255键盘设计-(19)1. 8255结构及引-(19)2. 8255的工作方式-(20)3. 8255键盘设计电路-(21)第三章 软件设计-(22)第一节 软件设计方案-(22)第二节 软件调试-(23) 1. 内存自检程序:-(23)2. 8255键盘中断程序-(24)3. AD7135数据处理程序-(26)4. LED显示控制程序-(27) 毕设总结-(28)附录1 相关英文资料-(29)附录2 参考文献-(33)绪 论随着科学技术的发展,工业生产规模的扩大,在生产中使用的气体原料和生产过程中产生的气体种类和数量也在增加。这些

6、气体物质中有些是易燃易爆的,有些是引起人们窒息,中毒的。煤气作为一种气体能源,在人们生产和生活中已得到越来越广泛的应用。煤气(主要成分CO)的泄漏将严重地污染环境并可能诱发爆炸及使人中毒等事故的发生。为了保证生产和生活的安全,防患于未然,就需要对其进行有效的监控。用于煤气检测的气敏传感器能将煤气的浓度情况转换成电气信号(电流或电压),根据这些电信号的强弱就可以获得空气中煤气存在状况的信息,从而通过接口电路与单片机组成自动检测、控制和报警系统。气体浓度的测量是工业测量中很重要的部分,根据采用的传感器和系统的不同,其精度相差很大,而这个装置并不要求很高的精度,这样,就使得该装置的设计简化,成本降低

7、。我们在气体浓度测量的研究和设计过程中查阅了大量的资料和成果,结合测控专业的特点,提出了能实现煤气浓度检测和报警的系统设计方案。此方案采用89C52单片机和四位半AD574系统设计技术对气体浓度模拟量信号进行采集和处理。传感器方面选用了TP-2常温型CO气敏传感器,并采用了恒流源接法。此方案还为使用者提供了LED显示模块、键盘控制、大容量存储器件及蜂鸣器报警装置,使智能化程度更高、结构更紧凑、功能更丰富。本系统的主要技术指标如下:(1) CPU: 89C52(2) 时钟频率:6MHz(3) 存储器: 32K用户RAN数据存储器 32K用户EPROM程序存储器(4) 输入信号接口电路: 四位半A

8、/D转换接口电路; 面板按键+键盘键的接口电路。(5) 输出信号接口电路: LED数码管显示电路; 蜂鸣器报警装置。(6) 气体浓度检测优化设计电路: 恒流源驱动电路; AD620信号放大电路。(7) 其它单元电路: 系统复位单元电路; 端口扩展地址译码电路。 第一章 功能与设计方案 气体浓度测量是工业测量中很重要的部分,根据采用的测量元件和测量方法的不同,其精度也不同,因而对数据采集(A/D转换)的精度也不同,对测量结果的定标要到专业的计量部门才能进行,这样就给现场测量带来了很大的不便,我们在气体浓度测量的研究和设计过程中查阅了大量的资料和成果,结合测控专业的特点,提出了能实现煤气浓度检测和

9、报警的系统设计方案。本单元采用89C52单片机和四位半AD7135系统设计技术对输出的模拟量进行数据采集和处理,并为使用者提供了LED显示模块、键盘控制、大容量存储器件及蜂鸣器报警装置,使智能化程度更高、结构更紧凑、功能更丰富。该系统的粗略框图如图1.1所示,模拟量通过传感器经过信号调理电路变为05V,再由A/D转换器变为数字信号后,送给单片机。EPROM用于存放程序和表格,RAM用于暂存数据,8255连接键盘。结构框图如下:图1.1 实用煤气检测报警装置的硬件结构 我们采用89C52单片机作为中央处理器,以27256作为外部程序存储器,从外部ROM取址时,P0口用作地址、数据分时复用总线,存

10、储器的低8位地址(A0A7)经其端口输出,ALE的下降沿将其打入74LS373锁存器锁存,与高7位地址(经由P2.0P2.6输出)形成对32K外部存储空间的寻址。软件设计方案对于软件,本系统设计的要求是设计并实现有关的监控程序和演示程序。监控程序模块组成:(1) 系统初始化程序模块(2) 键盘控制程序(3) A/D转换控制模块(4) LED显示控制模块(5) 内存检测程序演示程序流程:开始系统初始化显示数据处理AD数据采集是否按键? 否退出存储大小值设定中断扫描是图1.2 煤气检 图1.2 测报警装置软件流程图 第二章 硬件电路设计本单元采用89C52单片机和四位半AD7135系统设计技术对输

11、出的模拟量进行数据采集和处理,并为使用者提供了LED显示模块、键盘控制、大容量存储器件及蜂鸣器报警装置,使智能化程度更高、结构更紧凑、功能更丰富。该系统的粗略框图如图1.1所示,模拟量通过传感器经过信号调理电路变为05V,再由A/D转换器变为数字信号后,送给单片机。EPROM用于存放程序和表格,RAM用于暂存数据,8255连接键盘。下面较详细地叙述系统各部分。第一节 89C52说明一、总线说明 1. 地址和数据总线89C52的P0口(P0.0P0.7)和P2口(P2.0P2.7)合用,分别作为底8位和高8位的地址总线;其中P0口兼作数据总线DB0DB7。2.控制总线(主要信号) RD和WR信号

12、分别与外部存储器和各端口器件的RD和WR相连,进行相应的读/写操作控制;PSEN信号用于访问外部程序存储器(27256);EA接高,外部存储器供用户使用的地址从0000H开始;RESET信号接复位电路,用于对系统的复位。 二、89C52振荡电路89C52的XTAL1和XTAL2接石英晶体振荡器,构成时钟电路,为单片机提供6MHz的时钟频率。电路如图所示: 三、89C52复位电路 本系统采用的复位电路是上电和按键复位的组合电路。在系统加电瞬间R、C电路充电过程中产生正脉冲使单片机复位;当用户需要手动复位时,按下复位键,产生正脉冲使单片机复位,电路如图。 四、89C52译码及外部扩展电路89C52

13、外部译码采用38译码器74LS138,为存储器和各端口提供8根片选信号(译码输入线采用地址高三位(AB11AB13)和RD、WR及AB14、AB15做片选);为系统提供从8000HBFFFH共32KB的数据/程序及I/O接口器件的访问地址。具体地址分配如下:片选器件地址范围供用户使用资源CS082558000H-87FFH键盘接口电路CS1 8800H-8FFFHCS2 AD71359000H-97FFHAD转换电路CS39800H-9FFFH供用户使用CS4A000H-A7FFH供用户使用CS5A800H-AFFFH供用户使用CS6B000H-B7FFH供用户使用CS7B800H-BFFFH

14、供用户使用电路原理图如下:五、存储单元电路设计 本系统为用户提供了32K的外部数据存储器62256和程序存储器27256,现分别对它们的引脚作简要的介绍。1. 27256主要引脚介绍:A0A14:地址输入线;D0D7:三态数据总线,读或编程校验时为数据输出线,编程时为数据输入线。维持或编程禁止时呈高阻抗;: 片选信号输入线,“0”(即TTL低电平)有效;PGM: 编程脉冲输入线; : 读选通信号输入线,“0”有效;VPP: 编程电源输入线;VCC: 主电源输入线,一般为+5V;GND: 线路地。2. 62256主要引脚介绍:A0A14: 地址输入线;D0D7: 双向数据线(输出有三态);,1和

15、CE2: 片选信号输入线,1低电平有效,CE2高电平有效;: 读选通信号输入线,低电平有效;: 写选通信号输入线,低电平有效;VCC: 工作电压,+5V;GND: 线路地;/RFSH: 读选通/刷新允许控制端,输入。当此引脚为低电平时,62256数据允许输出,不允许刷新;当此引脚为高电平时,62256内部刷新电路自动刷新。62256和27256的寻址范围均为0000H7FFFH,分别由WR、RD和PSEN来控制。电路图如下所示:第二节 CO浓度检测报警电路优化设计一、传感器部分1.半导体气敏传感器的基本原理。当气体吸附到半导体气敏元件表面时,元件的电阻(或电导率)会发生变化。在气敏元件被加热到

16、稳定状态后,被检测的气体接触元件的表面而被吸附,吸附分子首先在元件表面上自由扩散(物理吸附),失去其运动能量。一部分气体分子被蒸发,另一部分残留分子产生热分解而固定在吸附处(化学吸附)。这时,如果n型半导体的功函数大于气体吸附分子的离解能,气体有吸附分子将向半导体释放出电子,而成为正离子吸附(带正电荷),供给半导体的电子将束缚着半导体本身的自由电荷中的少数电荷空穴。因此,在导带上参与导电的自由电子复合几乎减少,从而表现自由电子数增加,半导体元件的阻值减小,具有这种正离子吸附的气体称为还原性气体,如H2,CO,碳氢化合物和酒精等,如果半导体的功函数小于气体吸附分子的亲和力,则吸附分子将从半导体夺

17、取电子而变成负离子吸附,具有负离子吸附的气体称为氧化性气体,如O2和N2等。负离子吸附的气体因为夺取了半导体的电子,而将空穴交给半导体,使导带的自由电子数目减少,因此元件的电阻值增大。对于P型半导体气敏元件,情况则相反,氧化性气体使其电阻减少,还原性气体使其电阻增大。2.TP-2常温型CO气敏传感器。TP-2常温型一氧化碳传感器由SnO2多晶体及适当添加混合剂烧结而成。具有微珠式结构,电导振荡响应,极好的选择性和良好的环境适应能力,应用电路简单,本质安全等特点。用它做成的报警器完全可以达到UL2034标准,不需温湿度补偿。(1)它的工作条件如下:工作电压:3.5V6.5V工作电路:如图一 静态

18、功耗:15mW环境条件:温度-10+50,相对湿度95%初期稳定时间:15分钟检测一氧化碳浓度范围:02000ppm (2)响应特性电导振荡图二为100ppm一氧化碳气体环境 中的反应特性曲线。(3)对一氧化碳反应的敏感度:图三表示在一系列一氧化碳浓度的条件下RL电压的振荡曲线。RL 上的曲线的形状与传感器本身及供电电压有一定的关系。电源电压偏低,振荡周期加长;电源电压偏高,振荡周期缩短。在0800ppm的范围内,此元件的线性度可以从振幅和振荡的频率来判断。更高的浓度用功率谱来判断更为合理。(4) 高湿高温对传感器的影响 1999年9月23日下午5点1999年9月24日上午8点对15个样品共进

19、行了15小时的高湿高温实验(通电实验)。测试记录见表一。根据测试结果表明,此传感器可承受96%RH相对湿度、70的环境条件,但基电平升高。由于条件限制,没有测量此时的100ppm一氧化碳环境中的反应。将此15只传感器再放到正常环境中进行100ppm一氧化碳浓度的测试,测试结果同高湿高温测试前的结果相同。(5)使用中的几点建议智能化设计,其目的是为了克服传感器本身存在的以下缺点:1) 着使用时间的延长,空气中的一些灰尘吸附在传感器的表面,造成空气中电平升高,反应灵敏度降低。解决办法:升高12V的电源电压,持续5秒钟,使基础电平(空气中的电平)处于0.25V以下。2) 建立良好的控制软件,使传感器

20、:a. 始终工作在0.25V以下的电平,保持较高的灵敏度; b. 每4小时清洗一次(即提高电源电压12V,58秒钟后再回到原工作电压);c. 若多次清洗仍不能使电平降下来,作出更换传感器的报警提示。二、 传感器驱动电路 本系统采用了恒流源驱动电路,它其实是将传感器接到了一个V/I变换电路上,在输出电流恒定的情况下,通过传感器电阻值的改变,可以得到不同的输出电压,其电路如下图所示,其中传感器接于负载处。设R1R3=R2R4,则变换关系可简化为: 三、 CO检测报警电路 本系统采用了简单的蜂鸣器报警装置,电路如图所示: 第三节 LED显示器及接口设计在这一节里将详细介绍本系统的LED显示器一、 L

21、ED显示器结构与原理1. LED显示器结构LED显示器是由发光二极管显示字段组成的显示器,有7段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极被连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接地时,发光二极管被点亮,相应的段被显示。每一种LED又有不同的发光颜色。例如,BS202型中,BSG202发绿光;BS212型中,BSR212发红光,BSG212发绿光。一般的,发红光的LED每段流过的5mA的平均电流

22、,就可以有较满意的亮度,7mA电流会更亮些。10mA以上也不会再亮多少,但长期运行于10mA以上会缩短其寿命。最大电流平均值不得超过30mA。LED显示器允许的反向电压最大值为5V,此时的反向电流一般小于10A。小尺寸的LED显示器每段只有一个发光二极管,其正向压降为1.5V,一般不大于2V。大尺寸的LED显示器每段可能由数个发光二极管串联,每段压降也要增大。2. 静态显示与动态显示显示器有静态和动态两种显示方式。所谓静态显示就是需要显示的字符的各字段连续通过电流,因而所显示的字段连续发光。所谓动态显示就是所需显示的字段断续通以电流,因而其发光也是不连续的。例如,在需要多个字符同时显示时,可以

23、轮流给每一个字符通以电流,逐次把所需要显示的字符显示出来。在每点亮一个显示器后,必须持续通电一段时间,使之发光稳定,然后再点亮另一个显示器,如此巡回扫描显示器。由于巡回速度较快,每秒可重复多次(为了不闪烁,可以每秒扫描20次左右)。虽然在同一时刻只有一个显示器通电,但是由于人眼的视觉暂留现象和发光二极管的余辉效应,因此在人们看来认为每个显示器都在稳定的显示。这种巡回扫描显示器的操作要靠程序控制。动态显示的亮度随电流平均值的增大而增强,其亮度大体上等同于通过同样大的直流电流的静态显示器的亮度。3. LED显示器的接口设计本系统采用静态显示方式,静态显示时每一个接口驱动器件驱动一个显示器。用于静态

24、显示时,CPU把数据写到借口驱动电路后,CPU不需要再干预,显示器便会持续显示,因此,接口驱动电路应该有锁存数据的功能。所有TTL和COMS电路中的CD14547均无锁存功能,因此在电路设计时应附加锁存功能,而TTL器件比COMS 器件动作快。所以,我选用了TTL器件的74LS164。接口连接图如下:当串行口工作于方式0时,在“串行输入并行输出”芯片74LS164的配合下,即可通过串行口扩展89C52的输出口,其中89C52的RXD引脚接74LS164芯片的串行数据输入端,TXD引脚接74LS164芯片的移位脉冲CLK。串行数据输出过程概括如下:在发送中断标志TI为0(即无效)情况下,执行写串

25、行数据输出缓冲器SBUF指令(如MOVE SBUF,A)即可将SBUF寄存器中内容由低位到高位依次输出到RXD引脚,同时TXD引脚输出移位脉冲,使外接的串行输入并行输出芯片逐一接收来自RXD引脚上的串行数据。当8位数据发送结束后,发送中断标志TI自动置1,输出数据(即SBUF内容)也就出现在74LS164芯片的并行输出端。这样在执行写SBUF寄存器操作后,可通过查询TI标志来确定发送过程是否完成。当然,在中断处于开放状态下(串行中断允许ES为,中断允许EA为1),当TI有效时,将产生串行中断请求。不过值得注意的是CPU响应串行中断后,不会自动清除TI,需要用“CLR TI”指令清除TI,以便输

26、出新的串行数据。第四节 A/D转换器件7135ICL7135的国产型号叫CH7135.它是四位半高精度积分式ADC器件,输入为差分信号输出为BCD码,其分辨率为两万分之一,及分辨率为0.005,完全满足本系统要求,如果要进一步提高分辨率,可以对变送器进行零点迁移,使其在最关心的浓度范围内对应的输出范围变小.ICL7135内部没有时钟电路,必须全部外接,必须外接基准电压,单端输入,其基准电压为满量程的一半,其输出不是三状态的,不可直接与总线相连.ICL7135每次转换结束立即输出新的转换结果,不需特别控制,有专门的极性显示,过量程显示和欠量程显示引脚,使用起来比较方便.下面对ICL7135作详细

27、的介绍.(1) 管脚功能及有关参数选择28脚封装如下图所示: 图中:l V+ : 电源正,+5V(以数字地DGND为基准)l V_ : 电源负,-5V(以DGND为参考点)l INLO:差分信号输入负端.单端输入时,INLO可与模拟地(AGND)相连l INHI:差分信号输入正端.应保证 V+0.5(INHI和INLO)V+1V. 模拟输入信号:V1=INHIINLO的范围为0VFSl AGND:模拟地,是VREF和模拟输入基准点.l DGND:数字地,是V+和V的基准点.l VREF:基准电压接线端,以AGND为基准, VREF=VFS/2, VFS为满量程.若VFS=2V,则VREF=1V

28、,若VFS=200mV,则VREF=100mVl R/ H:运行/保持端.当R/H=1或悬空时,ICL7135连续进行A/D转换,即没40002个时钟周期开始一次A/D转换.当R/H=0时,转换一次完成后,数据被保持,直至R/H重新变为1时再开始A/D转换.l CLK:时钟脉冲输入端.l AZ:自较零端,接自动稳零电容CZ,CZ应足够大,以便减小干扰的影响,一般取1uF且选优质电容.l CR+和CR:基准电容CREF接线端,CREF应足够大,可以忽略寄生电容,一般可取CREF=1uF且选优质电容.l INT:积分器输出脚,外接积分电容CINT,一般取CINT=0.10.47uFl BUF:缓冲

29、器输出端,接积分电阻RINT,RINT=VFS/20uA,例如VFS=2V,则RINT=100K欧l BUSY:忙输出脚,若BUSY为高表示正在进行A/D转换,若为低表示A/D转换已经结束.l B8,B4,B2,B1:BCD码输出脚,B8是最高位,B1是最低位,高电平为1,低电平为0.l D5,D4,D3,D2,D1:位驱动输出脚,在一次A/D转换结束后,多次顺序在D5D1发出宽度为200个时钟周期的正脉冲,l STB:脉冲选通,在每完成一次A/D转换后,在STB端发出5个宽度为1/2时钟脉冲周期的负脉冲,每个STB脉冲分别位于第一次出现的位驱动信号D5D1的中间,因此第一个STBl 负脉冲可

30、作为结束信号.l UR:欠量程输出端,若输入模拟信号V1=INHIINLO0.179VFS(读数小于1800),则在A/D转换结束后,UR=1.l OR:过量程信号输出端,若V1VFS.则在A/D转换结束后OR=1.UR和OR供数字仪表作量程转换用.l POL:极性输出脚,当V1O时,POL=1,反之POL=0.(2) ICL7135与单片机的接口上图是本系统中所用的ICL7135与89C52单片机的接口电路,下面详细的分析该电路.ICL7135内部没有时钟发生器,必须外加时钟信号到CLK,本系统中利用计数器74LS161进行分频,VR是一个精密电源,用精密电位器将它调到1V, R1,C1端所

31、接积分电阻和电容也是精密电阻和精密电容,R/H端接高电平,芯片处于自动连续转换的工作状态,时钟电路的输出频率为1MHz,BCD码的输出端和符号位接在单片机的P1口.(3) 体会与总结 7135是一种高精度AD器件,其转换的精度与变送器有很大关系,即理论上分辨率为0.005,完全满足本系统要求,如果要进一步提高分辨率,可以对变送器进行零点迁移,使其在最关心的浓度范围内对应的输出范围小.不过这样对软件的要求比较高.7135内部没有时钟电路,必须全部外接,需外接基准电压,其基准电压是满量程的一半,本系统是通过可调电阻实现的. 其输出不是三状态的,不可直接与总线相连,本系统是通过外插接口来解决的,71

32、35除了上述接口方法外,还有一种三线制接法,即只用POL,CLK,BUSY三根线,这样在走线上是很方便的,在此,就不多介绍了。.第五节 8255键盘设计前几节已介绍了本系统用到的主要芯片,接下来在这一节里将详细介绍本系统8255键盘设计。Intel公司的8255芯片是一块通用的可编程并行接口(PPI)芯片,除地址线A1,A0外,可直接与Intel公司的8位微处理器,如MCS-51(包括兼容单片机)相应的总线直接连接,是MCS-51单片机应用系统中较常见的并行I/O扩展芯片之一.1. 8255结构及引脚功能8255A采用DPI40封装,引脚功能如下图:其中: D7D0数据总线,双向,三态,可与C

33、PU数据总线直接相连.A1,A0 地址线,输入.8255含有ABC三个8位输入/输出口和一个控制/状态寄存器,即四个可寻址的I/O端口,A1,A0地址线状态编码与这四个I/O端口的对应关系如下:地址线AI、A0编码对应的端口A1A000A口01B口10C口11控制/状态寄存器由于8255内部没有数据/地址锁存器,因此A1、A0不能直接与MCS-51的P0口相连,8255的地址线A1、A0必须接在地址锁存器,如74LS373后.CS片选信号,输入,低电平有效.当CS无效时,8255处于非选中状态,数据总线D7D0为高阻态,相当于挂接在CPU数据总线上的8255处于断开状态.WR写选通信号,输入,

34、低电平有效.当CS、WR同时有效时,可对8255的控制寄存器或输出口锁存器之一进行写操作(由地址线A1、A0编码决定)RD读选通信号,输入,低电平有效.当CS、RD同时有效时,可对8255的状态寄存器或输入口锁存器之一进行读操作(由地址线A1、A0编码决定)PA7PA0A口数据输入/输出线PB7PB0B口据输入/输出线PC7PC0C口据输入/输出线.当A、B口工作在选通方式时,C口部分引脚作为A、B口的通讯联络信号.8255内部由A、B、C三个并行口和一个控制/状态寄存器组成.其中控制寄存器主要用于设置ABC三个并行口的工作状态包括工作方式,输入还是输出.A口:作为输出口时,是一个8位的数据输

35、出锁存和缓冲器;作为输入口时,是一个8位数据输入锁存器.B口: 作为输出口时,是一个8位的数据输出锁存和缓冲器;作为输入口时,是一个8位数据输入缓存器.(即B口对输入数据不具备锁存功能).C口: 作为输出口时,是一个8位的数据输出锁存和缓冲器;作为输入口时,是一个8位数据输入缓存器.(即C口对输入数据不具备锁存功能).2. 8255的工作方式8255属于可编程的I/O扩展芯片,其工作方式由写入工作方式控制寄存器的工作方式控制字决定,如下表所示: 1b6b5b4b3b2b1b0工作方式控制字特征A口工作方式控制00(方式0)01(方式1)1x(方式2)A口输入/输出控制0(输出)1(输入)C口高

36、四位输入/输出控制0(输出)1(输入)B口工作方式控制00(方式0)01(方式1)B口输入/输出控制0(输出)1(输入)C口低四位输入/输出控制0(输出)1(输入)与A口工作方式有关的控制位A组(PC7PC4)输入/输出控制与B口工作方式有关的控制位B组(PC3PC0)输入/输出控制可见8255三个I/O口的地位不完全相同,其中A口有三种工作方式,B口有两种工作方式;而C口较特殊,被分成A(PC7PC4)、B(PC3PC0)两组,只有A、B口工作在方式0时,C口可作为输入/输出引脚使用,(PC7PC4,PC3PC0处于输入还是输出状态,分别由工作方式控制字b3、b0位决定),而当A、B口工作在

37、方式1或2时,C口部分引脚是A、B口的通讯联络信号(未用的C口引脚仍可作为输入/输出引脚使用),具体情况入下表所示.需要注意的是:当8255的I/O口引脚处于输入状态时,相当于悬空,因此一般需要外接电阻,否则读输入引脚获得的信息将不确定. C口引脚方式1(A或B口)方式2(A口)输入输出输入输出PC0INTRBINTRBPC1IBFBOBFBPC2STBBACKBPC3INTRAINTRAINTRAINTRAPC4IBFAIBFAPC5IBFAIBFAPC6ACKAACKAPC7OBFAOBFA其中:1) 当A或B口工作在方式1,且作为输入口时,PC5PC3引脚是A口的选通信号;PC2PC0是

38、B口的选通信号.各选通信号含义如下:STB输入选通信号,输入,低电平有效.该信号由外设提供,外设通过STB信号将数据锁存到A或B口输入缓存器中.IBF(Input Buffer Full) 输入缓冲满信号,输出,高电平有效,当该信号有效时,表示输入到A或B输入缓冲器内的数据未被CPU读走,外设不能再把数据输入缓冲器内,IBF接外设的输出允许控制(由于IBF是C口引脚,CPU可以通读C口信息,查询该信号的状态,确认是否需要读A、B口输入缓冲器内容).INTR(Interrupt Request) 中断请求信号,输出,高电平有效,当STB、IBF有效时,该信号有效,向CPU发出中断请求,一般接CP

39、U的中断输入端.2) 当A或B口工作在方式1,且作为输出口时,PC7、PC6、PC3引脚是A口的选通信号PC2PC0是B口的选通信号. 3. 8255键盘设计电路 键盘是利用可编程控制器8255的PC口进行扩展,键盘为44共16个键,PC0PC3作为行扫描线,PC4PC7作为列检测线,每根列检测线节+5V的电源,并且节4.7K的上拉电阻,对8255进行初始化时,设定PC0PC3为输出,PC4PC7为输入,当每个键按下去,便对应一个唯一的键值。电路如图所示: 第三章 软件设计第一节 软件设计方案监控程序模块:A 系统初始化程序模块B 键盘控制程序C A/D转换控制程序D LED显示控制程序第二节 软件调试在进行软件调试的时候,由于是在仿真机上进行,所以下面列出部分软件程序。一、 内存自检程序: ORG 0000H MOV A , #0AAH ; 0AAH 送A.B,清零FO,F1 MOV B , #OAAH CLR F0 CLR F1 MOV DPTR,#

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号