已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络 如有侵权 请联系网站删除 精品文档 课 程 设 计 课程名称课程名称 EDA 技术技术 课题名称课题名称 键盘扫描与数码管及点阵显示设计键盘扫描与数码管及点阵显示设计 专专 业业 电子科学与技术电子科学与技术 班班 级级 0802 学学 号号 姓姓 名名 指导教师指导教师 2011 年年 6 月月 20 日日 此文档收集于网络 如有侵权 请联系网站删除 精品文档 湖南工程学院 课程设计任务书 课程名称课程名称 EDA 技术 题题 目目 键盘扫描与数码管及点阵显示设 计 专业班级 电科 0802 学号 学生姓名 指导老师 审 批 任务书下达日期 2011 年 6 月 13 日 设计完成日期 2011 年 6 月 20 此文档收集于网络 如有侵权 请联系网站删除 精品文档 日 设计内容与设计要求 一 设计内容 1 设计并调试键盘扫描与数码管显示电路 2 键盘为 3 4 数码管为 7 段 8 位 3 以数字形式显示键盘 16 个输入键的识别 4 外设置控制开关和防抖动电路 5 功能扩展 自选 彩灯状态的转换以及点阵字符的显示 二 设计要求 1 设计思路清晰 整体设计给出框图 提供顶层电路图 2 应用 vhdl 完成各次级模块设计 绘出具体设计程序 3 完成设计仿真和程序下载 4 写出设计报告 此文档收集于网络 如有侵权 请联系网站删除 精品文档 主要设计条件 1 提供所需元件及芯片 2 提供电源和调试设备 3 提供 EWB 设计软件 说明书格式 1 课程设计封面 2 设计仿真 3 编程下载 此文档收集于网络 如有侵权 请联系网站删除 精品文档 4 总结与体会 5 附录 6 参考文献 7 任务书 8 说明书目录 9 设计总体思路 10 单元电路设计程序 进 度 安 排 月 日 日 课题电路设计 月 日 日 总体电路设计和子模块设计 月 日 日 软件仿真和联线 月 日 日 电路调试 月 日 写设计报告 打印相关图纸 月 日 答辩 参 考 文 献 此文档收集于网络 如有侵权 请联系网站删除 精品文档 一 电子技术与 EDA 技术课程设计 郭照南 主编 中南大学出版社 此文档收集于网络 如有侵权 请联系网站删除 精品文档 目录目录 第第 1 章章 总体方案设计分析总体方案设计分析 1 1 1 基本设计思路 1 1 2 总体框图 1 第第 2 章章 各级模块设计与分析各级模块设计与分析 2 2 1 键盘扫描程序设计及仿真 2 2 2 点阵显示程序设计及仿真 5 2 3 彩灯显示程序设计及仿真 11 2 4 数码管扫描程序设计及仿真 14 第第 3 章章 系统总电路设计与仿真系统总电路设计与仿真 16 3 1 系统总电路模块图 16 3 2 总电路仿真波形 16 3 3 系统总体电路图 17 第第 4 章章 软件的调试与下载软件的调试与下载 18 4 1 引脚锁定 18 4 2 引脚锁定后总电路图 19 4 3 程序下载界面 19 4 4 系统总体仿真结果 20 第第 5 章章 总结与体会总结与体会 21 第第 6 章章 参考文献参考文献 22 第第 7 章章 附录附录 23 7 1 点阵字符显示效果图 23 7 2 彩灯显示结果 23 此文档收集于网络 如有侵权 请联系网站删除 精品文档 第第 1 章章 总体方案设计分析总体方案设计分析 1 1 基本设计思路基本设计思路 首先利用键盘扫描程序完成键盘扫描及按键输出值的输出 同时在 其中加入按键消抖程序 以保证按键每次按下的键值都是有效准确的理 想输出信号 同时通过按键扫描的输出定义两个控制信号量 程序中即 xuanze 和 dz 两信号 以通过按键的按下来达到控制彩灯状态切换以及点 阵字符显示切换的目的 其中 定义了两个彩灯控制信号 以用来选择 彩灯模块中两种彩灯显示状态的切换 而点阵控制信号则定义了五个状 态以控制点阵显示的五个状态的切换 从而整个系统则通过键盘扫描程 序中的两个控制信号连接成了一个整体 最后就将键盘扫描的输出信号 连接到数码管显示模块 彩灯模块连接到 8 个 led 灯 而点阵模块的输 出则接入到点阵上 再在现有的基础上加入清零信号 cr 综上 整个系 统的功能即得以实现 1 2 总体框图总体框图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 1 1 系统总体框图 第第 2 章章 各级模块设计与分析各级模块设计与分析 2 1 键盘扫描程序设计及仿真键盘扫描程序设计及仿真 2 1 1 基本设计思路基本设计思路 本模块采用行输入 列输出 并定义一个五位的矢量信号 count 此 矢量通过时钟脉冲的输入计数 并且定义一个信号量 sel 并取其中间两位 以此两位构成的四个状态进行键盘列扫描 同时再在另外一个进程中通 过三个条件语句的选择判断以确定三个行键中哪个按下 并结合列扫描 中 sel 所取的四个状态共同连接赋值给一个四位矢量 knum 并由此确定 了键盘的 12 个状态 最后利用另外一个进程中对 knum 值的判断从而确 定对应的按键值的输出 以及其他各控制键值的信号输出 其中包括 控制彩灯状态的控制信号 xuanze 以及控制点阵显示状态的控制信号 dz 2 1 2 键盘扫描模块图键盘扫描模块图 clk cr kin1 kin2 kin3 xuanze 1 0 dz 2 0 keyv 3 0 keycode 4 0 keyscan inst1 图 2 1 1 键盘扫描模块图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图中 clk 接时钟脉冲 cr 是复位端 kin1 kin2 kin3 为行扫描输入 xuanze 为彩灯控制信号 dz 为点阵控制信号 keyv 为列输出 keycode 为按键显示数值输出 2 1 3 键盘扫描程序键盘扫描程序 library ieee use ieee std logic 1164 all use ieee std logic unsigned all use ieee std logic arith all entity keyscan is port clk cr in std logic 扫描时钟输入 kin1 kin2 kin3 in std logic 按键行扫描输入 xuanze out std logic vector 1 downto 0 dz out std logic vector 2 downto 0 keyv out std logic vector 3 downto 0 按键列扫描 keycode out std logic vector 4 downto 0 段码显示输出 end keyscan architecture a of keyscan is signal sel std logic vector 1 downto 0 signal knum std logic vector 3 downto 0 signal count std logic vector 4 downto 0 signal count0 std logic begin sel count 3 downto 2 count0 count 0 p1 process clk 产生扫描信号 begin if clk event and clk 1 then count keyv keyv keyv keyv keyv 1111 end case end process p3 process count0 count kin1 kin2 kin3 查键值 begin if cr 0 then knum 1 elsif count0 event and count0 1 then if kin3 0 and count 1 0 then 第三行有键按下时 knum 1 elsif kin2 0 and count 1 0 then 第二行有键按下时 knum 0 elsif kin1 0 and count 1 0 then 第一行有键按下时 knum 0 end if end if end process p4 process knum 键值译码显示输出 begin if cr 0 then xuanze 11 dz keycode 00000 xuanze 00 dz keycode 00001 xuanze 00 dz keycode 00010 xuanze 00 dz keycode 00011 xuanze 00 dz keycode 00100 xuanze 00 dz keycode 00101 xuanze 00 dz keycode 00110 xuanze 00 dz keycode 00111 xuanze 00 dz keycode 01000 xuanze 00 dz keycode 01001 xuanze 00 dz keycode 01010 xuanze 01 dz keycode 01011 xuanze 10 dz keycode 01100 xuanze 00 dz 000 end case end if end process end a 2 1 4 键盘扫描仿真波形键盘扫描仿真波形 图 2 1 2 键盘扫描仿真波形 2 2 点阵显示程序设计及仿真点阵显示程序设计及仿真 2 2 1 基本设计思路基本设计思路 程序通过键盘扫描程序中的点阵输出控制信号 dz 来控制点阵字符显 示的状态 然后定义点阵的行列为输出类型 通过六个 case 语句以及 16 个显示状态的循环扫描来达到字符显示效果 最终结果 通过 6 个按键 的控制分别输出 湖 南 工 程 学 院 六 此文档收集于网络 如有侵权 请联系网站删除 精品文档 个字符 2 2 2 点阵显示模块图点阵显示模块图 clk cr dz 2 0 hang 15 0 lie 3 0 dianzheng inst2 图 2 2 1 点阵显示模块图 其中 clk 接时钟脉冲 cr 接复位端 dz 接从键盘扫描程序中输出的 点阵控制信号 hang lie 分别定义为点阵的行列的 20 个输入引脚 2 2 3 点阵显示程序点阵显示程序 library ieee use ieee std logic 1164 all use ieee std logic unsigned all use ieee std logic arith all entity dianzheng is port clk cr in std logic 扫描时钟输入 dz in std logic vector 2 downto 0 hang out std logic vector 15 downto 0 lie out std logic vector 3 downto 0 end entity dianzheng architecture behav of dianzheng is signal sel std logic vector 3 downto 0 signal count std logic vector 4 downto 0 type zhuangtai is s0 s1 s2 s3 s4 s5 signal current state next state zhuangtai begin sel count 3 downto 0 p0 process clk 产生扫描信号 begin 此文档收集于网络 如有侵权 请联系网站删除 精品文档 if cr 0 then count 00000 elsif clk event and clk 1 then count count 1 if count 10000 then count 00000 end if current state if dz 001 then case sel is when 0000 lie 1111 hang lie 1110 hang lie 1101 hang lie 1100 hang lie 1011 hang lie 1010 hang lie 1001 hang lie 1000 hang lie 0111 hang lie 0110 hang lie 0101 hang lie 0100 hang lie 0011 hang lie 0010 hang lie 0001 hang lie 0000 hang count 00000 hang 0000000000000000 end case next state s0 elsif dz 010 then next state s1 elsif dz 011 then lie 1111 hang 0000000000000000 next state s2 elsif dz 100 then lie 1111 hang 0000000000000000 next state s3 elsif dz 000 then lie 1111 hang 0000000000000000 next state s4 此文档收集于网络 如有侵权 请联系网站删除 精品文档 elsif dz 111 then lie 1111 hang 0000000000000000 next state case sel is when 0000 lie 1111 hang lie 1110 hang lie 1101 hang lie 1100 hang lie 1011 hang lie 1010 hang lie 1001 hang lie 1000 hang lie 0111 hang lie 0110 hang lie 0101 hang lie 0100 hang lie 0011 hang lie 0010 hang lie 0001 hang lie 0000 hang count 00000 hang 0000000000000000 end case next state case sel is when 0000 lie 1111 hang lie 1110 hang lie 1101 hang lie 1100 hang lie 1011 hang lie 1010 hang lie 1001 hang lie 1000 hang lie 0111 hang lie 0110 hang lie 0101 hang lie 0100 hang lie 0011 hang lie 0010 hang lie 0001 hang lie 0000 hang count 00000 hang 0000000000000000 end case next state case sel is when 0000 lie 1111 hang lie 1110 hang lie 1101 hang lie 1100 hang lie 1011 hang lie 1010 hang lie 1001 hang lie 1000 hang lie 0111 hang lie 0110 hang lie 0101 hang lie 0100 hang lie 0011 hang lie 0010 hang lie 0001 hang lie 0000 hang count 00000 hang 0000000000000000 end case next state case sel is when 0000 lie 1111 hang lie 1110 hang lie 1101 hang lie 1100 hang lie 1011 hang lie 1010 hang lie 1001 hang lie 1000 hang lie 0111 hang lie 0110 hang lie 0101 hang lie 0100 hang lie 0011 hang lie 0010 hang lie 0001 hang lie 0000 hang count 00000 hang 0000000000000000 end case next state case sel is when 0000 lie 1111 hang lie 1110 hang lie 1101 hang lie 1100 hang lie 1011 hang lie 1010 hang lie 1001 hang lie 1000 hang lie 0111 hang lie 0110 hang lie 0101 hang lie 0100 hang lie 0011 hang lie 0010 hang lie 0001 hang lie 0000 hang count 00000 hang next state s0 end case end process p1 end behav 此文档收集于网络 如有侵权 请联系网站删除 精品文档 2 2 4 点阵显示仿真波形点阵显示仿真波形 图 2 2 2 点阵显示仿真波形 2 3 彩灯显示程序设计及仿真彩灯显示程序设计及仿真 2 3 1 基本设计思路基本设计思路 程序通过键盘扫描程序输出的彩灯控制信号 xuanze 的控制来保证两 个彩灯在两个状态之间的顺利切换 其中一个状态为彩灯向左流水与向 右流水的循环显示 另一个状态为彩灯向中间流水 整体利用状态机来 实现 并在第一个状态的时候就利用条件语句对 xuanze 值的判断从而控 制状态机的循环路径 从而达到了控制两个彩灯状态的目的 2 3 2 彩灯显示模块图彩灯显示模块图 clk cr xuanze 1 0 keycode2 4 0 comb outputs 7 0 leddeng inst4 图 2 3 1 彩灯显示模块图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图中 clk 接时钟脉冲 cr 接复位端 xuanze 接键盘扫描程序的彩灯 控制信号输出端 comb outputs 接 8 个 led 灯 2 3 3 彩灯显示程序彩灯显示程序 library ieee use ieee std logic 1164 all entity leddeng is port clk cr in std logic xuanze in std logic vector 1 downto 0 comb outputs out std logic vector 7 downto 0 keycode2 in std logic vector 4 downto 0 end entity leddeng architecture behav of leddeng is type zhuangtai is s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 signal current state next state zhuangtai begin p0 process clk cr begin if cr 0 then current state s0 elsif clk event and clk 1 then current state if xuanze 01 then comb outputs 01111111 next state s1 elsif xuanze 10 then next state s14 elsif xuanze 00 then next state s23 elsif xuanze 11 then comb outputs 11111111 next state s23 else comb outputs 11111111 next state comb outputs 10111111 next state comb outputs 11011111 next state comb outputs 11101111 next state comb outputs 11110111 next state comb outputs 11111011 next state comb outputs 11111101 next state comb outputs 11111110 next state comb outputs 11111101 next state comb outputs 11111011 next state comb outputs 11110111 next state comb outputs 11101111 next state comb outputs 11011111 next state comb outputs 10111111 next state comb outputs 11111111 next state comb outputs 01111110 next state comb outputs 10111101 next state comb outputs 11011011 next state comb outputs 11100111 next state comb outputs 11011011 next state comb outputs 10111101 next state comb outputs 01111110 next state comb outputs 00000000 next state comb outputs 11111111 next state next state s0 end case end process p1 end behav 2 3 4 彩灯显示仿真波形彩灯显示仿真波形 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 2 3 2 彩灯显示仿真波形 2 4 数码管扫描程序设计及仿真数码管扫描程序设计及仿真 2 4 1 基本设计思路基本设计思路 由于本程序中只需要用到一位数码管的显示 因此就无需数码管进 行动态扫描 因此 直接在程序中选通一位数码管即可 并把键盘扫描 程序的键值输出信号直接接到数码管扫描程序的输入信号端口 再通过 case 语句的选择即可将对应的数码管段值状态输入到数码管进行相应的 显示 实现系统指定的功能 2 4 2 数码管扫描模块图数码管扫描模块图 cr keycode1 4 0 SG 6 0 BT SCAN LED inst5 图 2 4 1 数码管扫描模块图 图中 cr 接复位端 keycode1 接键盘扫描的键值输出信号端口 SG 作为数码管七段的控制输出信号 BT 作为八位数码管的位选端 2 4 3 数码管扫描程序数码管扫描程序 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY SCAN LED IS PORT cr in std logic keycode1 IN STD LOGIC VECTOR 4 DOWNTO 0 SG OUT STD LOGIC VECTOR 6 DOWNTO 0 BT OUT STD LOGIC 此文档收集于网络 如有侵权 请联系网站删除 精品文档 END ARCHITECTURE one OF SCAN LED IS BEGIN P1 PROCESS keycode1 BEGIN if cr 0 then BT 0 elsif cr 1 then BT SG SG SG SG SG SG SG SG SG SG SG SG SG NULL END CASE END PROCESS P1 END 2 4 4 数码管扫描仿真波形数码管扫描仿真波形 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 2 4 2 数码管扫描仿真波形 第第 3 章章系统总电路设计与仿真系统总电路设计与仿真 3 1 系统总电路模块图系统总电路模块图 clk cr kin1 kin2 kin3 clk1 SG 6 0 BT keyv 3 0 comb outputs 7 0 hang 15 0 lie 3 0 block1 inst2 图 3 1 1 总电路模块图 图中 clk 接时钟脉冲 cr 接复位端 kin1 kin2 kin3 分别接 入键盘行扫描 clk1 接一提供给点阵显示的时钟脉冲 SG 6 0 接数码 管段选信号 BT 为数码管位选信号输出 keyv 3 0 为键盘列扫描 comb outputs 7 0 控制彩灯的输出端 hang 15 0 lie 3 0 分别为点阵行 列的输入扫描信号 此文档收集于网络 如有侵权 请联系网站删除 精品文档 3 2 总电路仿真波形总电路仿真波形 图 3 2 1 总电路仿真波形 3 3 系统总体电路图系统总体电路图 图 3 3 1 系统总体电路图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 第第 4 章章 软件的调试与下载软件的调试与下载 4 1 引脚锁定引脚锁定 此文档收集于网络 如有侵权 请联系网站删除 精品文档 图 4 1 1 引脚锁定列表 4 2 引脚锁定后总电路图引脚锁定后总电路图 图 4 2 1 引脚锁定后总电路图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 4 3 程序下载界面程序下载界面 图 4 3 1 程序下载界面 4 4 系统总体仿真结果系统总体仿真结果 图 4 4 1 系统总体仿真结果 部分相应的实验显示效果参见附录 此文档收集于网络 如有侵权 请联系网站删除 精品文档 第第 5 章章 总结与体会总结与体会 历时两个星期的 EDA 课程设计终于落下帷幕 在这两个星期中 我 们从接到课题 到查找资料 再到自己独立编程仿真调试程序 最后到 接硬件调试 我们的每一步都走出了自己奋斗的精彩 刚开始我们组抽 到了做键盘扫描程序的课题 本以为这是个很容易的课题 也很快地查 找好了资料 编出了程序 尤其也在键盘消抖上下了功夫 原本我的方 案是通过计数器延时而实现键盘消抖 借鉴了单片机键盘消抖的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年在线教育资源共享平台开发可行性研究报告及总结分析
- 2025年高科技孵化器建设项目可行性研究报告及总结分析
- 2025年地方特色食品品牌创立可行性研究报告及总结分析
- 2025年门锁系统维护服务协议
- 2025年高端餐饮品牌连锁发展可行性研究报告及总结分析
- 2025年互联网安全服务体系建设项目可行性研究报告及总结分析
- 2025年林地租赁确认协议
- 电路技术基础 第2章
- 2025年鲤鱼苗供应合同(2025年)
- 2025年儿童智能早教平台项目可行性研究报告及总结分析
- 露天煤矿风险辨识评估试题及答案
- 建筑工地各工种安全操作规程
- 非遗文化木偶戏科普传承介绍图文课件
- 现场管理提升培训
- 2025年生态环境监测详细作业指导书(水和废水第3部分)
- 2025年学校入团考试题库(附答案解析)
- 第9课《“燕京八绝”与民间工艺》教学设计-人美版(北京)初中美术七年级上册
- 课题放弃申请书
- 少儿几何素描课件
- 老旧小区改造施工废弃物处理实施方案
- 第21课《人民英雄永垂不朽》课件统编版语文八年级上册
评论
0/150
提交评论