wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

LCD12864驅動程序-51單片機

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年09月01日   【字體:

 /****************************************************************************/

/*                                                                          */
/*                Copyright (c) 2012, pcwebmaster                           */
/*                     All rights reserved.                                 */
/*                                                                          */
/*      Email:pcwebmaste@163.com                                            */
/*                                                                          */
/****************************************************************************/
/****************************************************************************/
/* 文件名:LCD12864.c                                                       */
/* 版  本:Version 1.0                                                      */
/* 描  述:實現液晶和單片機的通訊協議,根據計算機發給的命令進行人機交互     */
/* 作  者:pcwebmaste                                                       */
/* 函  數:                                                                 */
/*         LCD12864_init                                                    */
/*         LCD12864WriteCommand                                             */
/*         LCD12864WriteByte                                                */
/*         LCD12864_init                                                    */
/*         LCD12864SetXY                                                    */
/*         LCD12864PrintfString                                             */
/* 歷史記錄:                                                               */
/*  pcwebmaste          2008-07-10     Creat Inital version. (Version 1.0)  */
/*    模塊化 2012-06-02     Creat Inital version. (Version 2.0) */
/****************************************************************************/
#include "12864.h"
 
#define LOW         0
#define HIGH        1
 
sbit wela    =  P2^6;
sbit dula    =  P2^7;
#define LCD12864_RS(x)     {if((x))P3 |=  1<<LCD12864_RS_PIN;\
                            else   P3 &=~(1<<LCD12864_RS_PIN);}//寄存器選擇輸入
 
#define LCD12864_RW(x)     {if((x))P3 |=  1<<LCD12864_RW_PIN;\
                            else   P3 &=~(1<<LCD12864_RW_PIN);}//液晶讀/寫控制
 
#define LCD12864_EN(x)     {if((x))P3 |=  1<<LCD12864_EN_PIN;\
                            else   P3 &=~(1<<LCD12864_EN_PIN);}//液晶使能控制
 
#define LCD12864_MD(x)     {if((x))P3 |=  1<<LCD12864_MD_PIN;\
                            else   P3 &=~(1<<LCD12864_MD_PIN);}//串/并方式控制
 
#define LCDWELA(x)     {if((x))P2 |=  1<<6; else   P2 &=~(1<<6);}
 
#define LCDDULA(x)     {if((x))P2 |=  1<<7; else   P2 &=~(1<<7);}
 
#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}
 
/*********************************************/
/*            */
/* 主程序                   */
/*                                           */
/*********************************************
void  main()
{
 DelayNOP();                 //延時
    wela=LOW;
 dula=LOW;
    LCD12864_init();            //初始化LCD            
 
 LCD12864PrintfString(0,1,dis1);
 LCD12864PrintfString(1,0,dis2);
 LCD12864PrintfString(2,0,dis3);
 LCD12864PrintfString(3,1,dis4);
    while(1);
}
/********************************************
*函數名稱:LCD12864_init
*輸    入:無
*輸    出:lcd_busy    為1時,忙,等待。
    lcd-busy    為0時,閑,可寫指令與數據
*說    明:LCD12864LCD檢查忙狀態
/*******************************************/
bit LCD1286_busy()
 {                         
    bit result;
    LCD12864_RS(LOW);
    LCD12864_RW(HIGH);
    LCD12864_EN(HIGH);
    DelayNOP();
    result = (bit)(LCD12864_PORT&0x80);
    LCD12864_EN(LOW);
    return(result);
 }
/********************************************
*函數名稱:LCD12864WriteCommand
*輸    入:ucCmd 要寫入的命令
*輸    出:無
*說    明:LCD12864 寫命令
    RS=L,RW=L,E=高脈沖,D0-D7=指令碼。
********************************************/
void LCD12864WriteCommand(unsigned char ucCmd)
{                         
   while(LCD1286_busy());
    LCD12864_RS(LOW);
    LCD12864_RW(LOW);
    LCD12864_EN(LOW);
    _nop_();
    _nop_();
    LCD12864_PORT = ucCmd;
    DelayNOP();
    LCD12864_EN(HIGH);
    DelayNOP();
    LCD12864_EN(LOW); 
}
 
/********************************************
*函數名稱:LCD12864WriteByte
*輸    入:ucByte 要寫入的字節
*輸    出:無
*說    明:LCD12864 寫字節
    RS=H,RW=L,E=高脈沖,D0-D7=數據。
********************************************/
void LCD12864WriteByte(unsigned char ucByte)
{                         
   while(LCD1286_busy());
    LCD12864_RS(HIGH);
    LCD12864_RW(LOW);
    LCD12864_EN(LOW);
    LCD12864_PORT = ucByte;
    DelayNOP();
    LCD12864_EN(HIGH);
    DelayNOP();
    LCD12864_EN(LOW);
}
/********************************************
*函數名稱:LCD12864_init
*輸    入:無
*輸    出:無
*說    明:LCD12864LCD初始化設定
/*******************************************/
void LCD12864_init()
{
    LCD12864_MD(HIGH);            //并口方式   
    LCD12864WriteCommand(0x34);      //擴充指令操作
    LCD12864WriteCommand(0x30);      //基本指令操作
    LCD12864WriteCommand(0x0C);      //顯示開,關光標
    LCD12864WriteCommand(0x01);      //清除LCD的顯示內容
}
/********************************************
*函數名稱:LCD12864SetXY
*輸    入:x 橫坐標 y 縱坐標
*輸    出:無
*說    明:LCD12864 設置坐標
********************************************/
void LCD12864SetXY(unsigned char X,unsigned char Y)
{                         
   if (X==0)
     {X=0x80;}
   else if (X==1)
     {X=0x90;}
   else if (X==2)
     {X=0x88;}
   else if (X==3)
     {X=0x98;}
   LCD12864WriteCommand(X+Y);     //顯示地址
}
/********************************************
*函數名稱:LCD12864SetXY
*輸    入:x 橫坐標 y 縱坐標
*輸    出:無
*說    明:LCD12864 設置坐標
為什么這樣寫不行呢?
********************************************
void LCD12864SetXY(unsigned char x,unsigned char y)
{
   switch(y)
     {
  case 1:
        {
             LCD12864WriteCommand(0x80+x);
        }
        break;
 
  case 2:
        {
             LCD12864WriteCommand(0x90+x);
        }
        break;
 
  case 3:
        {
             LCD12864WriteCommand(0x88+x);
        }
        break;
 
  case 4:
        {
             LCD12864WriteCommand(0x98+x);
        }
        break;
 
  default:break;
     }
//  LCD12864WriteCommand(x+y);     //顯示地址
}
/********************************************
*函數名稱:LCD12864PrintfString
*輸    入:x 橫坐標 y 縱坐標 s字符串
*輸    出:無
*說    明:LCD12864 打印字符串
********************************************/
void LCD12864PrintfString(unsigned char x,unsigned char y,unsigned char *s)
{
  LCD12864SetXY(x,y);    //設置顯示坐標
 
     while(s && *s)
     {
        LCD12864WriteByte(*s);   //顯示逐個字符
        s++;       
     }
}
 
 
 
/****************************************************************************/
/*                                                                          */
/*                Copyright (c) 2012, pcwebmaster                           */
/*                     All rights reserved.                                 */
/*                                                                          */
/*      Email:pcwebmaste@163.com                                            */
/*                                                                          */
/****************************************************************************/
/****************************************************************************/
/* 文件名:LCD12864.c                                                       */
/* 版  本:Version 1.0                                                      */
/* 描  述:實現液晶和單片機的通訊協議,根據計算機發給的命令進行人機交互     */
/* 作  者:pcwebmaste                                                       */
/* 函  數:                                                                 */
/*         LCD12864_init                                                    */
/*         LCD12864WriteCommand                                             */
/*         LCD12864WriteByte                                                */
/*         LCD12864_init                                                    */
/*         LCD12864SetXY                                                    */
/*         LCD12864PrintfString                                             */
/* 歷史記錄:                                                               */
/*  pcwebmaste          2008-07-10     Creat Inital version. (Version 1.0)  */
/*    模塊化 2012-06-02     Creat Inital version. (Version 2.0) */
/****************************************************************************/
 
#ifndef __12864_H__
#define __12864_H__
 
#include <reg52.h>
#include <intrins.h>
 
#define LCD12864_PORT  P0  //數據口
#define LCD12864_RS_PIN   5
#define LCD12864_RW_PIN   6
#define LCD12864_EN_PIN   4
#define LCD12864_MD_PIN   7
 
unsigned char code dis1[] = {"中國昌樂是寶石"};
unsigned char code dis2[] = {"之都,西瓜之鄉!"};
unsigned char code dis3[] = {"中國昌樂寶石城"};
unsigned char code dis4[] = {"人民歡迎您!"};
/********************************************
*函數名稱:LCD12864_init
*輸    入:無
*輸    出:lcd_busy    為1時,忙,等待。
    lcd-busy    為0時,閑,可寫指令與數據
*說    明:LCD12864LCD檢查忙狀態
/*******************************************/
bit LCD1286_busy();
/********************************************
*函數名稱:LCD12864WriteCommand
*輸    入:ucCmd 要寫入的命令
*輸    出:無
*說    明:LCD12864 寫命令
    RS=L,RW=L,E=高脈沖,D0-D7=指令碼。
********************************************/
void LCD12864WriteCommand(unsigned char ucCmd);
 
/********************************************
*函數名稱:LCD12864WriteByte
*輸    入:ucByte 要寫入的字節
*輸    出:無
*說    明:LCD12864 寫字節
    RS=H,RW=L,E=高脈沖,D0-D7=數據。
********************************************/
void LCD12864WriteByte(unsigned char ucByte);
/********************************************
*函數名稱:LCD12864_init
*輸    入:無
*輸    出:無
*說    明:LCD12864LCD初始化設定
/*******************************************/
void LCD12864_init();
/********************************************
*函數名稱:LCD12864SetXY
*輸    入:x 橫坐標 y 縱坐標
*輸    出:無
*說    明:LCD12864 設置坐標
********************************************/
void LCD12864SetXY(unsigned char X,unsigned char Y);
/********************************************
*函數名稱:LCD12864PrintfString
*輸    入:x 橫坐標 y 縱坐標 s字符串
*輸    出:無
*說    明:LCD12864 打印字符串
********************************************/
void LCD12864PrintfString(unsigned char x,unsigned char y,unsigned char *s);
 
void LCD12864PrintfData(unsigned char x,unsigned char y,unsigned char DData);
/********************************************
*函數名稱:LCD12864PrintfNum
*輸    入:add ge shi bai
*輸    出:無
*說    明:此函數不好寫成通用函數,在連續地址里
   連續寫數字半角顯示。根據情況修改
********************************************/
void LCD12864PrintfNum(unsigned char add,unsigned char ge,unsigned char shi,unsigned char bai)
{
 LCD12864WriteCommand(add);
 LCD12864WriteByte(bai+0x30);
 LCD12864WriteByte(shi+0x30);
 LCD12864WriteByte(ge+0x30);
}
 
 
#endif
關閉窗口
日本1区2区3区视频| 韩国久久久久| 五月亚洲婷婷| 午夜日韩影院| 亚洲免费成人av在线| 精品视频在线播放一区二区三区| 亚洲区欧洲区| www在线观看黄色| 24小时免费看片在线观看| 在线亚洲欧美日韩| 粉嫩av一区二区夜夜嗨| 国产毛片av| 特大巨黑人吊性xxx视频| japonensisjava老师可播放 | 成年女人a毛片免费视频| ga∨成人网| 青草视频在线免费直播| 色婷婷精品视频| 久久一区精品| 国产精品色在线| 欧亚洲嫩模精品一区三区| 欧美无人高清视频在线观看| 色狠狠桃花综合| 精品国内自产拍在线观看| 成人免费直播live| 国产av国片精品| 久久久精品成人| 99热这里只有精品9| 国产激情网址| 免费男女羞羞的视频网站主页在线观看| 第一福利在线| 不卡日本视频| av在线不卡免费看| 精品视频在线视频| 欧美亚洲另类激情另类| 福利在线小视频| 日本黄区免费视频观看| 国产精品爽爽久久| 干出白浆视频| 成人在线网址| 99国产精品私拍| 亚洲成人高清在线| xxxxx91麻豆| 青青草视频在线视频| 在线看片中文字幕| 九色国产视频| 国产二区三区在线| 国产精品一区二区av交换| 蜜桃一区二区三区四区| 日韩欧美美女一区二区三区| 成人免费大片黄在线播放| 欧美丰满熟妇bbbbbb百度| 亚洲精品国产精品乱码| 在线国产一区二区三区| 日韩在线电影| 97久久超碰精品国产| 91精品国产品国语在线不卡| 国产精品高潮呻吟久久av野狼 | 丰满少妇高潮久久三区| 97视频免费| 久久一区二区三区电影| 欧美wwwwww| 日韩1区2区日韩1区2区| 欧美色图12p| av资源站久久亚洲| 国产无码精品视频| 亚洲天堂2017| 欧美激情性爽国产精品17p| 一本一道波多野结衣一区二区| 国产美女搞久久| 亚洲天堂av网站| 国产激情视频一区二区| 日韩三级影视| 亚洲婷婷在线视频| 成人欧美一区二区三区视频xxx| 熟女av一区二区| 青青青草原在线| 日本不卡123| 欧美理论电影在线播放| 欧美成人三级在线播放| 亚洲日本电影| 夜鲁夜鲁夜鲁视频在线播放| 国产精品不卡一区二区三区| 成人在线观看网址| 伊人久久成人网| 波多野结衣亚洲| 1区2区3区精品视频| 亚洲精品欧美日韩| 好吊色视频在线观看| 伊人国产在线| 成人免费毛片嘿嘿连载视频| 91禁国产网站| 欧美黑人精品一区二区不卡| 麻豆视频网站在线观看| 久久久精品一品道一区| 国产精品入口免费视频一| 亚洲区免费视频| 一级全黄裸体免费视频| **国产精品| 欧美丰满一区二区免费视频| 亚洲天堂网2018| 久草.com| 99热国产精品| 91入口在线观看| 日韩免费视频一区二区视频在线观看| www视频在线看| 亚洲一区二区在线免费观看视频| 天堂а√在线中文在线| xfplay资源站夜色先锋| 国产剧情在线观看一区二区| 国产mv久久久| 中文字幕在线观看免费视频| 原纱央莉成人av片| 欧美日韩精品一区视频| aaaa黄色片| 亚洲精品福利电影| 欧美色精品天天在线观看视频| 女性隐私黄www网站视频| 狠狠鲁狠狠操| 蜜臀va亚洲va欧美va天堂 | 9色在线视频网站| 亚洲一区二区在线观看视频| 亚洲精品天堂成人片av在线播放 | 伊人22222| 99精品在线免费在线观看| 久久久久久久国产精品视频| 亚洲一区二区色| 日本一本不卡| 国产精品视频免费在线| 国产黄a三级三级三级| 国产黄a三级三级看三级| 日韩国产欧美一区二区三区| 欧美性天天影院| 国产宾馆自拍| 国产精品国产三级国产专播品爱网| 青青视频在线播放| 色综合久久影院| 色婷婷av一区二区三区大白胸| 北京富婆泄欲对白| 999在线精品| 国内精品久久久| 色中文字幕在线| 麻豆国产精品一区二区三区| 国产精品swag| 日本免费视频| 色综合天天综合网国产成人综合天| 911亚洲精选| 成人污污视频| 97香蕉超级碰碰久久免费软件| 国产免费av观看| 国产经典欧美精品| 欧美三级理论片| 欧美一级免费| 国产日韩欧美在线看| xx00欧美| 亚洲精品乱码久久久久久| 久久久久久免费网| 日本久久久精品视频| av老司机免费在线| 久久亚洲精品毛片| 国产精品作爱| 天天av天天翘天天综合网色鬼国产 | 久久精品magnetxturnbtih| 超碰在线影院| 色999日韩欧美国产| 欧美一级黄色带| 亚洲激情欧美激情| 亚洲欧洲久久久| 欧美亚洲不卡| 国产资源在线视频| 国偷自产av一区二区三区| 99精品国产高清一区二区| hs网站在线观看| 欧美一区二视频| 国产3p露脸普通话对白| 电影网一区二区| 成人午夜在线观看| 免费在线看v| 国产视频久久久| 影音先锋中文字幕在线播放| 亚洲免费成人av| 国产精品熟女久久久久久| 91在线精品一区二区三区| 中文字幕av一区二区三区人妻少妇| 日本成人a网站| 黄色片久久久久| 久久亚洲成人| 国产精品久久久久野外| 午夜久久福利| 少妇性l交大片| 国产字幕视频一区二区| 韩国日本美国免费毛片| 精品国内自产拍在线观看视频| 亚洲一区二区三区午夜| 日韩av黄色| 久久久一二三四| 成人精品久久| 亚洲天堂av线| 99久久视频| 国产高清成人久久| 美女性感视频久久| 欧美黄色免费看| 国产日韩视频一区二区三区| 精品肉丝脚一区二区三区| 久久久91精品国产一区二区精品 | 在线亚洲美日韩| 精品伊人久久久| 人人妻人人添人人爽欧美一区| 热久久免费视频| 成人毛片18女人毛片| 精品欧美一区二区三区| 精品入口蜜桃| 亚洲片在线资源| 任你弄在线视频免费观看| 精品久久久久久一区| 成人精品动漫一区二区三区| 国产高潮免费视频| 国产精品18久久久久久久久| 国产男女无套免费网站| 日韩一级在线观看| 高清免费观看在线| 91久久精品在线| 成人羞羞动漫| av男人的天堂av| 欧美区一区二区| 噜噜噜久久亚洲精品国产品麻豆| 亚洲激情午夜| 日韩不卡视频在线| 欧美大胆人体bbbb| 日韩欧美亚洲系列| 欧美日韩日本网| 亚洲成人中文| 亚洲精品一区二区三区区别 | 亚洲天堂精品在线| 黄色成人影院| 欧美日韩二三区| 国产成人精品亚洲777人妖| 中国老头性行为xxxx| 欧美一级片免费看| √8天堂资源地址中文在线| 欧美激情第3页| 亚洲自拍偷拍欧美| 99ri国产在线| 国产一区二区三区黄| 在线日韩av| www.超碰在线.com| 欧美最猛性xxxxx(亚洲精品)| 日本精品在线观看| 精品国产精品国产精品| 精品久久久久久亚洲综合网| www日韩tube| 国产视频一区二区视频| 中国av一区二区三区| 天天操夜夜骑| 亚洲最大色综合成人av| 99国产精品国产精品久久| 日本三级电影免费观看| 欧美日韩精品不卡| 大胆亚洲人体视频| 又黄又爽在线观看| 日韩av播放器| 狠狠躁天天躁日日躁欧美| 成年人在线免费观看| 六月婷婷七月丁香| 欧美sm美女调教| 九七电影院97理论片久久tvb| 极品人妻videosss人妻| 日韩中文字幕亚洲| 欧美电影《睫毛膏》| 成人毛片在线精品国产| 国产精品久久久久久久久免费丝袜| jizz老师| 欧洲精品一区二区三区久久| 欧美国产97人人爽人人喊| 免费在线观看黄| 欧洲女同同性吃奶| 亚洲欧美综合图区| 欧美hd在线| 2023国产在线观看| 色噜噜狠狠色综合网| 亚洲激情中文1区| 久久青草免费| 亚洲精品久久久久久久久久久久久久| 国产精品欧美亚洲777777| 国精品**一区二区三区在线蜜桃| 国产永久免费高清在线观看| 成人h动漫精品一区| 日韩最新在线视频| 三级一区在线视频先锋| 免费一级淫片| 公侵犯人妻一区二区三区| 欧美激情网站在线观看| 成人晚上爱看视频| 岛国大片在线观看| 国产毛片欧美毛片久久久| 国产精品久久久久久久久久久新郎 | 日本天堂在线视频| 欧美成人一二三| 麻豆91精品视频| 国产二区三区在线| 成人毛片视频免费看| 91欧美视频在线| 欧美精品videossex性护士| 国产传媒久久文化传媒| 久久免费电影| 亚洲精品人妻无码| 91女神在线观看| 久久久久久美女| 国产欧美日韩精品一区| 在线免费观看亚洲| 4hu最新网址| 国产成人精品av久久| 国产精品色呦呦| 国产调教一区二区三区| 最近中文字幕在线| 亚洲天堂手机在线| 嫩草视频免费在线观看| 日韩女在线观看| 欧美午夜免费电影| 理论片日本一区| 国产色99精品9i| 中文字幕一区免费| 国产精品久久久久久无人区| 国产喷水theporn| 国产欧美日韩亚洲精品| 69成人精品免费视频| 丁香婷婷深情五月亚洲| 久久动漫网址| 久久亚洲资源| 亚洲欧美另类日韩| 国产第一页视频| 日韩中文字幕在线播放| 国产一区二区三区的电影| 青青九九免费视频在线| 国产一级视频在线观看| 蜜桃av久久久亚洲精品| 欧美高清www午色夜在线视频| 亚洲国产一区二区三区a毛片| 先锋欧美三级| 午夜色香蕉导航| 欧美成人aaaaⅴ片在线看| 精品少妇一区二区三区在线| 萌白酱国产一区二区| 欧美专区在线观看一区| 国产精品99精品久久免费| 郴州新闻综合频道在线直播| 七七成人影院| 福利视频大全| 亚洲国产一二三区| 亚洲女同二女同志奶水| 男女av免费观看| 欧美午夜精品久久久久久蜜| 91国内在线视频| 亚洲老板91色精品久久| 精品动漫一区二区| 久久综合九色综合97婷婷女人| 在线观看亚洲| 国产探花在线精品| www.成人影院| yellow91字幕网在线| 国产三级香港三韩国三级| 亚洲欧美小说国产图片| 豆国产97在线 | 亚洲| 国产中年熟女高潮大集合| 亚洲视频一二三四| 日日碰狠狠躁久久躁婷婷| 日韩中文一区| 亚洲精品欧美极品| 国产精品成人一区二区| 一级做a爰片久久毛片美女图片| 欧美日韩一区二区在线 | 精品欧美aⅴ在线网站| 日本一区二区三区在线不卡| 一本色道精品久久一区二区三区| 国产一区二区三区天码| 白嫩白嫩国产精品| 精品中文在线| 婷婷视频在线观看| 九九热国产精品视频| 在线看片中文字幕| 久久婷婷五月综合| 日本福利片在线观看| 免费在线观看污| 亚洲不卡在线播放| 福利视频第一页| 久久久久无码国产精品不卡| 非洲一级黄色片| www色aa色aawww| www.涩涩爱| 日韩精品在线不卡| 欧美brazzers| 亚洲欧美激情另类| 色的视频在线观看免费播放| 男人艹女人在线观看| 亚洲人成77777男人| 成人在线直播| 四虎4545www精品视频| 欧美国产不卡| 黄色成人在线网站| 成人久久18免费网站麻豆|