13.2 1602整屏移动

该博客详细介绍了如何利用51单片机和1602液晶显示屏实现文字的整屏移动。通过配置定时器T0,设置液晶显示RAM地址和光标位置,将字符串存入缓冲区并逐步更新显示内容,实现了500ms移动一次屏幕的效果。代码中包括了初始化液晶、配置定时器、等待液晶准备好以及写入命令和数据的函数。
摘要由CSDN通过智能技术生成
我们前边学第 7 章点阵 LED 的时候,可以实现上下移动,左右移动等。而对于 1602 液晶来说,也可以进行屏幕移动,实现我们想要的一些效果,那我们来用一个例程实现字符串在 1602 液晶上的左移。每个人都不要只瞪着眼看,一定要认真抄下来,甚至抄几遍,边抄边理解,要想真正学好,一定要根据我的方法来做。
   
   
   
  1. #include <reg52.h>
  2. #define LCD1602_DB P0
  3. sbit LCD1602_RS = P1^0;
  4. sbit LCD1602_RW = P1^1;
  5. sbit LCD1602_E = P1^5;
  6. bit flag500ms = 0; //500ms 定时标志
  7. unsigned char T0RH = 0; //T0 重载值的高字节
  8. unsigned char T0RL = 0; //T0 重载值的低字节
  9. //待显示的第一行字符串
  10. unsigned char code str1[] = "Kingst Studio";
  11. //待显示的第二行字符串,需保持与第一行字符串等长,较短的行可用空格补齐
  12. unsigned char code str2[] = "Let's move...";
  13. void ConfigTimer0(unsigned int ms);
  14. void InitLcd1602();
  15. void LcdShowStr(unsigned char x, unsigned char y,
  16. unsigned char *str, unsigned char len);
  17. void main(){
  18. unsigned char i;
  19. unsigned char index = 0; //移动索引
  20. unsigned char pdata bufMove1[16+sizeof(str1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值