综合报告范例__键盘输入电路设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
综合报告范例__键盘输入电路设计

4×4键盘输入电路设计 指导老师: 曹华伟 设计成员: 通工四班 **(200531200***) 通工三班 **(200531200***) 电科二班 **(200531200***) 电子信息学院2005级 2008年6月25日 目录 一. 设计要求…………………………………………3 二. 设计工具…………………………………………3 三. 总体设计思路……………………………………3 四. 系统结构与模块划分……………………………3 五. 模块设计与信号定义……………………………4 六. 测试平台…………………………………………4 七. 仿真结果…………………………………………4 八. 结论………………………………………………5 九. 文件说明…………………………………………5 十. 附录(源代码)…………………………………6 一 设计要求 作为设计数字电路的常用的有效手段,由4 x 4键盘输入数据时,由于键盘按键是一种机械开关,设计其控制电路时,一个任务是正确译码,另一个任务是设计防抖电路.此外,由于整个电路用VHDL语言编写,只要对其进行简单的修改就可以满足不同的设计需求,具有很强灵活性. 二 设计工具 Quartus II 7.2 三 总体设计思路 对于该键盘扫描电路,使用者利用4 x 4键盘输入BCD码数据.输入数据前,应对电路清零,做电路的初始化工作.描述的电路外接一个七段数码管,按键时相应数据就显示在数码管上. 四 系统结构与模块划分 如图一所示为键盘扫描电路的总体框图: 图一 键盘扫描电路总体框图 五 模块设计与信号定义 图一所示是内外结构框图,虚线内部是芯片内的电路.这个电路使用的键盘是一种无极性压力变阻开关,不按键相当断路;按键,开关呈低电阻.设行线输出高电平,按键,则高电平输入列端口.为了保证不按键时,列端口是低电平,电路使用时,需要在地和4个列端口之间分别接一个电阻.图中C是程序中的控制信号,C=COL(0)+ COL(1)+ COL(2)+ COL(3).其他符号可参阅附录. row是键盘的行数据输入,col是列数据输入,a1~g1对应七段数码管显示.在仿真图中可以看出,将列信号col置为8(1000),行信号row为循环码”1000”,”0100”,”0010”,”0001”,则对应数码管显示着不同的数据,例如,当col为”1000”,row也为”1000”时,按程序看输出数据应该是零,而对应的七段数码管输出是126(“1111110”),也是对应十进制数0,则输出正确. 六 测试平台 GW48-CK 实验箱 微型计算机 七 仿真结果 定时分析图: 仿真波形图: 八 结论 键盘的行(row) 列(col)数据输入译码器,译码器输出传入寄存器存储.寄存器输出传入4/7线译码器译码,其输出驱动数码管显示数.用循环码计数器(xhm)产生4位扫描信号,用以驱动键盘的行线.通过仿真波形可以看出,已达到实验设计要求.可以正确译码并具有防抖动功能. 九 文件说明 文件名:key_scan.vhd 十 附录(源代码) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity key_scan is PORT(clk0,clk2,cr:IN std_logic; col:in std_logic_vector(3 downto 0); a1,b1,c1,d1,e1,f1,g1:OUT std_logic; row:out std_logic_vector(3 downto 0); p78:OUT std_logic); end; ARCHITECTURE a OF key_scan is signal line:std_logic_vector(3 downto 0); signal bcdmin,bcdmo:std_logic_vector(3 downto 0); signal clr:std_logic; begin p78=1; p1:PROCESS(clk0) begin if(clr=0)then line=1000; elsif(clk0event and clk0=1)then line(3 downto 0)=line(2 downto 0)line(3); end if; end process p1; row(3)=line(3); row(

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档