营销型企业网站建设案例做国际网站有用吗

张小明 2026/1/15 22:59:39
营销型企业网站建设案例,做国际网站有用吗,网页设计师考证试题,织梦cms与wordpress1、硬件原理图2、软件模拟 8080 并行接口使用 GPIO 模拟 8080 时序#xff0c;适合低速或简单应用。数据线#xff1a;DB0~DB15 分散在 PD、PE、PB、PF 等多个 GPIO 口。控制线#xff1a;RS#xff08;D/C#xff09;#xff1a;PD11#xff08;命令/数据选择#xff…1、硬件原理图2、软件模拟 8080 并行接口使用 GPIO 模拟 8080 时序适合低速或简单应用。数据线DB0~DB15 分散在PD、PE、PB、PF等多个 GPIO 口。控制线RSD/CPD11命令/数据选择WRPD5写使能RDPD4读使能CSPD7片选BLPB15背光控制3、ILI9486芯片3.1、关键寄存器0x01: Software Reset 软件复位 0x11: Sleep Out 退出睡眠模式 0x29: Display ON 显示开启 0x2A: Column Address Set 列地址设置 0x2B: Page Address Set 页地址设置 0x2C: Memory Write 内存写入开始传输像素数据 0x36: Memory Access Control 内存访问控制横竖屏 0x3A: COLMOD: Pixel Format 像素格式设置 0xB1: Frame Rate Control 帧率控制 0xC0: Power Control 1 电源控制1 0xC1: Power Control 2 电源控制2 0xC5: VCOM Control 1 VCOM控制1 0xC7: VCOM Control 2 VCOM控制2 0xE0: Positive Gamma Gamma正校正 0xE1: Negative Gamma Gamma负校正3.2、指令集详解3.2.1、0x36 - MADCTL内存访问控制位定义 D7: MY - 行地址顺序0上到下1下到上 D6: MX - 列地址顺序0左到右1右到左 D5: MV - 行列交换横竖屏切换 D4: ML - 垂直刷新顺序 D3: BGR - RGB/BGR顺序1BGR0RGB D2: MH - 水平刷新顺序 D1: - 保留 D0: - 保留 常用设置 0x48 - 竖屏MY0, MX1, MV0, ML1, BGR0 0x28 - 横屏MY0, MX0, MV1, ML0, BGR0 0x88 - 竖屏镜像 0xE8 - 横屏镜像3.2.2、0x3A - COLMOD像素格式数据位 D7-D3: 保留设置为0 D2-D0: 接口像素格式 000 - 3位/像素8色 001 - 保留 010 - 保留 011 - 12位/像素4096色 100 - 保留 101 - 16位/像素RGB565 110 - 18位/像素RGB666 111 - 保留 我们使用0x55 (01010101) 16位/像素3.2.3、0xB1 - 帧率控制格式FRC[7:0] 对于240×320屏幕 典型值0x00, 0x18 (70Hz) 对于320×4803.5寸 可能需要0x00, 0x1B (65Hz)4、软件实现流程4.1、头文件#ifndef __LCD_H #define __LCD_H #include stm32f4xx.h /* 基本类型定义 */ typedef uint8_t u8; typedef uint16_t u16; typedef uint32_t u32; /* LCD尺寸定义 */ #define LCD_WIDTH 320 #define LCD_HEIGHT 480 /* LCD颜色定义 */ #define WHITE 0xFFFF #define BLACK 0x0000 #define RED 0xF800 #define GREEN 0x07E0 #define BLUE 0x001F #define YELLOW 0xFFE0 /* LCD设备结构体 */ typedef struct { u16 width; // LCD宽度 u16 height; // LCD高度 u16 type; // LCD类型 } _lcd_dev; /* 函数声明 */ void lcd_init(void); void lcd_port_init(void); void lcd_output_data(u16 data); void LCD_Write_CMD(u16 cmd); void LCD_Write_Data(u16 data); void LCD_EnterSleep(void); void LCD_ExitSleep(void); void LCD_Display_Dir(u8 dir); void lcd_clear(u16 color); void lcd_draw_point(u16 x, u16 y, u16 color); /* 外部变量 */ extern _lcd_dev lcddev; #endif4.2、引脚初始化void lcd_port_init(void);开启对应 GPIO 时钟RCC-AHB1ENR。配置数据线为推挽输出速度 50MHz。配置控制线为输出默认拉高。void lcd_port_init(void) { //1、开引脚时钟 PD PE PB RCC-AHB1ENR | (13);//开PD RCC-AHB1ENR | (14);//开PE RCC-AHB1ENR | (11);//开PB //2、配置引脚 // 数据线-----推挽输出 时钟50M // DB0---PD14 // DB1---PD15 // DB2---PD0 // DB3---PD1 GPIOD-MODER |(0X1ul(2*14))|(0X1ul(2*15)); //配置成通用输出 GPIOD-OSPEEDR |(0X2ul(2*14))|(0X2ul(2*15)); //配置成输出速率50M GPIOD-MODER |(0X1(2*0))|(0X1(2*1)); //配置成通用输出 GPIOD-OSPEEDR |(0X2(2*0))|(0X2(2*1)); //配置成输出速率50M // DB4---PE7 // DB5---PE8 // DB6---PE9 // DB7---PE10 // DB8---PE11 // DB9---PE12 // DB10---PE13 // DB11---PE14 // DB12---PE15 GPIOE-MODER |0x55554000; //配置成通用输出 GPIOE-OTYPER | 0; //配置成输出推挽 GPIOE-OSPEEDR |0x55554000; //配置成输出速率50M // DB13---PD8 // DB14---PD9 // DB15---PD10 GPIOD-MODER |(0X1(2*8))|(0X1(2*9))|(0X1(2*10)); //配置成通用输出 GPIOD-OSPEEDR |(0X2(2*1))|(0X2(2*1))|(0X2(2*1)); //配置成输出速率50M // 控制线-----推挽输出 时钟50M 空闲为高电平 // WRPD5 // RDPD4 GPIOD-MODER |(0X1(2*4))|(0X1(2*5)); //配置成通用输出 GPIOD-OSPEEDR |(0X2(2*4))|(0X2(2*5)); GPIOD-ODR | (14)|(15); // CS : PD7 GPIOD-MODER |(0X1(2*7)); //配置成通用输出 GPIOD-OSPEEDR |(0X2(2*7)); GPIOD-ODR | (17); // RS : PD11 GPIOD-MODER |(0X1(2*11)); //配置成通用输出 GPIOD-OSPEEDR |(0X2(2*11)); GPIOD-ODR | (111); // BL -- 背光 PB15 1亮 三极管 GPIOB-MODER |(0X1(2*15)); //配置成通用输出 GPIOB-OSPEEDR |(0X2ul(2*15)); GPIOB-ODR ~(115);//关闭背光在LCD初始化完后再打开 }4.3、LCD输出数据操作LCD的D0~D15为输出数据引脚因此一次可以输出16为的数据。因为硬件设计的时候端口没有连续因此获取到每一位的值后需要安装引脚单独设置。/******************************************************************** * Function lcd_output_data * Description: 往LCD8080数据总线输出数据 * Others: *********************************************************************/ void lcd_output_data(u16 data) { // DB0---PD14 // DB1---PD15 if(data(10)) GPIOD-BSRRL (114);//GPIOD-ODR | 114; else GPIOD-BSRRH (114); //GPIOD-ODR ~(114); if(data(11)) GPIOD-BSRRL (115); else GPIOD-BSRRH (115); // DB2---PD0 // DB3---PD1 if(data(12)) GPIOD-BSRRL (10); else GPIOD-BSRRH (10); if(data(13)) GPIOD-BSRRL (11); else GPIOD-BSRRH (11); // DB4---PE7 if(data(14)) GPIOE-BSRRL (17); else GPIOE-BSRRH (17); // DB5---PE8 // DB6---PE9 // DB7---PE10 // DB8---PE11 // DB9---PE12 // DB10---PE13 // DB11---PE14 // DB12---PE15 if(data(15)) GPIOE-BSRRL (18); else GPIOE-BSRRH (18); if(data(16)) GPIOE-BSRRL (19); else GPIOE-BSRRH (19); if(data(17)) GPIOE-BSRRL (110); else GPIOE-BSRRH (110); if(data(18)) GPIOE-BSRRL (111); else GPIOE-BSRRH (111); if(data(19)) GPIOE-BSRRL (112); else GPIOE-BSRRH (112); if(data(110)) GPIOE-BSRRL (113); else GPIOE-BSRRH (113); if(data(111)) GPIOE-BSRRL (114); else GPIOE-BSRRH (114); if(data(112)) GPIOE-BSRRL (115); else GPIOE-BSRRH (115); // DB13---PD8 // DB14---PD9 // DB15---PD10 if(data(113)) GPIOD-BSRRL (18); else GPIOD-BSRRH (18); if(data(114)) GPIOD-BSRRL (19); else GPIOD-BSRRH (19); if(data(115)) GPIOD-BSRRL (110); else GPIOD-BSRRH (110); }4.4、 写入命令引脚8080 并行接口写命令时序图/******************************************************************** * Function LCD_Write_CMD * Description: LCD写命令函数 * Input cmd--要写的命令 *********************************************************************/ void LCD_Write_CMD(u16 cmd) { GPIOD-ODR ~(111); //D/C 0;//命令 GPIOD-ODR ~(17); //CS 0; GPIOD-ODR ~(15); //WR 0; lcd_output_data(cmd);//准备数据 GPIOD-ODR | (15); //WR 1; GPIOD-ODR | (17);//CS 1; }4.5、写入数据引脚8080 并行接口写数据时序图/******************************************************************** * Function LCD_Write_Parameter * Description: LCD写数据函数 * Input >4.6、屏幕休眠和退出休眠 -- 官网文档提供/******************************************************************** * Function: LCD_EnterSleep * Description: LCD driver enter sleep mode *********************************************************************/ void LCD_EnterSleep(void) { LCD_Write_CMD(0x28); // Display off timer6_delay_ms(20); // 自定义延迟函数 LCD_Write_CMD(0x10); // Enter Sleep mode } /******************************************************************** * Function: LCD_ExitSleep * Description: LCD driver exit sleep mode *********************************************************************/ void LCD_ExitSleep(void) { LCD_Write_CMD(0x11); // Sleep out timer6_delay_ms(120); // 自定义延迟函数 LCD_Write_CMD(0x29); // Display on }4.7、控制屏幕方向/******************************************************************** * Function: LCD_Display_Dir * Description: Set LCD display direction * Input: dir - 0: portrait, 1: landscape *********************************************************************/ void LCD_Display_Dir(u8 dir) { // Set display direction (simplified version) // You can add more configuration here if needed if(dir 0) // Portrait { lcddev.width 320; lcddev.height 480; } else // Landscape { lcddev.width 480; lcddev.height 320; } }lcddev为全局变量/* LCD设备全局变量 */ _lcd_dev lcddev;3.8、LCD打点函数/******************************************************************** * Function: lcd_draw_point * Description: Draw a point on LCD * Input: x, y - coordinates, color - pixel color *********************************************************************/ void lcd_draw_point(u16 x, u16 y, u16 color) { // Set X coordinate LCD_Write_CMD(0x2A); LCD_Write_Data(x 8); LCD_Write_Data(x 0xFF); LCD_Write_Data(x 8); LCD_Write_Data(x 0xFF); // Set Y coordinate LCD_Write_CMD(0x2B); LCD_Write_Data(y 8); LCD_Write_Data(y 0xFF); LCD_Write_Data(y 8); LCD_Write_Data(y 0xFF); // Write color data LCD_Write_CMD(0x2C); LCD_Write_Data(color); }3.9、使用颜色清除屏幕函数/******************************************************************** * Function: lcd_clear * Description: Clear LCD screen with specified color * Input: color - fill color *********************************************************************/ void lcd_clear(u16 color) { u32 i; // Set X coordinate range LCD_Write_CMD(0x2A); LCD_Write_Data(0); LCD_Write_Data(0); LCD_Write_Data((lcddev.width 8) 0xFF); LCD_Write_Data(lcddev.width 0xFF); // Set Y coordinate range LCD_Write_CMD(0x2B); LCD_Write_Data(0); LCD_Write_Data(0); LCD_Write_Data((lcddev.height 8) 0xFF); LCD_Write_Data(lcddev.height 0xFF); // Write color data LCD_Write_CMD(0x2C); for(i 0; i lcddev.width * lcddev.height; i) { LCD_Write_Data(color); } }3.2、LCD 控制器初始化void lcd_init(void);调用lcd_port_init()。根据 LCD 芯片型号如 ILI9341发送初始化序列。设置显示方向、分辨率、颜色模式如 16BPP RGB565。清屏并打开背光。/******************************************************************** * Function: lcd_init * Description: Initialize LCD *********************************************************************/ void lcd_init(void) { // 1. Initialize pins lcd_port_init(); // 2. LCD initialization sequence // Set 16-bit pixel format (RGB565) LCD_Write_CMD(0X3A); LCD_Write_Data(0X55); // Set Memory Access Control (0x36) - Configure RGB order // Bit 3 (BGR): 0 RGB order, 1 BGR order // Set to RGB order (BGR bit 0) LCD_Write_CMD(0x36); LCD_Write_Data(0x48); // RGB order, normal orientation // Set display direction (0: portrait, 1: landscape) LCD_Display_Dir(0); // Exit sleep mode and turn on display LCD_ExitSleep(); // Set width and height lcddev.width 320; lcddev.height 480; // Clear screen to white lcd_clear(WHITE); // Turn on backlight GPIOB-ODR | (0X1 15); }5、测试代码#include stm32f4xx.h #include ../CMSIS/system_stm32f4xx.h #include ../Drivers/MCU/lcd.h #include ../Drivers/MCU/usart.h /** * brief Main program * param None * retval None */ int main(void) { usart1_init(115200); // Initialize LCD lcd_init(); // Final: Clear to white lcd_clear(BLUE); // Main loop - keep running while(1) { } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

h5创建网站网站排名方法

Axure RP中文界面配置实战:从英文到全中文化的完整指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …

张小明 2025/12/25 19:07:27 网站建设

网站改版会影响排名吗汤阴做网站

为什么你需要AI论文神器? 面对毕业论文、课题报告、科研综述,很多大学生、研究生、科研人员都经历过熬夜赶稿、反复查重、被导师退回无数次的痛苦。如今,AI论文工具正在把“痛苦写作”变成“轻松搞定”,让你在喝杯咖啡的时间就能…

张小明 2026/1/13 1:08:44 网站建设

个人网站必须备案网站服务器ip地址在哪里看

还在为Switch上无法畅快观看B站视频而烦恼吗?🎮 今天我要为你介绍一款革命性的工具——wiliwili,这款专为手柄操作优化的第三方B站客户端,让你的Switch瞬间变身全能娱乐终端! 【免费下载链接】wiliwili 专为手柄控制设…

张小明 2026/1/13 23:40:01 网站建设

有没有做高仿的网站静态网站素材

第一章:Open-AutoGLM点外卖的诞生背景与行业变革随着人工智能技术的快速演进,大语言模型(LLM)已从单纯的文本生成工具逐步演变为可驱动真实世界任务的智能代理。Open-AutoGLM作为首个开源的自动化语言-行动协同框架,其…

张小明 2025/12/31 20:47:10 网站建设

如何建立网站的快捷方式应用之星在线制作app

Wan2.2-T2V-A14B硬件要求全解析 在生成式AI的演进中,文本到视频(T2V)一直被视为最后一道“圣杯级”关卡。静态图像可以靠瞬间爆发力生成,但一段流畅、连贯、具备物理逻辑和情感表达的视频,意味着系统必须同时处理语义理…

张小明 2025/12/25 19:04:42 网站建设

陕西省高速集团建设网站一个在线做笔记的网站

为什么人人都想要获得高并发经验;想拥有高并发系统设计技能?其原因LZ认为主要有以下三点:涨薪:有高并发系统设计的技能后可以获得更加可观的收入。晋升:高并发系统设计是一个初中级开发晋升成为一个高开乃至系统架构师…

张小明 2025/12/25 19:04:10 网站建设