05_基于FPGA的数码管的动态显示
05_基于FPGA的数码管的动态显示
实验原理
由于LED静态显示需要占用较多的I/O口,且功耗较大,因此在大多数场合通常不采用静态显示,而采用动态扫描的方法来控制LED数码管的显示。动态显示的特点是将8位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。点亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,只要扫描显示速度够快,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。动态扫描显示时刷新频率最好大于50HZ,即显示一轮的时间不超过20ms,每个数码管显示时间不能太长也不能太短,时间太长会影响刷新率,导致总体显示呈现闪烁的现象,时间太短发光二极管的电流导通时间也就短,会影响总体的显示亮度。一般控制在1ms左右最佳。
硬件原理图
实验代码
/********************************版权声明************************************** ** 大西瓜团队 ** **----------------------------文件信息-------------------------- ** 文件名称: seg.v ** 创建日期: ** 功能描述:数码管的动态显示 ** 硬件平台:大西瓜第三代开发板,http://daxiguafpga.taobao.com ** 版权声明:本代码属个人知识产权,本代码仅供交流学习. **---------------------------修改文件的相关信息---------------- ** 修改人: ** 修改日期: ** 修改内容: *******************************************************************************/ module seg(clk,wei,duan);//50MHZ时钟输入,duan:数码管位吗,wei:数码管段码,'0'led亮 input clk; output [7:0]wei; output [7:0]duan; reg [7:0]wei; reg [7:0]duan; integer count;//分频计数器,每计数到50000下clk_1k时钟翻转 reg clk_1k;//数码管扫描时钟2ms reg [2:0]wei_count;//位码计数器
always @(posedge clk)//分频进程 begin if(count==50000) begin count=0; clk_1k=~clk_1k; end else count=count+1; end
always @(posedge clk_1k)//数码管扫描进程 begin case(wei_count) 3'b000: begin wei=8'b11111110; duan=8'b0000_0000;wei_count=wei_count+1'b1;end 3'b001: begin wei=8'b11111101; duan=8'b0000_0000;wei_count=wei_count+1'b1;end 3'b010: begin wei=8'b11111011; duan=8'b0000_0000;wei_count=wei_count+1'b1;end 3'b011: begin wei=8'b11110111; duan=8'b0000_0000;wei_count=wei_count+1'b1;end 3'b100: begin wei=8'b11101111; duan=8'b0000_0000;wei_count=wei_count+1'b1;end 3'b101: begin wei=8'b11011111; duan=8'b0000_0000;wei_count=wei_count+1'b1;end 3'b110: begin wei=8'b10111111; duan=8'b0000_0000;wei_count=wei_count+1'b1;end 3'b111: begin wei=8'b01111111; duan=8'b0000_0000;wei_count=wei_count+1'b1;end endcase end endmodule |
实验操作
实验效果
大西瓜FPGA-->https://daxiguafpga.taobao.com
配套开发板:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-24211932856.3.489d7241aCjspB&id=633897209972
博客资料、代码、图片、文字等属大西瓜FPGA所有,切勿用于商业! 若引用资料、代码、图片、文字等等请注明出处,谢谢!
每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号"科乎"。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)