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

標題: 求助:LCD12864測試字符表時顯示問題,加while(1);不顯示 [打印本頁]

作者: ANDATE    時間: 2016-4-24 14:35
標題: 求助:LCD12864測試字符表時顯示問題,加while(1);不顯示
問題描述:我用12864液晶顯示字符表的時候,液晶顯示字符不停地從第一行到最后一行快速刷新;后來我打算在主函數中加入“while(1);”希望可以停止刷新,字符穩定顯示在液晶屏幕上。但是下載程序到單片機中,結果什么都不顯示了。嘗試了很多方法:驗證串行時序,查詢手冊規范初始化,調整延長時間,但并沒解決,望大家幫忙找找問題。
基本信息:lcd:jm12864g  驅動器是st7920                                 單片機:stc89c52 編譯環境: keil軟件
程序內容:
#include <reg52.h>
#include <intrins.h>

#define uchar unsigned char
#define uint  unsigned int
//*******JM12864端口定義***********//     
sbit cs=P3^5;            //數據命令輸入選擇
sbit sid=P3^6;            //讀寫操作選擇
sbit sclk=P3^4;         //液晶使能控制
sbit psb=P3^7;           //串并數據傳輸方式選擇
sbit dula=P2^6;
sbit wela=P2^7;          //位鎖端鎖


//***********************************************************//
//*          延遲函數                                                                                          *//
//***********************************************************//
void delay_Nms(int ms)
{
    while(ms--)
        {
      uchar i;
          for(i=0;i<250;i++)  
           {
        delayNOP();
           }
        }
}


//***********************************************************//
//*        發送一個字節數據                                                                              *//
//***********************************************************//

void sendbyte(uchar byte)
{
        uchar i;
        for(i=0;i<8;i++)
        {
                if((byte<<i)&0x80)  
        {  
            sid= 1;  
        }  
        else  
        {  
            sid= 0;  
        }  
        sclk= 0;  
        sclk= 1;   
    }

}

void send(bit start, uchar ddata) //寫指令或數據
{
  uchar start_data,Hdata,Ldata;
  if(start==0)
    start_data=0xf8;  //寫指令
  else      
    start_data=0xfa;  //寫數據
  cs=1;
  Hdata=ddata&0xf0;    //取高四位
  Ldata=(ddata<<4)&0xf0;  //取低四位
  sendbyte(start_data);   //發送起始信號
  delay_Nus(600);
  sendbyte(Hdata);       //發送高四位
  delay_Nus(600);
  sendbyte(Ldata);    //發送低四位
  delay_Nus(600);
  cs=0;
}


//***********************************************************//
//*          LCD初始化設定                                                                                *//
//***********************************************************//
void lcd_init()
{
        psb=0;
        
        send(0,0x30);    //基本指令集
        delay_Nms(1);
        send(0,0x30);    //基本指令集
        delay_Nms(1);
        send(0,0x0c);    //顯示開,關光標
        delay_Nms(1);
        send(0,0x01);    //清屏
        delay_Nms(20);
        send(0,0x06);    //游標右移
        delay_Nms(10);
        send(0,0x80);    //設定起始位置
}

//***********************************************************//
//*                主程序                                                                                       *//
//***********************************************************//
  void main()
{
   uchar i;
    delay_Nms(1);                 //延時

    lcd_init();                //初始化lcd  

     send(0,0x80);             //設置顯示位置為第一行第一個字符
                 for(i=1;i<16;i++)
                 {send(1,0x00+i);}
     send(0,0x90);             //設置顯示位置為第二行第一個字符
                 for(i=1;i<16;i++)         
                 {send(1,0x10+i);}
     send(0,0x88);
                 for(i=1;i<16;i++)
                 {send(1,0x20+i);}
     send(0,0x98);             //設置顯示位置為第四行第一個字符
                 for(i=1;i<16;i++)
                 {send(1,0x30+i);}

      while(1);
}






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产日韩一区二区三免费高清 | 黑人巨大精品欧美一区二区免费 | 久久久久久久久久久高潮一区二区 | 日韩精品久久久 | 国产精品久久性 | 男女深夜网站 | 国产精品亚洲第一 | 久久er99热精品一区二区 | 欧美高清性xxxxhdvideosex | 天天碰日日操 | 国产精品视频一二三区 | 日韩av在线中文字幕 | 99免费在线观看 | 久久精品国产一区二区电影 | 草草影院ccyy | av毛片在线免费观看 | 久久久欧洲| 国产乱码精品一区二区三区中文 | 国产亚洲精品精品国产亚洲综合 | 国产成人精品免费 | 精品成人av | av在线播放一区二区 | 国产精品美女一区二区三区 | 亚洲高清视频一区 | av黄色免费 | 成年人在线观看 | 一级黄色淫片 | 亚洲欧美在线观看 | 免费一级做a爰片久久毛片潮喷 | 亚洲 欧美 日韩在线 | 天天激情综合 | 我要看一级片 | 亚洲成人蜜桃 | 九九精品在线 | 日韩成人一区 | 免费一级黄色 | 亚洲福利一区二区 | 日韩成人在线看 | 久久久久久免费看 | 欧美激情视频网站 | 欧美在线国产精品 |