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

標(biāo)題: LCD2004液晶測(cè)試程序有問題,液晶不顯示 [打印本頁]

作者: wjn680086    時(shí)間: 2013-10-11 13:29
標(biāo)題: LCD2004液晶測(cè)試程序有問題,液晶不顯示
/************************************************************************************************/
/***                                       LCD2004液晶顯示                                                ***/
/***                                       2013-10-9                                                      ***/
/************************************************************************************************/
#include<aduc812.h>
#define uint unsigned int
#define uchar unsigned char
#define DATA P0                                                                    //定義LCM數(shù)據(jù)總線至P0
sbit RS=P2^5;                                                                        //寄存器選擇位(0指令1數(shù)據(jù))
sbit RW=P2^6;                                                                        //設(shè)置讀寫位(0寫入1讀取)
sbit E=P2^7;                                                                        //使能為(0禁止1允許)
sbit BF=P1^7;

//uchar line1[]="LCM TEST PROGRAM";                                //第一行顯示字符
//uchar line2[]="Everything is OK!";                                //第二行顯示字符
//uchar line3[]="aaaaaaaaaaaaaaa";                                    //第三行顯示字符
//uchar line4[]="bbbbbbbbbbbbbbb";                                    //第四行顯示字符

void Init_LCD(void);                                                        //聲明液晶初始化設(shè)置函數(shù)
void write_cmd(uchar);                                                        //聲明寫指令函數(shù)
void write_data(uchar);                                                        //聲明寫數(shù)據(jù)函數(shù)
void check_BF(void);                                                        //聲明檢測(cè)忙信號(hào)函數(shù)
void delay_1ms(uint);                                                        //聲明延時(shí)函數(shù)       
void set_xy(uchar x,uchar y);                                        //聲明顯示位置
void display(uchar x,uchar y,uchar *s);                        //聲明顯示函數(shù)

/*********************1ms延時(shí)函數(shù)****************************************************************/
void delay_1ms(uint x)
{
        uint i,j;
        for(i=1;i<x;i++)
        for(j=1;j<120;j++);
}
/*********************液晶初始化函數(shù)*************************************************************/
void Init_LCD(void)
{
        write_cmd(0x38);                                                         //設(shè)置8位格式,2行,5x7
        write_cmd(0x01);                                                         //設(shè)定輸入方式,增量不移位
        write_cmd(0x06);                                                         //整體顯示,關(guān)光標(biāo),不閃爍
        write_cmd(0x0c);                                                         //清除屏幕顯示                       
}
/**********************寫指令函數(shù)******************************************************************/
void write_cmd(uchar com)
{
        check_BF();
        RS=0;
        RW=0;
        DATA=com;
        delay_1ms(2);
        E=1;
        delay_1ms(2);
        E=0;
}
/**********************寫數(shù)據(jù)函數(shù)*******************************************************************/
void write_data(uchar chardata)
{
        check_BF();
        RS=1;
        RW=0;
        DATA=chardata;
        delay_1ms(2);
        E=1;
        delay_1ms(2);
        E=0;
}
/**********************檢查忙碌函數(shù)******************************************************************/
void check_BF(void)
{
        E=0;
        do
        {
                BF=1;
                RS=0;
                RW=1;
                E=1;
        }while(BF==1);       
}
/**********************定義顯示位置*******************************************************************/
void set_xy(uchar x,uchar y)
{
        uchar add;
        if(x==0)
                add=0x80+y;
        else
                if(x==1)
                        add=0xc0+y;
        else
                if(x==2)
                        add=0x94+y;
        else
                if(x==3)
                        add=0xd4+y;
        write_cmd(add);

}
/**********************顯示函數(shù)***********************************************************************/
void display(uchar x,uchar y,uchar *s)
{
        set_xy(x,y);
        while(*s)
        {
                DATA=*s;
                write_data(*s);
                s++;
        }
       
}
/**********************主函數(shù)*************************************************************************/
void main()
{
        Init_LCD();
        while(1)
        {
                display(0,0,"line1");
                display(1,0,"line2");
                display(2,0,"line3");
                display(3,0,"line4");
                         
        }
}



作者: mysy    時(shí)間: 2016-3-15 23:54
本帖最后由 mysy 于 2016-3-16 00:10 編輯

看你的硬件接口是否一樣,他的打印函數(shù)很簡單。。。 不一定對(duì)


作者: mysy    時(shí)間: 2016-3-16 00:50
check_BF(); 有問題, 刪除或修改

作者: bg4rfb    時(shí)間: 2018-9-24 17:05
刪除了忙檢測(cè)還是不顯示怎么辦?
作者: gwq    時(shí)間: 2019-5-7 18:15
 初始化貌似有點(diǎn)小問題   我小白,  說錯(cuò)了別見怪




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 韩日精品一区 | 欧美天天视频 | 日本精品视频在线观看 | av手机免费在线观看 | 久久精品国产一区二区电影 | 亚洲男人的天堂网站 | 欧美国产精品一区二区三区 | 亚洲在线看 | 中文字幕视频在线观看 | 中文字幕日韩专区 | 成人av播放| 日本不卡一二三 | 成人免费视频一区二区 | 香蕉91 | 日韩一区二 | 日韩在线看片 | 欧美视频二区 | 成年人国产在线观看 | 在线一区 | 久久久久久亚洲精品不卡 | www.4虎影院 国产999精品久久久影片官网 | 国产精品91久久久久久 | 一区二区免费在线 | 国产一区在线免费观看视频 | 久久成人精品视频 | 国产成人午夜电影网 | 91视频导航 | 日韩在线欧美 | 亚洲综合无码一区二区 | 青青草网| 黄色成人在线 | 欧美日韩精品一区 | 99欧美精品 | 国产精品久久亚洲7777 | 欧美福利| 亚洲成色777777在线观看影院 | 久久久久亚洲精品中文字幕 | 久久综合久 | 午夜影院操 | 久久久网 | 国产欧美日韩一区二区三区在线 |