广告点阵屏和熟悉字模软件的使用
最近无聊做了一个小案列,很简单的一个广告点阵屏幕,用的是寄存器加点阵屏幕,来减少外界走线,可以说是vga,hdmi,tft,系列的无敌简化版。还是挺有趣的代码也比较简单。效果还是不错,给女朋友做做让她乐呵乐呵。
代码部分:
module TOP(
input sysclk ,
input rst_n ,
output wire CLK ,
output wire LE ,
output wire DI );wire [63:0] DATA;DATA_ctrl DATA_ctrl(
. sysclk (sysclk),
. rst_n (rst_n ),
. DATA (DATA ));DZP DZP_1( //CLK 3.125MHZ
.sysclk (sysclk ),
.rst_n (rst_n ),
.DATA ( DATA ), //显示用的数据
.CLK (CLK ), //点阵屏 时钟
.LE (LE ), //点阵屏 锁存端口
.DI (DI ) //点阵屏 数据输入端口);endmodulemodule DZP(
input sysclk , //CLK 125MHZ
input rst_n ,
input [63:0] DATA , //显示用的数据
output reg CLK , //点阵屏 时钟
output reg LE , //点阵屏 锁存端口
output reg DI //点阵屏 数据输入端口);
reg [15:0] DATA_TEMP;
reg [7:0] R_data,C_data;
parameter DELAY = 1000;
reg [31:0] cnt_delay;
reg [3:0] cnt;//记录周期 分频计数器 循环0-15
reg [7:0] cnt_bit;//记录发送的Bit数
always@(posedge sysclk or negedge rst_n)if(!rst_n)cnt_delay <= 0;else if(cnt_delay>=DELAY-1)cnt_delay <= 0;elsecnt_delay <= cnt_delay + 1;always@(posedge sysclk or negedge rst_n)if(!rst_n)R_data <= 0;else case(C_data)8'b0111_1111:R_data <= DATA[63:56];8'b1011_1111:R_data <= DATA[55:48];8'b1101_1111:R_data <= DATA[47:40];8'b1110_1111:R_data <= DATA[39:32];8'b1111_0111:R_data <= DATA[31:24];8'b1111_1011:R_data <= DATA[23:16];8'b1111_1101:R_data <= DATA[15:8];8'b1111_1110:R_data <= DATA[7:0];default:R_data <= R_data;endcasealways@(posedge sysclk or negedge rst_n)if(!rst_n)C_data <= 8'b0111_1111;else if(cnt_bit>=16&&cnt>=15)//拆分成不同的列进行显示C_data <= {C_data[0],C_data[7:1]};else C_data <=C_data;always@(posedge sysclk or negedge rst_n)if(!rst_n)DATA_TEMP <= 16'd0;else DATA_TEMP <= {C_data,R_data};always@(posedge sysclk or negedge rst_n)//时序逻辑if(!rst_n)cnt<= 0;elsecnt <= cnt + 1; //4'b1111 + 1 = 4'b0000;always@(posedge sysclk or negedge rst_n)if(!rst_n)CLK <= 0;else if(cnt<=7)CLK <= 0;elseCLK <= 1;always@(posedge sysclk or negedge rst_n)if(!rst_n)cnt_bit<= 0;else if(cnt_bit>=16&&cnt>=15)cnt_bit <= 0;else if(cnt==1)cnt_bit <= cnt_bit + 1;elsecnt_bit <= cnt_bit;always@(posedge sysclk or negedge rst_n)if(!rst_n)DI <= 0;else if(cnt==2)DI <= DATA_TEMP[16-cnt_bit];elseDI <= DI;always@(posedge sysclk or negedge rst_n)if(!rst_n)LE <= 0;else if(cnt_bit>=16&&cnt>=12)LE <= 1;elseLE <= 0;endmodulemodule DATA_ctrl(
input sysclk,
input rst_n,
output wire [63:0] DATA);reg [287:0] DATA_TEMP;
parameter DELAY = 5000000;//控制移动速度的
reg [31:0] cnt;
always@(posedge sysclk or negedge rst_n)if(!rst_n)cnt <= 0;else if(cnt>=DELAY-1)cnt <= 0;elsecnt <= cnt + 1;always@(posedge sysclk or negedge rst_n)if(!rst_n)DATA_TEMP <= 192'h0000447C7C4400000C1E3E7C7C3E1E0C003C404040403C00;//可以自行修改else if(cnt>=DELAY-1)DATA_TEMP <= {DATA_TEMP[183:0],DATA_TEMP[191:184]};elseDATA_TEMP <= DATA_TEMP;assign DATA = DATA_TEMP[191:128];endmodule
字模软件的使用:
使用PCtoLCD2002,简单方便好用内存小
下面是B站野火的教学视频,第75个详细讲解了字模软件的使用
75-第三十讲-VGA显示器字符显示(一)_哔哩哔哩_bilibili75-第三十讲-VGA显示器字符显示(一)是【野火】FPGA系列教学视频,真正的手把手教学,“波形图”教学法,现场画波形图写代码,硬件基于野火FPGA EP4CE10征途系列开发板,已完结的第75集视频,该合集共计236集,视频收藏或关注UP主,及时了解更多相关视频内容。https://b23.tv/ksa6NZP
广告点阵屏和熟悉字模软件的使用相关推荐
- 电磁场与电磁波实验一 熟悉Matlab软件在电磁场领域的应用
前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看.(点击跳转人工智能学习资料) 微信公众号:创享日记 发送:matlab电磁场 获取完整无水印报告 一 ...
- 百度SEO站长统计后台广告推送引流软件
简介: 网站统计广告推送引流软件是一款非常专业的网站引流软件,能够帮助用户伪造站长统计的搜索关键词,支持自定义刷词次数.多线程支持自定义线程数,能够自动导出网站,成功的网址统计代码直接保存,方便下次导 ...
- 青少年编程scratch一级-熟悉编程软件(答案及详解+线上题库答题)
线上题库答题+自动评卷 https://blog.csdn.net/zhengzyx2040/article/details/118388826 scratch一级-熟悉编程软件试题 [熟悉编程软件] ...
- C语言字模文件的使用,PCtoLCD2002(字模软件) 最新版 附使用指南
原标题:PCtoLCD2002(字模软件) 最新版 附使用指南 PCtoLCD2002是专业的取字模软件,采用C语言和汇编语言两种格式,支持逐行.逐列.行列.列行四种取模方式,可以选择字体.大小.文字 ...
- 【图形处理】字模软件与汉字取模(GB2312、GBK,BIG5)(草稿)
由于需要在LCD显示屏上绘制汉字,找了N多的字模软件. 现将个人对汉字取模的实现过程及软件使用写出来,不足之处,望留言指正. 导论 文章将按照汉字编码.图像取模. 一.汉字编码 1234 GB2312 ...
- 利用MATLAB编写单位冲激函数,熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.doc...
熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形 实验目的: 熟悉MATLAB软件的相关函数的使用方法.各种信号的时域波形. 实验内容: 1.用MATLAB软件绘制各类典型信号的时域波形并且 ...
- STM32F4_LCD/OLED在线取字模软件
在进行(单片机)嵌入式开发的时候,我们为了调试方便,通常会使用 OLED / LCD / 串口助手 等去帮助我们调试程序,常常会使用到 LCD 或 OLED 点阵字模,下面是搜集到的几个在线取字模 ...
- 51单片机点阵和取字模软件的使用方法(显示心形图案)
点阵 首先来介绍一下8*8 点阵共由 64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平,某一列置 0 电平,则相应的二极管就亮: 如要将第一个点点亮,则 ...
- 51单片机8*8点阵屏、取模软件的使用
取模软件网盘提取 链接:https://pan.baidu.com/s/1YYQo_tZNCXlo9uWVbtsNdg 提取码:jfbr 74HC595芯片原理图: 两片595芯片级联驱动点阵屏只需要 ...
最新文章
- haproxy LVS nginx的比较
- 大数据概述 ——林子雨老师第一课
- AGC034 F - RNG and XOR
- Java面试题集(二)list与Map相关知识(1.2)
- 电信申请固定ip_各个代理ip之间的关系
- Java 虚拟机部分面试题
- 动态路由协议的分类、动静态路由优缺点、RIP简介、组播单播广播详解(附图)
- 用一把吃鸡的时间,免费上云搭建网站应用
- 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
- matlab细胞数组类型建立及操作
- BT 与 Magnet 的下载方式及原理
- 辽宁专科php教材用什么,辽宁新高考改革方案的具体内容是什么?
- 永久禁止ctfmon.exe和conime.exe进程启动
- Windows下生成SSH密钥
- tomcat的夏时令问题(时区问题)
- android金钱符号变形,使用¥(一个中文字宽)还是¥(半个中文字宽)?
- 基于Go语言Gin+Xorm的OA办公系统
- KETTLE8.2在linux(rehl)6.6中安装部署并配置公共数据库链接
- Cannot find JRE ‘1.8‘. You can specify JRE to run maven goals in Settings | Mav
- 什么是性能测试?性能测试目的?性能测试的主要分类以及性能测试的常用指标?