200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 一个按键控制数码管的开和关_基于FPGA的数字电路实验3:点亮数码管

一个按键控制数码管的开和关_基于FPGA的数字电路实验3:点亮数码管

时间:2018-06-27 12:20:18

相关推荐

一个按键控制数码管的开和关_基于FPGA的数字电路实验3:点亮数码管

今天我们任务是通过小脚丫板载的两个数码管来显示字符,所以首先我们要了解一下数码管的基本工作原理,接下来再研究怎么通过捣鼓小脚丫把数码管给点亮,并且显示出有效信息。

小脚丫板载的数码管是7段数码管(如果包括右下的小点可以认为是8段),它分别由a、b、c、d、e、f、g位段和表示小数点的dp位段组成,见图1。

图1 7段数码管数码管的各个段位是由LED灯组成的,控制每个LED的点亮或熄灭实现数字显示。通常数码管分为共阳极数码管和共阴极数码管,结构如图所示。共阴8段数码管的信号端低电平有效,而共阳端接高电平有效。比如,使共阳端数码管的a段发光,则在a段信号端加上低电平即可。共阴极的数码管则相反。

小脚丫的板载数码管为7段共阴极数码管,可以显示数字0-9以及字母A-F共计16种选择。因此,如果我们需要数码管能显示所有的16种选择,需要至少4位输入码(24=16)。表1列出了各个数码管字符所对应的LED灯段位。

表1各数码管字符所对应的LED灯段位

图2标注了小脚丫板载的两个数码管的各LED段位以及小脚丫上所对应的引脚。其中SEG_DIP为公共端,因此在共阴极数码管的设计中需要接低电平。可以看出,每一个数码管都含有9个引脚,因此每一个字符的显示都需要由一个9位的输出信号来实现。

图2接下来我们通过Verilog实现对数码管的控制。其中,我们将模块的输出定义为两个7段数码管,每个数码管有9个引脚,分别由9位信号控制。输入端由4路信号控制,可以分别对应0-F等十六个字符选择。

module segment ( input wire[3:0] seg_data_1,//四位输入数据信号,可通过4个拨码开关控制 input wire[3:0] seg_data_2,//四位输入数据信号,可通过4个按键开关控制 output wire[8:0] segment_led_1, //数码管1,MSB~LSB =SEG,DP,G,F,E,D,C,B,A output wire[8:0] segment_led_2 //数码管2,MSB~LSB =SEG,DP,G,F,E,D,C,B,A ); reg[8:0] seg [15:0];//存储7段数码管译码数据 initial begin seg[0]=9'h3f; // 0 seg[1]=9'h06; // 1 seg[2]=9'h5b; // 2 seg[3]=9'h4f; // 3 seg[4]=9'h66; // 4 seg[5]=9'h6d; // 5 seg[6]=9'h7d; // 6 seg[7]=9'h07; // 7 seg[8]=9'h7f; // 8 seg[9]=9'h6f; // 9 seg[10]=9'h77; // A seg[11]=9'h7C; // b seg[12]=9'h39; // C seg[13]=9'h5e; // d seg[14]=9'h79; // E seg[15]=9'h71; // F end assign segment_led_1 = seg[seg_data_1]; // 将对应字符导入数码管1并显示 assign segment_led_2 = seg[seg_data_2]; // 将对应字符导入数码管2并显示endmodule

上述代码是定义7段共阴极数码管的通用模块,可以保存起来作为一个独立模块。这样,在以后遇到需要用数码管显示的实验时我们可以直接调用(之后我们还会讲解如何调用子模块),而不用再重新写一遍代码。接下来是提问环节:

当我们指定用拨码开关SW1-SW4来控制左边数码管,按键开关K1-K4来控制右侧数码管,此时如果开关的状态分别如下图所示,数码管应该显示什么字符?

注:拨码开关调至上方为1,下方为0。按键开关白色为1(松开),黑色为0(按下)。大家可以当作课后练习来巩固一下知识,也欢迎在公众号留言给出自己的答案。

而为了帮助更多老师快速上手FPGA的使用和教学,在即将到来的寒假,我们针对高校从事教学/实验室一线工作的教师,推出一个为期5(1月25日-1月29日)的FPGA设计及应用快速培训,通过实用性非常强的典型案例动手实践,帮助大家快速、有效地上手FPGA,并能够在未来的教学、实践、电赛中大显身手,硬禾实战营也将成为参加培训的老师们长期的教学后援。

详情请见这里或者今天公众号的二条。期待在美丽的苏州跟您一起探讨FPGA和教学实践的结合。

END

硬禾学堂

硬禾团队一直致力于给电子工程师和相关专业的同学,带来规范的核心技能课程,帮助大家在学习和工作的各个阶段,都能有效地提升自己的职业能力。

硬禾学堂

我们一起在电子领域探索前进

关注硬禾服务号,随时直达课堂

点击阅读原文报名参加高校教师培训班

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。