b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

实验十一8279键盘显示实验(1)学习在88系统中扩展键盘

电脑杂谈  发布时间:2021-02-23 17:02:09  来源:网络整理

实验11 8279键盘显示实验1。实验名称:8279键盘显示实验2。实验目的:(1)了解如何在88系统中扩展键盘显示界面。(2)了解8279接口芯片的编程。3.实验要求:编写一个程序,使用8279作为键盘显示核心,按小键盘0〜F,可在实验机的LED数字管上显示0〜F,按“ F”键,RST键或HALT键结束。4.实验原理:([1)实验电路和连接8279到8279片选CS79用电线连接到的210H〜217H孔,并全部套上K10的十个短路套管8279引脚此图显示了8279引脚图8279使用一个5V单电源,40引脚封装DB0〜DB7:双向数据总线,用于在8279 CPU之间传输数据和命令CLK:时钟输入线,用于生成内部定时时钟脉冲RESET:复位输入线, 8279设置为字符显示左端输入复位后,两个键锁触点回弹典型e,程序时钟预分频器设置为31,并且RESET信号为高电平有效。 CS:片选输入线,低电平有效,当CS端子为低电平时,MCU可以响应。8279读/写操作。 A0:缓冲区低地址,当A0为高时,表示数据总线为命令或状态,为低时,表示数据总线为命令或状态,为低时,表明数据总线上为数据数据总线。

stm32 矩阵键盘扫描原理_扫描键盘的原理_8279键盘扫描原理

RD:读取信号输入线,低电平有效,读取缓冲器,并将数据发送到外部总线。 WR:写信号输入线,低电平有效,读取延迟器,将来自外部数据总线的数据写入8279缓冲器IRQ:中断请求输出线,高电平有效,在键盘工作模式下,当FIFO /当有数据输入时传感器RAM,中断线将变为高电平。每次读取FIFO /传感器RAM时,中断线将降至低电平。如果RAM中仍然有信息,则此行再次变为高电平。在传感器工作模式下,只要检测到传感器信号变化,中断线就会变为高电平。 SL0〜SL3:扫描线,用于扫描按键开关,传感器阵列和显示编号。这些可以编程或翻译。 RL0〜RL7:环回线,通过按钮或传感器开关连接到扫描线。这些环回线均具有“ Bull”(拉力)功能以保持高电平。 SHIFT:移调功能。当开关闭合时,它被拉到低电平。当不按下SHIFT开关时,SHIFT输入保持在高电平。在键盘扫描模式下,当按键闭合时,按键位置和移调输入状态将一起存储。 CNTL / STB:关闭CNTL / STB开关时,请将其拉​​至低电平,否则它将始终保持高电平。对于选通输入模式下的键盘输入,选择时很常见,并且数据存储在FIFO RAM端口中。每个端口都是具有164个开关的数字显示端口。

stm32 矩阵键盘扫描原理_扫描键盘的原理_8279键盘扫描原理

BD:空格显示,此输出信号用于在数字转换期间显示空格,或使用display space命令控制空格字符的显示。 VCC:+ 5V电源输入线。 VSS:地线输入线。 8279 A的编程方法。8279根据其功能可分为三部分:键盘功能块;显示功能块;控制功能块;和CPU接口功能块。控制功能块包括控制和定时寄存器,定时和控制以及扫描计数器。主要用于控制键盘和显示功能块。 ::控制和定时寄存器:用于存储来自CPU的编程命令。当对CPU 8279进行编程以确定键盘并显示工作模式和其他工作条件时,首先将命令控制数据放入数据总线,然后使A0 = 1,WR = 0 CS = 0,并将命令键存储在控制和时序寄存器在WR的上升沿,并在解码后建立适当的功能。 ::计时和控制:它包含基本计时计数器,第一个计数器是一个固定的分频系数,其分频系数为2-31,可以由程序预先设置,因此内部频率为100KHz,它可以提供5. 1ms的键盘扫描时间和1 0. 3ms的去抖动时间,其他计数器将该基本频率划分为适当的按键扫描,行扫描,键盘阵列扫描和显示扫描时间。 ::扫描计数器:扫描计数器有两种工作方式,以编码方式进行:在工作模式下,计数器提供二进制计数。通过引脚SL0-SL3输出后,可以对其进行外部解码,以提供键盘和显示器的扫描功能。在解码工作模式下,扫描计数器对最低的两位进行解码。 SL0-SL3输出的解码信号用作显示器和键盘的解码扫描。 ::键盘功能块包括:返回缓冲区,键盘去抖和控制,8x8 FIFO传感器RAM,FIFO /传感器RAM状态。 B.返回缓冲区键盘和键盘的去抖和控制栏的返回行由返回缓冲区缓冲。在键盘工作模式下,将逐行检查这些行以在键行中找到已关闭的键。如果去抖动电路检测到按键已关闭,则等待1 0. 3ms,然后重新检查按键是否仍处于关闭状态。如果仍然关闭,则矩阵中键的行和列地址以及SHIFT CNTL的状态将发送到FIFORAM。 FIFORAM的数据格式如下:D7 D6 D5 D4 D3 D2 D1 D0 CNTL SHIFT SCAN RET URN在数据格式中,最高位是CNTL,第二高位是SHIFT状态,D5-D3来自扫描计数器, D2-D0来自返回计数器,扫描线计数器和回扫线计数器分别反映所按下键的行和列的值,如果在传感器阵列中,返回线上的数据直接进入传感器RAM与阵列中要扫描的行相对应,因此每个开关的位置都直接反映为传感器RAM的位置。 :: FIFO /传感器RAM,8x8 RAM,在键盘中在模式和选通模式下,它是先进先出(FIFO)存储器,每个新信息按顺序写入,然后按顺序读出写作。在传感器阵列扫描模式下,内存用作传感器RAM,这时RAM中的每一行都会存储传感器阵列中相应行的状态。 :: FIF0 /传感器RAM状态在键盘或选通模式下,FIFO状态跟踪FIFO中的字符数。注意是“满”还是“空”,写或读过多被视为错误。当FIFO不为空时,状态逻辑提供一个中断请求IRQ信号。在传感器阵列扫描模式下,如果检测到传感器更换,则IRQ为有效的高电平。 FIFO状态字的低位表示FIFO字符的数量,F表示FIFORAM已满。 O(超过mn)表示超限错误,即试图将另一个字符发送到完整FIFO; U(未完成)指示空错误,即尝试读取空FIFO。 S / F具有两个含义:在传感器扫描模式下,S / F表示在传感器RAM中至少包含一个传感器关闭指示,并且在特殊错误模式下该位是错误标志。它用于指示是否同时发生多个关闭错误。 Du位指示显示RAM尚不可用,因为CLEAR DISPLAY CLEARALL命令尚未完成其消除操作。 C.显示功能块包括:显示寄存器,16X8显示RAM,显示地址寄存器。 ::显示RAM和显示寄存器8279里面有16X8显示RAM,通过显示寄存器和两个四位端口0UT A0-3、0UT BO-3新建显示,该显示可以是白炽灯或分段数码管,显示RAM可以采用16X8的形式,也可以采用两种16x4 RAM的形式。显示RAM可由CPU读取和写入,要读取和写入的RAM字节地址由显示地址寄存器指示。 :::显示地址寄存器保存当前读取的CPU或写入的RAM地址,以及正在显示的两个4段地址,该读写地址由CPU命令编程,也可以设置为工作模式是每次读写后自动添加地址。设置正确的工作模式之后,CPU可以直接读取显示RAM,并且8279会自动更新半字节地址以适应CPU发送的数据。 A半字节可以单独发送或作为字发送,由CPU设置。DI / O接口功能块8279使用数据缓冲区和I / O控制与CPU系统总线接口。 I / O控制部分使用四行CS.A 0. RD WR来控制CPU8279。之间的数据交换打孔器是用于数据交换的双向通道。下表显示了控制信号和数据交换之间的逻辑关系:CS A0 WR RD 8279读取状态8279写入状态8279读取数据8279写入数据8279 8279的操作如上所述,并且8279可以适应各种因为8279中每个功能块的工作都是可编程的。用户可以使用将命令字写入8279的方法来根据自己的要求对8279的工作模式进行编程。从上表可以看出,只要同时CS = 0 WR = 0A0 = 1,就可以将命令字写入8279,并且可以在wR 9.的上升沿将命令输入827 ]对于CPU,8279只有两个端口地址。一种用于读写命令和状态(CS = 0,A0 = 1),另一种用于读写数据(CS = 0,A0 = 0),但是命令字有很多种) 8279中使用的用于编程的命令区分各种命令字的方式是命令字代码的高位是命令字的真实内容A.8279编程命令a。键盘/显示模式设置为最高顺序和最低顺序代码,其中DD是显示模式,而KKK是键盘模式DD 00位字符显示输入01从左端输入开始的16位字符显示从左端输入11开始输入的10位字符从右端开始的16位字符显示输入所谓的左端输入是根据用户发送的顺序进行的显示,从左位数开始,并一一排列在右侧,在最右位数之后,从最左边开始显示下一位数字。 8279中的显示RAM单元是一个One对应关系,RAM地址对应于最左侧的显示字符,第15个单元对应于最右侧的显示字符,并且右端输入法是电子计算器中常用的显示方法,第一个输入数字是最右边的显示字符开,以后每次发送新的数字时,显示屏将首先向左移动一位,然后发送的数字仍将放在最右边的显示字符上。代码扫描键盘2键链解码扫描键盘2键链编码扫描键盘-N键巡视解码扫描键盘-N键巡视频闪输入,解码显示扫描。按键巡视是8279。键盘中按键的两种处理方法,即代码扫描和解码扫描SL0-SL3具有链盘和显示器的两种扫描形式。 b。程序时钟命令代码该命令确定定时和控制中预分频器的分频系数,代码PPPPP可以形成2-31的数字,进行预校准外部时钟可以除以频率以获得内部基数频率。如果将基本频率选择为100KHZ,则可以获得上面指定的扫描和去抖动时间。分频系数为;复位脉冲后,外部时钟为100KHZ,如果没有自动发送代码3 1. FIF0 /传感器RAM命令代码:0 X = Any此命令用于确定CPU读取操作的对象是FIF0 /传感器RAM在8279中,确定要读取哪个RAM字节,其中AAA表示要由CPU读取的行,而AI是功能位的自动加法。在键盘扫描模式下,两者互不相关。每次后续读取8279时,数据将以与FIF0首次输入的顺序相同的顺序自动发送出去。从FIFO读取所有后续读取,直到写入输入新命令。在传感器阵列模式下,AAA选择传感器RAM RAM中的下一行。 d。读取显示RAM命令代码:0 8279编写此命令以确认CPU使用显示RAM作为读取操作的数据源。 AAAA显示RAM的地址AI是自动的功能位,如果AI = 1,则在读取RAM的每一行后,将自动添加行地址e。写入显示RAM命令代码:8279写入此命令,指定下一步写入的显示RAM,寻址模式和自动加法功能与读取显示RAM f相同。显示禁止写入/空格命令代码:IWIW BL BL X =任何一位的显示,必须屏蔽其中一位,以便在发送CPU时显示信息不会影响另一半。 IW是屏蔽功能位。如果为某个端口设置了IW = 1,则该端口将被屏蔽。需要注意的是:B0 D0对应,BL是显示空间标志,如果某个端口的BL设置为1,则该端口将显示一个空间。当要使单位输出格式显示空间时,必须同时设置两个BL标志以使显示完全空间。消除命令代码:CDCD CD CF CA此命令用于根据特定格式清除显示RAM FIF0的状态,其中CD指定清除格式:CD CD CD AB =十六进制如果为“ 1”,则允许清除显示(或使用CA = 1) CF清除FIFO状态(包括中断),如果CF = 1,则清除FIF0状态,并将传感器RAM的指示器重置为中断线。自感测RAM的RAM值也设置为CA作为总清除,效果等同于CD CF的合成。当CA = 1时,使用CD指示的清除格式清除显示RAM并清除FIF0状态,在清除显示RAM的时间段(约16us)期间,无法对其进行写操作,并且在此期间,FIFO的最高有效位被设置为“ 1”。中断结束/错误模式设置命令代码:X =传感器中的任何一个在阵列模式下,此命令使IRQ线变低并允许再次写入RAM(检测到传感器位置变化时,IRQ线可能已经升高,因此这样做可以防止信息在重置之前再次写入RAM) 。在N键巡视模式下,如果键巡视模式具有特殊错误模式,则主要用于检查按键的多次按下,如果在回弹周期中发现有两个按键被按下,则可以认为是多次按键同时按下,并建立了一个错误标志以防止进一步写入FIF0,并同时设置了一个中断(如果尚未设置中断)。读取FIFO状态字命令,CF = 1的清除命令可以复位错误标志。 8279编程示例通用键盘显示接口板可以直接挂在Z8 0. 803 1.上,6502总线上的编程方法完全相同,通常按以下顺序进行:设置分频系数(分频系数)复位后为3 1);选择键盘/显示工作模式;消除显示RAM FIF0状态;将显示数据写入显示RAM,使用8031汇编器初始化8279 ORG 0000H MOV DPTR,#7000H点到8279数据端口INC DPTR指向8279控制端口MOV设置8279工作模式M0VX @ DPTR,A MOV清除8279内部显示RAM状态MOVX @ DPTR,#22HMOVX @DPTR设置8279分频系数LOOP:MOVX @DPTRJB ACC.7显示RAM已清除吗?MOV指向第一个数码管MOVX @DPTR输出“ 1”字体MOV DPTR,#7000H MOVX @DPTR INCDPTR LOOP1:M0VX#07HCJNE#00H,L00P2AJMP LOOP1 LOOP2:MOVDPTR,#7000H;按下键时,将键值发送到累加器AMOVX ke y值由8279行扫描信号(SL0-SL 3)和列信号(RL0-RL)7)组成)组成,矩阵的不同组合将获得不同的键,但不会有相同的键值在同一矩阵中,对于初学者来说很方便地编译关键显示程序。下表是常规键盘面板的键值:名称键值C1 C8 C9 D0 D8 E0 C2 CA D1 D9名称LASTNEXT EXEC键值DA C3 CB D2 D3 DB E3 E2 E1字体与数字电子管的极性有关。连接方法与8279上的共阴极数码管和通用键盘有关。字形代码如下:字形代码0C 9F 4A 0B 99 29 28 8F字形代码08 09 88 38 6C 1A 68 F8点亮必须选通数码管和字体,键盘显示板每个数码管的位地址如下:数码管LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8位地址80 81 82 83 84 85 86 87(2)描述该实验以串行下载和单板方式进行,可以在机器模式下进行; 8279工作模式为:左输入,八位数字显示,外部解码,双键互锁。

stm32 矩阵键盘扫描原理_8279键盘扫描原理_扫描键盘的原理

(3)实验方法编译程序,然后编译和下载;或在实验机上手动编程。5. Thinking 6.源程序D7 9. ASMZ8279 EQU 212H D8279 EQU 210H LEDMOD EQU 00;输入左边是8位显示屏外部解码是8位显示屏LEDFEQ EQU 38H;扫描频率CODE SEGMENT ASSUME CS:CODE,DS:CODE START:;初始化PUSH CS POP DS MOV DX,Z8279 MOV AL,LEDMOD OUT DX,AL MOV AL ,LEDFEQ OUT DX,AL MOV DX,D8279 MOV AL,7FH OUT DX,AL MOV DX,D8279 MOV AL,7FH OUT DX,AL MOV DX,D8279 MOV AL,7DH OUT DX,AL MOV DX,D8279 MOV AL,7FH输出DX,AL MOV DX,D8279 MOV AL,70H输出DX,AL MOV DX,D8279 MOV AL,5EH输出DX,AL MOV DX,D8279 MOV AL,79H输出DX,AL MOV DX,D8279 MOV AL,77H输出DX ,AL;上面写(AEDK868 8) NOP MOV DX,Z8279 MOV AL,0C2H OUT DX,AL;清空FIFO寄存器等待:NOP AL,DXMOV BL,AL AL,80HCMP AL,80H JE WAIIT;当FIFO正在清除等待MOV AL,BL AL,0FHCMP AL,00H JE WAIIT MOVAL,40H读取FIFORAM命令字OUT DX,AL MOV DX,D8279;读取FIFO RAM内容AL,DXNOP CMP AL,15H;如果是终止符,则结束;检查表,将密钥代码放入AL LEABX,LED XLAT MOV DX,D8279中;将AL的内容写入数字管OUT DX,AL MOV DX,Z8279;清除FIFO RAM寄存器MOV AL,0C2H OUT DX,AL JMP WAIIT;等待下一个按键输入FINI:MOV DX,Z8279;清除FIFO寄存器并关闭蜂鸣器MOV AL,0C2 H OUT DX,AL JMP LEDDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H DB 5EH,79H, 71H代码结束END START


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-360069-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...