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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

這個程序為什么不能在觸屏液晶顯示屏上顯示,需要改什么參數嗎

[復制鏈接]
跳轉到指定樓層
樓主
ID:116974 發表于 2016-5-4 18:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/***************************************************************************************************   
工程名稱: 12864
功能描述:  實現12864液晶顯示,液晶第一行顯示"  北方藍芯科技  ",第二行顯示" www*hrbnbc*com "
                              
硬件連接:  將12864液晶接口對應插接到P2接口,注意1-20腳不要插反。
維護記錄:  2011-8-22
***************************************************************************************************/
#include "reg52.h"          //包含頭文件
#define uchar unsigned char
#define uint  unsigned int
sbit RS=P2^5;    //命令/數據選擇
sbit RW=P2^4;    //讀寫口
sbit  E=P2^3;    //鎖存控制
sbit RES = P2^0; //復位
sbit PSB = P2^2; //串并選擇
//**************************************************************************************************
//延時函數
//**************************************************************************************************
delay(uint time)         //int型數據為16位,所以最大值為65535            
{
  uint  i,j;             //定義變量i,j,用于循環語句
  for(i=0;i<time;i++)    //for循環,循環50*time次
     for(j=0;j<100;j++); //for循環,循環50次
}
//**************************************************************************************************
//查忙
//**************************************************************************************************
checkbusy()           
{
   RS=0;                   //命令/數據選擇,為0時選擇命令   
   RW=1;                   //讀/寫選擇,為1時選擇讀
   E=1;                    //使能
   while((P0&0x80)==0x80); //查忙標志位,等待標志位為0,即表示寫入完畢
   E=0;                    //關閉讀寫
}
//**************************************************************************************************
//向LCD寫一命令
//**************************************************************************************************
wcode(uchar cmdcode)
{
   checkbusy();            //查忙
   RS=0;                   //命令/數據選擇,為0時選擇命令
   RW=0;                   //讀/寫選擇,為0時選擇寫
   E=1;                    //使能
   P0=cmdcode;             //送入命令
   delay(10);              //等待寫入
   E=0;                    //關閉讀寫
}
//**************************************************************************************************
//向LCD寫一數據
//**************************************************************************************************
wdata(uchar dispdata)
{
   checkbusy();            //查忙
   RS=1;                   //命令/數據選擇,為1時選擇數據
   RW=0;                   //讀/寫選擇,為0時選擇寫
   E=1;                    //使能
   P0=dispdata;            //送入數據
   delay(10);              //等待寫入
   E=0;                    //關閉讀寫
}
//**************************************************************************************************
//LCD 初始化
//**************************************************************************************************
InitLCD()
   {
   PSB=1;             //設置為8BIT并口工作模式
   RES=0;             //復位
   delay(10);         //延時
   RES=1;             //關復位
   wcode(0x30);       //選擇基本指令集
   wcode(0x0c);       //開顯示(無游標、不反白)
   wcode(0x01);       //清除顯示,并且設定地址指針為00H
   wcode(0x06);       //指定在資料的讀取及寫入時,設定游標的移動方向及指定顯示的移位
   }  
//**************************************************************************************************
//任意位置顯示字符串
//**************************************************************************************************
void dis(uchar x,uchar y,uchar code *s)   
{                                     //x為橫坐標,y位縱坐標,*s表示指針,為數據的首地址
switch(y)                            //選擇縱坐標            
     {
   case 0: wcode(0x80+x);break;    //第1行
   case 1: wcode(0x90+x);break;    //第2行
   case 2: wcode(0x88+x);break;    //第3行
   case 3: wcode(0x98+x);break;    //第4行
      default:break;
  }
   while(*s>0)                        //寫入數據,直到數據為空
     {  
      wdata(*s);                      //寫數據
      delay(10);                      //等待寫入
      s++;                            //下一字符
     }
}
//**************************************************************************************************
//主函數
//**************************************************************************************************
main()
{  
   InitLCD();                      //初始化液晶
   while(1)                       //進入死循環,防止看門狗復位
    {
     dis(0,0,"  合肥煒煌電子  ");    //顯示第1行
     dis(0,1," www*hfwhdz*com ");    //顯示第2行
     delay(5000);                    //保持顯示一段時間
     wcode(0x01);                    //清屏
    }
}
這個程序為什么不能在觸屏液晶顯示屏上顯示,需要改什么參數嗎

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄网站在线播放 | 欧美一区二区三区精品 | 欧洲精品久久久久毛片完整版 | www97影院| 亚洲天堂免费 | 国产乱码精品1区2区3区 | 国产高清在线观看 | 欧美成年人视频在线观看 | 亚洲午夜精品一区二区三区他趣 | 免费在线观看一区二区三区 | www.狠狠操 | 成人午夜性成交 | 在线观看av网站 | 熟女毛片| 懂色av色香蕉一区二区蜜桃 | 天堂亚洲网 | 日日日日日日bbbbb视频 | 99爱在线观看| 久草热线 | 精品美女在线观看视频在线观看 | 黄色av观看| 亚洲国产精品一区二区三区 | 精产国产伦理一二三区 | av香蕉| 在线视频一区二区三区 | 亚洲福利一区二区 | 麻豆亚洲 | 玖玖爱365| 国产日韩精品久久 | 精品国产乱码久久久久久a丨 | 久久久久久天堂 | 免费毛片网 | 午夜一区| 成人在线免费视频观看 | 亚洲欧洲精品成人久久奇米网 | 久久中文免费视频 | 午夜性视频 | 亚洲人成人一区二区在线观看 | 久久不卡区 | 国精产品一品二品国精在线观看 | 日韩精品视频在线观看一区二区三区 |