智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明

上传人:ni****g 文档编号:476889809 上传时间:2023-12-04 格式:DOCX 页数:32 大小:519.47KB
返回 下载 相关 举报
智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明_第1页
第1页 / 共32页
智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明_第2页
第2页 / 共32页
智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明_第3页
第3页 / 共32页
智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明_第4页
第4页 / 共32页
智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明》由会员分享,可在线阅读,更多相关《智能仪器设计报告基于单片机和FPGA的矩阵键盘控制系统设计说明(32页珍藏版)》请在金锄头文库上搜索。

1、1. 概述1. 概述 - 3 -2. 89C51 单片机简介 - 3 -3. FPGA 简介 -3 -4. 矩阵键盘控制系统 - 3 -4.1. FPG破计木g图 -3 -4.2. 单片机硬件实现 - 4 -4.3. 键盘控制系统子模块 - 4 -4.3.1 矩阵键盘原理 -4-4.3.2 时钟分频模块 -5-4.3.3 键盘扫描模块 -6-4.3.4 译码转换及三态门输出模块 -6-4.3.5 单片机及液晶显示模块部分 -7-5. 仿真及结果分析 - 9 -5.1. 分频模块时序仿真 -9-5.2. 键盘扫描模块 -9-5.3. 译码输出模块 -9-5.4. 单片机与液晶显示器模块 - 10

2、 -6. 参考文献 - 11 -致 谢 - 12 -附 录 - 13 -随着可编程逻辑器件及EDA技术的发展,在系统设计中经常会用到FPG林扩展单片机的相关资源。单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力等特点;而FPGAU具有高速、高可靠性以及开发便捷、规范等特点,因此两类器件相结合的电路结构应在许多高性能仪器仪表和电子产品中将被广泛应用。根据两者的特点,设计一种基于89C51单片机与FPGA勺总线接口逻辑电路,实现对机械式键盘按键的检测和译码输出。本系统主要分为四大部分:89C51芯片、FPGA真块、矩阵键盘和液晶显示器。其中FPGA真块主要实现与矩阵键盘接口并发信号对

3、其扫描并得到信号等复杂的逻辑功能,89C51芯片实现将FPGA5片传来的信号并将其对其信号识别然后将其传给显示器,驱动液晶显示器显示。2. 89C51单片机简介89C51是Intel公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个256K的片内数据存储器RAM片内程序存储器ROM四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART勺串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHz以上各个部分通

4、过内部总线相连接。中央处理器CPU单片微型计算机的指挥、执行中心,由它读人用户程序,并逐条执行指令。有的指令涉及到各个寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件之间的关系;有的则与外部器件如外部程序存储器发生联系。89C5l单片机的一个执行周期由6个状态(s1s6)组成,每个状态又持续2个振荡周期,分为P1和P2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12MHz晶体振荡器,则每个机器周期为1us,每个状态周期为1/6us;在一数情况下,算术和逻辑操作发生在N期间,而内部寄存器到寄存器的传输发生在P2期间。89C5l单片机的40个引脚中有2个专用于主电源引脚,2

5、个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。由于单片机功能多,引脚数少,因而许多引脚具有第2功能;单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由B口分时复用作为数据总线。3. FPG陶介FPGA(FieldProgrammableGateArray),即现场可编程门阵列,它是在PALGALEPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPG阙用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包

6、括可配置逻辑模块CL(BConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA勺基本特点主要有:1)采用FPGAS计ASIC电路,用户不需要投片生产,就能得到合用的芯片;2) FPGAH故其它全定制或半定制ASIC电路的中试样片;3) FPG咕部有丰富白触发器和I/O引脚;4) FPGA1ASIC电路中设计周期最短、开发费用最低、风险最小的器件之;5) FPGA采用高速CHMOS艺,功耗低,可以与CMOSTTL电平兼容。FPGA由存放在片内RAMfr的程序来设置其工作状态的,因此,工作时需要

7、对片内的RAM行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA5片将EPROMP数据读入片内编程RAMfr,配置完成后,FPGA!入工作状态。掉电后,FPGAt复成白片,内部逻辑关系消失,因此,FPGAfg够反复使用。FPGA勺编程无须专用的FPG斓程器,只须用通用的EPROMPROIMI程器即可。当需要修改FPG配能时,只需换一片EPROMP可。这样,同一片FPGA不同的编程数据,可以产生不同的电路功能。因此,FPGA勺使用非常灵活。4.矩阵键盘控制系统4.1. FPG破计框图FPGA电路的设计,包括对时钟进行分频,对键盘进行连续扫描,再进一步通过译码等操作,确定按键

8、的位置,译码输出。并进一步将译码得到的8位二进制数经过一个三态门,通过中断信号和RD1号的控制,实现单片机和FPGA勺8位数据信号的互连。FPGAS、体设计Ig图如图4-1所示。Vccnnn图4-1FPGA总体设计框图4.2. 单片机硬件实现89C51单片机接收从FPGA真块传送过来的信号,并对信号进行识别,然后图4-2单片机硬件接线图4.3. 键盘控制系统子模块4.3.1 矩阵键盘原理矩阵键盘又叫行列式键盘。用带IO口的线组成行列结构,按键设置在行列的交点上。例如用33的行列式结构可以构成9个键的键盘。这样,当按键数量平方增长时,I/O口只是线性增长,这样就可以节省I/O口。按键设置在行列线

9、交叉点,行列线分别连接到按键开关的两端。列线通过上拉电阻接3.3V电压,即列线的输出被默认设置为高电平状态,对应的二进制代码即为1。判断键盘中有无按键按下式通过行线送入扫描信号然后从列线读取状态得到的。具方法是依次给行线送低电平,检查列线的输入。如果列线全是高电平,则代表低电平信号所在的行中无按键按下;如果列线有输入为低电平,则代表低电平信号所在的行和出现低电平的列的交点处有按键按下。矩阵键盘的原理图如图4-3所示。VccKEYI0KEYI1KEYI2图4-3矩阵键盘的原理图4.3.2 时钟分频模块时钟电路主要产生系统所需要的时钟信号,由FPGA时钟分频得到系统工作时钟,然后采用计数器分频方法

10、得到所需要的键盘扫描信号。本次设计中循环的发送3种数值,即011,101,110。具体的分频过程是将原来的f=50Mhz分频到现在的f=50hz。本程序中采用了计数器分频的思路,把一个计数周期内的约定个数定为1000000,在每次计数到约定个数的一半时,实现1、0之间的跃变。这样,就实现了对原频率1/1000000的分频。分频模块视图如图4-4所示。图4-4分频模块视图4.3.3 键盘扫描模块键盘扫描电路用来产生键盘扫描信号,根据矩阵键盘工作原理,需要产生从第一列到第四列的周期性扫描信号。采用Verilog硬件语言设计扫描模块。键盘扫描模块可以周期性的得到行扫描信号Keydry0Keydry2

11、:011-101-110-011-.周而复始的扫描。触发信号的周期是20ms就是上一分频模块的的输出周期。键盘扫描模块如图4-5所示。part2elkkeydiv(ZO)rstk1part2图4-5键盘扫描模块4.3.4 译码转换及三态门输出模块矩阵键盘所产生白扫描回复信号(按键输入给FPGA的信号),是无法直接在FPGA内部作为信号进行使用,在使用前需要根据定义的不同功能将扫描回复信号译码为可供FPGA识别的BCD编码,完成矩阵键盘输入的译码,同时区分不同按键的功能。译码电路的主要功能是:判断是否有键按下,然后根据扫描的信号确认所按下的键是数字键还是功能键,将所按下的键编写成BCD码。BCD

12、码的编码表4-1如下所示:表4-1BCD码编码表键盘输出按键译码键盘输出按键译码011_01110001101_11060110011_10120010110_01170111011_11030011110_10181000101_01140100110_11091001101_10150101000_000无按键0000在完成BCM转换后,要进一步通过中断控制,发送信号给单片机。并在三态门的控制作用下,实现不同状态的输出。具体即在无键盘按下时,输出为高阻状态;有键盘按下时,按相应的键码输出8位数据给单片机。在三态门的控制实现过程中,要注意,RD信号的0和1状态转换的条件,从0到1和从1到0是

13、依据不同的变量来进行判断的。从1到0,是判断Y发生变化,且当前状态不是全为1;从0至I1是根据列向量KEYO勺状态进行判断的,一旦KEYOJ全1,则进行中断信号从0至M的转换。这样能够实现三态门有效的对数据输出的控制。译码输出模块如图4-6所示。top3FWEVIQ:0)T1t7:O由_RDkAtop3图4-6译码输出模块4.3.5 单片机及液晶显示模块部分点阵LCD的显示原理:在数字电路中,所有的数据都是以0和1保存的,对LCD空制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。对于中文,将ASCII表的高128个很少用到的数值以两

14、个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。字模是用数字的各位信息来记载英文或汉字的形状,通过字模将汉字在屏幕上显示出来。12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示8M个(16M6点阵)汉字。12864LCD勺弓唧说明如表4-2所示。表4-2液晶模块12864的管脚说明管脚号管脚名称LEVER管脚功能描述1VSS0电源地2VDD+5.0V电源电压3V0-液晶显示器驱动电压4D/I(RS)H/LD/I=H,表示DB7DB0为显示数据D/I=L,表示DBDB0为显示指令数据5R/WH/LR/W=H,E=H数据被读至ijDB7DB0R/W=L,E=HHL”数据被写到IR或DR6EH/LR/W=L,E信号下降沿锁存DB7DB0R/W=H,E=HDDRA瞰据读至UDB7DB07DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/LH:选择芯片(右半屏)信号16CS2H/LH:选择芯片(左半屏)信号17RETH/L复位信号,低电平复位18

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号