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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

第12章 指針的基礎與1602液晶的初步認識

查看數: 18857 | 評論數: 11 | 收藏 8
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2013-9-28 15:03

正文摘要:

圖12-3 液晶下拉電阻    如果不加這個下拉電阻,剛開始講點亮LED小燈的時候,我們就得寫一句:LCD1602_E=0,可能很多初學者容易弄不明白,所以我們才加了這樣一個電路。但是在實際開發過程中,就不必 ...

回復

ID:339500 發表于 2018-8-2 02:23
為什么不直接出個新版講解單片機視頻呢,主頁推薦的郭天祥的視頻第一模糊,第二視頻播放速度和聲音速度延遲8S左右,雖然我可以通過下載視頻通過軟件吧延遲擬補回來但是真的太麻煩了,而且郭視頻也需要新一代更新更新呀
ID:93625 發表于 2018-7-12 13:21
學習內容越來越難了,努力中
ID:281447 發表于 2018-3-20 16:23
液晶屏“讀數據”操作,應該是R/W = H吧?
ID:262591 發表于 2018-1-16 11:59
最近在學指針,非常棒的文章。因為讀的比較仔細,所以看到流水燈例程時發現個小錯誤,應該是P1=~buf
ID:220927 發表于 2018-1-4 12:09
指針的使用最為靈活也最麻煩,這降解真心好,理解好的畫用的非常好
ID:155764 發表于 2017-11-1 10:36
絕世好貼!
ID:95509 發表于 2017-10-12 16:32
耐心學習!謝謝樓主
ID:225339 發表于 2017-8-27 14:30
仔細看了這篇教程 我也在開發板上試了 是存在問題的  就是 字符的 重復顯示 我改了一下  現在 編譯通過且成功 特地分享
/*問題 1602重復顯示*/
#include<reg52.h>
#define LCD1602_DB  P0                //1602 IO口
sbit LCD1602_RD=P1^2;        // 數據命令選擇端  H DATA  L CMD
sbit LCD1602_RW=P1^3;   //  讀寫端    H  READ  L WRITE                                                                                                                     
sbit LCD1602_E=P1^4;        //   使能
void readbusy();      //判忙 1忙 0空
void write_data(unsigned char dat);
void write_cmd(unsigned char cmd);
void LCD1602_INIT();
unsigned char code word1[]={"cjb study 1602"};
void LCDShowstr(unsigned char addr_start,unsigned char *p);   //x  y表示坐標 p表示指針變量 即數組word的首地址
void main()
{

        LCD1602_INIT();
        LCDShowstr(0x80,word1);
        while(1){}
}
void LCD1602_INIT()                  //1602INIT
{
        write_cmd(0x38);           //顯示模式設置  1602 固定命令
        write_cmd(0x0c);                //開顯示器 關閉光標   0000 1DCB   D=1開顯示 C=1顯示光標 B=1 光標閃爍
        write_cmd(0x06);                 //文字不動  地址自動加1   0000 01NS N=1 寫入一個字符后 地址自動加1 S=0 寫入一個字符 整屏不移動
        write_cmd(0x01);                //清屏
}
/*1602每次的寫入都要確保其處于不忙的狀態  狀態字的最高位D7代表其是否忙碌1 禁止寫入 0 應許寫入*/
void readbusy()
{
        unsigned char sta;
        LCD1602_DB=0XFF;    //P0置位,判斷D7是不是1602拉低的
        LCD1602_RD=0;
        LCD1602_RW=1;    //讀D7狀態           RD  RW 不能寫錯
        do{
        LCD1602_E=1;      //使能
        sta=LCD1602_DB;
        }while(sta&0x80);                //等到sta 首位為0 時 退出循環  此時1602處于空閑狀態
        LCD1602_E=0;                  //讀完了關閉使能  液晶輸出數據對總線的干擾
}
void write_data(unsigned char dat)                 //寫數據
{
    readbusy();
        LCD1602_RD=1;                           //參考時序圖
        LCD1602_RW=0;
        LCD1602_DB=dat;
        LCD1602_E=1;
        LCD1602_E=0;
}
void write_cmd(unsigned char cmd)        //寫命令
{
    readbusy();
        LCD1602_RD=0;                                   //參考時序圖
        LCD1602_RW=0;
    LCD1602_DB=cmd;
        LCD1602_E=1;
        LCD1602_E=0;
}
void LCDShowstr(unsigned char addr_start,unsigned char *p)
{
        write_cmd(addr_start);
        while(*p!='\0')
        {
                write_data(*p++);
        }
}
至于問題出在哪里 我認為 是坐標哪里有問題  希望大神求解
ID:74245 發表于 2015-11-19 08:11
真的寫得很好,很適合初學者。
ID:74433 發表于 2015-3-24 21:18
講的很詳細透徹
ID:69833 發表于 2014-12-16 18:58
挺好挺好,學會了不少東西

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一级毛片精品完整视频版 | 羞羞视频在线网站观看 | www.久| 国产日韩一区二区三区 | 亚洲手机在线 | 欧美亚洲高清 | 男人的天堂视频网站 | 日本在线一区二区三区 | 国产激情毛片 | 蜜桃av一区二区三区 | 国户精品久久久久久久久久久不卡 | 91精品一区二区三区久久久久 | 操人网 | 不卡的av在线 | 成人在线免费观看 | 久久成人免费 | 色噜噜色综合 | 精品视频一区二区三区在线观看 | 日韩精品在线一区 | 男女网站免费 | 狠狠干天天干 | 日本不卡一区 | 国产欧美一区二区三区在线看 | 亚洲一区亚洲二区 | 一区二区三区国产精品 | 婷婷久久久久 | 日韩视频精品在线 | 亚洲欧美综合精品久久成人 | 少妇黄色| 亚洲v区| 精品一区av | 久久精品亚洲一区二区三区浴池 | 国产高清精品在线 | 五月免费视频 | 久久久亚洲 | 日韩精品免费在线观看 | 狠狠干影院 | 拍真实国产伦偷精品 | 三级在线视频 | 精品国产一区二区在线 | 久久亚洲综合 |