资源描述:
《基于FPGA的可编程字符发生器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、HarbinInstituteofTechnology课程设计说明档(艺文丿课程名称::数字电子技术设计題目:可编程字苻友主器院电乞学院班级:设计者:学号:指导救师:刘贵袜设计时间:2013.11.30哈尔滨工业大学哈尔滨工业大学课程设计任务书姓名:张滔院(系):电气学院专业:电气T程及其白动化班号:1106106任务起至日期:2013年11月19日至2013年11月28日课程设计题目:可编程字符发生器已知技术参数和设计要求:制作一个可编程字符发生器,用点阵式LED显示出字符。(1)应用XilinxBASYS2
2、实现电路并存储待显示的字符。⑵字符数大于4个,字形自定,如“工大电子”、“电子设计”等。⑶具有顺序显示、流水显示和循环显示的工作方式,设计相应的控制电路。工作量:工作分为原理分析、电路之作、字符编码、电路调试、报告编写等部分,前四部分出同组人合作分工完成,报告曲自己编写,工作量适中。工作计划安排:11n19日--11n20日(两天)11月21a--11月23(三天)11月24F1(一天)11月25日--11月27日(三天)11月28H(一天)1•原理分析:2.电路制作:3•字符编码:4.电路调试:5.报告编写:
3、同组设计者及分工:同组人:李鹿野,刘楷饪1•原理分析:同组人:张滔,刘楷铉2.电路制作:张滔、刘楷锤3•字符编码:刘楷饪、李鹿野4.电路调试:李鹿野、张滔、刘楷铉5.报告编写:各自编写指导教师签字教研室主任意见:教研室主任签字牲:此任务书由课程设计指导教师填写。一.设计题目制作一个可编程字符发生器,用点阵式LED发光矩阵作显示器件。设计要求1.点阵式LED发光矩阵为8X8或16X16规格。2.设计LED发光矩阵的驱动电路。3.应用XilinxBASYS2实现电路并存储待显示的字符。字符数大于4,字形自定。4.具
4、有顺序显示,流水显示和循环显示的工作方式,设计相应的控制电路。三.设计方案1.总体设计本设计釆用XilinxBASYS2开发板完成。研究电路原理:设计逻辑功能编写仿真程序进行实物验证进行仿真验证2.具体设计8X8点阵式LED发光短阵冇8根行选线和8根列选线,其中行选线接发光二极管的正极,列选线接发光二极管的负极,若要使某只二极管发光,则将此管对应的行选线接高电平(逻辑“1”),列选线接低电平(逻辑“0”)。I大I此,决定采用列扫描的方法来实现字符发生器的功能,列信号依次输入11111110B,11111101B
5、,11111011B,1U10111B,11101111B,110111U1B,10111111B,01111111B以实现对每一列点亮的LED的控制。其中8列行选信号的组合即为该字的字模。设计中显示的四个字的字模为:天:3EH08H08H7EH08H14H221141HT:7FH08H08H0CH0AH08H08H08H大:08H08H7FH08H0811141122H41H同:7FH5DH41115DH55H5DH43H41H三.源程序如下:moduletianxiasource(inputelk,inpu
6、tres,outputreg[7:0]out,outputreg[7:0]bit);regclkl;reg[3:0]i;reg[2:0]state;reg[29:0]counter0;reg[29:0]counter1;initialbegini二0;out=8,bOOOO0000;bit二8'bllll1111;endalways©(posodgeelkorposedgeres)beginif(res二二1)begincounter0<=0;counterl<=0;state〈二0;endbeginif(co
7、unter0>=40000000)begincounter0<=0;state<=state+l;if(state>=4)state<=0;endelsecounter。〈二counter。卜1;if(counterl>=10000)begincounterl<=0;clklO~clkl;endelsecounterl<=counterl+l;endendalways@(posedgeclklorposedgeres)beginif(res==l)beginout=8,bOOOO0000;bit二8'bllll
8、1111;endelsecase(state)0:beginj=i+1;if(i==l)beginout二8'h3e;bit二8'bllll_1110;endelseif(i==2)beginout=8,h08;bit二8'bllll1101;endelseif(i==3)beginout=8,h08;bit二8'bllll1011;endelseif(i==4)beginout二8'