找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1705|回复: 6
打印 上一主题 下一主题
收起左侧

求助,单片机+LCD1602输入方向的问题

[复制链接]
跳转到指定楼层
楼主
30黑币
程序第一个星号注释的地方   发送0x06,往右输入   发送0x04,为什么还是往右输入,不应该往左吗输入吗

程序第二个星号注释的地方不可以用WriteCmd(0x10);发送0x10使光标向左移吗    求解答   先感谢大佬

#include<reg52.h>
#include<intrins.h>

#define  uint  unsigned int
#define  uchar  unsigned char
sbit  RW=P2^5;
sbit  RS=P2^6;
sbit  EN=P2^7;

////     延时us   起始延时7.6us   n增加1,延时增加2.2us
//void Delay_us(unsigned char n)
//{
//    while(--n);
//}

//    延时起始为1ms   T加1  增加0.98ms
void   Delay_ms(unsigned int  T)
{
        unsigned  int  x;
        for(;T>0;T--)
        {
                for(x=112;x>0;x--);        
        }
}
//判断LCD是否处于忙状态
bit  Text_Busy()
{
        P0=0xff;
        RS=0;
        RW=1;
        EN=0;
        _nop_();
        EN=1;
        return (P0&0x80);
}

void  WriteCmd(uchar Cmd)
{
        while(Text_Busy());
        RS=0;
        RW=0;
        EN=1;
        P0=Cmd;
        _nop_();
        EN=0;

}

void  WriteData(uchar Data)
{
        while(Text_Busy());
        RS=1;
        RW=0;
        EN=1;
        P0=Data;
        _nop_();
        EN=0;
}

//清屏函数
void  ClearShow()
{
        WriteCmd(0x01);
        Delay_ms(5);
}

void WriteAddress(uchar  address)
{
        WriteCmd(address|0x80);
}

void LCD_Init()
{
        WriteCmd(0x38);  //功能设置指令       111000
        Delay_ms(3);
        WriteCmd(0x0c);         //显示开关控制指令   1100
        Delay_ms(3);
/*************************/
//        WriteCmd(0x06);         //输入模式设置指令   110
        WriteCmd(0x04);         //输入模式设置指令   100
/*************************/
        Delay_ms(3);
        ClearShow();
}

int main()
{
        uchar i;
        uchar Date;
        
        LCD_Init();
        while(1)
        {
                WriteAddress(0x09);
                Date=56;
                for(i=0;i<8;i++)
                {
                        WriteData(Date);
                        Date--;
/**************************/
//                        WriteCmd(0x10);
/**************************/
                }
        }
        
        return 0;
}

最佳答案

查看完整内容

进入模式设定命令 该命令设置光标移动方向并显示开/关。 有4个可能的功能设置命令; 04、05、06和07。此命令通过将地址计数器设置为递增或递减来更改光标的移动方向。 此命令非常重要。 如果您不理解它,您可能在液晶显示屏上看不到任何东西或您真正想要看到的东西。 这里创建了4个GIF动画,以演示功能设置命令的全部含义。 进入模式设定指令04h 进入模式设定指令04h 递减地址计数器 显示移位:关 字串:D ...
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155507 发表于 2020-3-12 16:44 | 只看该作者

进入模式设定命令

该命令设置光标移动方向并显示开/关。
有4个可能的功能设置命令; 04、05、06和07。此命令通过将地址计数器设置为递增或递减来更改光标的移动方向。
此命令非常重要。 如果您不理解它,您可能在液晶显示屏上看不到任何东西或您真正想要看到的东西。
这里创建了4个GIF动画,以演示功能设置命令的全部含义。


进入模式设定指令04h


进入模式设定指令04h
递减地址计数器
显示移位:关
字串:Dereli

进入模式设定命令05h


进入模式设定命令05h
显示移位:开
递减地址计数器
字串:Hakan

进入模式设定指令06h


进入模式设定指令06h
显示移位:关
增量地址计数器
字串:Dereli


进入模式设定指令07h


进入模式设定指令07h
显示移位:开
增量地址计数器
字串:Hakan




回复

使用道具 举报

板凳
ID:213173 发表于 2020-3-12 17:24 | 只看该作者

回复

使用道具 举报

地板
ID:685842 发表于 2020-3-13 10:19 | 只看该作者
angmall 发表于 2020-3-12 19:10
进入模式设定命令

该命令设置光标移动方向并显示开/关。

我测试了一下  发现是清屏指令的问题   LCD初始化函数中的ClearShow();放在输入模式设置命令之前就可以执行向左输入   放在输入模式设置命令之后就向右输入    请问一下大佬这个是什么原因            下面是可以执行向左执行的初始化函数
void LCD_Init()
{
        WriteCmd(0x38);  //功能设置指令       111000
        Delay_ms(3);
        WriteCmd(0x0c);         //显示开关控制指令   1100
        Delay_ms(3);
        ClearShow();
/*************************/
//        WriteCmd(0x06);         //输入模式设置指令   110
        WriteCmd(0x04);         //输入模式设置指令   100
/*************************/
        Delay_ms(3);
//        ClearShow();
}
回复

使用道具 举报

5#
ID:451718 发表于 2020-3-13 12:52 | 只看该作者
哈哈,51黑有你更精彩
回复

使用道具 举报

6#
ID:685842 发表于 2020-3-13 16:46 | 只看该作者

我测试了一下  发现是清屏指令的问题   LCD初始化函数中的ClearShow();放在输入模式设置命令之前就可以执行向左输入   放在输入模式设置命令之后就向右输入    请问一下大佬这个是什么原因            下面是可以执行向左执行的初始化函数
void LCD_Init()
{
        WriteCmd(0x38);  //功能设置指令       111000
        Delay_ms(3);
        WriteCmd(0x0c);         //显示开关控制指令   1100
        Delay_ms(3);
        ClearShow();
/*************************/
//        WriteCmd(0x06);         //输入模式设置指令   110
        WriteCmd(0x04);         //输入模式设置指令   100
/*************************/
        Delay_ms(3);
//        ClearShow();
}
回复

使用道具 举报

7#
ID:685842 发表于 2020-3-13 16:48 | 只看该作者
robinsonlin 发表于 2020-3-13 12:52
哈哈,51黑有你更精彩

哈哈     感觉很荣幸  
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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