基于vhdl语言的键盘控制电路的设计说明书

基于vhdl语言的键盘控制电路的设计说明书

ID:29472438

大小:430.04 KB

页数:36页

时间:2018-12-20

基于vhdl语言的键盘控制电路的设计说明书_第1页
基于vhdl语言的键盘控制电路的设计说明书_第2页
基于vhdl语言的键盘控制电路的设计说明书_第3页
基于vhdl语言的键盘控制电路的设计说明书_第4页
基于vhdl语言的键盘控制电路的设计说明书_第5页
资源描述:

《基于vhdl语言的键盘控制电路的设计说明书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、长沙理工大学EDA技术与应用课程设计报告课题:基于VHDL语言的键盘控制电路的设计(24)学院:计算机与通信工程学院组员姓名及学号:段强强(200954080326)雷淑英(200954080301)胡超(200954080325)指导老师:单树民2011年10月16目录1、前言(写在前面)…………………………………22、项目工作的分类…………………………………23、基于VHDL语言的键盘控制电路的设计思路……34、设计的实现………………………………………45、项目设计的总结及评价…………………………9一、

2、写在前面此次项目的计划、设计、以及实现的整个过程均由我组人员段强强、雷淑英、胡超三人通力合作,在此过程中虽然每个人的分工不同,耗时长短不同,但一切设计与实现均是在三人的共同参与下进行,三人齐心协力,努力为将项目做的更好的目标而努力。同时,在项目的进行过程中,得到了老师和各位同学的热心帮助,在此对他们表示衷心的感谢。二、项目工作的分类1、项目预备资料的收集与整理。2、项目设计方案的斟酌与确定。3、项目程序的设计与更改。4、项目程序的仿真5、项目设计报告的书写与更改。16三、基于VHDL语言的键盘控制电路的设计

3、思路1、此键盘为5*5的矩阵键盘,每个键的按下与否由这个键的行电平和列电平联合决定,当按下时为低电平“0”,没有按下时为高电平“1”。行向量为y,列向量为x,长度都为5。当有键按下时,检测x,y的值以确定哪个键按下。将输入x,y并置作为判决条件,并对每一个键进行编码,送入输出变量s。2、5*5键盘的25个键位分别为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,+,-,*,/,←,=,>,<,&。x,y的值都为0000~11111,其中,x与y每次最多只能有一位为零方有效。然后对25个键分别

4、编码,以确定x,y的值变化时s相应的值。3、此键盘前十个数字键不止有数字键的功能,同时在shift键的作用下还可以依次为以下10个键:!,^,(,),_,[,],#,{,}。这相当于实现了组合键的功能。但是shift键不能作为25个键中的一个,因为每次只能有一个键按下,所以,我们可以变通的将shift键作为一个独立的小键盘,用一个变量a来控制shift键有无按下。当a=0时shift按下,当a=1时,shift没有按下。现在的键盘相当于为5*5键盘和小独立键盘shift的组合键盘。现在的键扩展到了35个。s

5、的值为000000~100010。所以现在是以x,y,a三个输入共同决定s这个输出,以决定到底是哪一个键按下。4、键盘的实物模拟图及电路原理示意图16以上图形为手画的实物键盘模拟图。以上图形为键盘电路原理示意图四、基于VHDL语言的键盘控制电路的设计实现1、变量的设计:用x,y,a三个变量分别表示键盘行向量的值、键盘列向量的值以及shift键的值,以确定输出s。2、程序的书写:16LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYkeyboardISPORT(x,y:

6、INSTD_LOGIC_VECTOR(4DOWNTO0);a:INSTD_LOGIC;s:OUTSTD_LOGIC_VECTOR(5DOWNTO0));ENDkeyboard;ARCHITECTUREstrucOFkeyboardISBEGINPROCESS(x,y,a)VARIABLExya:STD_LOGIC_VECTOR(10DOWNTO0);BEGINxya:=(x&y&a);--将x,y,a三者并置来作为case语句的判别条件CASExyaISWHENB"11110111101"=>s<="000

7、000";WHENB"11110111011"=>s<="000001";WHENB"11110110111"=>s<="000010";WHENB"11110101111"=>s<="000011";WHENB"11110011111"=>s<="000100";WHENB"11101111101"=>s<="000101";WHENB"11101111011"=>s<="000110";16WHENB"11101110111"=>s<="000111";WHENB"11101101111"=>s<="0

8、01000";WHENB"11101011111"=>s<="001001";WHENB"11011111101"=>s<="001010";WHENB"11011111011"=>s<="001011";WHENB"11011110111"=>s<="001100";WHENB"11011101111"=>s<="001101";WHENB"11011011111"=>s<="001110";WHENB"101

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。