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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2545|回復: 1
打印 上一主題 下一主題
收起左側

程序仿真正確,放到12864液晶顯示器無顯示,且12864液晶顯示器全亮,代碼如下:

[復制鏈接]
跳轉到指定樓層
樓主
ID:396423 發表于 2018-9-27 10:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
#include<intrins.h>
//定義控制信號端口
sbit RS=P0^7;
sbit RW=P0^6;
sbit E=P0^5;
//聲明調用函數
void lcd_w_cmd(unsigned char com);                //寫命令字函數
void lcd_w_dat(unsigned char dat);                //寫數據函數
unsigned char lcd_r_start();                        //讀狀態函數
void lcd_init();                                                //LCD初始化函數
void delay100us(unsigned char t);                //可控延時函數
void delay5us(unsigned char n);                        //軟件實現延時函數,n*5個機器周期
void main()                                                                //主函數
{
        unsigned char Disp[]="He Zhe";                //定義字符數組Disp
        unsigned char i;
        P2=0xff;                                                        //送全1到P1口
        lcd_init();                                                        //初始化LCD
        delay100us(255);                                       
        lcd_w_cmd(0xc2);                                        //定位光標設置顯示位置
        delay100us(255);
        for(i=0;i<6;i++)                                        //顯示字符串
        {
                lcd_w_dat(Disp[i]);
                delay100us(200);
        }
        while(1);                                                        //顯示完成
}
void delay100us(unsigned char t)
{
        unsigned char j,i;
        for(i=0;i<t;i++)
                for(j=0;j<10;j++);
}
void delay5us(unsigned char n)
{
        do
        {
                _nop_();
                _nop_();
                _nop_();
                n--;
        }
        while(n);
}
void lcd_init()
{
        lcd_w_cmd(0x3c);                                        //設置工作方式
        lcd_w_cmd(0x0e);                                        //設置光標
        lcd_w_cmd(0x01);                                        //清屏
        lcd_w_cmd(0x06);                                        //設置輸入方式
        lcd_w_cmd(0x80);                                        //設置初始顯示位置
}
unsigned char lcd_r_start()
{
        unsigned char s;
        RW=1;                                                                //RW=1,RS=0,讀LCD狀態
        delay5us(1);
        RS=0;
        delay5us(1);
        E=1;                                                                //E端時序
        delay5us(1);
        s=P2;                                                                //從LCD的數據口讀狀態
        delay5us(1);
        E=0;
        delay5us(1);
        RW=0;
        delay5us(1);
        return(s);                                                        //返回讀取的LCD狀態字
}
void lcd_w_cmd(unsigned char com)
{
        unsigned char i;
        do
        {                                                                        //查LCD忙操作
                i=lcd_r_start();                                //調用讀狀態字函數
                i=i&0x80;                                                //與操作屏蔽掉低7位
                delay100us(2);
        }
        while(i!=0);                                                //LCD忙,繼續查詢,否則退出循環
        RW=1;
        delay5us(1);
        RS=0;                                                                //RW=1,RS=0,寫入LCD命令字
        delay5us(1);
        E=1;                                                                //E端時序
        delay5us(1);
        P2=com;                                                                //將com中的命令字寫入LCD數據口
        delay5us(1);
        E=0;
        delay5us(1);
        RW=1;
        delay100us(255);
}
void lcd_w_dat(unsigned char dat)
{
        unsigned char i;
        do
        {                                                                        //查忙操作
                i=lcd_r_start();                                //調用讀狀態字函數
                i=i&0x80;                                                //與操作屏蔽掉低7位
                delay100us(2);
        }
        while(i!=0);                                                //LCD忙,繼續查詢,否則退出循環
        RW=0;
        delay5us(1);
        RS=1;                                                                //RW=1,RS=0,寫入LCD命令字
        delay5us(1);
        E=1;                                                                //E端時序
        delay5us(1);
        P2=dat;                                                                //將dat中的顯示數據寫入LCD數據口
        delay5us(1);
        E=0;
        delay5us(1);
        RW=1;
        delay100us(255);
}


QX-mini51.pdf

154.08 KB, 下載次數: 8

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:537018 發表于 2019-5-23 16:20 | 只看該作者
1、沒有信號輸入
2、信號輸入成功,但解碼過程出現問題
3、解碼成功,液晶驅動不正常

有背光不顯示內容:基本可以排除電源和背光源問題。問題出在信號輸入,解碼,液晶驅動部分。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 韩国欧洲一级毛片 | 久久1区 | 精品免费视频一区二区 | 欧美日韩一区二区电影 | 色www精品视频在线观看 | 日本成人中文字幕 | 国产98色在线 | 日韩 | 精品欧美一区二区三区久久久 | 国产久视频 | 91久久综合 | 午夜爽爽爽男女免费观看 | 奇米久久| 国产一区欧美 | 欧美日韩久久久久 | 黄在线免费观看 | 亚洲网址 | 色综合久久久 | 精品视频在线免费观看 | 精品国产一区二区三区久久影院 | 久久久国产一区二区三区四区小说 | 久久久久久999 | 亚洲97| 超碰av人人 | 中文字幕成人av | 农村妇女毛片精品久久久 | 久久久久久综合 | 国产精品一区三区 | 中文字幕乱码一区二区三区 | 久久成人一区二区三区 | 国产一区免费 | 香蕉久久av | 国产一区二区在线免费播放 | 久久综合九色综合欧美狠狠 | 蜜桃一区二区三区 | 亚洲一区二区三区免费观看 | 日韩免费视频一区二区 | 欧美一级在线免费观看 | 国产精品精品久久久 | 精品久久久久久久久久 | 国产精品久久久久无码av | 国产精品久久亚洲 |