欢迎来到天天文库
浏览记录
ID:25190972
大小:238.18 KB
页数:55页
时间:2018-11-18
《eda课程设计报告——led点阵汉字显示》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、石家庄经济学院信息工程学院电子信息工程专业EDA技术课程设计报告题目:LED点阵汉字显示姓名孟庆康学号409109060114班级电子一班指导教师马艳玲2012年1月12日要求:1.指导教师按照课程设计大纲要求完成学生课程设计指导工作。2.课程设计任务书由指导教师照大纲要求填写,内容要全面。3.课程设计报告由参加本学生填写。课程设计结束时交指导教师。4.指导教师要根据每一位学生课程设计任务完成情况,认真审核设计报告,并在课程设计结束时,给出客观、准确的评语和成绩。5.课程设计任务书和报告要语言流畅,图表正
2、确规范。课程设计任务书班级电子一班姓名孟庆康学号409109060114课程设计题目LED点阵汉字显示课程设计起止日期2011.12.26至2012.01.12实习地点石家庄经济学院实验楼308课程设计内容与要求1.及格:在实验箱上16*16点阵模块上显示汉字“电”;2.中:设置不同的清屏方式(上下左右);3.良:滚动显示汉字“电”;4.优:滚动显示“电子信息工程。”指导教师马艳玲2011年12月26日一、设计原理与技术方法:包括:电路工作原理分析与原理图、元器件选择与参数计算、电路调试方法与结果说明;软
3、件设计说明书与流程图、软件源程序代码、软件调试方法与运行结果说明。1、软件设计说明:(1)在实验箱上16*16点阵模块上显示汉字“电”LED点阵汉字显示实验采用16*16的点阵,列选信为SEL0,SEL1,SEL2,SEL3,经4线16线译码器输出16列,最左边为第一列,列选信号是由一个4位向量SEL[3..0]控制;行选信号为line0~line15,是由16个行信号组成的,每一行由一个单独的位来控制,高电平有效。实验中用逐列扫描的方法,将每列中不同的行用“0”或“1”写出,将列用时钟信号控制,当频率到
4、达一定值时肉眼无法分辨,每列的值看上去几乎同时显示,静止的“电”字就显示在16*16点阵上。(2)设置四种不同的清屏方式“电”字的四种清屏方式原理基本一样,就是在不同时刻将对应的不同逻辑值送给对应的行和列。左清屏就是由一个低频时钟控制,由左到右逐列清屏,clk1为上升延时,counter自动+1,电字的形状变一次,然后将此时电字的逻辑值送给对应的点阵位置。例如,clk第一次到上升延时就将缺少最左边一列的“电”字对应的逻辑值送给对应的点阵位置。依此类推,15次上升沿后“电”字就会清完。右清屏原理同左清屏,由
5、一个低频时钟控制,然后由右到左逐列清屏,clk1为上升延时,counter自动+1,“电”字逐列消失,直到15次上升沿,“电”字清完。上、下清屏也是由一个低频时钟控制,在每次上升延时,“电”字消失一行,然后将此时“电”字对应的逻辑值送入对应的位置,16个上升沿过后,“电”字清完。由时钟控制循环完成清屏。(3)滚动显示汉子“电”首先写出“电”字各行各列对应的逻辑值,然后由时钟控制以1列为单位将各列的值循环左移,每移动一列,就将此时的逻辑值送给对应的点阵坐标,时钟clk1每达到一次上升沿,counter自动+
6、1,然后“电”字循环左移一次,将此时对应的逻辑值,送给对应的位置,随着counter的变化,“电”字逐列完成循环左移,也就是左滚动。滚动(4)滚动显示“电子信息工程”滚动显示“电子信息工程”原理和“电”字左滚动基本相同,即在16*16点阵上写出其对应的逻辑值,用counter来作为不同时刻不同状态的切换信号,时钟信号clk1每次到达上升沿counter自动+1,然后“电子信息工程”左移六礼列,因为“电子信息工程”为16*6=96列,所以时钟信号经过16个上升沿,即counter由0000到1111后,“电
7、子信息工程”完成左移一次,然后由clk1控制循环滚动“电子信息工程”。2、软件程序代码(1)“电”单独显示libraryieee;--调用库useieee.std_logic_1164.all;--标准库useieee.std_logic_unsigned.all;--无标志库entitydianis--定义实体port(clk0,clr:instd_logic;--时钟和清屏sel:outstd_logic_vector(3downto0);--列扫描line:outstd_logic_vector(1
8、5downto0));--行enddian;--实体结束architecturertlofdianis--定义结构体signalq:std_logic_vector(3downto0);signalcounter:std_logic_vector(3downto0);--列扫描计数器beginsel<=q;p1:process(clk0,clr)begin--进程开始if(clr='1')then--clr=1时,清屏coun
此文档下载收益归作者所有