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

自己怎么做企业网站建设新乡市红旗区建设局网站

自己怎么做企业网站建设,新乡市红旗区建设局网站,做摄影网站的公司,收费网站模板一、跟据参考的STM32代码了解初始化流程 LCD初始化函数 void LCD_Init(void); 首先是LCD的复位 void LCD_RESET(void) { LCD_RST_CLR; //拉低复位引脚 Delay_Ms(100); //延时100ms LCD_RST_SET; //拉高复位引脚 Delay_Ms(50); …一、跟据参考的STM32代码了解初始化流程  LCD初始化函数 void LCD_Init(void); 首先是LCD的复位 void LCD_RESET(void) {     LCD_RST_CLR;        //拉低复位引脚     Delay_Ms(100);        //延时100ms         LCD_RST_SET;        //拉高复位引脚     Delay_Ms(50);        //延时50ms } 向LCD屏幕写入一个8位命令 void LCD_WR_REG(u8 data) {     LCD_CS_CLR;     //拉低片选引脚      LCD_RS_CLR;      //拉低dc引脚    SPI_WriteByte(SPI1,data);        //使用硬件SPI写入一个字节的数据      LCD_CS_SET;        //拉高片选引脚 } 将8位数据写入LCD屏幕 void LCD_WR_DATA(u8 data) {    LCD_CS_CLR;     //拉低片选引脚      LCD_RS_SET;     //拉高dc引脚    SPI_WriteByte(SPI1,data);        //使用硬件SPI写入一个字节的数据    LCD_CS_SET;        //拉高片选引脚 } 设置液晶显示屏的显示方向 void LCD_direction(u8 direction) 清屏也就是整个屏幕的点都为白色 void LCD_Clear(u16 Color) LCD显示窗口设置 void LCD_SetWindows(u16 xStar, u16 yStar,u16 xEnd,u16 yEnd) 二、模块框图 三、设计状态机 1、初始化命令 初始化命令是厂家已经配置好的直接调用这部分就行了。  LCD_WR_REG(0xCF);       LCD_WR_DATA(0x00);     (省略~)     LCD_WR_DATA(0xef);          LCD_WR_REG(0x11); //Exit Sleep     Delay_Ms(120);     LCD_WR_REG(0x29); //display on 2、设置LCD显示方向 为了方便省事只考虑参考代码中液晶屏顺时针旋转方向为0的情况。 #define USE_HORIZONTAL       0//定义液晶屏顺时针旋转方向     0-0度旋转1-90度旋转2-180度旋转3-270度旋转 void LCD_direction(u8 direction)函数只需要知道LCD_WriteReg(0x36,(13)|(06)|(07)); 传输到lcd_write模块的数据最高位决定命令/数据0为命令1为数据为9h036和9h108。 3、清屏 lcd的清屏步骤是先设置LCD的填充窗口大小320x240 9h02A;        //列地址设置 {1b1,7b0000_000,start_x[8]};        //x的开始坐标高8位 {1b1,start_x[7:0]};                           //x的开始坐标低8位 {1b1,7b0000_000,end_x[8]};         //x的结束坐标高8位                 {1b1,end_x[7:0]};                            //x的结束坐标低8位 9h02B;        //页面地址设置 {1b1,7b0000_000,start_y[8]};        //y的开始坐标高8位 {1b1,start_y[7:0]};                           //y的开始坐标低8位 {1b1,7b0000_000,end_y[8]};         //y的结束坐标高8位 {1b1,end_y[7:0]};                            //y的结束坐标低8位 9h02C;        //存储器写入 清屏的时候设置的窗口大小320x240和start_x、start_y、end_x、end_y已经确定可以直接用以下部分。 9h02A 9h100 9h100 9h100 9h1ef 9h02B 9h100 9h100 9h101 9h13f 9h02C 然后在需要填充的点进行对应颜色白色的填充。颜色填充为16位先传高8位再传低8位。 一共传输320*240*2-1153,599次。 四、波形图绘制 五、代码编写 module lcd_init // #(//仿真时调用// parameter TIME100MS 23d100, //23d5000_000 // TIME150MS 23d150, //23d7500_000 // TIME120MS 23d120, //23d6000_000 // TIMES4MAX 18d51 , //320*240*213设置窗口大小153_613 // DATA_IDLE 9b0_0000_0000 // ) #(//驱动lcd时调用parameter TIME100MS 23d5000_000, //23d5000_000 TIME150MS 23d7500_000, //23d7500_000 TIME120MS 23d6000_000, //23d6000_000 TIMES4MAX 18d153_613 , //320*240*213设置窗口大小153_613 DATA_IDLE 9b0_0000_0000 ) (input wire sys_clk_50MHz ,input wire sys_rst_n ,input wire wr_done ,output reg lcd_rst ,output reg [8:0] init_data ,output wire en_write ,output wire init_done ); //****************** Parameter and Internal Signal *******************// //画笔颜色 parameter WHITE 16hFFFF,BLACK 16h0000, BLUE 16h001F, BRED 16hF81F,GRED 16hFFE0,GBLUE 16h07FF,RED 16hF800,MAGENTA 16hF81F,GREEN 16h07E0,CYAN 16h7FFF,YELLOW 16hFFE0,BROWN 16hBC40, //棕色BRRED 16hFC07, //棕红色GRAY 16h8430; //灰色//----------------------------------------------------------------- reg [5:0] state; parameter S0_DELAY100MS 6b000_001, S1_DELAY50MS 6b000_010,S2_WR_90 6b000_100,S3_DELAY120MS 6b001_000,S4_WR_DIRECTION_CLEAR 6b010_000,DONE 6b100_000;reg [22:0] cnt_150ms; reg lcd_rst_high_flag; reg [6:0] cnt_s2_num; reg cnt_s2_num_done; reg [17:0] cnt_s4_num; reg cnt_s4_num_done; //----------------------------------------------------------------- //状态跳转 always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)state S0_DELAY100MS;elsecase(state)S0_DELAY100MS:state (cnt_150ms TIME100MS) ? S1_DELAY50MS : S0_DELAY100MS;S1_DELAY50MS:state (cnt_150ms TIME150MS) ? S2_WR_90 : S1_DELAY50MS;S2_WR_90:state (cnt_s2_num_done) ? S3_DELAY120MS : S2_WR_90;S3_DELAY120MS:state (cnt_150ms TIME120MS) ? S4_WR_DIRECTION_CLEAR : S3_DELAY120MS; S4_WR_DIRECTION_CLEAR:state (cnt_s4_num_done) ? DONE : S4_WR_DIRECTION_CLEAR;DONE:state DONE;default:state S0_DELAY100MS;endcase//cnt_150ms always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)cnt_150ms 23d0;else if(state S0_DELAY100MS || state S1_DELAY50MS || state S3_DELAY120MS )cnt_150ms cnt_150ms 1b1;elsecnt_150ms 23d0;//lcd_rst_high_flag always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)lcd_rst_high_flag 1b0;else if(state S0_DELAY100MS (cnt_150ms TIME100MS - 1b1))lcd_rst_high_flag 1b1;elselcd_rst_high_flag 1b0;//lcd_rst always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)lcd_rst 1b0;else if(lcd_rst_high_flag)lcd_rst 1b1;elselcd_rst lcd_rst; //----------------------------------------------------------------- //cnt_s2_num决定要传的命令/数据 always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)cnt_s2_num 7d0;else if(state ! S2_WR_90)cnt_s2_num 7d0;else if(wr_done state S2_WR_90)cnt_s2_num cnt_s2_num 1b1;elsecnt_s2_num cnt_s2_num;//cnt_s2_num_done 1b1则S2_WR_90完成 always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)cnt_s2_num_done 1b0;else if(cnt_s2_num 7d89 wr_done 1b1)cnt_s2_num_done 1b1;elsecnt_s2_num_done 1b0;//init_data[8:0] always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)init_data DATA_IDLE;else if(state S2_WR_90)//初始化命令/数据直接借用厂家的case(cnt_s2_num) //init_data[8] 1b1写数据 1b0写命令7d0 : init_data 9h0CF ; 7d1 : init_data 9h100 ; 7d2 : init_data 9h1C9 ; 7d3 : init_data 9h130 ; 7d4 : init_data 9h0ED ; 7d5 : init_data 9h164 ; 7d6 : init_data 9h103 ; 7d7 : init_data 9h112 ; 7d8 : init_data 9h181 ; 7d9 : init_data 9h0E8 ; 7d10: init_data 9h185 ; 7d11: init_data 9h110 ; 7d12: init_data 9h17A ; 7d13: init_data 9h0CB ; 7d14: init_data 9h139 ; 7d15: init_data 9h12C ; 7d16: init_data 9h100 ; 7d17: init_data 9h134 ; 7d18: init_data 9h102 ; 7d19: init_data 9h0F7 ; 7d20: init_data 9h120 ; 7d21: init_data 9h0EA ; 7d22: init_data 9h100 ; 7d23: init_data 9h100 ; 7d24: init_data 9h0C0 ; 7d25: init_data 9h11B ; 7d26: init_data 9h0C1 ; 7d27: init_data 9h100 ; 7d28: init_data 9h0C5 ; 7d29: init_data 9h130 ; 7d30: init_data 9h130 ; 7d31: init_data 9h0C7 ; 7d32: init_data 9h1B7 ; 7d33: init_data 9h036 ; 7d34: init_data 9h108 ; 7d35: init_data 9h03A ; 7d36: init_data 9h155 ; 7d37: init_data 9h0B1 ; 7d38: init_data 9h100 ; 7d39: init_data 9h11A ; 7d40: init_data 9h0B6 ; 7d41: init_data 9h10A ; 7d42: init_data 9h1A2 ; 7d43: init_data 9h0F2 ; 7d44: init_data 9h100 ; 7d45: init_data 9h026 ; 7d46: init_data 9h101 ; 7d47: init_data 9h0E0 ; 7d48: init_data 9h10F ; 7d49: init_data 9h12A ; 7d50: init_data 9h128 ; 7d51: init_data 9h108 ; 7d52: init_data 9h10E ; 7d53: init_data 9h108 ; 7d54: init_data 9h154 ; 7d55: init_data 9h1A9 ; 7d56: init_data 9h143 ; 7d57: init_data 9h10A ; 7d58: init_data 9h10F ; 7d59: init_data 9h100 ; 7d60: init_data 9h100 ; 7d61: init_data 9h100 ; 7d62: init_data 9h100 ; 7d63: init_data 9h0E1 ; 7d64: init_data 9h100 ; 7d65: init_data 9h115 ; 7d66: init_data 9h117 ; 7d67: init_data 9h107 ; 7d68: init_data 9h111 ; 7d69: init_data 9h106 ; 7d70: init_data 9h12B ; 7d71: init_data 9h156 ; 7d72: init_data 9h13C ; 7d73: init_data 9h105 ; 7d74: init_data 9h110 ; 7d75: init_data 9h10F ; 7d76: init_data 9h13F ; 7d77: init_data 9h13F ; 7d78: init_data 9h10F ; 7d79: init_data 9h02B ; 7d80: init_data 9h100 ; 7d81: init_data 9h100 ; 7d82: init_data 9h101 ; 7d83: init_data 9h13f ; 7d84: init_data 9h02A ; 7d85: init_data 9h100 ; 7d86: init_data 9h100 ; 7d87: init_data 9h100 ; 7d88: init_data 9h1ef ; 7d89: init_data 9h011 ; default: init_data DATA_IDLE;endcaseelse if(state S4_WR_DIRECTION_CLEAR)case(cnt_s4_num)d0 : init_data 9h029;//设置LCD显示方向d1 : init_data 9h036;d2 : init_data 9h108;//LCD显示窗口设置d3 : init_data 9h02a;d4 : init_data 9h100;d5 : init_data 9h100;d6 : init_data 9h100;d7 : init_data 9h1ef;d8 : init_data 9h02b;d9 : init_data 9h100;d10: init_data 9h100;d11: init_data 9h101;d12: init_data 9h13f;d13: init_data 9h02c;//填充对应点的颜色可以换用比较明显的红色便于观察现象default : //当cnt_s4_num大于14且为偶数时传输颜色数据的高8位if(cnt_s4_num d14 cnt_s4_num[0] 0)init_data {1b1,WHITE[15:8]};//当cnt_s4_num大于14且为奇数时传输颜色数据的低8位else if(cnt_s4_num d14 cnt_s4_num[0] 1)init_data {1b1,WHITE[7:0]};elseinit_data DATA_IDLE;endcaseelseinit_data DATA_IDLE;//cnt_s4_num决定要传的命令/数据 always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)cnt_s4_num 18d0;else if(state ! S4_WR_DIRECTION_CLEAR)cnt_s4_num 18d0;else if(wr_done state S4_WR_DIRECTION_CLEAR)cnt_s4_num cnt_s4_num 1b1;else cnt_s4_num cnt_s4_num;//cnt_s4_num_done always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)cnt_s4_num_done 1b0;else if(cnt_s4_num TIMES4MAX wr_done 1b1)cnt_s4_num_done 1b1;elsecnt_s4_num_done 1b0; assign en_write (state S2_WR_90 || state S4_WR_DIRECTION_CLEAR) ? 1b1 : 1b0; assign init_done (state DONE) ? 1b1 : 1b0; endmodule 六、仿真代码 timescale 1ns/1nsmodule tb_lcd_init();reg sys_clk_50MHz; reg sys_rst_n ; reg wr_done ;wire lcd_rst ; wire [8:0] init_data ; wire en_write ; wire init_done ;reg [1:0] cnt1;initial beginsys_clk_50MHz 1b1;sys_rst_n 1b0;wr_done 1b0;#100sys_rst_n 1b1; endalways #10 sys_clk_50MHz ~sys_clk_50MHz;always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)cnt1 d0;else if(en_write)cnt1 cnt1 1b1;always(posedge sys_clk_50MHz or negedge sys_rst_n)if(!sys_rst_n)wr_done 1b0;else if(cnt1 d3)wr_done 1b1;elsewr_done 1b0;lcd_init lcd_init_inst (.sys_clk_50MHz (sys_clk_50MHz),.sys_rst_n (sys_rst_n ),.wr_done (wr_done ),.lcd_rst (lcd_rst ),.init_data (init_data ),.en_write (en_write ),.init_done (init_done ) );endmodule 七、仿真波形图
http://www.lakalapos1.cn/news/45388/

相关文章:

  • 注册网站用于跳转虚拟货币网站违法企业管理平台系统
  • 网站备案最新备案号公众号开发者id在哪找
  • 宁波网站推广优化公司哈尔滨seo优化团队
  • 淘客怎么做网站wordpress 搬家 密码
  • 制作网站首页分为哪几部分做外贸纱线用什么网站
  • 添加书签网站代码网站中文名称
  • 静态网站开发文章网站开发需呀那些技术
  • 有做外贸的平台网站吗哪个网站可以做社工试题
  • 东莞有哪家比较好的网站建设公司网站建设分为几个时期
  • 网站建设 清远魔方网络中国来料加工网
  • 联合建设官方网站国外ps设计图网站
  • 帝国cms灵动标签做网站地图网站制作需要的软件
  • 什么是网站建设的三次点击原则wordpress 织梦
  • 渝水区城乡建设局网站如何使用花生壳做网站
  • 广州购物网站公司地址如何注册公司多少钱
  • 网站怎么上线软文有哪几种类型
  • 网址导航网站简单制作网站群管理平台建设
  • 免费零食网站模板nas搭建wordpress
  • 甘肃建设厅执业资格注册中心网站移动端网站咋做
  • 主做熟人推荐的招聘网站网站推广到底应该怎么做
  • 网站建设公司的客户淮北网站建设制作
  • 做拆分盘网站安装 wordpress
  • 教做家常菜的视频网站找别人做网站要注意什么软件
  • 视频广告网站目标网站上做关键字布局
  • dede 手机网站wordpress支付宝微信收费
  • 摄影网站模板源码网站管理员权限怎么设置
  • 网站建设模板能实现按钮跳转吗东莞网站建设市场分析
  • 青岛网站设计多少钱wordpress中文安全插件
  • 随州网站优化腾讯企业邮箱版
  • 湖南建设厅网站勘查设计wordpress的tag转数字链接