收藏 分销(赏)

五邑大学学号显示电路的设计实验报告.doc

上传人:仙人****88 文档编号:11990389 上传时间:2025-08-26 格式:DOC 页数:6 大小:102KB 下载积分:10 金币
下载 相关 举报
五邑大学学号显示电路的设计实验报告.doc_第1页
第1页 / 共6页
五邑大学学号显示电路的设计实验报告.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
成绩 指导教师 日期 张歆奕 五 邑 大 学 实 验 报 告 实 验 课 程 名 称: 电子系统EDA 院系名称: 信 息 学 院 专业名称: 电子信息工程 实验项目名称: 学号显示电路的设计 班级: 学号: 报告人: 实验二 学号显示器 一、实验目的 1、练习使用Verilog HDL语言设计实现数字电路。 2、练习利用Verilog HDL语言和状态机设计电路。 3、熟悉EDA开发基本流程。 4、掌握多个数码管动态扫描显示的原理及设计方法。 二、实验原理 用数码管除了可以显示0~9的阿拉伯数字外,还可以显示一些英语字母。数码管由7段显示输出,利用7个位的组合输出,就可以形成部分英语字母和0~9十个数字的显示。共阴数码管0~9和常见字母的7段显示关系如图1所示: (共阳数码管对共阴取反)。 图1 三、设计任务 设计任务(一) 1、用Verilog HDL设计单个数码管顺序显示学号(按一次按键,显示下一位学号字符); 2、对设计进行仿真; 3、锁定管脚并下载到开发板进行验证。 设计任务(二) 1、用Verilog HDL设计八个数码管显示学号,并向左或者向右滚屏; 2、对设计进行仿真; 3、锁定管脚并下载到开发板进行验证。 四、设计源程序和说明 设计任务(一)学号显示 源程序 module xuehao_display(clk,rst,out); input clk,rst; output reg[6:0] out; reg[3:0] state; parameter s0=4'd0,s1=4'd1,s2=4'd2,s3=4'd3,s4=4'd4,s5=4'd5,s6=4'd6,s7=4'd7; always@(posedge clk or negedge rst) begin if(!rst) begin out =7'b1111111;state=s0;end else case(state) s0:begin out=7'b0110000;state<=s1;end//显示1 s1:begin out=7'b1101101;state<=s2;end//显示2 s2:begin out=7'b1111110;state<=s3;end//显示0 s3:begin out=7'b1110000;state<=s4;end//显示7 s4:begin out=7'b1111110;state<=s5;end//显示0 s5:begin out=7'b1101101;state<=s6;end//显示2 s6:begin out=7'b1111110;state<=s7;end//显示0 s7:begin out=7'b1011011;state<=s1;end//显示5 default:state<=0; endcase end endmodule 程序详解:这是一个非常简单的程序,定义8个输出变量,然后给他们赋值,使他们分别为12070205,然后通过数码管显示出来。 设计任务(二)滚屏显示 源程序 用8个数码管显示学号,并滚屏 设计源程序: module GunPingXianShi (H0,H1,H2,H3,H4,H5,H6,H7,clk,reset); input clk,reset; /*输入输出设置*/ output reg[0:6] H0,H1,H2,H3,H4,H5,H6,H7; reg[3:0] out; parameter D0=7'b0110000,D1=7'b1101101,D2=7'b1111110,D3=7'b1110000,D4=7'b1111110,D5=7'b1101101,D6=7'b1111110,D7=7'b1011011,D8=7'b0110000; //设置参数 always @(posedge clk or posedge reset) //上升沿有效 begin if(reset) out<=0; //清零信号 else begin if (out==7) out<=0; //计数器 else out<=out+1; end end always @(out) begin case(out) 4'h0: begin H0<=D1;H1<=D2;H2<=D3;H3<=D4;H4<=D5;H5<=D6;H6<=D7;H7<=D8 ;end //输出12070205 4'h1: begin H0<=D2;H1<=D3;H2<=D4;H3<=D5;H4<=D6;H5<=D7;H6<=D8;H7<=D1 ;end //输出20702051 4'h2: begin H0<=D3;H1<=D4;H2<=D5;H3<=D6;H4<=D7;H5<=D8;H6<=D1;H7<=D2 ;end //输出07020512 4'h3: begin H0<=D4;H1<=D5;H2<=D6;H3<=D7;H4<=D8;H5<=D1;H6<=D2;H7<=D3 ;end //输出70205120 4'h4: begin H0<=D5;H1<=D6;H2<=D7;H3<=D8;H4<=D1;H5<=D2;H6<=D3;H7<=D4 ;end //输出02051207 4'h5: begin H0<=D6;H1<=D7;H2<=D8;H3<=D1;H4<=D2;H5<=D3;H6<=D4;H7<=D5 ;end //输出20512070 4'h6: begin H0<=D7;H1<=D8;H2<=D1;H3<=D2;H4<=D3;H5<=D4;H6<=D5;H7<=D6 ;end //输出05120702 4'h7: begin H0<=D8;H1<=D1;H2<=D2;H3<=D3;H4<=D4;H5<=D5;H6<=D6;H7<=D7 ;end //输出51207020 default: begin H0<=D0;H1<=D0;H2<=D0;H3<=D0;H4<=D0;H5<=D0;H6<=D0;H7<=D0;end endcase end endmodule 程序解读:本程序参考设计任务(一),设计一个模8计数器,用8位数码管显示学号。计数器的各位数对应一个8位数的输出,0- 12070205,1- 20702051,2-07020512,3-70205120,4-02051207,5-20512070,6-05120702,7-51207020。随着计数器的循环,这些数也依次在8个数码管上显示,实现了学号的滚动。 五、设计仿真、结果和说明 设计任务(一)仿真结果与分析说明 分析:从波形图可以看出a b c d e f g的值对应着计数器的 1 2 3 4 5 6 7 8 9依次为0110000(1) 1101101 (2) 1111110 (0) 1110000(7) 1111110 (0) 1101101(2)1111110 (0) 1011011 (5)。接共阳极数码管。显然仿真结果与初想的一样,设计成功,通过下载到开发板上验证准确无误。 绑定管脚后,下载到开发板验证,按下按键,显示学号下一位字符。 设计任务(二)仿真结果与分析说明 仿真波形图: 六、设计心得 通过本次设计我初步了解并掌握了使用Verilog HDL语言来设计实现数字电路,了解Verilog HDL语言与原理图设计的联系及区别,并更加了解了电子系统设计这门课程,对之前学过的内容和实验的理解更加深入,同时也认识到自己的不足。 6
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服