




已阅读5页,还剩130页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章MCS-51单片机系统的并行扩展技术,5.1单片机并行扩展概述5.2外部存储器的扩展5.3并行I/O接口的扩展5.4键盘与显示器的接口技术5.5并行A/D和D/A转换器接口,第5章MCS-51单片机系统的并行扩展技术,内容提要:本章学习MCS-51单片机的并行扩展技术。首先介绍并行扩展的原理和常用芯片,然后详细给出程序存储器扩展、数据存储器扩展、I/O口扩展、8155综合扩展、8279键盘和显示器扩展、并行A/D和D/A扩展的原理和具体应用实例。,5.1单片机并行扩展概述,5.1.1单片机的外部扩展总线5.1.2系统扩展常用芯片5.1.3系统扩展的寻址方法,5.1单片机并行扩展概述,单片机扩展系统框图,5.1.1单片机的外部扩展总线,单片机的外部扩展总线:MCS-51单片机内部有地址总线、数据总线和控制总线,内部部件的运行和操作要依靠这三种总线。在进行系统扩展时,需要利用这三种总线把外部芯片与单片机连接为一体。,5.1.1单片机的外部扩展总线,单片机的并行总线,5.1.1单片机的外部扩展总线,单片机系统扩展所用到的控制线主要有如下几根:ALE:作为低8位地址锁存的选通信号;#PSEN:作为扩展程序存储器的读选通信号;#RD,#WR:作为扩展数据存储器和外接I/O口芯片的读、写选通信号。,5.1.2系统扩展常用芯片,系统扩展常用芯片:1.锁存器锁存器在地址扩展中的作用就是锁存地址。地址锁存器可使用带三态缓冲输出的8位锁存器74HC373,常简称74373或373。,5.1.2系统扩展常用芯片,74HC373芯片引脚图,74HC373常用连接方法,5.1.2系统扩展常用芯片,系统扩展常用芯片:2.缓冲/驱动器由于单片机功率有限,故每个I/O管脚的驱动能力有限。因此,为驱动负载,往往采用缓冲/驱动器。74HC245是常用的数据缓冲/驱动器,也简称245,其输入阻抗高,输出阻抗低,具有三态缓冲功能,5.1.2系统扩展常用芯片,74HC245引脚图,74HC245常用接法,5.1.2系统扩展常用芯片,74HC245的真值表,5.1.2系统扩展常用芯片,系统扩展常用芯片:3.译码器译码器有变量译码器、代码译码器和显示译码器等,在此仅介绍用作地址译码的变量译码器。常用译码器有74HC138和74HC139等。,5.1.2系统扩展常用芯片,74HC245的读写操作原理图,5.1.2系统扩展常用芯片,74HC138引脚图,74HC139引脚图,5.1.3系统扩展的寻址方法,系统扩展的寻址方法:系统扩展的寻址方法是指当单片机扩展了存储器、I/O接口等外围接口芯片之后,寻找这些芯片的地址的方法。包括:1.线选法寻址2.译码法寻址,5.1.3系统扩展的寻址方法,线选法寻址的单片机接线图,5.1.3系统扩展的寻址方法,线选法寻址地址分配表,5.1.3系统扩展的寻址方法,译码法寻址的单片机接线图,5.1.3系统扩展的寻址方法,线选法寻址的单片机接线图,5.2外部存储器的扩展,单片机可以根据需要在片外扩展程序存储器和/或数据存储器,本节介绍采用并行总线结构进行扩展的方法。,5.2外部存储器的扩展,5.2.1程序存储器扩展5.2.2数据存储器扩展,5.2.1程序存储器的扩展,程序存储器扩展:MCS-51单片机的程序存储器为只读存储器,目前使用最多的是EEPROM存储器芯片,EPROM芯片已很少采用,但其使用方法和EEPROM相同。这些存储器的型号有:EPROM:2716,2732,2764,27128,27256,27512;EEPROM:2864,2817等。,5.2.1程序存储器的扩展,扩展2K程序存储器的单片机系统,5.2.1程序存储器的扩展,地址线连接:2716的存储容量为2k8bit,需11位地址(A10A0)进行存储单元的选择。为此先把芯片的A7A0与地址锁存器的低8位地址输出对应连接,剩下的高位地址(A10A8)与P2口的P2.2P2.0相连。数据线的连接:程序存储器的数据输出引脚与P0口对应连接。控制信号线的连接:单片机的外部存储器选通信号#PSEN与2716的#OE端相接,以便进行存储单元的读出选通。,5.2.1程序存储器的扩展,片选线的连接:本例采用线选法,选取高位地址线P2.7作为芯片选择信号,与2716的#CE端相连。扩展芯片的地址范围:最低地址:当A0A10取值为00000000000时;最高地址:当A0A10取值为11111111111时。该连接方式程序存储器的地址范围是0000H07FFH,同时,0800H0FFFH、1000H17FFH、,也是其地址范围。这种地址范围重叠是由线选法造成的。,5.2.2数据存储器的扩展,数据存储器扩展:MCS-51单片机的数据存储器分为片内存储器和片外存储器,它们占用不同的地址空间。片外数据存储器最大可扩展64KB,一般采用静态RAM型芯片进行扩展。在51单片机系统中,可以用做数据存储器的芯片主要是静态存储器,常用芯片有2K8位的RAM芯片6116,16K8位的RAM芯片62128,32K8位的RAM芯片62256,64K8位的RAM芯片62512等。,5.2.2数据存储器的扩展,单片机扩展外部数据存储器原理框图,5.2.2数据存储器的扩展,扩展2K数据存储器的单片机系统,5.3并行I/O接口的扩展,MCS-51单片机共有4个8位并行I/O,这些I/O口一般不能完全供用户使用。但是在有些情况,即使4个I/O口全部外用,也不能满足要求。此时,需要对单片机应用系统进行I/O口的扩展。在MCS-51单片机中,扩展的I/O口采取与数据存储器相同的寻址方法。所有扩展I/O口以及通过扩展I/O口连接的外设均与片外数据存储器统一编址。扩展I/O口所用芯片主要有通用可编程I/O芯片和TTL、CMOS锁存器、缓冲器芯片等。,5.3并行I/O接口的扩展,5.3.1简单的I/O扩展5.3.25.3.2可编程I/O接口电路的扩展,5.3.1简单的I/O扩展,简单的I/O扩展:扩展I/O口的数据一般挂在数据总线上,即连接到P0口,I/O口的选通一般由地址线译码得到。常用的I/O口扩展芯片有373、573、377、245、244、273、367等。,5.3.1简单的I/O扩展,简单的I/O扩展,5.3.1简单的I/O扩展,上图采用74HC245作扩展输入、74HC373作扩展输出的简单I/O扩展电路。图中,P0为双向数据线,既从74HC245输入数据,又向74HC373输出数据。要求实现如下功能:任意按下一个键,对应的LED发亮,例如,按K0则LED0发亮,按K1则LED1发亮等。则编写程序如下LOOP:MOVDPTR,#0FEFFH;数据指针指向扩展I/O口地址MOVXA,DPTR;从245主动读数据,检测按钮MOVXDPTR,A;向373输出数据,驱动LEDSJMPLOOP;循环,5.3.2可编程I/O接口电路的扩展,可编程I/O接口电路的扩展:可编程序接口是指其功能可由计算机的指令来加以改变的接口芯片。可编程I/O接口芯片可通过编程来执行多种不同的接口功能,因此使用十分灵活。常用的可编程接口芯片有可编程计数/定时器8253、可编程串行接口8250、可编程并行接口8255和8155、可编程中断控制器8259等。下面以MCS-51单片机中常用的8155为例来说明可编程接口芯片的使用:,5.3.2可编程I/O接口电路的扩展,8155片内资源有:256字节的静态RAM;两个可编程的8位并行IO口PA、PB;一个可编程的6位并行IO口PC;一个可编程的14位定时/计数器;,5.3.2可编程I/O接口电路的扩展,8155的引脚分布,8155的结构框图,1.8155引脚功能,5.3.2可编程I/O接口电路的扩展,地址数据线:AD0AD7AD0AD7是8位地址线和数据线共用输入/输出口,它应与51单片机的P0口相连。8155是专为Intel单片机设计的I/O扩展芯片,因此,其接口线也采用了地址/数据复用结构,连接时将其复用总线直接连接到51单片机的P0口,将其ALE信号与51单片机的ALE信号连接即可。端口线:PA0PA7、PB0PB7、PC0PC5其中:PA0PA7、PB0PB7用于8155与外设之间传送数据。PC0PC5既可用于8155与外设之间传送数据,也可作为A口、B口的控制信号线。,5.3.2可编程I/O接口电路的扩展,地址锁存线:ALE在ALE的下降沿,8155将单片机P0口输出的低8位地址信息及#CE、IO/#M的状态都锁存至内部寄存器。因此,单片机P0口输出的低8位地址信号不需外接锁存器。RAM或I/O口选择线:IO/#M当IO/#M=0时,选中8155的片内RAM,AD0AD7为RAM的地址(00HFFH)或数据;当IO/#M=1时,选中8155片内3个I/O端口以及命令/状态寄存器和定时/计数器。AD0AD7为I/O口地址,其分配如表5-6所示。,5.3.2可编程I/O接口电路的扩展,片选线:#CE:若#CE为低电平,选中本芯片。读、写线:#RD、#WR。控制对8155的读、写操作。定时/计数器的脉冲输入、输出线:TI、TO。TI是外界向8155输入计数脉冲信号的输入端,TO是8155向外界输出脉冲或方波的输出端。,5.3.2可编程I/O接口电路的扩展,8155口地址分布,5.3.2可编程I/O接口电路的扩展,2.8155的工作方式与基本操作8155可作为通用I/O口,也可作为片外256字节RAM及定时/计数器使用,在各种不同工作方式下的操作分述如下。片外256字节RAM操作在这种工作方式,将IO/#M引脚置为低电平,这时8155内部的RAM只能作片外RAM使用,其寻址范围由片选线#CE(高位地址译码)和AD0AD7决定,应与应用系统中其它的片外数据存储器统一编址。使用“MOVX”指令对片外RAM进行读/写操作。,5.3.2可编程I/O接口电路的扩展,作扩展I/O口使用8155作扩展I/O口时,IO/#M引脚置为高电平,这时PA、PB、PC口分别占用端口地址1、2、3(设地址无关位为0时),参见表5-6。8155的I/O工作方式选择是通过对8155内部命令寄存器送命令字来实现的。命令寄存器由8位锁存器组成,只能写入不能读出,它占用端口地址0,参见8155口地址分布表。命令字每位定义如下表所示。,5.3.2可编程I/O接口电路的扩展,8155的命令寄存器格式,5.3.2可编程I/O接口电路的扩展,PA:A口数据传送方向设置位。0:输入;1:输出。PB:B口数据传送方向设置位。0:输入;1:输出。PC1、PC2:C口工作方式设置位。具体方式如表5-8所示。IEA:A口的中断允许设置位。0:禁止;1:允许。IEB:B口的中断允许设置位。0:禁止;1:允许。TM2、TM1:计数器工作方式设置位。其具体方式如表5-9所示。,5.3.2可编程I/O接口电路的扩展,C口工作方式,5.3.2可编程I/O接口电路的扩展,定时器/计数器命令字,5.3.2可编程I/O接口电路的扩展,8155的状态字,5.3.2可编程I/O接口电路的扩展,INTRn:中断请求标志。此处n表示A或B。INTRn=1,表示A口或B口有中断请求;INTRn=0,表示A或B口无中断请求。BFn:口缓冲器空/满标志。BFn=1,表示口缓冲器已装满数据,可由外设或单片机取走;BF=0,表示口缓冲器为空,可以接收外设或单片机发送数据。INTEn:口中断允许/禁止标志。INTEn=1,表示允许口中断;INTEn=0,表示禁止口中断。TIMER:计数器计满标志。TIMER=1,表示计数器的原计数初值已计满回零;TIMER=0,表示计数器尚未计满。,5.3.2可编程I/O接口电路的扩展,端口操作A口寄存器和B口寄存器有完全相同的功能,可工作于基本I/O方式或选通I/O方式。C口可工作于基本I/O方式,也可作为A口、B口选通方式工作时的状态控制信号线。当8155设定为方式1和方式2时,A口、B口、C口均工作于基本输入/输出方式,由“MOVX”类指令进行输入/输出操作,设定为方式3时,A口定义为选通输入/输出,由C口低3位作A口联络线,C口其余位作I/O线,设定为方式4时,A口、B口均定义为选通输入/输出方式,由C口作为A口、B口的联络线,其逻辑组态下图所示。C口工作方式及每位的关系见下表。C口在不同方式下的定义和功能是不同的。,5.3.2可编程I/O接口电路的扩展,逻辑组态,5.3.2可编程I/O接口电路的扩展,C口的工作方式,5.3.2可编程I/O接口电路的扩展,INTRA、INTRB分别为A、B口的中断请求输出线,高电平有效。当8155的A口或B口缓冲器接收到设备输入的数据或设备从缓冲器中取走数据时,中断请求线INTR升高,向CPU请求中断;CPU对8155的相应I/O口进行一次读/写操作后,INTR自动变为低电平。BF为I/O口缓冲器标志输出线。缓冲器存有数据时,BF为高电平,否则为低电平。#STB为设备选通信号输入线,低电平有效。,5.3.2可编程I/O接口电路的扩展,I/O口设定为输出口时,仍可用对应的口地址执行操作,读取输出口的内容;设定为输入口时,输出锁存器被清除,无法将数据写入输出锁存器。所以每次通道由输入方式转为输出方式时,输出端总是低电平。8155复位时,清除所有输出寄存器,3个端口都为输入方式。,5.3.2可编程I/O接口电路的扩展,作定时/计数器用8155的可编程定时/计数器在功能上与MCS-51内部的定时/计数器是相同的,但是在使用上却不完全相同。见图5-21。具体表现在如下几点:(1)8155的可编程定时/计数器实际上是一个14位减法计数器,它只有一种固定的工作方式,即14位计数;(2)其不论是定时还是计数工作,都由外部提供计数脉冲,由TI端输入,使用时需注意芯片允许的最高计数频率;(3)计满溢出时,由TO端输出脉冲或方波,输出波形通过软件可定义为4种形式。,5.3.2可编程I/O接口电路的扩展,定时/计数器寄存器,5.3.2可编程I/O接口电路的扩展,M2、M1位输出方式定义,5.3.2可编程I/O接口电路的扩展,使用时,先把计数初值和输出方式装入定时器的两个寄存器。计数初值(长度)为23FFFH之间的任意值,然后通过命令寄存器的最高两位控制计数器的启动和停止。以计数值是8为例,所谓单次方波,是从启动计数开始,前4个计数输出1电平,后4个计数输出0电平。若计数值是奇数,则1电平比0电平多一个计数值。当计数器正在计数时,允许装入新的计数方式和长度,但必须再向定时器发一个启动命令。硬件复位后,停止计数,应注意重新发启动命令。,5.3.2可编程I/O接口电路的扩展,单片机与8155接口电路,5.4键盘与显示器的接口技术,5.4.1键盘接口技术5.4.2显示器接口技术5.4.3典型键盘/显示器接口实例5.4.3可编程键盘/显示器接口8279,5.4.1键盘接口技术,计算机键盘有全编码键盘和非编码键盘两种。全编码键盘由硬件逻辑来提供与被按键对应的编码,它一般还具有去抖动和多键、串键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供输入按键连接电路,其它工作靠软件来完成,它具有经济实用的特点,目前在单片机应用系统中多采用这种办法。本节将介绍非编码键盘接口。,5.4.1键盘接口技术,1.键盘工作原则,键盘通过接口电路与CPU相连,CPU可以采用查询或中断方式了解有无按键输入并检查是哪一个键按下,并根据输入的键号转入执行该按键的功能程序,执行完毕又返回到原始的查询或等待中断的状态。,5.4.1键盘接口技术,键开关状态的可靠输入,按键大都是利用机械触点的开合作用,机械触点在闭合及断开瞬间,由于其弹性作用的影响有一个抖动过程,从而使电压信号也出现抖动,抖动时间长短与开关的机械特性有关,一般为5ms10ms。按键的稳定闭合时间,由操作人员的按键动作所确定,一般为十分之几秒至几秒。为了保证CPU对按键的一次闭合仅作一次键输入处理,必须去除抖动影响,这个过程称为去抖。去抖通常有硬件和软件两种方法。硬件方法通常可在按键的输出端加入R-S触发器或单稳态电路。软件方法通常可在检测到有按键按下时,执行一个延时程序,然后再检查该按键以确认它是否处于闭合状态。,5.4.1键盘接口技术,对按键进行编码以得到键值或直接给出键号,一个完善的键盘控制程序应能完成下述任务:1)监测有无键按下;2)有键按下时,若无硬件去抖电路,则软件上应延时去抖;3)有可靠的逻辑处理办法,如多键锁定,即一段时间只处理一个键,其间任何按下又松开的键不产生影响;不管一次按键持续有多长时间,仅执行一次按键功能程序;4)输出确定的键号以满足跳转指令要求。,5.4.1键盘接口技术,2.独立式按键工作原理,独立式按键电路,5.4.1键盘接口技术,3.行列式键盘工作原理,行列式键盘电路,5.4.1键盘接口技术,4.键盘的工作方式,键盘的工作方式一般有编程扫描和中断扫描方式两种。编程扫描方式是利用CPU在完成其它工作的空余,调用键盘扫描程序,来响应键输入要求。在执行键功能程序时,CPU不再响应键输入要求。该方式通常需要定时查询。为了提高CPU的利用率,可采用中断扫描方式,即只有在键盘有键按下时,发中断请求,CPU响应中断请求后,转中断服务程序,进行键盘扫描,识别键码。,5.4.1键盘接口技术,键盘扫描程序一般应具有下述几个功能:,1)判断有无键按下及延时去抖2)扫描键盘,得到按下键的键号3)判别闭合的键是否释放,5.4.1键盘接口技术,中断工作方式键盘,中断扫描方式的一种简易键盘接口:,5.4.2显示器的接口技术,LED显示器的结构与原理,(a)LED外形结构,(b)共阴极,(c)共阳极,5.4.2显示器的接口技术,2.LED静态显示接口,静态显示电路,5.4.2显示器的接口技术,3.LED动态显示接口,六位动态显示电路,5.4.2显示器的接口技术,动态显示子程序流程图,5.4.3典型键盘/显示器的接口实例,8155扩展I/O口的键盘、显示器接口电路,5.4.4可编程键盘/显示器接口8279,8279是Intel-8279的简称,是一种通用可编程接口芯片,它有键盘和显示两部分。键盘部分可以作为常规的打字机式键盘或随机触发器开关接口,显示部分可以驱动文字数字显示器或一系列指示灯。8279与单片机的总线连接,键盘部分能自动消抖、识别按键并给出编码,能对双键或多键同时按下实行保护,显示部分为数码管提供了按扫描方式工作的显示接口,它提供多路复用信号,最多可连接16个数码管。,5.4.4可编程键盘/显示器接口8279,CPU通过编程来设置8279的工作模式。需要编程的输入模式包括键盘扫描的方式、传感器矩阵扫描的方式和选通输入模式等,需要编程的输出模式包括是显示模式设置、显示数据输入方式等。8279的其它可编程特性还包括时钟分频系数和中断控制方式等。,8279封装及引线,5.4.4可编程键盘/显示器接口8279,1.硬件引脚定义及寄存器功能描述,5.4.4可编程键盘/显示器接口8279,8279的逻辑框图,5.4.4可编程键盘/显示器接口8279,8279各寄存器的功能描述,数据缓冲器。数据缓冲器用于传送CPU和8279之间的命令、状态或数据,是双向缓冲器。引脚A0用于区别信息的状态。A0=1时,数据缓冲器输入的是CPU命令字,输出的是8279的状态。A0=0时,数据缓冲器输入和输出的均为数据。控制寄存器及定时控制器。控制寄存器用于寄存键盘及显示器的工作方式,以及由CPU编程的其它操作方式。定时控制器是一个5位的可编程计数器,其计数值N可由软件设置为231之间的一个值,它用于对外部时钟CLK进行分频,从而得到内部所需要的100kHZ的时钟信号,作为逐行扫描和显示扫描的时钟。,5.4.4可编程键盘/显示器接口8279,扫描计数器。扫描计数器为4位二进制计数器,有编码和译码两种工作方式。按编码方式工作时,4位计数状态从扫描线SL0-SL3输出,经外部译码后,可为键盘和传感器提供最多16根扫描线。按译码方式工作时,扫描计数器的最低2位被译码后,从SL0-SL3输出。其输出可直接用作键盘和显示的扫描码。回复缓冲器、键盘消抖及控制。来自RL0RL7这8根回复线的回复信号,由回复缓冲器缓冲并储存。在键盘工作方式中,这些线被接到键盘矩阵的列线。在逐行扫描时,回复线用来搜索一行中闭合的键。当某一键闭合时,消抖电路就被置位,延时等待10mS之后,再检验该键是否继续保持闭合。若闭合,则该键的地址和附加的位移、控制状态一起形成键盘数据被送入8279内部的FIFO存储器。,5.4.4可编程键盘/显示器接口8279,键盘数据的格式,键盘数据的格式见下表,其中,控制码D7和移位码D6的状态分别由独立的附加开关CNTL和SHIFT决定,而扫描码和回复码则是被按键的位置数据,D5、D4、D3来自扫描计数器,是按键的行编码,而D2、D1、D0则是来自列计数器,是根据回复信号而确定的列编码。在传感器矩阵方式中,回复线的内容直接被送往相应的传感器RAM(即FIFO存储器)。在选通输入方式时,回复线的内容在CNTL/STB线的脉冲上升沿时,被送入FIFO存储器,5.4.4可编程键盘/显示器接口8279,FIFO存储器/传感器RAM及其状态寄存器。FIFO存储器/传感器RAM是一个双重功能的8bit8的RAM。在键盘或选通工作方式时,它是FIFO存储器。每次新的输入都顺序写入到RAM单元,而每次读出时,总是按输入的顺序,将最先输入的数据读出。FIFO状态寄存器用来存放FIFO存储器的工作状态。例如:RAM是满还是空,其中存有多少字符,是否操作出错等等。当FIFO存储器不空时,状态逻辑将产生IRQ=1信号,向CPU申请中断。在传感器矩阵方式时,这个存储器又是传感器RAM。它存放着传感器矩阵中每一个传感器的状态。在此方式中,若检索出传感器的变化,IRQ信号便变为高电平,向CPU请求中断。,5.4.4可编程键盘/显示器接口8279,显示RAM和显示地址寄存器。显示RAM用来存储显示数据。该区具有16个字节,也就是最多可以存储16个字节的显示信息。显示寄存器暂存显示RAM中取出的数据,显示寄存器分为两组,A组由OUTA0OUTA3输出,B组由OUTB0OUTB3输出,它们可以单独送数,即输出A组或B组数据,也可以组成8位的字即A、B组同时输出。显示地址寄存器用来寄存由CPU进行读/写的显示RAM的地址,它可以由命令设定,也可以设置成每次读出或写入之后自动递增。,5.4.4可编程键盘/显示器接口8279,2.8279的控制命令,键盘/显示方式设置命令,其中,DD设置显示模式,KKK设置键盘模式,DD(缺省值为01):00:8位字符显示,左侧输入01:16位字符显示,左侧输入10:8位字符显示,右侧输入11:16位字符显示,右侧输入,命令代码:,5.4.4可编程键盘/显示器接口8279,KKK(缺省值为000):000:编码扫描键盘,双键锁定001:译码扫描键盘,双键锁定010:编码扫描键盘,N键轮回011:译码扫描键盘,N键轮回100:编码扫描传感器矩阵101:译码扫描传感器矩阵110:选通输入,编码显示扫描111:选通输入,译码显示扫描,5.4.4可编程键盘/显示器接口8279,时钟编程命令,命令代码:,PPPP(D4,D3,D2,D1,D0)用来设定对CLK端输入时钟的分频次数N,N=2-31。,5.4.4可编程键盘/显示器接口8279,读FIFO/传感器RAM命令,命令代码:,该命令字只在传感器方式时使用,在CPU读传感器RAM之前,必须用这条命令来设定将要读出的传感器RAM地址。由于传感器RAM的容量是88bit,因此需要用命令字中的三位二进制代码AAA来选址。命令字中的AI为自动增量特征位。若AI=1,则每次读出传感器RAM后,地址将自动增量(加1),使地址指针指向顺序的下一个存储单元。这样,下一次读数便从下一个地址读出,而不必重新设置读FIFO/传感器RAM命令。在键盘工作方式中,由于读操作严格按照先入先出的顺序,因此不必使用这条命令。,5.4.4可编程键盘/显示器接口8279,读显示RAM命令,命令代码:,写显示RAM命令,命令代码:,与前面读命令字位相同,在CPU读显示RAM之前,该命令字用来设定将要读出的显示RAM的地址,四位二进制代码AAAA用来寻址显示RAM中的一个存储单元。如果自动增量特征位AI=1,则每次读出后,地址自动加1,使下一次读出顺序指向下一个地址。,5.4.4可编程键盘/显示器接口8279,显示禁止写入/消隐命令,命令代码:,IW用来屏蔽A组和B组的显示写入(D3位对应A组,D2位对应B组)。例如,当A组的屏蔽位D3=1时,A组的显示RAM禁止写入。因此从CPU写入传感器RAM的数据不会影响A的显示。这种情况通常在采用双四位显示时使用。因为两个四位传感器是相互独立的,为了给其中一个四位传感器输入数据,而又不影响另一个四位传感器,因此必须对另一组的输入实行屏蔽。BL位是消隐特征,要消隐两组显示输出,必须设置两个BL位。若BL=1。则执行此命令后,对应组的显示输出被消隐。若BL=0,则恢复显示。,5.4.4可编程键盘/显示器接口8279,清除命令,命令代码:,该命令字用来清除FIFORAM和显示RAM。D4D3D2三位(CD)用来设定清除显示RAM的方式,清除命令,5.4.4可编程键盘/显示器接口8279,D1位用来清空FIFO存储器。D1=1时,执行清除命令后,FIFORAM被清空,使中断IRQ复位。同时,传感器RAM的读出地址也被清0D0位是总清的特征位,它兼有CD和CF的联合有效。在CA=1时,对显示RAM的清除方式由D3D2的编码决定。清除显示RAM大约需要100uS的时间。在此期间,FIFO状态字的最高位Du=1,表示显示无效。CPU不能向显示RAM写入数据。,5.4.4可编程键盘/显示器接口8279,结束中断/错误方式设置命令,命令代码:,这个命令有两种作用:第一种是作为结束中断命令。在传感器工作方式中,每当传感器状态出现变化时,扫描检测电路,就将其状态写入传感器RAM,并启动中断逻辑,使IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,如传感器RAM读出地址的自动递增特征没有置位(AI=0),则中断请求IRQ在CPU第一次从传感器RAM读出数据时就被清除。若自动递增特征已置位(AI=1),则CPU对传感器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令才能使IRQ变低。因此,在传感器工作方式中,此命令用来结束传感器RAM的中断请求。,5.4.4可编程键盘/显示器接口8279,第二种是作为特定错误方式的设置命令。在8279已被设定为键盘扫描N键轮回方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(E=1)。则8279的消振周期内,如果发现有多个键被同时按下,则FIFO状态字中的错误特征位S/E将置位。并产生中断请求信号和阻止写入FIFORAM。错误特征位S/E在读出FIFO状态字时被读出。而在执行CF=1的清除命令时被复位。,5.4.4可编程键盘/显示器接口8279,3.8279的状态字,8279的状态字定义:,Du:Du=1显示无效S/E:传感器信号结束/错误特征码O:O=1出现溢出错误U:U=1出现不足错误F:F=1表示FIFORAM已满NNN:为FIFORAM中的字符数,5.4.4可编程键盘/显示器接口8279,4.数据读写与数据格式,数据读,当A0,CS和RD为低电平时,数据可以被读出。当有读FIFO命令或读显示命令作用于原始数据时,它们被标记。如果自增标志置位,RD的下降沿将导致RAM地址自动加1。无论自增标志是否置位,FIFO被读后总是自动加1。,数据写,当A0,CS和RD为低电平时,数据总是被写入显示RAM。地址由最新的读显示寄存器或写显示寄存器命令标记。如果最新的显示命令置位了自增标志AI,则在WR的上升沿地址会自动加1。,5.4.4可编程键盘/显示器接口8279,键盘数据格式,在键盘扫描模式中,进入FIFORAM中的字符由按键的地址和附加位移、控制状态一起形成,控制和位移(D7,D6)的状态由两个独立的附加开关决定;D5,D4,D3来自扫描计数器,它反映被按下键的行编码;D2,D1,D0则来自列计数器,反映被按键的列编码。,5.4.4可编程键盘/显示器接口8279,如果在传感器阵列中,返回线上的数据直接进入传感器RAM中相应于阵列中正被扫中的那行,这样每个开关位置就直接反映为一个传感器RAM的位置。SHIFT和CNTL在此模式下被忽略。输入格式如下:,5.4.4可编程键盘/显示器接口8279,显示数据格式,显示RAM存储器用来存放待显示的数据,容量为168位。CPU将要显示的数据写入显示RAM时有从左端送入和从右端送入两种方式。,(a)左端送入方式时,写入的数据是自左向右依次填入显示RAM。如下图所示,地址0填入最左显示的字符,地址15填入最右显示的字符。当16个字符写完后,又从左端0单元开始依次写入。,(b)右端送入方式时,数据总是从最右边的显示RAM写入,每写一个数据,原来RAM中的内容左移一个字节。如下图所示,显示RAM地址与实际显示器位置不相对应,因而在使用时为避免出错,应尽可能从地址0开始写入。,5.4.4可编程键盘/显示器接口8279,8279显示数据的左端送入方式,5.4.4可编程键盘/显示器接口8279,8279显示数据的右端送入方式,5.4.4可编程键盘/显示器接口8279,5.8279与单片机接口实例,Intel-8279和8051的接口电路,5.4.4可编程键盘/显示器接口8279,软件流程图,5.5并行A/D和D/A转换器接口,在单片机的实时控制和数据采集等系统中,被控制或被检测对象的有关变量往往是一些连续变化的模拟量,如温度、压力、流量、速度等物理量。这些模拟量必须转换成数字量后才能由计算机进行处理。计算机处理后的数字量结果,也常常需要转换成模拟量,去驱动相应的执行机构,实现对被控对象的控制。将模拟量转换成数字量的集成电路称为模数转换器,简称A/D,将数字量转换成模拟量的集成电路称为数模转换器,简称D/A。,5.5并行A/D和D/A转换器接口,5.5.18位A/D转换器及其与单片机的接口5.5.212位A/D转换器及其与单片机的接口5.5.38位D/A转换器及其与单片机的接口5.5.312位D/A转换器及其与单片机的接口,5.5.18位A/D转换器及其与单片机的接口,常用的A/D转换器有如下几种类型:双积分型A/D转换器。它具有精度高、抗干扰性好、价格便宜等优点;跟踪法即计数方式A/D转换器。其硬件简单但速度慢;逐次逼近式A/D转换器。其特点是精度、速度和价格适中;并行A/D转换器。这是一种用编码技术实现的快速A/D转换器,其硬件复杂,价格高。,5.5.18位A/D转换器及其与单片机的接口,1.ADC0809的转换指标,分辨率:8位;具有锁存功能的8路模拟开关,可对8路模拟电压分时进行转换;三态输出,带锁存功能,TTL电平;转换时间:100S;失调误差:1LSB;供电电压:单+5V电源。,5.5.18位A/D转换器及其与单片机的接口,2.ADC0809的引脚说明,ADC0809结构,5.5.18位A/D转换器及其与单片机的接口,8路模拟输入通道寻址信号表,5.5.18位A/D转换器及其与单片机的接口,ADC0809引脚配置,5.5.18位A/D转换器及其与单片机的接口,IN0IN7:8路模拟信号输入端,由ADDA、ADDB、ADDC端控制选通地址REF(+)、REF(-):基准电压的正极和负极。基准电压的中心值(Vref(+)+(Vref(-)/2应接近Vcc/2,其偏差值不应超过0.1V。ADDA、ADDB、ADDC:模拟通道的地址选择线。ALE:地址锁存允许信号,输入。ALE的正跳变将锁存上述地址选择线,从而选相应的模拟信号通道。D0D7:转换的数码输出线,D0为最低位(LSB),D7为最高位(MSB)。,5.5.18位A/D转换器及其与单片机的接口,START:启动转换信号,输入。在此引脚上施加一个正脉冲可启动A/D转换过程,其中,脉冲的上升沿将所有内部寄存器清零,下降沿开始A/D转换过程。EOC:转换结束信号,输出。在START信号上升沿之后,08个时钟周期内,ECO变为高电平,当此A/D转换器与微机接口时,EOC可用来申请中断。OE:输出允许信号,输入,高电平有效。它有效时,将输出寄存器中的数据放到数据线上,以供CPU读入。,5.5.18位A/D转换器及其与单片机的接口,3.ADC0809与单片机的接口,ADC0809与51单片机的硬件接口有三种方式:查询方式、中断方式和等待延时等方式。,5.5.18位A/D转换器及其与单片机的接口,查询方式下ADC0809与51单片机的硬件接口,5.5.18位A/D转换器及其与单片机的接口,中断方式下ACD0809与51单片机的接口,5.5.212位A/D转换器及其与单片机接口,AD574A是美国模拟器件公司推出的12位逐次比较型A/D转换器芯片,为集成双极性电路,外接元件少,并且具有自动校零和自动极性转换功能,其主要特性如下:分辨率:12位;非线性误差:小于1/2LBS或1LBS;转换速率:25us;模拟电压输入范围:010V和020V,05V和010V两档四种;电源电压:15V和5V;数据输出格式:12位/8位;芯片工作模式:全速工作模式和单一工作模式。,5.5.212位A/D转换器及其与单片机接口,1.AD574A引脚说明,AD574引脚,5.5.212位A/D转换器及其与单片机接口,Pin1(+V):+5V电源输入端。Pin2(12/#8):数据输出格式选择端,通过它可选择数据是12位或8位输出。Pin3(/CS):片选端。Pin4(A0):字节地址短周期控制端。Pin5(R/#C):读/转换控制端。Pin6(CE):使能端。,5.5.212位A/D转换器及其与单片机接口,AD574A控制端标志意义,5.5.212位A/D转换器及其与单片机接口,Pin7(V+)正电源输入端,输入+15V电源。Pin8(REFOUT)10V基准电源电压输出端。Pin9(AGND)模拟地端。Pin10(REFIN)基准电源电压输入端。Pin11(V-)负电源输入端,输入-15V电源。Pin12(V+BIPOFFSET):双极性偏移。该引脚接0V,单极性输入;接+10V,双极性输入。,5.5.212位A/D转换器及其与单片机接口,Pin13(10VIN)10V量程模拟电压输入端。Pin14(20VIN)20V量程模拟电压输入端。Pin15(DGND)数字地端。Pin16Pin27:DB0DB11,12根数据总线,输出A/D转换数据。Pin28:STS,工作状态指示信号端,当STS=1时,表示转换器正处于转换状态,当STS=0时,声明A/D转换结束,通过此信号可以判别A/D转换器的工作状态,作为单片机的中断或查询信号之用。,5.5.212位A/D转换器及其与单片机接口,2.AD574A与单片机的接口电路,AD574与单片机的接口电路,5.5.212位A/D转换器及其与单片机接口,3.AD574A的转换过程,启动转换:应令#CS0、A00、R/#C0。可由向地址0 xff00写入任意数得到。等待转换结束:查询STS引脚,为低电平即表示转换结束。读转换结果:首先读高8位,应令#CS0、A00、R/#C1,故从地址0 xff01读入一个字节,为高8位,再令#CS0、A01、R/#C1,即从地址0 xff03读入一个字节,其高半字节为整个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加密货币冷存储优化-洞察及研究
- 医疗云平台性能评估-洞察及研究
- 压力触发行为响应机制-洞察及研究
- 全球价值链竞争分析-洞察及研究
- 合肥45中九上数学试卷
- 广西桂林九年级数学试卷
- 海南省高中数学试卷
- 农村职业技能培训与农村土地流转的关系研究报告
- 城市物流拥堵治理政策-洞察及研究
- 中药毒理学研究-洞察及研究
- 2025年托育知识竞赛试题
- 中远海运集团笔试题库2025
- 女性肿瘤患者的生育力保存
- 2025年新华报业传媒集团招聘笔试参考题库含答案解析
- 《中国文化导论》课程考试复习题库及答案
- 《高速铁路路基高韧性混凝土全断面防水封闭结构技术规范》
- 人工智能导论知到智慧树章节测试课后答案2024年秋哈尔滨工程大学
- 加工中心操作工岗位实习周记原创范文
- 膝关节骨关节炎护理-减轻疼痛,保持关节活动能力
- 工业园区物业服务标准化方案
- 物业保洁员礼节礼貌培训
评论
0/150
提交评论