拨码开关输入数码管显示实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合课程设计实验报告
班级:
姓名:
学号:11
指导老师:
实验名称:
拨码开关输入数码管显示实验
实验要求:
1. 掌握数码管显示原理
2. 掌握拨码开关工作原理
3. 通过FPGA用拨码开关控制数码管显示
实验目标:
4位拨码开关分别对应4位数码管,拨动任意1位开关,对应的数码管将显示数字1,否则显示数字0。
实验设计软件
Quartus II
实验原理
1.数码管显示模块
电路原理图:
如图所示,数码管中a,b,c,d,e,f,g,dp分别由一个引脚引出,给对应的引脚高电平,则对应引脚的LED点亮,故我们在程序中可以设定一个8位的二进制数reg【7:0】h,每一位对应一个相应的引脚输出,那么我们就可以通过对x的赋值,控制对应的8个LED亮灭的状态进行数字显示。例如,如果我们显示数字2,则在数码管中,a、b、d、e、g亮,c、f、dp不亮,则显示的是数字2,即h=’b代表显示数字2。
2.拨码开关模块
电路原理图:
拨码开关有8个引脚,每个引脚对应于数码管的一个LED灯,当拨码开关的一个引脚是高电平时,则对应的数码管一个LED灯亮,其他7个LED等不亮。通过此原理来实现数码管的LED灯亮暗情况从而实现数码管的数字显示。例如当第一个拨码接通时,此时输入信号为8'b对应的数码管的输出信号为out=8'b,此时相当于数码管a,b,c,d,e,f,g亮,7段数码管全部显示,显示的数字为8。
程序代码
module bomakaiguan(out,key_in,clk);
assign p='b1111;
output[7:0] out=8'b;
input[7:0] key_in;
input clk;
reg[7:0] out;
always @(posedge clk)
begin
case(key_in)
8'b: out=8'b;
8'b00000001: out=8'b01100000;
8'b00000010: out=8'b;
8'b00000100: out=8'b;
8'b00001000: out=8'b01100100;
8'b00010000: out=8'b;
8'b00100000: out=8'b;
8'b01000000: out=8'b;
endcase
end
endmodule