找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4998|回复: 7
收起左侧

12864液晶的游标是什么

[复制链接]
ID:117728 发表于 2016-5-22 22:59 | 显示全部楼层 |阅读模式
新手,刚学习12864,想做一个可以设置时间的时钟,可是不理解12864的游标是什么与光标又有什么区别,求大神指教
回复

使用道具 举报

ID:22218 发表于 2016-5-24 06:42 | 显示全部楼层
就是一个游动的标志,也意识下划线或将字符反显示,指示当前的字符位置。比如一行10个字符游标在第8个,那新键入的字符取代第8个字符(如果软件支持)。

评分

参与人数 1黑币 +8 收起 理由
18877546144 + 8 很给力!

查看全部评分

回复

使用道具 举报

ID:22218 发表于 2016-5-24 06:43 | 显示全部楼层
没差别
回复

使用道具 举报

ID:123133 发表于 2016-5-25 16:24 | 显示全部楼层
差不多,自己试验一下就明白了很简单的事
回复

使用道具 举报

ID:117728 发表于 2016-5-25 19:40 | 显示全部楼层
chinomango 发表于 2016-5-24 06:42
就是一个游动的标志,也意识下划线或将字符反显示,指示当前的字符位置。比如一行10个字符游标在第8个,那 ...

谢谢
回复

使用道具 举报

ID:87229 发表于 2016-5-25 19:53 | 显示全部楼层
lcd起始位置
回复

使用道具 举报

ID:123203 发表于 2016-5-25 20:20 | 显示全部楼层
#include <reg51.h> #include <intrins.h>   sbit RS = P3^0; sbit RW = P3^3; sbit E = P3^4; sbit PSB = P3^1;          //串并口选择 sbit RES = P3^5;   #define FIRST_ADDR 0       //定义字符/汉字显示起始位置   //延时子程序 void delay(unsigned int t) {  unsigned int i,j;    for(i=0;i<t;i++)       for(j=0;j<10;j++)          ; }   //测忙 void chk_busy() {  RS=0;    RW=1;    E=1;    while((P1&0x80)==0x80);    E=0; }   //读数据 unsigned char lcdrd() {  unsigned char i;    P3=0xFB;    _nop_();    E=1;    delay(5);    i=P1;    _nop_();    E=0;    return i; }   //写数据 void lcdwd(unsigned char dispdata) {  chk_busy();    _nop_();    RS=1;    RW=0;    E=1;    P1=dispdata;    delay(5);    _nop_();    E=0;    _nop_();    P1=0xff; }   //写指令代码 void lcdwc(unsigned char cmdcode) {  chk_busy();    _nop_();    RS=0;    RW=0;    E=1;    P1=cmdcode;    delay(5);    _nop_();    E=0;    _nop_();    P1=0xff; }   //初始化 void lcdreset() {  delay(2000);    lcdwc(0x30);       //选择基本指令集    lcdwc(0x30);       //选择8bit数据流    delay(5);    lcdwc(0x0c);       //开显示(无游标、不反白)    delay(5);    lcdwc(0x01);       //清除显示,并且设定地址指针为00H    delay(5);    lcdwc(0x06);       //指定在资料的读取及写入时,设定游标的移动方向及指定显示的移位 }   void hzkdis(unsigned char code *s) {  while(*s>0)    {  lcdwd(*s);       s++;       delay(500);    } }   void hzklib() {  lcdwc(0x80+FIRST_ADDR);    hzkdis("少小离家老大回,");    lcdwc(0x90+FIRST_ADDR);    hzkdis("乡音无改鬓毛衰。");    lcdwc(0x88+FIRST_ADDR);    hzkdis("儿童相见不相识,");    lcdwc(0x98+FIRST_ADDR);    hzkdis("笑问客从何处来。"); }   //整屏显示 //当ii=0时显示上面128×32 //当ii=8时显示下面128×32 void lcdfill(unsigned char disdata) {  unsigned char x,y,ii;    for(ii=0;ii<9;ii+=8)       for(y=0;y<0x20;y++)          for(x=0;x<8;x++)          {  lcdwc(0x36);             lcdwc(y+0x80);        //行地址             lcdwc(x+0x80+ii);     //列地址             lcdwc(0x30);             lcdwd(disdata);             lcdwd(disdata);          } }   main() {  RES=0;    _nop_();    RES=1;    while(1)    {  PSB=1;       RW=0;       lcdreset();       //初始化LCD屏       lcdwc(0x01);       delay(1000);       lcdfill(0xff);       delay(6000);       lcdfill(0);       lcdwc(0x01);       delay(1000);       hzklib();       delay(4000);    } }
回复

使用道具 举报

ID:123289 发表于 2016-5-26 12:14 | 显示全部楼层
一楼正解
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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