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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

編完的程序為什么lcd162不能顯示,幫忙改改

[復制鏈接]
跳轉到指定樓層
樓主
ID:322908 發表于 2018-5-10 21:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
20黑幣
#include<reg51.h.>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P1^0;
sbit lcdrw=P1^1;
sbit lcden=P2^5;
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
lcden=0;
write_com(0x38);    //顯示模式控制
write_com(0x0f);    //顯示開關 開啟光標  光標閃爍
write_com(0x06);    //光標自加一   未開啟全屏移動
write_com(0x01);    //清屏
write_com(0x80);    //設置數據指針
}
void main()
{
init();

while(1)
{
write_data('1');

}
}

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

使用道具 舉報

沙發
ID:304772 發表于 2018-5-10 22:35 | 只看該作者
留印,我也新學,我給你一個程序你試試。過兩天看看有沒有人回答你
/*
* 1602
*/

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

typedef unsigned char uint8;

sbit RS = P1^0 ;
sbit RW = P1^1 ;
sbit EN = P2^5 ;
sbit STA7 = P0^7;


unsigned char code word1[]={"QQ:398115088"};
unsigned char code word2[]={"WWW.HJMCU.COM"};


/**
* 等待繁忙標志
*/
void wait(void)
{
        P0 = 0xFF;
       
        do
        {
                RS = 0;
                RW = 1;
                EN = 0;
                EN = 1;
        }while (STA7 == 1);
        EN = 0;
}

/**
* 寫數據
*/
void w_dat(uint8 dat)
{
        wait();
        EN = 0;
        P0 = dat;
        RS = 1;
        RW = 0;
        EN = 1;
        EN = 0;
}

/**
* 寫命令
*/
void w_cmd(uint8 cmd)
{
        wait();
        EN = 0;
        P0 = cmd;
        RS = 0;
        RW = 0;
        EN = 1;
        EN = 0;
}

/**
* 發送字符串到LCD
*/
void w_string(uint8 addr_start, uint8 *p)
{
        w_cmd(addr_start);
        while (*p != '\0')
        {
                w_dat(*p++);
        }
}


/**
* 初始化1602
*/
void Init_LCD1602(void)
{
        w_cmd(0x38);  // 16*2顯示,5*7點陣,8位數據接口
        w_cmd(0x0C);  // 顯示器開、光標開、光標允許閃爍
        w_cmd(0x06);  // 文字不動,光標自動右移
        w_cmd(0x01);  // 清屏
}


main()
{

        Init_LCD1602();
       
        w_string(0x80,word1);
        w_string(0xC0,word2);
       
        while (1);
}
回復

使用道具 舉報

板凳
ID:83230 發表于 2018-5-11 09:01 | 只看該作者
不能顯示一定是你哪里出錯了。
回復

使用道具 舉報

地板
ID:319019 發表于 2018-5-11 11:40 | 只看該作者
本帖最后由 zhdp 于 2018-5-11 13:19 編輯

缺少判斷是否忙碌的函數  還缺一個顯示用的數組char code Num[]={'0','1','2','3','4','5','6','7','8','9'};

void Read_Busy()      
{
        char busy;
        LCD1602_DB = 0xff;      //復位數據總線  (DB為輸出端)
        LCD1602_RS = 0;          //拉低RS
        LCD1602_RW = 1;          //拉高RW讀
        do
        {
            LCD1602_EN = 1;//使能EN
            busy = LCD1602_DB;//讀回數據
            LCD1602_EN = 0;         //拉低使能以便于下一次產生上升沿
        }while(busy & 0x80); //判斷狀態字BIT7位是否為1,為1則表示忙,程序等待
}
回復

使用道具 舉報

5#
ID:306178 發表于 2018-5-11 12:39 | 只看該作者
1、include<reg51.h>  (你多了個點)
2、#define uchar unsigned char
#define uint unsigned int
回復

使用道具 舉報

6#
ID:306178 發表于 2018-5-11 12:42 | 只看該作者
錯誤1、include <reg51.h.>   多了個點
錯誤2、#define uchar unsigned char    不能這么用,正確應該使用:  typedef unsigned char uchar;

有問題歡迎繼續問,說實話這都是基礎問題,完全都可以看書解決的。
回復

使用道具 舉報

7#
ID:327060 發表于 2018-5-11 13:35 | 只看該作者
可能程序出錯
回復

使用道具 舉報

8#
ID:327651 發表于 2018-5-11 15:41 | 只看該作者
可能屏幕初始化錯了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品欧美一区二区三区不卡 | 国产亚洲精品美女久久久久久久久久 | 成人欧美日韩一区二区三区 | 久久av在线播放 | 亚洲国产精品一区二区第一页 | 国产一区二区三区四区在线观看 | 亚洲国产精品一区二区www | 久久精品一 | 成人在线h | 午夜精品视频一区 | 亚洲国产精品一区二区三区 | 精品综合久久久 | 色综合99 | 在线免费av电影 | 亚洲国产成人av好男人在线观看 | 国产一二三区精品视频 | 欧美日韩精品在线一区 | 91久久久久久久久久久 | 亚洲精品久久久一区二区三区 | 国产成人精品a视频 | 国产乱码精品一区二区三区中文 | 国产精品高清一区二区三区 | 国产精品欧美一区喷水 | 国产精品精品视频 | 91视频正在播放 | 玖玖色在线视频 | 国产乱码精品一区二区三区五月婷 | 99riav3国产精品视频 | 亚洲一区二区av在线 | 亚洲电影一级片 | 国产精品亚洲二区 | 91看片网 | 亚洲一本 | 高清国产午夜精品久久久久久 | 免费久久久 | 紧缚调教一区二区三区视频 | 国产精品a一区二区三区网址 | 亚洲精品国产成人 | 精品九九 | 国产一区不卡 | 亚洲视频精品在线 |