网站首页 > 编程文章 正文
12864液晶屏显示图片的要点在于:1.取模 2.利用扩展指令设置lcd液晶 3.清楚lcd液晶地址的概念
1、取模:取模软件用的是“字模221”下图是他的参数设置
这里对参数设置先解释一下,所谓横向取模就是,一张图片从图片最左上角的8位开始取模,从左向右,每次取8位二进制数据转化为16进制保存,第一排取完之后,接着到第二排最左边8位开始取模,以此类推。为什么要这样取模呢?因为lcd12864液晶屏的横纵坐标就是这个取模顺序,这点在之后还会详细提到。2、lcd液晶的设置:液晶显示图片必须用扩充指令集,初始化和显示字符的初始化不一样。
我用的初始化函数如下:
void init_picture() //显示图片的初始化函数
{
//lcd_wcmd(0x34);//写指令函数,扩充指令集,绘图关
//lcd_wcmd(0x36);//8位数据传输,扩展指令操作,绘图开
lcd_wcmd(0x3E);//8位数据传输,扩展指令操作,绘图开
lcd_wcmd(0x01);//清屏
Light = 0;//打开背光
}
3、将取出的字模写进相应地址:首先应该知道地址究竟是怎样的,结合下图讲清楚。lcd12864液晶分为上半屏和下半屏。当你想要点亮某个地方时,必须先写这个地方的垂直地址紧接着写入它的水平地址,水平地址液晶可以自动加1,而垂直地址不会。图中水平坐标从0x80+00到0x80+0F,一共16个,其中0x80+00到0x80+07是上半屏的坐标,其中0x80+08到0x80+0F是下半屏的坐标。水平坐标每个两字节,先写入的数据填充在高字节。垂直坐标只有0x80+00到0x80+1F,图中上半截0x80+00到0x80+1F是上半屏的垂直地址,另外的那部分一样的是下半屏垂直地址。
每个垂直地址只确定一排,所以水平和垂直地址不能确定某个点的位置,只能确定某个两字节的位置,通过写进2字节数据确定点亮某个点或几个点。
比如我们写入 [垂直地址]: lcd_wcmd(0x80+1); [水平地址]: lcd_wcmd(0x80); 这就是说我们将在图中水平坐标00,垂直坐标01的位置(红圈处)输入数据。
知道地址的知识之后就明白为什么要横向取模了,接下来只要将取模的数据一个个按取模生成的顺序写进12864液晶就行了。下面是我用的代码,其中uchar=unsigned char,uint=unsigned int。
void show_Pic(uchar* address)//显示图片函数
{ //address是是指向数组的指针,用法:show_Pic(XY)当中XY为数组名
uchar i,j;
for(i=0;i<32;i++) //上半屏的32排依次先写满
{
lcd_wcmd(0x80+i); //先送垂直地址
lcd_wcmd(0x80); //再送水平地址,水平地址可自加1
for(j=0;j<16;j++) //每排128个点,所以一共要16个两位16进制数(也就是8位二进制数)才能全部控制
{
lcd_wdat(*address);
address++;
}
}
for(i=0;i<32;i++) //下半屏的32排操作原理和上半屏一样
{
lcd_wcmd(0x80+i);
lcd_wcmd(0x88);
for(j=0;j<16;j++)
{
lcd_wdat(*address);
address++;
}
文章来自杭州精显科技http://www.hzjingxian.com/zixun/xydt/741.html,转载请注明出处
猜你喜欢
- 2024-10-24 全瓷牙贴面为什么要取牙模?(全瓷牙 贴面)
- 2024-10-24 《楚简老子通读》高清图版文字横排电子书简繁体区别
- 2024-10-24 正点原子开拓者FPGA开发板资料连载第二十章 VGA字符显示实验
- 2024-10-24 Arduino入门 第五节 摇摇棒(arduinops2摇杆)
- 2024-10-24 用STM32做了个电子秤,成本仅两位数,精度高!解析一下原理
- 2024-10-24 STM32+OLED屏显示字符串、汉字、图片(二)
- 2024-10-24 OLED(0.96寸)如何取模(oled模块使用手册)
- 2024-10-24 「专升本信息技术」计算机基础知识单选题集 (12)
- 2024-10-24 基于前人经验,为MM32L073单键胸牌DS3231时钟配上3D打印外壳
- 2024-10-24 复合基台水平取模流程--口扫(复合基台的应用)
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)