1、燕山大学课 程 设 计 说 明 书题目: 电子路标二 学院(系): 电气工程学院 年级专业: 应用电子技术四班 学 号: 080103030185 学生姓名: 李明华 指导教师: 吕宏诗 张强 教师职称: 实验师 燕 山 大 学 课 程 设 计 说 明 书共 20 页第 1 页燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:电子实验中心 学 号 080103030185 学生姓名 李明华 专业(班级) 08应电四班设计题目 电子路标二设计技术参数在双色点阵上显示电子路标(指示人物) ;电子路标能够行走和停止(用不同颜色表示) 。设计要求用双色点阵发光管显示电子路标;用频率组
2、模块作为频率信号发生器。工作量学会使用 Max+PlusII 软件、Verilog HDL 语言和实验箱;独立完成电路设计,编程下载、连接电路和调试;参加答辩并书写任务书。工作计划1. 了解 EDA 的基本知识,学习使用软件 Max+PlusII,下发任务书,开始电路设计;2. 学习 Verilog HDL 语言,用 Verilog HDL 进行程序设计3. 学习使用实验箱,继续电路设计;4. 完成电路设计;5. 编程下载、连接电路、调试和验收;6. 答辩并书写任务书 参考资料数字电子技术基础.阎石主编.高等教育出版社.EDA 课程设计 A指导书.郑兆兆等编.指导教师签字 吕宏诗 张强 基层教
3、学单位主任签字 金海龙2011年 1月 14日燕 山 大 学 课 程 设 计 说 明 书共 20 页第 2 页目 录第 1章 设明说明3第 2 章 verilog HDL 设计源程序5第 3章 波形仿真13第 4章 管脚锁定及硬件连线16第 5章 总结18第 6章 参考文献19燕 山 大 学 课 程 设 计 说 明 书共 20 页第 3 页第 1章 设计说明1.1设计思路本设计“电子路标二”实现在双色 8*8点阵上显示电子路标(指示人物) ,人物能够行走和停止。行走时人物呈绿色,停止时人物呈红色。具体显示效果见下图 1.1-a,1.1-b,1.1-c 三图,也可以加入橙灯闪动作为缓冲。1.1-
4、a 1.1-b1.1-c要实现人物的“行走” ,需要两幅画面交替循环显示,即图 1.1-a,图 1.1-b两幅图。停止状态人物画面需要显示较长时间,可以通过自身循环显示实现。在本设计中使用了频率组模块作为频率信号发生器。本设计采用了两个频率,即低频率组中的 2Hz和低频率组中的 256Hz。2Hz 频率用来进行画面的切换,即人物行走时图1.1-a和图 1.1-b画面的交替循环显示和人物停止时图 1.1-c画面自身的循环显示。 8*8点阵一次只能点亮一行或一列,为了使人感觉各行或各列是同时点亮,需要较高频率的扫描,256Hz 的频率信号就是扫描信号,在本次设计中采用逐行扫描,因为点阵是行共阴,列
5、共阳,所以逐行扫描采用每个钟上升沿点亮一行,依次循环点亮各行,即各行依次循环置 0,各列输出显示的图形。燕 山 大 学 课 程 设 计 说 明 书共 20 页第 4 页1.2模块介绍本次设计只采用了一个模块来实现设计的要求。其中 clk1,clk2为输入端口,row 是一个八位输出端口,lineg 为一个六位输出端口,liner为一个四位输出端口。在模块中设置了变量 j,用来对时钟脉冲 clk1时钟脉冲进行计数,j=0 时输出显示图 1.1-a的画面,j=1 时输出显示图 1.1-b的画面,j=2 时输出显示图 1.1-a的画面,j=3时输出显示图 1.1-b的画面,这样可以实现人物的行走状态
6、。j=4,5,6,7 时输出显示图 1.1-c的画面,这样可以实现人物的停止状态。在 j=7的下一个 clk1的时钟上升沿,j 的值被重新置 0。这样就可以实现行走和停止两种状态的交替显示。通过更改clk1的输入时钟频率还可以变化交替间隔时间。模块中的另一个时钟信号 clk2用来实现逐行扫描。通过如下语句实现一个画面的显示。if(j=0)begincase(a) /显示图 1.1-b所示图形 0:begin row=8b11111110; lineg=6b001100; liner=4b0000; end1:begin row=8b11111101; lineg=6b001100; liner
7、=4b0000; end2:begin row=8b11111011; lineg=6b001100; liner=4b0000; end3:begin row=8b11110111; lineg=6b001100; liner=4b0000; end4:begin row=8b11101111; lineg=6b001100; liner=4b0000; end5:begin row=8b11011111; lineg=6b001100; liner=4b0000; end6:begin row=8b10111111; lineg=6b001100; liner=4b0000; end7:b
8、egin row=8b01111111; lineg=6b001100; liner=4b0000; end endcasea=a+1;if(a7)begin a=0; endendend其中的变量 a对 clk2进行计数,每个 clk2的上升沿 a的值加 1,通过 case语句输出显示一行。a 的值大于 7时被重新置 0,从而实现逐行扫描。由于要求实现双色显示,所以用到两个输出 lineg和 liner,分别接绿色和红色二极管阳极端口。模块中在点亮一种颜色的二极管时封锁另一色二极管,从而避免出现色彩显示的错误。燕 山 大 学 课 程 设 计 说 明 书共 20 页第 5 页第 2 章 Ver
9、ilog HDL 设计源程序本次课程设计的 Verilog HDL 源程序如下:module lubiao(clk1,clk2,lineg,liner,row);output lineg,liner,row;input clk1,clk2;reg7:0 row;reg6:1 lineg;reg5:2 liner;reg2:0 a,b,c,d,e;reg3:0 j;always(posedge clk1) /变量 j从 0到 6循环beginj=j+1;if(j7)begin j=0; endendalways(posedge clk2)begin if(j=0) /j=0时显示图 1.1-a所
10、示图形begincase(a) 0:begin row=8b11111110; lineg=6b001100; liner=4b0000; end1:begin row=8b11111101; lineg=6b001100; liner=4b0000; end2:begin row=8b11111011; lineg=6b001100; liner=4b0000; end3:begin row=8b11110111; lineg=6b001100; liner=4b0000; end4:begin row=8b11101111; lineg=6b001100; liner=4b0000; en
11、d5:begin row=8b11011111; lineg=6b001100; liner=4b0000; end6:begin row=8b10111111; lineg=6b001100; liner=4b0000; end7:begin row=8b01111111; lineg=6b001100; liner=4b0000; endendcasea=a+1;if(a7)begin a=0; endendelse if(j=1) /j=1时显示图 1.1-b所示图形begincase(b) 燕 山 大 学 课 程 设 计 说 明 书共 20 页第 6 页0:begin row=8b11
12、111110; lineg=6b001100; liner=4b0000; end1:begin row=8b11111101; lineg=6b001100; liner=4b0000; end2:begin row=8b11111011; lineg=6b011110; liner=4b0000; end3:begin row=8b11110111; lineg=6b101101; liner=4b0000; end4:begin row=8b11101111; lineg=6b001100; liner=4b0000; end5:begin row=8b11011111; lineg=6
13、b001110; liner=4b0000; end6:begin row=8b10111111; lineg=6b010010; liner=4b0000; end7:begin row=8b01111111; lineg=6b100010; liner=4b0000; endendcaseb=b+1;if(b7)begin b=0; endendelse if(j=2) /j=2 时显示图 1.1-a所示图形begincase(c)0:begin row=8b11111110; lineg=6b001100; liner=4b0000; end1:begin row=8b11111101;
14、 lineg=6b001100; liner=4b0000; end2:begin row=8b11111011; lineg=6b001100; liner=4b0000; end3:begin row=8b11110111; lineg=6b001100; liner=4b0000; end4:begin row=8b11101111; lineg=6b001100; liner=4b0000; end5:begin row=8b11011111; lineg=6b001100; liner=4b0000; end6:begin row=8b10111111; lineg=6b001100
15、; liner=4b0000; end7:begin row=8b01111111; lineg=6b001100; liner=4b0000; endendcasec=c+1;if(c7)begin c=0; endendelse if(j=3) /j=3 时显示图 1.1-b所示图形begincase(d) 0:begin row=8b11111110; lineg=6b001100; liner=4b0000; end1:begin row=8b11111101; lineg=6b001100; liner=4b0000; end2:begin row=8b11111011; lineg
16、=6b011110; liner=4b0000; end3:begin row=8b11110111; lineg=6b101101; liner=4b0000; end4:begin row=8b11101111; lineg=6b001100; liner=4b0000; end5:begin row=8b11011111; lineg=6b001110; liner=4b0000; end6:begin row=8b10111111; lineg=6b010010; liner=4b0000; end燕 山 大 学 课 程 设 计 说 明 书共 20 页第 7 页7:begin row=
17、8b01111111; lineg=6b100010; liner=4b0000; endendcased=d+1;if(d7)begin d=0; endendelsebegincase(e) /j=4,5,6,7 时都显示图 1.1-c 所示图形0:begin row=8b11111110; liner=4b0110; lineg=6b000000; end1:begin row=8b11111101; liner=4b0110; lineg=6b000000; end2:begin row=8b11111011; liner=4b1111; lineg=6b000000; end3:be
18、gin row=8b11110111; liner=4b1111; lineg=6b000000; end4:begin row=8b11101111; liner=4b1111; lineg=6b000000; end5:begin row=8b11011111; liner=4b0110; lineg=6b000000; end6:begin row=8b10111111; liner=4b0110; lineg=6b000000; end7:begin row=8b01111111; liner=4b0110; lineg=6b000000; endendcasee=e+1;if(e7)
19、begin e=0;endendendendmodule(附)后来又加入了橙色人形闪动的画面,扩展后的源程序为:module lubiao(clk1,clk2,lineg,liner,row);output lineg,liner,row;input clk1,clk2;reg7:0 row;reg6:1 lineg;reg5:2 liner;reg2:0 a,b,c,d,e,f,g,h,m,n,o;reg3:0 j;always(posedge clk1) beginj=j+1;if(j13)begin 燕 山 大 学 课 程 设 计 说 明 书共 20 页第 8 页j=0; endenda
20、lways(posedge clk2)beginif(j=0)begincase(a) 0:begin row=8b11111110; liner=4b0110; lineg=6b001100; end1:begin row=8b11111101; liner=4b0110; lineg=6b001100; end2:begin row=8b11111011; liner=4b1111; lineg=6b011110; end3:begin row=8b11110111; liner=4b1111; lineg=6b011110; end4:begin row=8b11101111; line
21、r=4b1111; lineg=6b011110; end5:begin row=8b11011111; liner=4b0110; lineg=6b001100; end6:begin row=8b10111111; liner=4b0110; lineg=6b001100; end7:begin row=8b01111111; liner=4b0110; lineg=6b001100; endendcasea=a+1;if(a7)begin a=0;endendelse if(j=1)begincase(b) 0:begin row=8b11111110; liner=4b0000; li
22、neg=6b000000; end1:begin row=8b11111101; liner=4b0000; lineg=6b000000; end2:begin row=8b11111011; liner=4b0000; lineg=6b000000; end3:begin row=8b11110111; liner=4b0000; lineg=6b000000; end4:begin row=8b11101111; liner=4b0000; lineg=6b000000; end5:begin row=8b11011111; liner=4b0000; lineg=6b000000; e
23、nd6:begin row=8b10111111; liner=4b0000; lineg=6b000000; end7:begin row=8b01111111; liner=4b0000; lineg=6b000000; endendcaseb=b+1;if(b7)begin b=0;endendelse if(j=2)begin燕 山 大 学 课 程 设 计 说 明 书共 20 页第 9 页case(c) 0:begin row=8b11111110; liner=4b0110; lineg=6b001100; end1:begin row=8b11111101; liner=4b011
24、0; lineg=6b001100; end2:begin row=8b11111011; liner=4b1111; lineg=6b011110; end3:begin row=8b11110111; liner=4b1111; lineg=6b011110; end4:begin row=8b11101111; liner=4b1111; lineg=6b011110; end5:begin row=8b11011111; liner=4b0110; lineg=6b001100; end6:begin row=8b10111111; liner=4b0110; lineg=6b0011
25、00; end7:begin row=8b01111111; liner=4b0110; lineg=6b001100; endendcasec=c+1;if(c7)begin c=0;endendelse if(j=3)begincase(d) 0:begin row=8b11111110; lineg=6b001100; liner=4b0000; end1:begin row=8b11111101; lineg=6b001100; liner=4b0000; end2:begin row=8b11111011; lineg=6b001100; liner=4b0000; end3:beg
26、in row=8b11110111; lineg=6b001100; liner=4b0000; end4:begin row=8b11101111; lineg=6b001100; liner=4b0000; end5:begin row=8b11011111; lineg=6b001100; liner=4b0000; end6:begin row=8b10111111; lineg=6b001100; liner=4b0000; end7:begin row=8b01111111; lineg=6b001100; liner=4b0000; endendcased=d+1;if(d7)b
27、egin d=0; endendelse if(j=4)begincase(e) 0:begin row=8b11111110; lineg=6b001100; liner=4b0000; end1:begin row=8b11111101; lineg=6b001100; liner=4b0000; end2:begin row=8b11111011; lineg=6b011110; liner=4b0000; end3:begin row=8b11110111; lineg=6b101101; liner=4b0000; end4:begin row=8b11101111; lineg=6b001100; liner=4b0000; end5:begin row=8b11011111; lineg=6b001110; liner=4b0000; end
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。