赞
踩
让数码管显示一个固定的数字0(静态显示)
数码管是由多个LED发光二极管组成的一个“8”字型的器件,根据极性不同,分为共阳极和共阴极,数码管内部结构如下图:
通过图上可以看出,共阳极和共阴极的区别。共阳极公共端接电源正极,共阴极公共端接地。选用共阳极数码管时,我们只需将对应的abcdefgdq给低电平便可点亮对应的数码管。共阴极与之相反,需要将abcdefgdq接入电源正极便可点亮对应的数码管。数码管示意图如下:
我们选用的小精灵开发板使用的是共阴极数码管,如果要显示2,那么我们应该点亮A,B,G,E,D段发光二极管。如果要显示5,读者朋友可以自行分析,应该点亮哪些段,这样我们便可以得出共阴数码管0到9的编码。为了节约大家的时间,我将共阴数码管对应的编码整理出来,可以直接调用。共阳的只用按位取反即可
sm_seg <= 8'hc0; //显示0
sm_seg <= 8'hf9; //显示1
sm_seg <= 8'ha4; //显示2
sm_seg <= 8'hb0; //显示3
sm_seg <= 8'h99; //显示4
sm_seg <= 8'h92; //显示5
sm_seg <= 8'h82; //显示6
sm_seg <= 8'hf8; //显示7
sm_seg <= 8'h80; //显示8
sm_seg <= 8'h90; //显示9
sm_seg <= 8'hbf; //显示-
小精灵开发板对应的数码管部份原理图如下:
当给三极管基极输入低电平,三极管的集电极与发射极便导通,3.3V的电压便加在了数码管的位选管脚上,那么我们要点亮第一位数码管则需要给IO80输入低电平,并按数码管编码表给数码管赋值。原理掌握了,我们可以开始编写代码
module smg(
output [5:0] sm_bit, //数码管选择输出引脚
output [7:0] sm_seg //数码管段输出引脚
);
assign sm_bit=6'b111110;//选通第1位数码管,其余5位数码管关闭
assign sm_seg=8'hc0;//数码管显示0的编码,如果要显示其它数字,改写编码即可
endmodule
由于工程简单,省去了仿真
这一讲主要学习了数码管的显示原理,以及不同数字对应的编码,下一讲我们将学习数码管的动态显示原理,跟着我一步步学习,相信大家都能学会FPGA,加油!
视频教程链接:https://pan.baidu.com/s/1LRPfsNM0fr9wf48C5yHUBg
提取码:18ua
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。