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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2481|回復: 3
收起左側

用89C51單片機寫了一個LCD顯示兩個字符串的程序

[復制鏈接]
ID:1017814 發表于 2022-5-9 19:41 | 顯示全部樓層 |閱讀模式
初學單片機,勿噴,請大俠指正,

仿真圖片

仿真圖片

程序如下 ,有需要的直接復制拷備
main.c 如下:
#include <reg52.h>
#include "1602.h"
typedef unsigned char u8;
u8 code word1[]={"1234567890ABCDEF"};
u8 code word2[]={"www.zg4o1577.cn"};
void main()
{
         LCD_init();
        w_string(0x80,word1);
        w_string(0xc0,word2);
        
        while(1);
}

/****************************************************************/
//1602.h 文件如下:
#ifndef _1602_H_
#define _1602_H_
/*
1602液晶屏的操作
讀數據,寫數據,寫命令
定義引腳:P0口是數據,P2口是控制 
*/
sbit RS=P2^0;          //定義屏的模式管腳位
sbit RW=P2^1;          //定義屏的讀寫管腳位
sbit EN=P2^2;          //屏的使能位
sbit BUSY=P0^7;         

void wait()                //實際是判斷LCD是否忙,是否可進入讀寫狀態
{
         P0=0xff;
        do
        {
                RS=0;        //命令(狀態)模式
                RW=1;        //讀操作
                EN=0;        //使能關
                EN=1;        //使能開
        }while(BUSY==1);
        EN=0;
}
void w_dat(unsigned char dat)        //寫數據
{
         wait();
        EN=0;
        P0=dat;
        RS=1;           //數據模式
        RW=0;                //寫操作
        EN=1;           //使能開,數據進去了
        EN=0;           //使能關
}
void w_cmd(unsigned char cmd)  //寫命令函數
{
         wait();
        EN=0;
        P0=cmd;               
        RS=0;                //命令(狀態)模式
        RW=0;                //寫操作
        EN=1;                //使能開,命令進去了
        EN=0;                //使能關
}
void w_string(unsigned char addr,unsigned char  *p)         //寫入字符串函數
{
         w_cmd(addr);        //寫入命令,讓屏從那里開始顯示
        while(*p !='\0')        //循環字符串中的每個字符,直到結尾
        {
                 w_dat(*p++);        
        }
}
void LCD_init()         //LCD初始化函數
{
   w_cmd(0x38);           //16*2顯示,5*7點陣,8位數據接口
   w_cmd(0x0c);           //顯示器開、光標開、光標允許閃爍
   w_cmd(0x06);           //文字不動、光標自動右移
   w_cmd(0x01);           //清屏
}
#endif

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:1012735 發表于 2022-5-10 16:52 | 顯示全部樓層
E口跳變少了延時,仿真可以,上機不行
回復

使用道具 舉報

ID:1017814 發表于 2022-5-13 20:50 | 顯示全部樓層
謝謝樓上,今天發現這個問題了。

我把程序下載到實物中(剛買的1602屏,以前沒有),結果還是不顯示,不知如何是好,就從某一個寶找到測試程序,從程序中分析,看到語句中有 兩行一樣的,所以我把程序改了一下:

所有EN=1;前面加兩行EN=0;  這樣下載后OK。

希望看到此帖的所有人能學有所成。。。!

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:1024243 發表于 2022-5-18 11:38 | 顯示全部樓層
樓主,在此程序上。若想實現,按鍵切換屏幕。要怎么做呢
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产综合久久福利软件 | 成人免费大片黄在线播放 | 国产成人精品久久二区二区91 | 国产农村妇女毛片精品久久麻豆 | 亚洲 中文 欧美 日韩 在线观看 | 国产精品久久 | 亚洲视频免费在线观看 | 亚洲在线一区二区三区 | 成人免费激情视频 | 日韩在线看片 | 成人福利网站 | 国产成人精品一区二区三区四区 | 午夜电影日韩 | 亚洲欧洲成人在线 | 日韩精品成人 | 午夜久久久 | 国产在线视频一区二区 | 华人黄网站大全 | 国产免费视频在线 | 日日射影院 | 国产婷婷精品av在线 | 久久久久国产精品 | 中文字幕综合 | 色吧色综合 | 天天看天天操 | 涩涩导航 | 免费在线成人 | 91久久综合亚洲鲁鲁五月天 | 久在线观看 | 久久综合一区 | 久久亚洲欧美日韩精品专区 | 国产成人综合在线 | 久久这里只有 | 亚洲成人第一页 | 日韩欧美在线不卡 | 一级全黄少妇性色生活免费看 | 国产精品一区二区视频 | 亚洲精品乱码久久久久久9色 | 日韩伦理一区二区 | 欧美日韩国产传媒 | 欧美国产中文字幕 |