当前位置: 首页 > news >正文

做菠菜网站好赚吗广告软文营销平台

做菠菜网站好赚吗,广告软文营销平台,海外百度云网站建设,网站做好是需要续费的吗REVIEW 关于TFT显示屏,之前已经做过彩条显示: TFT显示屏驱动_tft驱动-CSDN博客 关于ROM IP核,以及coe文件生成: FPGA寄存器 Vivado IP核_fpga寄存器资源-CSDN博客 1. TFT屏幕ROM显示正弦波 ①生成coe文件 %% sin-cos wave dat…

REVIEW

关于TFT显示屏,之前已经做过彩条显示:

TFT显示屏驱动_tft驱动-CSDN博客

关于ROM IP核,以及coe文件生成:

FPGA寄存器 Vivado IP核_fpga寄存器资源-CSDN博客

1. TFT屏幕+ROM显示正弦波

①生成coe文件

%% sin-cos wave data write in coe file
clear all ;
clc ;

width = 12;%与幅值有关
N = 1024 ; % depth  数据个数
y = zeros(N , 1) ;
for i = 1:1:N 
    x = i ;
    y(i,1) = ceil( 240*cos(x*2*pi/400) ) + 240 ;%显示屏800*480
end   
plot(y);
hold on;
fid = fopen('cos_1024.coe','wt');    
%- standard format
fprintf( fid, 'MEMORY_INITIALIZATION_RADIX = 10;\n');                     
fprintf( fid, 'MEMORY_INITIALIZATION_VECTOR =\n');
%- write data in coe file
for i = 1:1:N
    fprintf(fid,'%d,\n',y(i,1));  
end
fclose(fid);

②配置ROM

③VGA时钟配置

④VGA_CTRL

module VGA_CTRL(
                input clk ,
                input reset_n ,
                input [15:0]data ,
                output reg data_req ,
                output reg [11:0]H_addr , //当前扫描点的H坐标
                output reg [11:0]V_addr , //当前扫描点的V坐标
                output reg VGA_HS ,
                output reg VGA_VS , 
                output reg VGA_BLK , //BLK表示的就是输出输出的时间段
                output reg [15:0]VGA_RGB  //{R[7:0]、G[7:0]、B[7:0]}
            );
    
    
    `include "vga_parameter.v"
     localparam VGA_HS_end = `H_Sync_Time - 1'b1 ;
     localparam Hdat_begin = `H_Sync_Time + `H_Back_Porch + `H_Left_Border - 1'b1 ;
     localparam Hdat_end = `H_Total_Time - `H_Right_Border - `H_Front_Porch - 1'b1 ;
     localparam Hpixel_end = `H_Total_Time - 1'b1 ;
     localparam VGA_VS_end = `V_Sync_Time - 1'b1 ;
     localparam Vdat_begin = `V_Sync_Time + `V_Back_Porch + `V_Top_Border - 1'b1 ;
     localparam Vdat_end = `V_Total_Time - `V_Bottom_Border - `V_Front_Porch - 1'b1 ;
     localparam Vline_end = `V_Total_Time - 1'b1 ;
    
   //行计数器
    reg[11:0]H_cnt;
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    H_cnt <= 0 ;
    else if(H_cnt == Hpixel_end)
        H_cnt <= 0 ;
    else 
        H_cnt <= H_cnt + 1'b1 ;
    
    // 场计数器
    reg[11:0]V_cnt;
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    V_cnt <= 0 ;
    else if(H_cnt == Hpixel_end)
        if(V_cnt == Vline_end)
            V_cnt <= 0 ;
        else 
            V_cnt <= V_cnt + 1'b1 ;
    else 
        V_cnt <= V_cnt ;
        
      //     VGA_HS
    always@(posedge clk or negedge reset_n)
    if(!reset_n)  VGA_HS <= 1;
    else if(H_cnt == 0) VGA_HS <= 0;
    else if(H_cnt > VGA_HS_end) VGA_HS <= 1;
    
    //     VGA_VS
    always@(posedge clk or negedge reset_n)
    if(!reset_n)  VGA_VS <= 1;
    else if(V_cnt == 0) VGA_VS <= 0;
    else if(V_cnt > VGA_VS_end) VGA_VS <= 1;  
        
    
 

   //     data_req
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    data_req <= 0 ;
    else data_req <= ((H_cnt >= Hdat_begin)&&(H_cnt < Hdat_end)&&(V_cnt >= Vdat_begin)&&(V_cnt <= Vdat_end)) ? 1 : 0;
    
     //     VGA_BLK
    always@(posedge clk or negedge reset_n)
    if(!reset_n)    VGA_BLK <= 0 ;
    else VGA_BLK <= data_req ;
            
//    assign VGA_RGB = VGA_BLK? Data:0;
      //     VGA_RGB
    always@(posedge clk )
    if(data_req) 
       VGA_RGB <= data;
    else
        VGA_RGB <= 0;
        
   //address
    always@(posedge clk )
    if(data_req)
     begin
        H_addr <= H_cnt - Hdat_begin;
        V_addr <= V_cnt - Vdat_begin;
     end
     else
       begin
        H_addr <= 0;
        V_addr <= 0;
     end 
endmodule
 

⑤vga_parameter.v

/*
使用时根据实际工作需求选择几个预定义参数就可以
MODE_RGB888 和 MODE_RGB565 两个参数二选一,用来决定驱动工作在 16 位模式还是
24 位模式
针对小梅哥提供的一系列显示设备,各个设备参数如下所述
4.3 寸屏:16 位色 RGB565 模式
5 寸屏:16 位色 RGB565 模式
GM7123 模块使用 24 位色 RGB888 模式,
Resolution_xxxx 预定义用来决定显示设备分辨率,常见设备分辨率如下所述
4.3 寸 TFT 显示屏:Resolution_480x272
5 寸 TFT 显示屏:Resolution_800x480
VGA 常见分辨率:
Resolution_640x480
Resolution_800x600
Resolution_1024x768
Resolution_1280x720
Resolution_1920x1080
*/
 
//以下两行预定义根据实际使用的模式,选择一个使能,另外一个使用注释的方式屏蔽
`define MODE_RGB888
//`define MODE_RGB565
 
 
//以下 7 行预定义根据实际使用的分辨率,选择一个使能,另外 6 个使用注释的方式屏蔽
//`define Resolution_480x272 1 //时钟为 9MHz
//`define Resolution_640x480 1 //时钟为 25.175MHz
`define Resolution_800x480 1 //时钟为 33MHz
//`define Resolution_800x600 1 //时钟为 40MHz TFT_5屏幕分辨率
//`define Resolution_1024x768 1 //时钟为 65MHz
//`define Resolution_1280x720 1 //时钟为 74.25MHz
//`define Resolution_1920x1080 1 //时钟为 148.5MHz
 
//定义不同的颜色深度
`ifdef MODE_RGB888
    `define Red_Bits 8
    `define Green_Bits 8
    `define Blue_Bits 8
`elsif MODE_RGB565
    `define Red_Bits 5
    `define Green_Bits 6
    `define Blue_Bits 5
`endif
 
//定义不同分辨率的时序参数
`ifdef Resolution_480x272
    `define H_Total_Time 12'd525
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd2
    `define H_Sync_Time 12'd41
    `define H_Back_Porch 12'd2
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd286
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd2
    `define V_Sync_Time 12'd10
    `define V_Back_Porch 12'd2
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_640x480
    `define H_Total_Time 12'd800
    `define H_Right_Border 12'd8
    `define H_Front_Porch 12'd8
    `define H_Sync_Time 12'd96
    `define H_Back_Porch 12'd40
    `define H_Left_Border 12'd8
    
    `define V_Total_Time 12'd525
    `define V_Bottom_Border 12'd8
    `define V_Front_Porch 12'd2
    `define V_Sync_Time 12'd2
    `define V_Back_Porch 12'd25
    `define V_Top_Border 12'd8
    
    
`elsif Resolution_800x480
    `define H_Total_Time 12'd1056
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd40
    `define H_Sync_Time 12'd128
    `define H_Back_Porch 12'd88
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd525
    `define V_Bottom_Border 12'd8
    `define V_Front_Porch 12'd2
    `define V_Sync_Time 12'd2
    `define V_Back_Porch 12'd25
    `define V_Top_Border 12'd8
    
    
`elsif Resolution_800x600
    `define H_Total_Time 12'd1056
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd40
    `define H_Sync_Time 12'd128
    `define H_Back_Porch 12'd88
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd628
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd1
    `define V_Sync_Time 12'd4
    `define V_Back_Porch 12'd23
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_1024x768
    `define H_Total_Time 12'd1344
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd24
    `define H_Sync_Time 12'd136
    `define H_Back_Porch 12'd160
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd806
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd3
    `define V_Sync_Time 12'd6
    `define V_Back_Porch 12'd29
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_1280x720
    `define H_Total_Time 12'd1650
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd110
    `define H_Sync_Time 12'd40
    `define H_Back_Porch 12'd220
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd750
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd5
    `define V_Sync_Time 12'd5
    `define V_Back_Porch 12'd20
    `define V_Top_Border 12'd0
    
    
`elsif Resolution_1920x1080
    `define H_Total_Time 12'd2200
    `define H_Right_Border 12'd0
    `define H_Front_Porch 12'd88
    `define H_Sync_Time 12'd44
    `define H_Back_Porch 12'd148
    `define H_Left_Border 12'd0
    
    `define V_Total_Time 12'd1125
    `define V_Bottom_Border 12'd0
    `define V_Front_Porch 12'd4
    `define V_Sync_Time 12'd5
    `define V_Back_Porch 12'd36
    `define V_Top_Border 12'd0
    
    
`endif

⑥VGA_CTRL.xdc

set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[15]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[14]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[13]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[12]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[11]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[10]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[9]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[8]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {VGA_RGB[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports reset_n]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_BLK]
set_property IOSTANDARD LVCMOS33 [get_ports TFT_BL]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_CLK]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_HS]
set_property IOSTANDARD LVCMOS33 [get_ports VGA_VS]
set_property PACKAGE_PIN W20 [get_ports {VGA_RGB[15]}]
set_property PACKAGE_PIN W19 [get_ports {VGA_RGB[14]}]
set_property PACKAGE_PIN V17 [get_ports {VGA_RGB[13]}]
set_property PACKAGE_PIN V16 [get_ports {VGA_RGB[12]}]
set_property PACKAGE_PIN T15 [get_ports {VGA_RGB[11]}]
set_property PACKAGE_PIN V20 [get_ports {VGA_RGB[10]}]
set_property PACKAGE_PIN U17 [get_ports {VGA_RGB[9]}]
set_property PACKAGE_PIN V18 [get_ports {VGA_RGB[8]}]
set_property PACKAGE_PIN T16 [get_ports {VGA_RGB[7]}]
set_property PACKAGE_PIN R16 [get_ports {VGA_RGB[6]}]
set_property PACKAGE_PIN U19 [get_ports {VGA_RGB[5]}]
set_property PACKAGE_PIN Y19 [get_ports {VGA_RGB[4]}]
set_property PACKAGE_PIN W18 [get_ports {VGA_RGB[3]}]
set_property PACKAGE_PIN Y18 [get_ports {VGA_RGB[2]}]
set_property PACKAGE_PIN W16 [get_ports {VGA_RGB[1]}]
set_property PACKAGE_PIN Y17 [get_ports {VGA_RGB[0]}]
set_property PACKAGE_PIN W14 [get_ports VGA_VS]
set_property PACKAGE_PIN U14 [get_ports VGA_HS]
set_property PACKAGE_PIN U15 [get_ports VGA_CLK]
set_property PACKAGE_PIN R17 [get_ports TFT_BL]
set_property PACKAGE_PIN U18 [get_ports clk]
set_property PACKAGE_PIN H18 [get_ports reset_n]
set_property PACKAGE_PIN W15 [get_ports VGA_BLK]

⑦VGA_cos

module VGA_cos(
  
    input clk , //50MHZ时钟
    input reset_n ,
    output VGA_CLK,
    output VGA_HS, //TFT行同步信号
    output VGA_VS, //TFT场同步信号
    output VGA_BLK,        //VGA 场消隐信号
    output [15:0] VGA_RGB ,//TFT数据输出
    output TFT_BL  //背光
);


    assign TFT_BL = 1;
        
    reg [15:0]disp_data;
    wire [11:0]hcount;
    wire [11:0]vcount;
    wire Clk33M; 
    wire Data_Req;
    
    
    assign VGA_CLK= Clk33M;
      
clk_vga vga_clk(
        .clk_out1(Clk33M),
        .clk_in1(clk)
    );      
    VGA_CTRL VGA_CTRL_(
        .clk(Clk33M),    //系统输入时钟25MHZ
        .reset_n(reset_n),
        .data(disp_data),    //待显示数据
        .data_req(Data_Req),
        .H_addr(hcount),        //VGA行扫描计数器
        .V_addr(vcount),        //VGA场扫描计数器
        .VGA_HS(VGA_HS),        //VGA行同步信号
        .VGA_VS(VGA_VS),        //VGA场同步信号
        .VGA_BLK(VGA_BLK) ,     //VGA 场消隐信号
        .VGA_RGB(VGA_RGB)  //VGA数据输出
    );
         
//定义颜色编码
localparam 
    BLACK  = 16'h0000, //黑色
    WHITE  = 16'hFFFF; //白色

    
localparam 
    DOT = BLACK,  //点是黑色
    BACKGROUND = WHITE;  //背景白色

    wire R_all = vcount >= 0 && vcount < 480;  
    wire C_all = hcount >= 0 && hcount < 800; 
    wire BR = R_all & C_all;//底色全为白色

    
  
   wire[11:0]dot ;
    
    //这里是ROM,摸鱼怪又没改名字,嘎嘎嘎
    blk_mem_gen_0 blk_mem_gen_0_(
                                  .clka(Clk33M),
                                  .ena(1'b1),
                                  .addra(hcount),  //
                                  .douta(dot)
                                );

     
   wire dotline = (vcount == dot) && hcount;
   
    always@(*)
        case({BR,dotline})
           2'b10: disp_data = BACKGROUND;
           2'b11: disp_data = DOT;
         endcase
        
        
endmodule
 

摸鱼怪碎碎念:

        ROM依次存储,地址增加对应时间增加

        hcount 为列  vcount 为行

        按照 hcount 增加,ROM中的值定位vcount

2. 画饼

需要可读可写,就是用RAM啦~

下次再慢慢摸鱼吧~


文章转载自:
http://lairage.sfwd.cn
http://selectionist.sfwd.cn
http://edify.sfwd.cn
http://touriste.sfwd.cn
http://entreaty.sfwd.cn
http://cckw.sfwd.cn
http://litterateur.sfwd.cn
http://washtub.sfwd.cn
http://mesozoa.sfwd.cn
http://sparta.sfwd.cn
http://footfault.sfwd.cn
http://cecil.sfwd.cn
http://decolour.sfwd.cn
http://xanthophore.sfwd.cn
http://podsolization.sfwd.cn
http://vdi.sfwd.cn
http://britzka.sfwd.cn
http://given.sfwd.cn
http://acpi.sfwd.cn
http://sponsorial.sfwd.cn
http://panhellenic.sfwd.cn
http://turkey.sfwd.cn
http://horoscopical.sfwd.cn
http://quietish.sfwd.cn
http://sharebone.sfwd.cn
http://transthoracic.sfwd.cn
http://unwooded.sfwd.cn
http://lcf.sfwd.cn
http://sluttish.sfwd.cn
http://nonproductive.sfwd.cn
http://tasmania.sfwd.cn
http://broadsheet.sfwd.cn
http://phantast.sfwd.cn
http://subadolescent.sfwd.cn
http://abstriction.sfwd.cn
http://proletariat.sfwd.cn
http://misinput.sfwd.cn
http://tao.sfwd.cn
http://inability.sfwd.cn
http://cagayan.sfwd.cn
http://whizz.sfwd.cn
http://smyrna.sfwd.cn
http://stupendously.sfwd.cn
http://collaborator.sfwd.cn
http://consultative.sfwd.cn
http://germanophil.sfwd.cn
http://quoin.sfwd.cn
http://weaponeer.sfwd.cn
http://chromatrope.sfwd.cn
http://mandarin.sfwd.cn
http://affinal.sfwd.cn
http://asperges.sfwd.cn
http://gild.sfwd.cn
http://karikal.sfwd.cn
http://rummage.sfwd.cn
http://prissie.sfwd.cn
http://calumet.sfwd.cn
http://niellist.sfwd.cn
http://irishize.sfwd.cn
http://pool.sfwd.cn
http://strenuously.sfwd.cn
http://papilloma.sfwd.cn
http://hypohepatia.sfwd.cn
http://leucoplast.sfwd.cn
http://abutilon.sfwd.cn
http://tribromoethyl.sfwd.cn
http://homomorphic.sfwd.cn
http://forcipate.sfwd.cn
http://syncerebrum.sfwd.cn
http://diphase.sfwd.cn
http://iis.sfwd.cn
http://psychogenic.sfwd.cn
http://malentendu.sfwd.cn
http://overtechnologize.sfwd.cn
http://photokinesis.sfwd.cn
http://thinking.sfwd.cn
http://prome.sfwd.cn
http://meningococcus.sfwd.cn
http://dislodgment.sfwd.cn
http://mutually.sfwd.cn
http://cockiness.sfwd.cn
http://vitalist.sfwd.cn
http://lustful.sfwd.cn
http://intercollegiate.sfwd.cn
http://transform.sfwd.cn
http://basilicon.sfwd.cn
http://diverting.sfwd.cn
http://fac.sfwd.cn
http://pinniped.sfwd.cn
http://dialogically.sfwd.cn
http://expurgator.sfwd.cn
http://pantheon.sfwd.cn
http://overcolour.sfwd.cn
http://gabblement.sfwd.cn
http://comrade.sfwd.cn
http://sportswriter.sfwd.cn
http://delusively.sfwd.cn
http://abandonee.sfwd.cn
http://dextroamphetamine.sfwd.cn
http://defaulter.sfwd.cn
http://www.hrbkazy.com/news/60390.html

相关文章:

  • 域名反查网站百度电脑版官网
  • 百度推广网站吸引力seo排名推广
  • 中山建设爱站seo工具包
  • 湖南衡阳市建设工程造价网站外贸网站
  • 滨海县建设局网站东莞做网站公司电话
  • 台州椒江网站建设网络推广营销策划方案
  • 织梦 网站版权信息百度app免费下载
  • 网站建设方案 预算新品牌进入市场的推广方案
  • 产品展示网站开发苏州排名搜索优化
  • 网站做美工百度竞价关键词查询
  • 银川百度做网站多少钱杭州专业seo公司
  • 东莞气缸东莞网站建设广州排前三的seo公司
  • 做logo网站的公司百度推广外推联系方式
  • 网页模板网站cms产品营销推广方案
  • 中国万网怎么自己做网站南宁市优化网站公司
  • 人工智能ai写作网站免费互联网营销师课程
  • 网站首页怎么做ps长沙seo优化推广公司
  • 前端网页模板宁波seo软件免费课程
  • 动态的网站怎么做电子商务主要学什么
  • 怎样做 网站做seo2022年今天新闻联播
  • wordpress通用页面模板下载地址厦门seo代理商
  • 做视频网站代码网站制作方案
  • 便宜的做网站公司市场推广计划方案模板
  • 网站建设存在的问题及对策上海百度竞价托管
  • 网站定位案例seo网站关键词排名优化公司
  • 免费做网站怎么做网站619如何做网站搜索引擎优化
  • 做网站建设还有钱赚吗南昌seo搜索优化
  • 如何学做网站外包bt搜索引擎下载
  • seo推广的特点灯塔网站seo
  • 免费无版权图片网站品牌推广策划营销策划