久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2860|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

求助,單片機+LCD1602輸入方向的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:685842 發(fā)表于 2020-3-12 16:44 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
30黑幣
程序第一個星號注釋的地方   發(fā)送0x06,往右輸入   發(fā)送0x04,為什么還是往右輸入,不應(yīng)該往左嗎輸入嗎

程序第二個星號注釋的地方不可以用WriteCmd(0x10);發(fā)送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是否處于忙狀態(tài)
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;
}

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

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

void LCD_Init()
{
        WriteCmd(0x38);  //功能設(shè)置指令       111000
        Delay_ms(3);
        WriteCmd(0x0c);         //顯示開關(guān)控制指令   1100
        Delay_ms(3);
/*************************/
//        WriteCmd(0x06);         //輸入模式設(shè)置指令   110
        WriteCmd(0x04);         //輸入模式設(shè)置指令   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;
}

最佳答案

查看完整內(nèi)容

進入模式設(shè)定命令 該命令設(shè)置光標移動方向并顯示開/關(guān)。 有4個可能的功能設(shè)置命令; 04、05、06和07。此命令通過將地址計數(shù)器設(shè)置為遞增或遞減來更改光標的移動方向。 此命令非常重要。 如果您不理解它,您可能在液晶顯示屏上看不到任何東西或您真正想要看到的東西。 這里創(chuàng)建了4個GIF動畫,以演示功能設(shè)置命令的全部含義。 進入模式設(shè)定指令04h 進入模式設(shè)定指令04h 遞減地址計數(shù)器 顯示移位:關(guān) 字串:D ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:155507 發(fā)表于 2020-3-12 16:44 | 只看該作者

進入模式設(shè)定命令

該命令設(shè)置光標移動方向并顯示開/關(guān)。
有4個可能的功能設(shè)置命令; 04、05、06和07。此命令通過將地址計數(shù)器設(shè)置為遞增或遞減來更改光標的移動方向。
此命令非常重要。 如果您不理解它,您可能在液晶顯示屏上看不到任何東西或您真正想要看到的東西。
這里創(chuàng)建了4個GIF動畫,以演示功能設(shè)置命令的全部含義。


進入模式設(shè)定指令04h


進入模式設(shè)定指令04h
遞減地址計數(shù)器
顯示移位:關(guān)
字串:Dereli

進入模式設(shè)定命令05h


進入模式設(shè)定命令05h
顯示移位:開
遞減地址計數(shù)器
字串:Hakan

進入模式設(shè)定指令06h


進入模式設(shè)定指令06h
顯示移位:關(guān)
增量地址計數(shù)器
字串:Dereli


進入模式設(shè)定指令07h


進入模式設(shè)定指令07h
顯示移位:開
增量地址計數(shù)器
字串:Hakan




回復(fù)

使用道具 舉報

板凳
ID:213173 發(fā)表于 2020-3-12 17:24 | 只看該作者

回復(fù)

使用道具 舉報

地板
ID:685842 發(fā)表于 2020-3-13 10:19 | 只看該作者
angmall 發(fā)表于 2020-3-12 19:10
進入模式設(shè)定命令

該命令設(shè)置光標移動方向并顯示開/關(guān)。

我測試了一下  發(fā)現(xiàn)是清屏指令的問題   LCD初始化函數(shù)中的ClearShow();放在輸入模式設(shè)置命令之前就可以執(zhí)行向左輸入   放在輸入模式設(shè)置命令之后就向右輸入    請問一下大佬這個是什么原因            下面是可以執(zhí)行向左執(zhí)行的初始化函數(shù)
void LCD_Init()
{
        WriteCmd(0x38);  //功能設(shè)置指令       111000
        Delay_ms(3);
        WriteCmd(0x0c);         //顯示開關(guān)控制指令   1100
        Delay_ms(3);
        ClearShow();
/*************************/
//        WriteCmd(0x06);         //輸入模式設(shè)置指令   110
        WriteCmd(0x04);         //輸入模式設(shè)置指令   100
/*************************/
        Delay_ms(3);
//        ClearShow();
}
回復(fù)

使用道具 舉報

5#
ID:451718 發(fā)表于 2020-3-13 12:52 | 只看該作者
哈哈,51黑有你更精彩
回復(fù)

使用道具 舉報

6#
ID:685842 發(fā)表于 2020-3-13 16:46 | 只看該作者

我測試了一下  發(fā)現(xiàn)是清屏指令的問題   LCD初始化函數(shù)中的ClearShow();放在輸入模式設(shè)置命令之前就可以執(zhí)行向左輸入   放在輸入模式設(shè)置命令之后就向右輸入    請問一下大佬這個是什么原因            下面是可以執(zhí)行向左執(zhí)行的初始化函數(shù)
void LCD_Init()
{
        WriteCmd(0x38);  //功能設(shè)置指令       111000
        Delay_ms(3);
        WriteCmd(0x0c);         //顯示開關(guān)控制指令   1100
        Delay_ms(3);
        ClearShow();
/*************************/
//        WriteCmd(0x06);         //輸入模式設(shè)置指令   110
        WriteCmd(0x04);         //輸入模式設(shè)置指令   100
/*************************/
        Delay_ms(3);
//        ClearShow();
}
回復(fù)

使用道具 舉報

7#
ID:685842 發(fā)表于 2020-3-13 16:48 | 只看該作者
robinsonlin 發(fā)表于 2020-3-13 12:52
哈哈,51黑有你更精彩

哈哈     感覺很榮幸  
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品毛片一区二区三区 | 91欧美激情一区二区三区成人 | 亚洲综合视频 | 日韩欧美三区 | 免费一区| 国产精品精品久久久 | 国产精品高潮呻吟久久 | 欧美高清视频一区 | av网站免费| 性高湖久久久久久久久 | 国色天香综合网 | 成人免费在线 | 艹逼网 | 91网在线播放 | 日本aⅴ中文字幕 | 日韩欧美综合在线视频 | 久久国产欧美一区二区三区精品 | 精国产品一区二区三区 | 午夜欧美| 日韩在线小视频 | av在线播放网址 | www.99热| 国产日产久久高清欧美一区 | 午夜久久久 | 久久一区视频 | 日韩免费一区二区 | 伊人狼人影院 | a级片在线观看 | 国产中文字幕在线 | 欧美在线一区二区三区 | 中文字幕91av | 国内久久精品 | 久久久久久国模大尺度人体 | 国产一区二区三区免费 | 日韩精品一区二区三区中文在线 | 九九久久精品视频 | 久久精品99久久 | 中文字幕亚洲一区 | 一区二区三区在线免费看 | 午夜精品一区二区三区三上悠亚 | 亚洲成人av|