资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
7.1 存储器的扩展,7.1.1 程序存储器的扩展 一、扩展总线,74LS373是有输出三态门的电平允许8D锁存器。当G(使能端)为高电平时,锁存器的数据输出端Q的状态与数据输入端D相同(透明的)。当G端从高电平返回到低电平时(下降沿后),输入端的数据就被锁存在锁存器中,数据输入端D的变化不再影响Q端输出。,二、片外ROM操作时序 进行ROM的扩展,其扩展方法较为简单容易,这是由单片机的优良扩展性能决定的。单片机的地址总线为16位,扩展的片外ROM的最大容量为64KB,地址为0000HFFFFH。扩展的片外RAM的最大容量也为64KB,地址为0000HFFFFH。,由于80C51采用不同的控制信号和指令 ,尽管ROM与RAM的地址是重叠的,也不会发生混乱。 80C51对片内和片外ROM的访问使用相同的指令,两者的选择是由硬件实现的。 芯片选择现在多采用线选法,地址译码法用的渐少。ROM与RAM共享数据总线和地址总线。,访问片外ROM的时序 :,80C51系列单片机的CPU在访问片外ROM的一个机器周期内,信号ALE出现两次(正脉冲),ROM选通信号也两次有效,这说明在一个机器周期内,CPU两次访问片外ROM,也即在一个机器周期内可以处理两个字节的指令代码,所以在80C51系列单片机指令系统中有很多单周期双字节指令。,三、ROM芯片及扩展方法 1、EPROM存储器及扩展 常用的芯片有2732、2764、27128、27256、27512等 。,EPROM存储器扩展电路:,2、EEPROM存储器及扩展 常用的EEPROM芯片有2864、2817等 。,7.1.2 数据存储器的扩展 一、RAM扩展原理 扩展RAM和扩展ROM类似,由P2口提供高8位地址,P0口分时地作为低8位地址线和8位双向数据总线。外部RAM读时序为:,外部RAM写时序为:,二、RAM扩展方法 1、数据存储器 常用的数据存储器SRAM芯片有6116626462256等。,2、数据存储器扩展电路,7.2 输入/输出及其控制方式,原始数据或现场信息要利用输入设备输入到单片机中,单片机对输入的数据进行处理加工后,还要输出给输出设备。常用的输入设备有键盘、开关及各种传感器等,常用的输出设备有LED(或LCD)显示器、微型打印机及各种执行机构等。,80C51单片机内部有四个并行口和一个串行口,对于简单的I/O设备可以直接连接。当系统较为复杂时,往往要借助I/O接口电路(简称I/O接口)完成单片机与I/O设备的连接。现在,许多I/O接口已经系列化、标准化,并具有可编程功能。,单片机与I/O设备的关系:,7.2.1 输入/输出接口的功能,I/O接口的功能是:,2、对输入设备的三态缓冲 外设传送数据时要占用总线,不传送数据时必须对总线呈高阻状态。利用I/O接口的三态缓冲功能,可以实现I/O设备与数据总线的隔离,便于其它设备的总线挂接。,1、对单片机输出的数据锁存 锁存数据线上瞬间出现的数据,以解决单片机与I/O设备的速度协调问题。,3、信号转换 信号类型(数字与模拟、电流与电压)、信号电平(高与低、正与负)、信号格式(并行与串行)等的转换。,4、时序协调 不同的I/O设备定时与控制逻辑是不同的,并与CPU的时序往往是不一致的,这就需要I/O接口进行时序的协调。,一、无条件传送 适用于对简单的I/O设备(如开关、LED显示器、继电器等)的操作,或者I/O设备的定时固定或已知的场合。,7.2.2 单片机与I/O设备的数据传送方式,二、查询状态传送 效率低。,三、中断传送方式 效率大大提高。,四、直接存储器存取(DMA)方式 适于高速外设以及成组交换数据的场合 。,7.3 并行接口的扩展,7.3.1 并行输入/输出口的简单扩展,7.3.2 可编程接口8155的扩展 一、8155的引脚及结构,二、8155的内部编址 内部RAM地址为:00HFFH。 内部端口地址为: 000-命令/状态寄存器 001-A口 010-B口 011-C口 100-计数器低8位 101-计数器高6位及计数 器方式设置位,三、工作方式设置及状态字格式 1、方式设置,PA:A口数据传送方向设置位。0-输入;1-输出。 PB:B口数据传送方向设置位。0-输入;1-输出。,PC1、PC2:C口工作方式设置位。,IEA:A口的中断允许设置位。0-禁止;1-允许。 IEB:B口的中断允许设置位。0-禁止;1-允许。 TM2、TM1:计数器工作方式设置位。,2、状态字格式,INTRX:中断请求标志。INTRX =1,表示A或B口有中断请求;INTRX=0,表示A或B口无中断请求。 BFX:口缓冲器空/满标志。BFX=1,表示口缓冲器已装满数据,可由外设或单片机取走;BFX=0,表示口缓冲器为空,可以接受外设或单片机发送数据。 INTEX:口中断允许/禁止标志。INTEX=1,表示允许口中断;INTEX=0,表示禁止口中断。 TIMER:计数器计满标志。 TIMER=1, 表示计数器的原计数初值已计满回零; TIMER=0, 表示计数器尚未计满。,四、计数器输出模式 计数器是一个14位的减法计数器,它能对输入的脉冲进行计数,在到达最后一个计数值时,输出一个矩形波或脉冲。 装入计数长度寄存器的值为2H3FFFH。15、14两位用于规定计数器的输出方式 。,五、选通I/O的组态 对8155命令字的PC2PC1位编程,使A或B口工作在选通方式时,C口的PC0PC5就被定义为A或B口选通I/O方式的应答和控制线。,选通方式的组态逻辑 :,六、8155芯片与单片机的接口 80C51单片机可以与8155直接连接而不需要附加任何电路。使系统增加256字节的RAM,22位I/O线及一个计数器。,8155中RAM地址因P2.7(A15)=0 及P2.0(A8)=0,故可选为01111110 00000000B(7E00H) 01111110 11111111B(7EFFH); I/O端口的地址为:7F00H7F05H。,若A口、 B口定义为基本输入方式,计数器作为方波发生器,对80C31输入脉冲进行24分频(但需要注意8155的计数最高频率约为4MHZ),则8155 I/O口初始化程序如下:,START: MOV DPTR,#7F04H ;计数寄存器低8位 MOV A,#18H ;计数器初值#18H(24D) MOVX DPTR,A ;计数器寄存器低8位赋值 INC DPTR;指向计数器寄存器高6位及方式位 MOV A,#40H ;计数器为连续方波方式 MOVX DPTR,A;计数寄存器高6位赋值 MOV DPTR,#7F00H ;命令寄存器 MOV A,#0C2H;设命令字 MOVX DPTR,A;送命令字,7.4 8279接口芯片,由80C51系列单片机构成的小型测控系统或智能仪表中,常常需要扩展显示器和键盘以实现人机对话功能。8279芯片在扩展显示器和键盘时功能强、使用方便。,8279是Intel公司为8位微处理器设计的通用键盘/显示器接口芯片,其功能是:接收来自键盘的输入数据并作预处理;完成数据显示的管理和数据显示器的控制。单片机应用系统采用8279管理键盘和显示器,软件编程极为简单,显示稳定,且减少了主机的负担。,7.4.1 8279的结构,数据缓冲器将双向三态8位内部数据总线D0D7与系统总线相连,用于传送CPU与8279之间的命令和状态。 控制和定时寄存器用于寄存键盘和显示器的工作方式,锁存操作命令,通过译码器产生相应的控制信号,使8279的各个部件完成相应的控制功能。 定时器包含一些计数器,其中有一个可编程的5位计数器(计数值在231间),对CLK输入的时钟信号进行分频,产生100 KHz的内部定时信号(此时扫描时间为5.1ms,消抖时间为10.3ms)。外部输入时钟信号周期不小于500ns。,扫描计数器有两种输出方式:一是编码方式,计数器以二进制方式计数,4位计数状态从扫描线SL3SL0 输出,经外部译码器可以产生16位的键盘和显示器扫描信号;另一种是译码方式,扫描计数器的低两位经内部译码后从SL3SL0 输出,直接作为键盘和显示器的扫描信号。 回送缓冲器、键盘消抖及控制完成对键盘的自动扫描以搜索闭合键,锁存RL7RL0的键输入信息,消除键的抖动,将键输入数据写入内部先进先出存储器(FIFO RAM)。RL7RL0为回送信号线作为键盘的检测输入线,由回送缓冲器缓冲并锁存,当某一键闭合时,附加的移位状态SHIFT、控制状态CNTL及扫描码和回送信号拼装成一个字节的“键盘数据”送入8279内部的FIFO(先进先出)RAM。,键盘的数据格式为:,在传感器矩阵方式和选通方式时,回送线RL7RL0的内容被直接送往相应的FIFO RAM。输入数据即为RL7RL0。数据格式为 :,FIFO/传感器RAM是具有双功能的88 RAM 在键盘或选通方式时,它作为FIFO RAM,依先进先出的规则输入或读出,其状态存放在FIFO/传感器RAM状态寄存器中。只要FIFO RAM不空,状态逻辑将置中断请求IRQ=1; 在传感器矩阵方式,作为传感器RAM,当检测出传感器矩阵的开关状态发生变化时,中断请求信号IRQ=1。在外部译码扫描方式时,可对88矩阵开关的状态进行扫描,在内部译码扫描方式时,可对48矩阵开关的状态进行扫描。,显示RAM用来存储显示数据,容量是168位 在显示过程中,存储的显示数据轮流从显示寄存器输出。显示寄存器输出分成两组,即OUTA0OUTA3和OUTB0OUTB3,两组可以单独送数,也可以组成一个8位的字节输出,该输出与位选扫描线SL0SL3配合就可以实现动态扫描显示。 显示地址寄存器用来寄存CPU读/写显示RAM的地址,可以设置为每次读出或写入后自动递增。,7.4.2 8279的引脚定义,DB7DB0为双向外部数据总线 ; 为片选信号线,低电平有效; 和 为读和写选通信号线; IRQ为中断请求输出线。 RL7RL0为键盘回送线。 SL3SL0为扫描输出线。 OUTB3OUTB0、OUTA3OUTA0为显示寄存器数据输出线。 RESET为复位输入线。 SHIFT为换档键输入线。 CNTL/STB为控制/选通输入线。 CLK为外部时钟输入线。 为显示器消隐控制线 。,7.4.3 8279的操作命令,一、显示器和键盘方式设置命令 D7 D6 D5=000 是键盘/显示方式命令特征字。 D4 D3=DD 为显示器方式设置位。 D2 D1 D0 =KKK 为键盘工作方式设置位。 8279 可外接8位或16位 LED 显示器,显示器的每一位对应一个8位的显示器缓冲单元。左端输入方式较为简单,显示缓冲器RAM地址015分别对应于显示器的0位(左)15位(右)。CPU依次从0地址或某一地址开始将段数据写入显示缓冲器。右端输入方式是移位,输入数据总是写入右端的显示缓冲器,数据写入显示缓冲器后,原来缓冲器的内容左移一个字节。,内部译码的扫描方式时,扫描信号由SL3SL0输出,仅能提供4选1扫描线。,外部译码工作方式时,内部计数器作二进制计数,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号