-
2022-07-18 14:18:40
软件:Image2LCD Rev3.2 (注意:用4.0版本一直无法正常显示)
链接:https://pan.baidu.com/s/10zqHjQCT7HO_MqmKwK_tvQ?pwd=mji3
提取码:mji3硬件:华迪创显 1.54寸液晶 ST7789芯片
官方代码:
/****************************************************************************** 函数说明:显示图片 入口数据:x,y起点坐标 length 图片宽度 width 图片高度 pic[] 图片数组 返回值: 无 说明:Image2LCD 3.2版本软件生成代码 4.0版本不行 设置: 扫描模式:水平扫描 输出灰度:16位真彩色 最大宽度和高度: 图片分辨率 高位在前 √ 打勾 其它的均不要√ ******************************************************************************/ void LCD_ShowPicture(uint16_t x,uint16_t y,uint16_t length,uint16_t width,const uint8_t pic[]) { uint16_t i,j; uint32_t k=0; LCD_Address_Set(x,y,x+length-1,y+width-1); for(i=0;i<length;i++) { for(j=0;j<width;j++) { LCD_WR_DATA8(pic[k*2]); LCD_WR_DATA8(pic[k*2+1]); k++; } } }
按此设置生成代码,拷贝到pic.h中,调用就成了。
更多相关内容 -
205-彩屏图片显示(51单片机C语言实例Proteus仿真和代码)
2022-06-16 06:03:06205-彩屏图片显示(51单片机C语言实例Proteus仿真和代码)205-彩屏图片显示(51单片机C语言实例Proteus仿真和代码)205-彩屏图片显示(51单片机C语言实例Proteus仿真和代码)205-彩屏图片显示(51单片机C语言实例Proteus... -
51单片机源码程序-彩屏图片显示.zip
2022-05-11 15:08:4951单片机源码程序 -
彩屏图片提取方法1
2022-08-08 21:23:17彩屏图片提取方法1 -
205-彩屏图片显示单片机C语言源码.zip项目程序C语言源码下载
2022-03-19 16:47:12205-彩屏图片显示单片机C语言源码.zip项目程序C语言源码下载205-彩屏图片显示单片机C语言源码.zip项目程序C语言源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合单片机公司开发项目参考 -
单片机C语言实例--205-彩屏图片显示.zip
2022-01-12 23:19:10单片机C语言实例--205-彩屏图片显示.zip -
彩屏图片取模软件
2012-09-09 01:29:52用于单片机驱动彩屏图片显示的取模,简单方便实用 -
【工具】TFT彩屏图片点阵取模工具,Img2Lcd图片取模软件,图片生成c语言头文件...
2020-09-05 22:29:54微信关注“DLGG创客DIY”设为“星标”,重磅干货,第一时间送达。最近玩童心派,上边有个128x128的彩屏,当然也是必须玩的,如何让彩屏显示图片呢?方法很多,最简单粗暴基础...微信关注 “DLGG创客DIY”
设为“星标”,重磅干货,第一时间送达。
最近玩童心派,上边有个128x128的彩屏,当然也是必须玩的,如何让彩屏显示图片呢?方法很多,最简单粗暴基础的当然是将图片生成为数组格式,然后用循环将每个点显示的内容发送到屏幕上显示(别头疼,这段听起来比较麻烦,其实实际使用挺简单的)。
那么图片如何转换成数组的格式呢?
一般传统的思路是看jpg或者png文件个格式定义,然后...
上述学习方法是一种非常传统的思路,即打好基础,即慢慢扎实流派....21世纪了,这种方法虽然没有什么问题,但太低效了,时刻要谨记地精的至理名言:时间就是金钱我的朋友。
回到正题,我们使用图片取模工具来实现上述操作,即那些大牛为了帮助大家节省时间,写了个软件,将上述繁琐的操作省去了,下边简单介绍一下软件的使用方法。
工具名称:Img2Lcd
上图所示
打开软件之后点击打开导入要转换的图片,推荐和屏幕尺寸对应,否则容易懵逼,即童心派我就找个128x128的图片
选择左侧的转换参数,建议就改那个灰度,其他的默认就行,灰度选择和屏底层的驱动有关,当然还和存储空间啥的有关,我们先不深究,童心派上我选的是16位真彩,即用16位2进制数来表示一个点。16位二进制数是啥,就是2的16次方个数(这个不用记),记这个比较容易,0xff是8位2进制数,那么16位二进制数就是两个0x..,比如0x11,0x22,这个需要知道
然后点击保存,给文件起个好名字,然后就行了,把这个文件通过include引入到程序中就能用了
就这么简单。
软件获取公众号回复“图片点阵”获取下载链接
你点的每个在看,我都当成喜欢
-
单片机课设,电子贺卡设计,实现简单音乐播放-电路方案
2021-04-21 03:04:59本系统是以单片机为核心元件,实现了基于单片机的伴奏乐曲、基于单片机的彩屏图片并通过矩阵键盘按键显示不同彩屏图片并伴有不同乐曲的诸多功能的电子贺卡。通过单片机、AMPIRE128*64图形液晶显示屏、蜂鸣器以及按键... -
51单片机SD卡TFT彩屏显示图片
2013-03-09 15:00:2151单片机SD卡TFT彩屏显示图片 -
STM32F103 读取SD卡中的图片TFT彩屏显示C程序
2013-04-30 17:00:00STM32F103 读取SD卡中的图片TFT彩屏显示C程序,程序包含编译全部内容,可直接使用 -
TFT取模教程以及软件
2020-11-16 17:35:19TFT取模教程里面包含了取模的word教程以及取模软件,可以修改字体,字符,数字,还可以导入你想要的图片。 -
51单片机构成的TFT液晶屏程序,可实现彩屏和图片、数字、汉字显示
2019-07-27 19:56:30由51单片机构成的TFT液晶屏程序,可实现彩屏和图片、数字、汉字显示 -
TFT彩屏显示
2018-04-06 11:18:00TFT彩屏,采用STC89C52单片机控制,测试时运行效果良好。 -
lcd.c,彩屏显示,主要是圆角方形做按键显示也包含基础的字符及图片显示
2020-06-13 17:00:30此.c文件是在正点原子4.3寸ATK触摸屏上显示的代码。主要有汉字,字母,数字及1位,2位小数的显示。另有圆,方形,带边框纯色圆角方形,带边框二色圆角方形,带边框三色圆角方形等。供参考 -
51实现彩屏显示
2011-09-16 21:20:50很好的彩屏 ,驱动程序包 ,用51单片机实现彩屏程序的显示,实现画圈,文字输出以及图片的显示,有程序注释 -
TFT助手 适合各种彩色图片的编码取模
2011-07-23 12:53:22TFT助手是玩TFT内液晶屏的必要工具,操作很简单,绿色版本的,不需安装。操作时只要打开图片,选择导出图片,然后选择保存为.h还是.bin(二进制)即可,.h的文件可以直接在函数中调用了。 -
51单片机TFT彩屏-262K色图片横屏显示
2019-01-24 14:09:2351单片机TFT彩屏-262K色图片横屏显示 -
DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V
2022-04-13 17:37:05DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V 前言IMG2LCD软件生成RGB565格式图片 使用取模软件对图片取模实验结果生成彩色图片生成黑白图片后记源码分享 前言 官方所给的LCD实验...DDR200T TFT - LCD 显示屏 显示图片 NucleiStudio 蜂鸟E203 详细教程 RISC-V
前言
官方所给的LCD实验《nuclei-board-labs-master\e203_hbirdv2\ddr200t\spi_lcd》只有显示字符的函数,并未提供显示图片的函数,在本人查找资料的过程中,发现了STM32的一些函数正好能用上。这里给出代码。
IMG2LCD软件生成RGB565格式图片 使用取模软件对图片取模
这个软件很简单。要记得每次换完参数要点下==“重新载入”==,再保存。
实验结果
彩图
这里值得注意的是,MCU-FLASH装不下很大的图像,所以需要引入DDR3等外部存储器。详见本文“后记”
黑白图
生成彩色图片
lcd.c加上这个函数
void Draw_Color(uint16_t S_x,uint16_t S_y,const unsigned char *pic) { uint32_t i=8,len; uint16_t temp,x,y,D_x=0,D_y=0; x=(uint16_t)((pic[2]<<8)+pic[3])-1; //获取图片的宽度 y=(uint16_t)((pic[4]<<8)+pic[5])-1; //获取图片的高度 len=2*x*y; //获取图片像素点数 while(i<(len+8)) //显示所有像素点 { temp=(uint16_t) ( (pic[i]<<8) + pic[i+1] ); //image2lcd生成的是8位数组,十六位真彩色图像生成为高8位和低8位,这儿将其转换成16位数据, if(D_x>x) {D_x=0;D_y++;} //逐行显示 LCD_Fast_DrawPoint(S_x+D_x,S_y+D_y,temp); //画点,拼凑图像,调用正点原子快速画点函数 D_x++; i=i+2; } }
生成黑白图片
lcd.c加上这个函数
void Draw_Black(uint16_t xstr,uint16_t ystr,uint16_t xend,uint16_t yend,uint8_t *pic) //画图 { uint8_t temp,t1; uint16_t x_t=xstr,y_t=ystr;//,x=xstr,y=ystr; uint8_t *pusMsk = pic;//480000 65536 for(y_t=ystr;y_t<yend;) { temp = *pusMsk; for(t1=0;t1<8;t1++) { if(temp&0x80)LCD_Fast_DrawPoint(x_t,y_t, BLACK);//画实心点 else LCD_Fast_DrawPoint(x_t,y_t,BACK_COLOR); //画空白点(使用背景色) temp<<=1; x_t++; if(x_t>=xend) { x_t=xstr; y_t++; break; } } pusMsk++; } }
后记
做这个实验后,发现NucleiStudio往板载输入图片实际上是通过ilm或flash模式,其中:
- ilm模式是断电后不保留下次开机就没了,烧录到mcu_
- flash模式是断电后保留,烧录到mcu_flash里
这里有一个问题,NucleiStudio把编译好的c程序还有图片数据,存储到mcu_flash里面,图片的大小往往会超出mcu_flash的容量,会限制读写。这时需要利用板载的RAM资源,这也是为什么需要扩展内存DDR3 SDRAM的原因。MCU_FLASH的型号是GD25Q32CSIG,存储容量 32 Mbit。
源码分享
实验所用所有函数-直接复制即可用
链接:https://pan.baidu.com/s/1CObnOgNIziWXHDPiw0F-Ig?pwd=glri 提取码:glri --来自百度网盘超级会员V3的分享
-
卡读图片 到彩屏
2014-12-02 16:34:57v2G以下 51单片机SD 卡读图片 到彩屏 -
【arduino】童芯派彩屏显示图片,图片取模后在TFT液晶显示
2020-09-07 11:46:57微信关注“DLGG创客DIY”设为“星标”,重磅干货,第一时间送达。继续玩童芯派,128x128的彩屏应该是童芯派的一大亮点,150元(零售价)的开源硬件带这么大的彩屏还是很少...微信关注 “DLGG创客DIY”
设为“星标”,重磅干货,第一时间送达。
继续玩童芯派,128x128的彩屏应该是童芯派的一大亮点,150元(零售价)的开源硬件带这么大的彩屏还是很少见的(非常有职业操守,就不对比其他板子了)。
别的不BB了,直接进入正题,先说原理。
原理:
无论是12864的液晶还是1602的液晶,还是彩色的TFT的液晶,原理上是差不多的,只不过一般的黑白液晶是用0和1来显示一个点,比如0代表不现实,1代表显示,这样一堆的点就能够组合出图案了。彩屏的原理也一样,只不过因为要表示彩色,所以不能只用“黑”和“白”来表示,需要用更多的数字区分不同的颜色
总结:将每个点的颜色信息发送到屏幕模块上,就能显示图像了
针对童芯派,童芯派上是128×128个点组成的,即128行,128列,一共128×128个点,如果是用01表示黑白,那么这些点理论上需要128×128×1b的存储空间(b是小写的,即bit,位,8b=1B),如果我们要显示16位的图像,那么就需要128x128x16b=128x128x2B的空间来存储这些图像信息(存储空间不用太关注,但现实的原理要了解,回头写程序用)
程序:
正常传统的思路是根据液晶的芯片手册来编写程序,将每个点的信息写入到模块里。这显然太麻烦了,arduino创客玩家不这么玩,另外官方也提供了底层的驱动库,我们直接拿来用。
上图是童芯派库的目录文件结构(PIO里截的图,这样比较好看),其中lcd.c就是底层驱动,cyberpi.cpp是“逻辑层”驱动,可以理解为cyberpi.cpp是在lcd.c的基础上将功能进行了进一步封装。
这次我们需要的函数在cyberpi.cpp中,函数名称及参数
void CyberPi::set_lcd_pixel(uint8_t x,uint8_t y,uint16_t color)
set_lcd_pixel函数需要3个参数,从上边讲述的原理很容易联想到x和y分别对应LCD的要显示点的位置,color就是要显示图像对应点的颜色。然后写个循环将上次用(【工具】TFT彩屏图片点阵取模工具,Img2Lcd图片取模软件,图片生成c语言头文件)工具生成的数组循环发给LCD就行了
for(int y=0;y<128;y++) { for(int x=0;x<128;x++) { picL = gImage_IMG16_XHR[128*x*2+2*y+1];//低位 在后 picH = gImage_IMG16_XHR[128*x*2+2*y];//高位 在前 data16 = picL|picH<<8; cyber.set_lcd_pixel(y,x,data16);//底层是128×第二个变量+第一个变量 } }
其中gImage_IMG16_XHR[]就是用Img2Lcd工具将图片转换成的数组,生成的数组是16位的,所以需要将数组的高位和低位组合给data16(16位数据)。因为童芯派屏的方向是“歪”的,所以x、y交换一下位置就行了。
你点的每个在看,我都当成喜欢
-
STM32F103驱动128*128的TFT彩屏,LCD驱动为ST7735s,程序使用标准库开发。含文字和图片取模软件
2021-10-26 16:22:24STM32F103驱动128*128的TFT彩屏,LCD驱动为ST7735s,程序使用标准库开发。含文字和图片取模软件 -
SPI驱动彩屏.rar
2021-09-04 09:22:19STM32F103VCT6 ,spi驱动彩屏显示文字、图形、图片,并结合按键显示的应用,详情参见笔者博客中的彩屏开发应用系列文章,笔者后续将更新sf9090 -
esp32c3_12f下载互联网jpg图片到SPIFFS并在ST7735驱动的彩屏上显示(美女时钟)
2022-02-07 15:32:432、从flash中读取并解码这个jpg图片并显示在ST7735驱动(也支持其他芯片驱动)的彩屏上 注意: 本例只为演示esp32c3图片下载保存和解码显示,并不能当一个真正的时钟来用,你需要编写更多的逻辑代码。 内置的jpg... -
单片机小礼物----flash存储照片、情话,由彩屏显示
2020-03-01 17:35:25介绍:做了一个小玩意,我往flash...器件要求:STC12C5A60S2单片机,W25Q128(flash芯片),TFT1.44彩屏,按键两个。 注意:往flash里下载东西需要自己下载的啊!(里面有配套的演示程序,和往flash里下载数据的程序) -
彩屏控制以及图片更新方法
2012-02-29 16:19:22彩屏控制以及图片更新方法.非常详细的彩屏资料 -
51单片机+tft液晶屏 程序 .7z
2020-07-31 22:41:3251单片机驱动TFT1.8寸液晶,DS1302时钟模块,18B20温度传感器。程序清晰加上相关注释。 -
320240彩屏
2017-07-09 19:10:24320240TFT彩屏液晶显示程序测试,Proteus仿真测试 -
stm32全彩屏 程序
2018-02-27 16:55:54stm32 led全彩屏驱动,可以显示图片和任意汉字。。。。 -
STM32F103RCT6+1.8寸彩屏ST7735中文输出
2020-12-23 16:36:29含中文,英文,图片输出