EDA课程设计.docx
- 文档编号:5918375
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:13
- 大小:216.05KB
EDA课程设计.docx
《EDA课程设计.docx》由会员分享,可在线阅读,更多相关《EDA课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
EDA课程设计
课程设计报告
课程名称数字系统与逻辑设计
课题名称16*16点阵显示
专业通信工程
班级0981
学号
姓名
指导教师乔汇东胡倩
2011年7月9日
湖南工程学院
课程设计任务书
课程名称数字系统与逻辑设计
课题16*16点阵显示
专业班级通信工程
学生姓名
学号
指导老师乔汇东胡倩
审批乔汇东
任务书下达日期2011年7月2日
任务完成日期2011年7月9日
《数字系统与逻辑设计》课程设计任务书
一、设计目的
全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
二、设计要求
1、设计正确,方案合理。
2、程序精炼,结构清晰。
3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
4、上机演示。
5、有详细的文档。
文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。
三、进度安排
第二十周星期一:
课题讲解,查阅资料
星期二:
总体设计,详细设计
星期三:
编程,上机调试、修改程序
星期四:
上机调试、完善程序
星期五:
答辩
星期六-星期天:
撰写课程设计报告
目录
一、课题的主要功能…………………………………………………(5)
(一)问题描述………………………………………………………(6)
(二)功能描述………………………………………………………(6)
二、课题的功能模块的划分…………………………………………(6)
1.设计原理框图……………………………………………………(6)
2.设计流程图………………………………………………………(6)
三、主要功能的实现…………………………………………………(7)
1.功能键模块的设计……………………………………………(7)
2.控制器模块的设计……………………………………………(7)
3.计数器模块的设计……………………………………………(7)
4.点阵LED显示屏模块的设计……………………………………(8)
四、系统调试与仿真…………………………………………………(8)
1.程序仿真…………………………………………………………(8)
2.程序运行结果……………………………………………………(8)
五、总结与体会………………………………………………………(8)
六、附件………………………………………………………………(9)
七、评分表……………………………………………………………(13)
一、课题的主要功能
(一)问题描述:
本实验主要完成汉字字符在LED上的显示,16*16扫描LED点阵的工作原理与8位扫描数码管类似,只是显示的方式与结果不一样而已。
下面就本实验系统的16*16点阵的工件原理做一些简单的说明。
16*16点阵由此256个LED通过排列组合而形成16行*16列的一个矩阵式的LED阵列,俗称16*16点阵。
单个的LED的电路如下图11-1所示:
图11-1单个LED电路图
由上图可知,对于单个LED的电路图当Rn输入一个高电平,同时Cn输入一个低电平时,电路形成一个回路,LED发光。
也就是LED点阵对应的这个点被点亮。
16*16点阵也就是由16行和16列的LED组成,其中每一行的所有16个LED的Rn端并联在一起,每一列的所有16个LED的Cn端并联在一起。
通过给Rn输入一个高电平,也就相当于给这一列所有LED输入了一个高电平,这时只要某个LED的Cn端输入一个低电平时,对应的LED就会被点亮。
具体的电路如下图11-2所示:
图11-216*16点阵电路原理图
在点阵上显示一字符是根据其字符在点阵上的显示的点的亮灭来表示的,如下图11-3所示:
图11-3字符在点阵上的显示
在上图中,显示的是一个“汉”字,只要将被“汉”字所覆盖的区域的点点亮,则在点阵中就会显示一个“汉”字。
根据前面我们所介绍的点阵显示的原理,当我们选中第一列后,根据要显示汉字的第一列中所需要被点亮的点对应的Rn置为高电平,则在第一列中需要被点亮的点就会被点亮。
依此类推,显示第二列、第三列……第N列中需要被点亮的点。
然后根据人眼的视觉原理,将每一列显示的点的间隔时间设为一定的值,那么我们就会感觉显示一个完整的不闪烁的汉字。
同时也可以按照这个原理来显示其它的汉字。
下图11-4是一个汉字显示所需要的时序图:
图11-4显示时序图
(二)、功能描述:
本实验的示例程序依次显示的是“湖南工程学院”,要求每隔一秒换下一个字显示。
二、课题的功能模块的划分
1.设计原理框图:
2.设计流程图:
三、主要功能的实现
1.功能键模块的设计
本模块用一个拨码开关来控制,闭合就代表扫描点阵并显示汉字,断开
就表示停止扫描,不显示汉字。
2.控制器模块的设计
点阵LED显示的原理就是用高低电平来控制16×16个二极管的点亮或者熄灭,达到显示字的目的,所以先要把要显示的字的十六进制代码编写出来,可用字模提取软件提取。
下图演示了用字模提取软件“湖”字的十六进制代码。
3.计数器模块的设计
设计要求每屏汉字要显示一秒,而实验室硬件的频率f=250kHz,所以要求我们对时钟脉冲信号进行计数,当计数器计数达到250000时,控制器模块换下一个汉字。
计数器模块源程序如下所示:
process(clk)
variablect:
integerrange0to250000;
begin
ifct=250000then--1second
ct:
=0;
elsect:
=ct+1;
endif;
endprocess(clk);
4.点阵LED显示屏模块的设计
该模块由实验室提供,它以发光二极管为像素。
它通过对16×16个发光二极管设置状态(点亮或者熄灭)来达到显示汉字或数字的目的。
四、系统调试与仿真
1.程序仿真
2.程序运行结果
程序仿真完全正确后,线封锁引脚,然后连接硬件,再次编译,没有错误后下载程序到硬件之中,当拨码开关闭合时,得到点阵LED显示结果,其中每个汉字显示时间为一秒,一秒过后自动换下一个汉字,直到显示完“湖南工程学院”,再循环显示以上内容;当拨码开关断开时,点阵LED不显示任何内容。
五、总结与体会
为期一周的EDA课程设计结束了,刚开始还很担心能否按照要求设计好程序,对于这门课我学的并不好,很多知识都不知道,在编程时遇到了不少问题,还好老师和同学都很细心地帮我解答,让我能够顺利答辩。
当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,具体包括LED显示模块和LCD显示模块等。
点阵LED显示的原理就是用高低电平来控制16×16个二极管的点亮或者熄灭,达到显示字的目的。
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
现在发展的LCD比较先进,LCD的优点较为明显,它体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,它可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。
LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。
通过这次课程设计,我对EDA课程有了更深入的认识,对于EDA技术在现实生活中的应用也有了进一步的了解。
这次的课程设计不仅使我巩固了以前所学到的知识,同时锻炼了自己实际操作能力。
六、附件
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entityKID_ledis
port(clk:
instd_logic;--systemclk(250KHz)
set:
instd_logic;
R:
outstd_logic_vector(3downto0);
L:
outstd_logic_vector(15downto0));--MatrixKIDledslineinput
endKID_led;
architecturedisplayofKID_ledis
signalcnt:
integerrange0to15;
signalnumber:
integerrange0to5;
begin
process(clk)
variablect:
integerrange0to250000;
begin
ifclk'eventandclk='1'then
ifset='1'then
ifcnt=15thencnt<=0;
elsecnt<=cnt+1;
endif;
ifct=250000then--1second
ct:
=0;
ifnumber=5thennumber<=0;
else
number<=number+1;
endif;
elsect:
=ct+1;
endif;
casenumberis
when0=>
casecntis
when0=>R<="0000";L<=X"4204";
when1=>R<="0001";L<=X"323E";
when2=>R<="0010";L<=X"1224";
when3=>R<="0011";L<=X"0224";
when4=>R<="0100";L<=X"9FE4";
when5=>R<="0101";L<=X"623C";
when6=>R<="0110";L<=X"22A4";
when7=>R<="0111";L<=X"0FE4";
when8=>R<="1000";L<=X"18A4";
when9=>R<="1001";L<=X"28BC";
when10=>R<="1010";L<=X"CBA4";
when11=>R<="1011";L<=X"48A4";
when12=>R<="1100";L<=X"48A4";
when13=>R<="1101";L<=X"4FA4";
when14=>R<="1110";L<=X"4854";
when15=>R<="1111";L<=X"4088";
endcase;
when1=>
casecntis
when0=>R<="0000";L<=X"0100";
when1=>R<="0001";L<=X"0104";
when2=>R<="0010";L<=X"FFFE";
when3=>R<="0011";L<=X"0100";
when4=>R<="0100";L<=X"0104";
when5=>R<="0101";L<=X"7FFE";
when6=>R<="0110";L<=X"4824";
when7=>R<="0111";L<=X"4444";
when8=>R<="1000";L<=X"5FF4";
when9=>R<="1001";L<=X"4104";
when10=>R<="1010";L<=X"4104";
when11=>R<="1011";L<=X"5FF4";
when12=>R<="1100";L<=X"4104";
when13=>R<="1101";L<=X"4104";
when14=>R<="1110";L<=X"4114";
when15=>R<="1111";L<=X"4008";
endcase;
when2=>
casecntis
when0=>R<="0000";L<=X"0000";
when1=>R<="0001";L<=X"0008";
when2=>R<="0010";L<=X"7FFC";
when3=>R<="0011";L<=X"0100";
when4=>R<="0100";L<=X"0100";
when5=>R<="0101";L<=X"0100";
when6=>R<="0110";L<=X"0100";
when7=>R<="0111";L<=X"0100";
when8=>R<="1000";L<=X"0100";
when9=>R<="1001";L<=X"0100";
when10=>R<="1010";L<=X"0100";
when11=>R<="1011";L<=X"0100";
when12=>R<="1100";L<=X"0104";
when13=>R<="1101";L<=X"FFFE";
when14=>R<="1110";L<=X"0000";
when15=>R<="1111";L<=X"0000";
endcase;
when3=>
casecntis
when0=>R<="0000";L<=X"0804";
when1=>R<="0001";L<=X"1DFE";
when2=>R<="0010";L<=X"F104";
when3=>R<="0011";L<=X"1104";
when4=>R<="0100";L<=X"1104";
when5=>R<="0101";L<=X"FF04";
when6=>R<="0110";L<=X"11FC";
when7=>R<="0111";L<=X"3800";
when8=>R<="1000";L<=X"37FE";
when9=>R<="1001";L<=X"5420";
when10=>R<="1010";L<=X"5028";
when11=>R<="1011";L<=X"91FC";
when12=>R<="1100";L<=X"1020";
when13=>R<="1101";L<=X"1024";
when14=>R<="1110";L<=X"17FE";
when15=>R<="1111";L<=X"1000";
endcase;
when4=>
casecntis
when0=>R<="0000";L<=X"2208";
when1=>R<="0001";L<=X"1108";
when2=>R<="0010";L<=X"1110";
when3=>R<="0011";L<=X"0020";
when4=>R<="0100";L<=X"7FFE";
when5=>R<="0101";L<=X"4002";
when6=>R<="0110";L<=X"8004";
when7=>R<="0111";L<=X"1FE0";
when8=>R<="1000";L<=X"0040";
when9=>R<="1001";L<=X"0184";
when10=>R<="1010";L<=X"FFFE";
when11=>R<="1011";L<=X"0100";
when12=>R<="1100";L<=X"0100";
when13=>R<="1101";L<=X"0100";
when14=>R<="1110";L<=X"0500";
when15=>R<="1111";L<=X"0200";
endcase;
when5=>
casecntis
when0=>R<="0000";L<=X"0080";
when1=>R<="0001";L<=X"7840";
when2=>R<="0010";L<=X"4FFE";
when3=>R<="0011";L<=X"5402";
when4=>R<="0100";L<=X"5814";
when5=>R<="0101";L<=X"63F8";
when6=>R<="0110";L<=X"5000";
when7=>R<="0111";L<=X"4808";
when8=>R<="1000";L<=X"4FFC";
when9=>R<="1001";L<=X"48A0";
when10=>R<="1010";L<=X"68A0";
when11=>R<="1011";L<=X"50A0";
when12=>R<="1100";L<=X"4122";
when13=>R<="1101";L<=X"4122";
when14=>R<="1110";L<=X"421E";
when15=>R<="1111";L<=X"4C00";
endcase;
endcase;
endif;
else
endif;
endprocess;
enddisplay
七、评分表
计算机与通信学院课程设计评分表
课题名称:
16*16点阵显示
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计