《项目四存储器扩展和输入输出口应用上课讲义》由会员分享,可在线阅读,更多相关《项目四存储器扩展和输入输出口应用上课讲义(59页珍藏版)》请在金锄头文库上搜索。
1、项目四存储器扩展和输入输出口应用,项目四、存储器扩展和输入/输出接口应用 任务1.4*4矩阵键盘及键值显示,能力目标 1.掌握键盘的各个键和各段程序的对应关系 2.能用矩阵键盘实现各个键相应的功能 学习内容 1.学习一般按钮的电气特性 2.了解矩阵键盘的结构 3.了解逐项扫描的的概念 4.通过散转表建立的键值和键功能的关系,一、任务要求 给每个键按照行的从左到右,列的从上到下,按顺序标定键值,具体的标定值从键值0 键值F,当按下任意这16个键中的一个键,数码管能显示相应的键值。 二、任务分析 1、通过行扫描确定该行中有无键按下 2、通过列扫描确定该列中有无键按下 3、计数出键值 4、根据键值散
2、转到相应的程序,三、学习知识 (一)按钮的电气特性 1、键盘的结构 2、键盘的类型:编码键盘非编码键盘 3、键输入中存在的问题及解决方法 (1)键抖动 (2)重键(两个或多个键同时按下),(二)独立式键盘接口及程序 1、独立式键盘结构,2、独立式按键的软件设计,(三)行列式键盘的及接口 1、行列式键盘工作原理,行列式键盘又叫矩阵键盘,如图所示,按键设置在行列的交叉点上,如用44的行列结构可构成16个键的键盘。在按键数量较多时,矩阵键盘可节省I/O口线。,2、键的识别 对于行列式键盘,按键处理程序采用逐行逐列扫描。 (1)逐行扫描。 其方法为扫描口P3.4-P3.7(列线)的状态输出高电平,逐行
3、从P3.0-P3.3(行线)读数据,若此行为“1”,则次行有键盘闭合,否则(为0)转向下一行扫描。 (2)逐列扫描 在(1)中被判定那行有键按下时,则采用逐列扫描,此时行列电平交换。 从P3.0-P3.3(行线)输出全为高电平,逐列从P3.4-P3.7(列线)读数据,如某一列的数据为高电平,则存下列号,否则转向下一列。,(3)计算键值。键号=行号列数+列号,假如9号键按下,它所在的行号为2,列号为1,键盘的列数是固定值4,则该键值的键值为24+1=9。 (4)根据键值查段码 如“0”的段码为3FH(0011,1111B)dp,h,g,f,e,d,c,b,a(对于共阴极数码管而言,共阳极则是它的
4、反码) (5)键值显示 通过查表输出各数值的段码数值。,3、44矩阵键盘按键、显示程序流程图。,(四)中断扫描方式 中断扫描方式又分为两种:定时中断扫描方式和键盘按键中断扫描方式。 定时中断扫描方式是利用单片机内部定时器产生定时中断(例如100ms),CPU响应中断请求时,对键盘进行行扫描和键值识别。 缺点:多为空扫描,浪费CPU资源。 另外一种中断扫描方式是根据键盘按键中断扫描方式。见图4-5键盘按键中断扫描方式。,图4-5 键盘按键中断扫描方式,四、任务实施 1、硬件设计,用查询法按图读取行列键盘键码,图中P3.0P3.3 用于控制行线,P3.4P3.7用于控制列线。行、列线通过上拉电阻接
5、+5V,没有键按下时,被钳在高电平状态。通过发送扫描字确定键码。,图4-7 44矩阵键盘按键、显示程序流程图,3、仿真调试,将由上述源程序生成的44矩阵键盘按键、显示程序.hex加载于图4-6 44矩阵键盘扫描电路中CPU后台,用PROTEUS进行仿真测试,按不同的键,数码管显示不同的键值。,当按下键“6”时,五、总结与提高 1、键盘与CPU的连接及各自特点: 2、键盘扫描控制方式及各自优缺点: (1)程序控制扫描方式 当主程序运行到该程序段时,依次扫描键盘,判断有否键输入。 (2)定时控制扫描方式 定时控制扫描方式也应考虑定时时间不能太长,否则会影响对键输入响应的及时性。 (3)中断控制方式
6、 克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率 。,项目四、存储器扩展和输入/输出接口应用 任务2.彩灯控制(8255I/O口扩展设计),能力目标 1.能用8255可编程芯片进行I/O口硬件扩展 2.能对8255编写相应的控制字实现I/O口设置 3.能进行彩灯控制电路综合调试 学习内容 1.了解8255内部结构和8255的工作方式 2.学习8255和8031的连接方式 3.8255可编程芯片控制字的设置 4.MCS-51外部总线的扩展,一、任务要求 将8255的PB口作为输入口,PA口作为输出口,当PB口的按键闭合时,对应于PA口的
7、灯点亮,否则对应于PA口的灯暗。 二、任务分析 首先必须将8255的PA口定义为输出口、PB口定义为输入口,然后根据PB口按键闭合情况,决定PB口的输入值,将PB口的输入值通过内部存储器再送至PA口输出端,决定PA口彩灯的亮灭情况。,三、学习知识 (一)8255可编程芯片内部结构,(二)8255的引脚介绍,8255是一个具有40个引脚的DIP封装的芯片, 引脚图见下图。,引脚功能介绍如下: (1) PA0PA7:A口,具有8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。 (2) PB0PB7:B口,具有8位数据输出锁存器/缓冲器和8位数据输入缓冲器(不锁存)。 (3) PC0PC7:C口,
8、具有8位数据输出锁存器/缓冲器和8位数据输入缓冲器(不锁存),该口可分为两个4位口使用,它除了作为输入/输出口外,还可以作为A口、B口选通工作方式操作时的状态控制信号。,(4) :读控制端,低电平有效,允许从8255读取数据或状态字。 (5) :写控制端,低电平有效,允许向8255写入数据或控制字。 (6) :片选端,低电平有效。 (7) A0、A1:口地址选择端,通过A0、A1可选中8255的四个寄存器,每个寄存器口地址见下表。 (8) RESET:复位控制端,当RESET=1时,8255复位,通常与单片机的复位端直接相连。,(三)8255的操作方式 1、读/写控制逻辑操作选择,2、8255
9、三种工作方式的功能 8255有三种工作方式,分别是方式0、方式1和方式2,它们是通过程序对控制口送控制字来选择的,下面分别介绍三种工作方式: (1)方式0:基本I/O方式。 (2)方式1:单向选通I/O方式。 (3)方式2:双向总线方式。,3、8255的编程选择控制字 8255的传输方式和工作方式的选择是通过对控制口输入控制字的方式实现的。8255的控制字有两种:方式选择控制字和C口位操作控制字。,图4-11 8255方式选择控制字,图4-12 8255 C口置/复位控制字,4、AT89C51与8255的接口电路,在89C51单片机的I/O口上扩展8255芯片,硬件连接图比较简单。在图中,82
10、55的片选及口地址选择线A0、A1分别由单片机的P0.7、P0.0、P0.1经地址锁存后提供,故8255的A、B、C口及控制口的地址分别为FF7CH、FF7DH、FF7EH、FF7FH(当然这不是惟一的连接方法,与单片机不同的地址线相连,8255的口地址也不会相同)。数据线直接与单片机的数据线相连, 、 也直接连在单片机的 、 端。,图4-13 8255与AT89C51连接图,例、如图4-13所示,用8255扩展单片机并行I/O口并读、写数据。要求8255工作在方式0,且A口作为输入,B口、C口作为输出。 分析:从图4-13可知,8255的A、B、C、控制口的地址分别为FF7CH、FF7DH、
11、FF7EH、FF7FH。编程时,应先按题目要求对8255初始化设置每个口的工作方式,然后再使数据输入、输出。程序如下:,例、对C口的位操作,把PC5置1,再把PC5复位,程序如下:,(四)MCS-51外部总线的扩展,图4-14 MCS-51系统扩展结构,1、程序存储器的扩展 (1)典型程序存储器扩展芯片,2764芯片程序存储器引脚,1)A0A12为13根地址输入线。 2) D0D7为8根数据输出线。 3)/CE为片选线,低电平有效。 4)/OE为数据输出选通控制输入线。当CE有效时,被寻址单元的内容才能被读出。 5)Vpp为编程电源。当芯片编程时,该端加上编程电压(+25V或+12V),正常使
12、用时,该端口加+5V电源。 6)PGM为编程脉冲输入线。,(2)程序存储器的扩展 1)单片机程序存储器的扩展,图4-17 程序存储器与8031单片机的连接,由于8031单片机无片内程序存储器,因此必须外接程序存储器,以构成最小系统。如图4-17所示为8031与2764芯片的连接图,图中经锁存器74LS373输出的是2764芯片所需的低8位地址,2764芯片的高5位由8031单片机的P2.0P2.4端口实现,存储区域地址为:,由于只扩展一片,所以P2.7、P2.6、P2.5端口都可选为0,则用16进制表示2764芯片的地址范围是0000H1FFFH。这种方法常用于系统只有一片程序存储器扩展的情况
13、。,2)多片程序存储器的扩展 线选法,图4-18 线选法存储器扩展,如图所示4-18为采用线选法扩展2片2764芯片的外部程序存储器,图中采用P2.6、P2.5端口两根地址线分别连接1#、2#2764芯片的片选信号/CE端。采用线选法选中2个芯片,当P2.6、P2.5端口分别为低电平时,选中各自对应芯片,该扩展电路的各存储器地址如下:,译码法 译码法就是将片选线经译码器与系统的高位地址连接,如图4-19所示。,图4-19 译码法存储器扩展,表4-3 74LS139真值表,表4-4 译码法存储器扩展地址线与各个2764芯片的对应关系,由此可知这个扩展电路两片2764存储器的地址分别为:1#芯片的
14、地址译码的范围是0000H1FFFH,2#芯片的地址译码的范围是2000H3FFFH, 这种方法的特点是存储器地址是连续的。在系统以及成本允许的条件下,建议采用这种存储器扩展方式。,26264数据存储器,(1)典型数据存储器的扩展 6264芯片引脚图4-20如下图所示。,图4-20 6264的引脚图,表4-5 6264的工作方式,(2)数据存储器扩展 扩展4片6264芯片系统连接如图4-21所示。,图4-21 译码法扩展多片6264芯片连接,四、任务实施 1、硬件设计,图4-22 彩灯控制硬件原理图,2、软件设计 程序流程设计如图4-23所示:,图4-23 彩灯控制程序流程设计,程序如下:,程序如下:,3、仿真调试 仿真调试结果如图4-24所示。,图4-24 彩灯控制仿真调试,五、总结与提高 1、8255的作用: 2、8255与单片机的连接: 3、单片机的扩展: 4、单片机的扩展方式:,