存储器扩展IO扩展[第5章].ppt

上传人:za****8 文档编号:14286845 上传时间:2020-07-16 格式:PPT 页数:97 大小:8.22MB
收藏 版权申诉 举报 下载
存储器扩展IO扩展[第5章].ppt_第1页
第1页 / 共97页
存储器扩展IO扩展[第5章].ppt_第2页
第2页 / 共97页
存储器扩展IO扩展[第5章].ppt_第3页
第3页 / 共97页
资源描述:

《存储器扩展IO扩展[第5章].ppt》由会员分享,可在线阅读,更多相关《存储器扩展IO扩展[第5章].ppt(97页珍藏版)》请在装配图网上搜索。

1、5.1 半导体存储器的扩展 5.2 MCS-51并行I/O接口的扩展 5.3 LED显示器的设计 5.4 按键和键盘的设计 5.5存储器扩展、动态显示和键盘的实验,第5章 半导体存储器及并行I/O接口扩展,32,5.1.1 半导体存储器基础 内存:磁芯存储器 半导体存储器 外存: 磁表面存储器 光盘存储器 磁鼓、磁带和磁盘 1半导体存储器的分类和作用 按工艺: 双极型 MOS型(场效应管) 按功能: RAM (SRAM、 DRAM 、SDRAM) ROM (掩膜、 PROM、 EPROM、 FLASH) 近年来:易失性存储器 非易失性存储器,5.1 半导体存储器的扩展,双极型晶体管是一种电流控

2、制器件,电子和空穴同时参与导电。 同场效应晶体管相比,双极型晶体管开关速度快,但输入阻抗小,功耗大。 双极型晶体管体积小、重量轻、耗电少、寿命长、可靠性高,已广泛用于广播、电视、通信、雷达、计算机、自控装置、电子仪器、家用电器等领域,起放大、振荡、开关等作用。,(1)RAM 数据随时读写,读则取之不尽、写则盖旧换新。 按存取方式分:静态RAM(SRAM)和动态RAM(DRAM)。,(2)ROM存储器 信息掉电不丢失。按编程方式分为三类: 掩模ROM: 工厂批量写入 PROM : 用户写入,但只有一次。 EPROM: 可被反复擦写的PROM ,按擦除方法又分为: a、紫外光擦洗 UVEPROM;

3、 b、电擦洗 EEPROM、(在线改写,字节擦或块擦); 闪速存储器:存储容量大、擦除和编程速度快。,(3)新型存储器: OTP ROM:是一种新型PROM,已经过测试性编程。 FRAM:非易失性铁电存储器,属未来型。具有DRAM的高集成度和低成本的优点,又有SRAM 的存取速度以及EPROM的非易失性。但其存取周期是有限的,向无限次发展。 nvSRAM:新型非易失性静态读写存储器,由美国96年推出,可靠性高,号称“LOW COST” 新型动态存储器:专门用于大容量的系统机和工作站。,(1)存储容量 存储器能够存储的信息总量. 存储容量=字数字长 1K=210=1024 1M=220=1024

4、K 1G=230=1024M 1T=240=1024G,2. 半导体存储器的技术指标,(2)最大存取时间 存储器从接收到存储单元的地址开始,到读出或写入数据为止所需要的时间称为存取周期,该时间的上限值称为最大存取时间 (3)存储器功耗 存储器功耗是指它在正常工作时所消耗的电功率.该功率由“维持功耗”和“操作功耗”组成 (4)可靠性和工作寿命 抗干扰能力强、寿命也较长 (5)集成度 指在一块数平方毫米芯片上能够集成的晶体管数目,有时也以每块芯片上集成的基本存储电路个数来表征,故常以位/片表示,3. 半导体存储器的基本结构,半导体存储器由存储阵列、地址译码器、控制电路组成 (1)单译码编址存储器,

5、0读,1写,片选,读写控制,(2)双译码编址存储器,单译码编址存储器的基本结构与双译码编址存储器结构类似,区别在于:地址译码器的结构不同 单译码编址存储器用于小容量存储器 双译码编址存储器用于大容量存储器,5.1.2 只读存储器ROM,只读存储器具有非易失性和非易挥发性,又称固定存储器或永久存储器,常用于程序存储。,1.ROM的工作原理,(1)掩模ROM,读原理:由地址线先选中相应的字线(为高电平),掩模ROM存储“0”或“1”是由存储单元中各位是否有MOS管决定(有为0,无为1)。 其信息在制造芯片时写入。,(2 )PROM存储器原理,熔丝通“1”,(3 )EPROM的工作原理,UVEPRO

6、M 紫外线擦除,若浮置栅内无电荷,表示管内存1, EEPROM电擦除,1987年首次出现 ,是UVEPROM和EEPROM结合的产物 存储容量不断发展,制造工艺不断提高。 按接口种类划分: 标准的并行接口闪存: 按三总线连接 NAND(与非)型闪存: 引脚分时复用 串行接口的闪存: 通过一个串行数据输入和一个串行数据输出来和CPU接口,(4)闪速存储器,2. 典型ROM芯片介绍,(1)UVEPROM Intel 27XX,(2) 2764 的引脚功能,(3)2764的工作方式,(2)EEPROM,Intel 28,(3)闪速存储器,并行Flash芯片,串行Flash芯片:,随机读写,易失性,静

7、态容量小,不用刷新,依靠触发器存储信息;动态容量大,要刷新,依靠存储电容存储信息。,5.1.3 随机存取存储器RAM,(1)静态RAM的工作原理,1.RAM的工作原理,T2导通、T1截止时,Q=1的状态称为1状态,(2)动态RAM的工作原理,C1为极间电容,也称存储电容。Q2为列选通管。C2称为分布电容。,C1上有电荷表示存1 ,C1上无电荷表示存0,需刷新,2. 典型RAM芯片介绍,(1)静态RAM,Intel6264(静态RAM),内部结构,引脚的功能,6264的引脚逻辑功能图,6264的工作方式,(1)确定类型、容量,类型 :RAM、ROM等,1、外扩存储器的选择原则,容量 :根据系统基

8、本要求确定,(2)选择存储器的读写速度应和CPU的工作速度相匹配,访存时间: 处理器向外存发出地址码和读写信号,到从P0口选通读出数据 或保持写入数据所需要的时间;一般大于2时钟周期,存储器最大存取时间:,MCS-51的访存时间必须大于所用外部存储器的最大存取时间,5.1.4 MCS-51和外部存储器的连接,P177,并行连接,需要RAM:8K8 若用2128(2K8)需4片 若用2116(16K1)需8片 扩展的容量为:16K8,片内ROM ( 8031无片内ROM )MOVC 片外ROMMOVC 片内RAMMOV 片外RAMMOVX,三总线原则 (1)地址总线的连接 地址总线选择某一存储器

9、芯片及芯片内的某一存储单元 P0:低8位地址线 由于P0口具有双重复用的功能,还用来传送数据 需外加一个8位地址锁存器 目前常用的锁存器是74LS 373和Intel 8282,2、存储器与CPU的连接总则,地址锁存器 74LS 373和Intel 8282的逻辑图,G(或STB):锁存控制 OE:三态门控制端,ALE,D为输入 Q为输出,ALE,ALE,ALE低电平锁存,P2:高8位地址总线。 在实际应用中根据扩展存储器的容量需要确定所用的根数。 如:扩展4KB的存储器 则只需用P2口中的低4位口线,(2)数据总线的连接 数据总线实现CPU与存储器的双向数据传送 将P0口与存储器的8根数据线

10、依次相连即可 (3)控制总线的连接 向存储器发出存储器选择及读/写等控制信号 根据选择的存储器类型使用不同的控制信号,存储器与CPU的连接,2KB 8KB,需要4片,在某一时刻,只能选中4片芯片中的一片工作,即所谓的片选。,其实质是按不同的地址来选中不同的芯片,线选法,译码法,全译码,部分译码,(4)地址译码与地址范围分配,单片机一般采用地址线实现片选控制,线选法,即将CPU的低位地址线与芯片的同名地址线相连,而将CPU余下的高位地址线(或经反相器)分别接到各存储器芯片的片选端来区别各个芯片的地址的方法。,一个8051系统扩展了一片8KB的存储器,选用P2.7(A15)作为片选,P2.6(A1

11、4)、P2.5(A13)悬空,A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 最低单元地址 0 1 1 1 1 1 1 1 1 1 1 1 1 1 最高单元地址,0000H1FFFH、2000H3FFFH、 4000H5FFFH、6000H7FFFH,重叠地址范围,基本地址范围(悬空线清零时),译码法,指CPU的地址线经过地址译码器输出后与存储器芯片的片选信号相连的方法,三八译码器(74LS138) 二四译码器(74LS139),三八译码器(74LS138),双二四译码器(74L

12、S139),扩展8KB存储器系统高3根地址线,全译码方法,3. 存储器与CPU的连接方法,(1)片外ROM的扩展,片外ROM 线选法,基本地址范围 悬空地址线取0的地址范围 0000 0000 0000 00000001 1111 1111 1111,重叠地址范围 0000 0000 0000 00000001 1111 1111 1111 0100 0000 0000 00000101 1111 1111 1111 1000 0000 0000 00001001 1111 1111 1111 1100 0000 0000 00001101 1111 1111 1111,(2)片外RAM的扩展

13、,2000H3FFFH,片外RAM 译码法,0010 0000 0000 0000 0011 1111 1111 1111,(3)多片存储器芯片的扩展,00 0000 0000 000000 0111 1111 1111,ROM,RAM,RAM,RAM,2KB,Intel 27系列EPROM (169页) 加电编程、紫外线擦除 2732、2764、27128等 27后面的数字代表kb,因此除以8即得KB RAM 62系列 (175页),MCS-51单片机系统中,扩展I/O是与外部数据存储器RAM统一编址的,占用外部数据存储器的单元地址,使用MOVX指令进行读写 扩展ROM与片内ROM是独立编址

14、的 I/O数据交换有无条件方式、查询方式、中断方式,5.2 MCS-51并行I/O接口的扩展,缘起:I/O接口不够用,P0、P2、P3都有他用 18155的内部结构和引脚功能 可编程多功能并行I/O接口芯片 并行I/O接口便于数据的交换 通过编程设置工作方式 芯片内部具有RAM单元 可用资源: I/O口 PA口(8位 ) PB口(8位) PC口(6位 ) T定时计数器(14位 减1) RAM(256个字节) 8位地址锁存器(可以直接连到P0口),并行I/O接口芯片8155,40引脚;+5V电源供电,AD0AD7 三态地址/数据线 低8位地址或8位数据 可直接连P0口 控制总线 CE 片选 IO

15、/M I/O接口/存储器选择 ALE 地址锁存信号 锁存AD0AD7上的地址 RD 读允许信号 WR 写允许信号 RESET 复位信号,高电平有效 T/IN 定时器输入 定时器所需时钟信号由此输入 T/OUT 定时器输出 14位计数位器减到0时 根据工作方式输出相应脉冲,I/O总线 PA0PA7 通用I/O线 传送A口上的外设数据 PB0PB7 通用I/O线 传送B口上的外设数据 PC0PC5 通用I/O方式下,传送I/O数据 选通I/O方式下,传送命令/状态信息 电源线 VCC +5V电源输入线 VSS 接地线,40条引脚 分为输入边(由CPU来) 输出端(到外设去),PA、PB、PC在81

16、55内部分别对应有相应寄存器 8155内部有多个寄存器,属于I/O的寄存器有7个 命令/状态寄存器、A口寄存器、B口寄存器、C口寄存器、 计数器低8位寄存器、高8位寄存器 IO/M为1时,8155的AD0AD7输入的是I/O地址,I/O地址分配如下:,28155的命令/状态寄存器及I/O接口的工作方式,6位是计数器 2位是方式位,6位是计数器 2位是方式位,命令寄存器控制8155的工作方式,状态字格式 8155工作的状态,A口、B口都只有输入状态或输出状态 C口可以工作在输入、输出方式 C口还可作为A口的控制端口、A口和B口的控制端口 为A口或B口提供对外的联络信号 A口或B口接外部设备的数据

17、线,作为输入/输出口 C口在不同方式下各位的功能:,A口或B口作为输入口时: STB是外部设备导入的选通信号 STB生效后数据由外设输入8155,然后BF信号置1,表示8155缓冲器已满 在STB的上升沿检测到缓冲器满,而且中断允许的状态下 INTR中断输出高电平(有效),从而可以向CPU申请中断,在中断服务程序中 读取相应数据,并软件清除BF为低电平,通知输入设备可以输入下一数据 A口或B口作为输出口时: 8155收到要输出到外设的数据后,将触发器满的相应位置1 置BF位高电平,通知外设输出数据已经到达A口或B口 输出设备收到信号后,从数据线接收输出数据,并使STB线清0 以此通知8155外

18、设已收到数据 8155在STB的上升沿检测到触发器满且允许中断后,使INTR置1,向CPU提出中断请求,从而进行下一个数据的输出。,38155内部定时器/计数器,14位减法计数器 有4种工作方式,由定时器/计数器长度字高8位中的M2、M1、M0决定 对T/IN线的输入脉冲计数,每次减1 计满归零时在T/OUT线上输出矩形波或脉冲波,使用定时器/计数器前,要先向定时器/计数器高字节送入数值,再向低字节送入数值,最后再将命令字写入命令寄存器 方式0 在计数的后半周期内使T/OUT上输出低电平矩形波,这个矩形波的周期与定时器长度字初值有关 如果定时器/计数器长度字为偶数, T/OUT上的矩形波是对称

19、的 如果定时器/计数器长度字为奇数, T/OUT上的矩形波高电平持续时间比低电平多一个计数脉冲时间 方式1 减1计数到0时,自动装入定时器/计数器长度字初值 T/OUT上输出连续矩形波 矩形波的周期也与定时器长度字初值有关 方式2 减1计数到0时,在T/OUT上输出一个单脉冲 方式3 减1计数到0时,自动装入定时器/计数器长度字初值 T/OUT上输出一串重复脉冲 重复脉冲的频率和定时器长度字初值有关,可以利用定时器/计数器的特性对计数脉冲进行指定分频,内部256单元的静态RAM IO/M=0时,8155的AD0AD7输入的是RAM地址; IO/M=1时,8155的AD0AD7输入的是IO地址

20、在CE=0且IO/M=0时,CPU可以对任意一个RAM单元进行读/写,读/写控制信号分别是RD和WR;使用同普通静态RAM 5采用8155扩展并行I/O接口 同样遵循三总线相连的原则,可采取线选法或译码法连接 8155内部有地址锁存器 在CE=0且IO/M=1时,需要先对I/O初始化,通过命令寄存器设置工作方式等信息,48155内部的RAM,0 0 0 0 0 0 0 0 0 0 RAM最低单元地址 0 0 1 1 1 1 1 1 1 1 RAM最高单元地址 0 1 0 0 0 命令寄存器地址 0 1 0 0 1 A口地址 0 1 0 1 0 B口地址 0 1 0 1 1 C口地址 0 1 1

21、 0 0 计数器低8位 0 1 1 0 1 计数器高8位,线选法,【例5-1】 编写程序,将图5-28中8155内部40H单元中的X送到A口输出,ORG 0000H MOV DPTR, #0100H ; 命令/状态口地址送入DPTR MOV A, #01H ; 命令字送入A(A口为输出) MOVX DPTR, A ; 将命令字装入命令口 MOV DPTR, #0040H ; 将RAM地址送入DPTR MOVX A, DPTR ; X送入A MOV DPTR, #0101H ; 指向A口 MOVX DPTR, A ; X送8155的A口输出 SJMP $ END,(2)译码连接法,001 0 0

22、000 0000 001 0 1111 1111,RAM地址,命令/状态寄存器的基本地址为2100H。A口的基本地址为2101H,B口的基本地址为2102H,例5-2 编写程序,设置8155的A口为输出口,B口为输入口。程序每隔一段时间读取一次B口的信号状态,并将其输出到A口完成某项控制(接口电路如图5-29所示),A口输出、B口输入、C口不用、定时器/计数器不用 命令寄存器内的值为0000 0001,ORG 0000H START:MOV DPTR, #2100H ; 命令寄存器地址送入 MOV A, #01H ; 命令寄存器内容送入A MOVX DPTR, A ; 写入命令寄存器 MOV

23、DPTR, #2102H ; B口地址送入DPTR MOVX A, DPTR ; 读入B口内容 DEC DPTR ; A口地址送入DPTR MOVX DPTR, A ; A口输出 ACALL DELAY SJMP START DELAY:(略) ; 延时子程序 END,A口输出、B口输入,单片机系统中常用的显示器有: 发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。,5.3 LED显示器的设计,LED数码管、LCD显示器有两种显示结构: 段显示(7段、米字型等)和点阵显示(58、88点阵等),

24、5.3.1 LED数码显示管显示原理 八段数码管 分为共阴极和共阳极两种。,段选线,位选线,字型码表(共阴极/共阳极P192),按h、g、f、e、d、c、b、a顺序排列后的十六进制编码(0对应低电平),常称为字型码或段选码,静态显示、动态显示(扫描显示) 硬件译码节省CPU资源,但是电路复杂 软件译码查表法,硬件、接口简单,但是占用CPU资源多 1LED静态显示接口电路 各LED管能稳定地同时显示各自字形 用硬件译码,负载能力强 硬件译码静态显示接口电路 笔段(字形)代码锁存器、笔段译码器等组成 输入BCD码,输出七段显示字形码 MC14558、MC14547、MC14513、MC14495,

25、5.3.2 MCS-51对LED的控制,MC14558MC14547MC14513MC14495等,两种获得字形码的方法:,硬件译码 软件译码,锁存器 地址译码器 笔段ROM阵列 驱动电路,大于10指示,等于15 高电平,低输入高锁存,- +,【例5-3】 要求将存放在8031单片机内部RAM中30H及31H单元中的4位十六进制数在图5-32所示的电路中从左到右显示出来,试编写相应的程序。,SDELAY:MOV A, 30H ANL A, #0F0H ; 截取30H单元中高位BCD码 MOV P1, A ; 在1#位置显示30H单元中高位 MOV A, 30H SWAP A ANL A, #0

26、F0H INC A ; 低4位加1,用以指向2#MC14495芯片 MOV P1, A ; 在2#位置显示30H单元中低位 MOV A, 31H ANL A, #0F0H ADD A, #02H ; 用以指向3#MC14495芯片 MOV P1, A ; 在3#位置显示31H单元中高位 MOV A, 31H SWAP A ANL A, #0F0H ADD A, #03H ; 用以指向4#MC14495芯片 MOV P1, A ; 在4#位置显示31H单元中低位 RET,为减少硬件开销,提高系统可靠性并降低成本,通常采用动态扫描的方法,功耗低、负载低 2.动态显示 软件扫描 各LED轮流地一遍一

27、遍显示各自的字符,由于视觉暂留作用,看到的似乎是在同时显示不同字形,8000H 命令/状态口 8001H A口 8002H B口(字形口) 8003H C口(字位口),图 5-33,例5-4,设5CH单元存放要显示的内容12H,5BH单元存放34H,5AH单元存放56H ORG 0000H AJMP MAIN ORG 0100H MAIN:MOV SP, #60H MOV DPTR, #8000H ; 命令口地址送入DPTR MOV A, #0EH ; 方式控制字送入A MOVX DPTR, A ; 方式字送入8155命令口,假设显示内容存放在以5AH为首地址的3个连续单元中 显示缓冲区的首地

28、址为79H,请根据图5-33(上页)编写一段程序 该程序执行后,数码管显示“6 5 4 3 2 1”,MOV 5AH, #56H ; 将显示内容依次存放 MOV 5BH, #34H MOV 5CH, #12H ACALL FB ; 将内容拆分,偏移量送显示缓冲区 LOOP:ACALL DIR ; 调用显示一遍的子程序 AJMP LOOP ; 循环,形成动态显示 FB:MOV R0, #5CH ; 显示内容的最高字节地址送入R0 MOV R1, #79H ; 显示缓冲区起始地址送入R1 MOV R3, #03H ; 显示内容存放字节的个数送入R3 LP2:MOV A, R0 ; 取出要显示字节的

29、内容 MOV R2, A ; 暂存 SWAP A ; 内容的高、低4位交换 ANL A, #0FH ; 保留原始的高4位 MOV R1, A ; 形成字形码偏移量送入显示缓冲区 INC R1 ; 指向显示缓冲区的下一个单元 MOV A, R2 ; 取出要显示字节的内容 ANL A, #0FH ; 保留低4位,准备 数据,显示一位,MOV R1, A ; 形成字形码偏移量送显示缓冲区 INC R1 ; 指向显示缓冲区的下一个单元 DEC R0 ; 指向下一个显示内容单元 5BH DJNZ R3, LP2 ; 3字节没处理完,继续循环处理 RET DIR:MOV R0, #79H ; 显示缓冲区首

30、地址送入R0 MOV R2, #01H ; 字位控制初值送入R2 MOV A, R2 LD0:MOV DPTR, #8003H ; C口地址送入DPTR MOVX DPTR, A ; 字位控制初值送入C口 MOV DPTR, #8002H ; B口地址送入DPTR MOV A, R0 ; 待显示字符偏移量送入A ADD A, #0FH ; 对A进行地址修正 MOVC A, A+PC ; 查字形码表 DIR1:MOVX DPTR, A ; 字形码送入B口 MOV R7, #02H ACALL DL ; 延时1ms,INC R0 ; 修正显示缓冲区指针 MOV A, R2 ; 字位码送入A JB

31、ACC.5, LD1 ; 若显示完6次则返回 左移5次 RL A ; 字位码左移一位 MOV R2, A ; 送回R2 AJMP LD0 ; 显示下一个数码 LD1:RET DSEG0:DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DSEG1:DB 7DH, 07H, 7FH, 6FH, 77H, 7CH DSEG2:DB 39H, 5EH, 79H, 71H, 73H, 21H DSEG3:DB 31H, 6EH, 40H, 3EH, 00H, 00H DL:MOV R6, #0FFH ; 延时子程序 DL6:DJNZ R6, DL6 DJNZ R7, DL RET END

32、,76543210,1、键盘的分类 编码键盘 硬件电路支持(检测按键、去抖动、生成键值) 成本高、电路复杂 节省CPU资源、速度快 非编码键盘 软件实现(检测按键、去抖动、生成键值) 独立式 行列式 触点式按键 软件去抖一般1020ms,与机械结构有关系 非触点式按键 电容式、霍尔式、触摸式 等,5.4 按键和键盘的设计,按键消抖的措施: 硬件消抖 软件消抖,触点式和非触点式,5.4.1 独立式非编码键盘的设计,均需占用CPU或其扩展的一条I/O输入数据线 例5-5 按照图5-36编制相应的程序,实现按键的扫描,若有键按下则将对应的键号(07)送入累加器A,并根据A中的键号转去执行相应的键处理

33、程序PA0PA7,键处理程序流程,ORG 0000H MOV DPTR, #4000H ; 命令口地址 MOV A, #00000000B ; 设置A口为输入方式 MOVX DPTR, A ; 将命令字写入命令口 ACALL KEY ; 调键盘扫描程序 CJNE R4, #0FFH, PROKEY ; 有键转PROKEY AJMP NOKEY ; 无键转NOKEY PROKEY:MOV DPTR, #KEYTAB ; 表起始地址送入 CLR C;清除进位标志 RLC A;带进位左移; A的内容乘以2送入A JMP A+DPTR ; (PC)(A)+(DPTR) KEYTAB:AJMP K0;两

34、字节指令 AJMP K1 AJMP K7 NOKEY: AJMP LOOP K0:,K1: K7: LOOP:SJMP LOOP ORG 0200H KEY:MOV DPTR, #4001H ; A口地址 MOVX A, DPTR ; 读入A口状态 XRL A, #0FFH ;异或,取反值 JZ RETURN ; 无键转RETURN ACALL DEL ; 有键则延时消抖 MOVX A, DPTR ; 再读入口状态 MOV R3, A;按键原值 XRL A, #0FFH;按键取反 JZ RETURN ; 无键转RETURN CJNE R3, #0FEH, NEXT1 ; 不是0#转NEXT1

35、MOV R4, #00H ; 将键号送入R4 SJMP COM ; 转到COM处执行 NEXT1:CJNE R3, #0FDH, NEXT2 ; 不是1#键转NEXT2,A1010 B1011 C1100 D1101 E1110 F1111,MOV R4, #01H ; 将键号送入R4 SJMP COM ; 转到COM处执行 NEXT2:CJNE NEXT8:CJNE R3, #7FH, RETURN ; 不是7#转RETURN MOV R4, #07H ; 将键号送入R4 COM:MOVX A, DPTR ; 读入A口状态,等释放 XRL A, #0FFH ;键值取反 JNZ COM ; 等

36、待,直到按键释放 MOV A, R4 ; 将R4内容送入A SJMP RETURN1 ; 返回 RETURN:MOV R4, #0FFH ; 将FFH送入R4 RETURN1:RET DEL:MOV R5, #18H ; 延时12ms DEL0:MOV R6, #0FFH DEL1:DJNZ R6, DEL1 DJNZ R5, DEL0 RET,行线 列线 键盘开关矩阵 按键处于行线和列线的交叉处,用于接通行线和列线 节省I/O口线 可以是扩充的I/O口 正逻辑、负逻辑(高电平有效、低电平有效) 先扫描(行)判断是否有键按下,再逐检查具体按键 列线输出00H,读入行线,若行线为全1,无按键输入

37、;若行线不全为1,则有键输入 列扫描法 逐列给0值扫描,可判断列号和行号,从而得出按键位置 反转法,5.4.2 行列式非编码键盘的设计,使被扫描的列为低电平,其他所有的列均为高电平,然后检测各行线的状态 若各行线都为高电平,则被按下的键不在此列,继续扫描下一列; 若行线不全为高电平,则被按下的键在此列,而且是在与低电平行线相交的交点上,记录此时的列值和该行的首键号,即可知道被按下键的键号(被按键的键号=该键所处行的首键号+列值),然后再利用查表指令即可求得该按键的键值 例5-6 根据图5-38编制按键扫描子程序,若无键按下,则使(A)=FFH;若有键按下,则通过列扫描获得被按键的键值(图中标识的是各键的键号),1列扫描法,检测 是否 按键,A1010 B1011 C1100 D1101 E1110 F1111,准备 列值,扫描 行值,地址,地址,键值,先由行线输出全0信号,接着由列线读入表示按键状态的代码 当有键被按下时,则相应的列线状态一定为0 然后,将列线读入的代码由列线输出,然后读行线的状态,将先后两次读入的表示按键状态的代码组合,即为被按键的键值,2反转法,保持被按下按键所在的列为0,本章结束,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!