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

標(biāo)題: 1602程序修改 [打印本頁(yè)]

作者: TGK    時(shí)間: 2014-2-19 10:10
標(biāo)題: 1602程序修改
請(qǐng)問(wèn)1602的代碼如何寫(xiě)啊,這是我寫(xiě)的但是運(yùn)行不了,怎么回事呢#include<reg52.h>sbit dula=P2^6;
sbit wela=P2^7;
sbit lcden=P3^4;
sbit lcdrs=P3^5;
unsigned char code table[]="I LOVE MCU!";
unsigned char code table1[]="WWW.TXMCU.COM";
unsigned char num;
void delay(unsigned int t);
void write_com(unsigned char com)
{
   lcdrs=0;
   P0=com;
   delay(5);
   lcden=1;
   delay(5);
   lcden=0;
}
void write_data(unsigned char date)
{
   lcdrs=1;
   P0=date;
   delay(5);
   lcden=1;
   delay(5);
   lcden=0;
}
void init()
{
  dula=0;
  wela=0;
  lcden=0;
  write_com(0x38);
  write_com(0x0c);
  write_com(0x06);
  write_com(0x01);
}
void main()
{


     init();
     write_com(0x80);
     for(num=0;num<11;num++)
        {
        write_data(table[num]);
        delay(5);
        }
     write_com(0x80+0x40);
     for(num=0;num<13;num++)
     {
       write_data(table1[num]);
       delay(5);
     }
    while(1);
}
void delay(unsigned int t)
{
  while(--t);
}



作者: admin    時(shí)間: 2014-2-24 22:40
#include "at89x52.h"
#include "51hei.h"

#define LCM_RW  P2_7 //定義引腳
#define LCM_RS  P3_5
#define LCM_E   P3_4
#define LCM_Data  P0
#define Busy    0x80 //用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)




void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM,BuysC);
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);

unsigned char code uctech[] = {"    *51hei*    "};
unsigned char code net[] =    {" m.zg4o1577.cn "};

void main(void)
{
  guandz();//關(guān)閉點(diǎn)陣
  guanled();//關(guān)閉led數(shù)碼管

  Delay400Ms(); //啟動(dòng)等待,等LCM講入工作狀態(tài)
  LCMInit(); //LCM初始化
  Delay5Ms(); //延時(shí)片刻(可不要)

  DisplayListChar(0, 5, uctech);
  DisplayListChar(0, 0, net);
  ReadDataLCM();//測(cè)試用句無(wú)意義

while(1);
}

//寫(xiě)數(shù)據(jù)
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //檢測(cè)忙
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在這后加小的延時(shí)
LCM_E = 0; //延時(shí)
LCM_E = 1;
}

//寫(xiě)指令
void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時(shí)忽略忙檢測(cè)
{
if (BuysC) ReadStatusLCM(); //根據(jù)需要檢測(cè)忙
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}

//讀數(shù)據(jù)
unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}

//讀狀態(tài)
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
while (LCM_Data & Busy); //檢測(cè)忙信號(hào)
return(LCM_Data);
}

void LCMInit(void) //LCM初始化
{
LCM_Data = 0;
WriteCommandLCM(0x38,0); //三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();

WriteCommandLCM(0x38,1); //顯示模式設(shè)置,開(kāi)始要求每次檢測(cè)忙信號(hào)
WriteCommandLCM(0x08,1); //關(guān)閉顯示
WriteCommandLCM(0x01,1); //顯示清屏
WriteCommandLCM(0x06,1); // 顯示光標(biāo)移動(dòng)設(shè)置
WriteCommandLCM(0x0C,1); // 顯示開(kāi)及光標(biāo)設(shè)置
}

//按指定位置顯示一個(gè)字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
Y &= 0x1;
X &= 0xF; //限制X不能大于15,Y不能大于1
if (Y) X |= 0x40; //當(dāng)要顯示第二行時(shí)地址碼+0x40;
X |= 0x80; // 算出指令碼
WriteCommandLCM(X, 0); //這里不檢測(cè)忙信號(hào),發(fā)送地址碼
WriteDataLCM(DData);
}

//按指定位置顯示一串字符
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
{
unsigned char ListLength;

  ListLength = 0;
Y &= 0x1;
X &= 0xF; //限制X不能大于15,Y不能大于1
while (DData[ListLength]>0x19) //若到達(dá)字串尾則退出
  {
   if (X <= 0xF) //X坐標(biāo)應(yīng)小于0xF
    {
     DisplayOneChar(X, Y, DData[ListLength]); //顯示單個(gè)字符
     ListLength++;
     X++;
    }
  }
}

//5ms延時(shí)
void Delay5Ms(void)
{
unsigned int TempCyc = 5552;
while(TempCyc--);
}

//400ms延時(shí)
void Delay400Ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA--)
{
  TempCycB=7269;
  while(TempCycB--);
};





}






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美一级在线观看 | 国产精品日韩欧美一区二区三区 | 国产亚洲成av人片在线观看桃 | 亚洲看片网站 | 中文字幕av中文字幕 | 黄色av网站在线观看 | 欧美精品久久久 | 一区在线播放 | 日韩av在线一区 | av中文字幕在线播放 | 国产激情在线 | 一区二区三区在线电影 | 欧美亚洲另类在线 | 午夜在线视频一区二区三区 | 日日夜夜狠狠操 | 亚洲精品免费在线观看 | 男女网站免费 | 久久精品久久久 | 免费观看www7722午夜电影 | 在线观看三级av | 色.com| 午夜视频在线播放 | 国产免费一区二区三区最新6 | 久久亚洲视频网 | 国产精品178页 | 国产黄色在线 | 五月婷婷 六月丁香 | 99精品欧美一区二区三区综合在线 | 亚洲成人一区二区 | 精品国产一二三区 | 玖玖国产 | 日韩高清国产一区在线 | 国产精品福利视频 | 久久久男人的天堂 | 久久久久久久久久久蜜桃 | 亚洲精品电影 | 中文字幕欧美一区 | 日本高清精品 | av一区二区三区四区 | 国产成人精品一区二区三区视频 | 天天夜干 |