数码之家

 找回密码
 立即注册
搜索
查看: 1043|回复: 5

[STM] STM32F401-ST7567-12864LCD模拟翻页

[复制链接]
发表于 2023-1-14 13:43:09 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
2019年,某鱼1元一片的时候买了100多片STM32F401CCU6,打了一些PCB,一直没怎么用。去年在某坛又买了一些(是一些)疑似ST7567的LCD13264屏,也没想到用到什么地方去。大家是否也有这样的经历——把屏驱动点亮后就一扔等着吃灰。我就这样,点亮后玩过了,扔一角吃灰了。

没事买那么多STM32F401CCU6?有图为证:
微信图片_20230114125747.png
微信图片_20230114125759.png

打样的PCB:
微信图片_20230114130714.png

写了一些代码玩过OLED屏:
微信图片_20230114130720.png

后来买的ST7567LCD:
微信图片_20230114130706.png
微信图片_20230114130654.png
image.png

前阵子羊了,在家没事,边休息边写,与大家分享一下吧,模拟翻页,我的理解就是滚动呗。当然,画线画圆呀也可以;像OLED那样定义XY坐标。
FormatFactoryPart1.gif
FormatFactoryPart2.gif
FormatFactoryPart3.gif

重点来了:
  1. u8 LCD_GRAM[264][9];     /*将显示缓存区设置位显示屏的2倍,是为了使字符实现滚动效果*/
  2. //更新显存到LCD                 
  3. void LCD_Refresh_Gram(void)
  4. {
  5.         u16 i,n;                    
  6.         for(i=0;i<9;i++)  
  7.         {  
  8.                 LCD_WrCmd(0xb0+i);    //设置页地址(0~8)
  9.                 LCD_WrCmd(0x10);      //设置显示位置—列高地址
  10.                 LCD_WrCmd(0x00);      //设置显示位置—列低地址  
  11.                 /*将显示数据写入缓存区的中间*/
  12.                 for(n=0;n<132;n++)LCD_WrData(LCD_GRAM[n][i]);
  13.         }   
  14. }
复制代码
  1. //画点
  2. //x:0~127
  3. //y:0~63
  4. //t:1 填充 0,清空                                   
  5. void LCD_DrawPoint(u16 x,u8 y,u8 t)
  6. {
  7.         u8 pos,bx,temp=0;
  8.         if(x>132||y>64)return;//超出范围了.
  9.         pos=y/8;
  10.         bx=y%8;
  11.         temp=1<<(bx);
  12.         if(t)LCD_GRAM[x][pos]|=temp;
  13.         else LCD_GRAM[x][pos]&=~temp;            
  14. }
复制代码

有了以上代码,想怎样驱动都可以了吧!

打赏

参与人数 1家元 +120 收起 理由
家睦 + 120

查看全部打赏

发表于 2023-1-16 21:59:05 来自手机浏览器 | 显示全部楼层
厉害厉害。401已经涨到了8块以上了。去年批发的历史成交价最高12.6元。
回复 支持 反对

使用道具 举报

发表于 2023-2-11 18:27:59 来自手机浏览器 | 显示全部楼层
我是2元的时候撸了50个回来的…
回复 支持 反对

使用道具 举报

发表于 2023-2-11 20:05:18 | 显示全部楼层
这芯片撸得可以哟,放着升值了
回复 支持 反对

使用道具 举报

发表于 2023-2-11 21:08:58 | 显示全部楼层
你的新字是滚上去了,但是旧字没有滚走啊,还要继续改进
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-28 04:33 , Processed in 0.171601 second(s), 16 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表