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

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

avr單片機(jī)驅(qū)動(dòng)12864液晶程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年03月19日   【字體:
/*LCD12864顯示子程序*、

 

#include<util/delay.h>
#define uchar unsigned char
#define uint unsigned int

#define SETLCD12864RS PORTA|=(1<<PA4)
#define SETLCD12864RW PORTA|=(1<<PA5)
#define SETLCD12864EN PORTA|=(1<<PA6)

#define CLLCD12864RS PORTA&=~(1<<PA4)
#define CLLCD12864RW PORTA&=~(1<<PA5)
#define CLTLCD12864EN PORTA&=~(1<<PA6)

#define PSB PA3

void initLCD12864_PORTX(void)
{
  PORTB =0xff;
  DDRB =0xff;
  
  PORTA =0x00;
  DDRA =(1<<PA4)|(1<<PA5)|(1<<PA6);

}
void delay_1ms(void)
{
  unsigned int i=0;
  for(i=0;i<1140;i++);
}
void delay_nms(unsigned int n)
{
  unsigned int i=0;
  for(i=0;i<n;i++)
  {
    delay_1ms();
  }
}
void LCM12864_TestBusy(void)//忙檢測(cè)子程序//
{
  unsigned int uiTemp;
          uiTemp=3000;
    DDRB =0x00;
    CLLCD12864RS;   //RS =0;讀命令//
   SETLCD12864RW;  //RW=1;讀指令//
         SETLCD12864EN;  // E=1;使能//
  while((0x80&PINB)&&(uiTemp--));  //忙信號(hào)檢測(cè),直到忙信號(hào)為0,才能讀寫(xiě)操作//
         CLTLCD12864EN;   //E=0;//
         DDRB =0xff;      //PB為輸出口,準(zhǔn)備向端口發(fā)送數(shù)據(jù)//   
    
}

void write_cmd_12864(unsigned char LCM12864_command)//寫(xiě)操作子程序//
{
  LCM12864_TestBusy();
         CLLCD12864RS;//RS=0;//
         CLLCD12864RW;//RW=0;//
         SETLCD12864EN;//E=0;//
   _delay_ms(2);
   PORTB = LCM12864_command;//向PB端口寫(xiě)一個(gè)指令//
   CLTLCD12864EN;  //E=0;//
 LCM12864_TestBusy();  
}

void LCD12864Init(void)
{
 write_cmd_12864(0x01);  //清屏
 _delay_ms(15);
 write_cmd_12864(0x38);  //顯示模式 
 _delay_ms(5);
          //LCD12864WriteCommand(0x0f);  //顯示開(kāi)關(guān)控制,開(kāi)顯示,光標(biāo)顯示,光標(biāo)閃爍
 write_cmd_12864(0x0c);  //顯示開(kāi)關(guān)控制,開(kāi)顯示,光標(biāo)不顯示,光標(biāo)不閃爍
 _delay_ms(5);
 write_cmd_12864(0x06);  //光標(biāo)設(shè)置,讀或?qū)懸粋(gè)字符后,地址指針加一,光標(biāo)加一,整屏不移動(dòng)
 _delay_ms(5);
}


void write_data_12864(unsigned char LCM12864_data)//寫(xiě)涵數(shù)//
{
  LCM12864_TestBusy(); 
        SETLCD12864RS;
  CLLCD12864RW;
  SETLCD12864EN;//E=0;//
  _delay_ms(2);
  PORTB = LCM12864_data;//向PB口寫(xiě)一個(gè)涵數(shù)
  CLTLCD12864EN;  //E=0;//
  LCM12864_TestBusy();
  
 
}

void LCD_set_xy( unsigned char x, unsigned char y )//初始化液晶行和例//
{
  unsigned char address;
  switch(y){
            case 0: address=0x80+x;break;//第一例//
   case 1: address=0x90+x;break;//第二例//
   case 2: address=0x88+x;break;//第三例//
   case 3: address=0x98+x;break;//第四例//
   default:address=0x80+x;//默認(rèn)第一例//
   
           }
     write_cmd_12864(address);
}

void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s)//X列,Y行,*S字符串//
  {
  LCD_set_xy( X, Y );
    
    while (*s) 
      {
        write_data_12864(*s );
     s ++;
  delay_nms(1);
   }
  }  
  
  
void LCD12864_write_char(unsigned char X,unsigned char Y,unsigned char data)//X列,Y行,涵數(shù)//
{
  LCD_set_xy( X,Y );
  write_data_12864(data);
}
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 中文字幕永久免费 | 日韩精品中文字幕在线观看 | 九九免费视频 | 久久888 | 国产精品久久一区 | 国产精品午夜视频 | 国产黄色大片 | 在线免费看黄色 | 九九视频这里只有精品 | 免费视频毛片 | 欧美一级艳片视频免费观看 | 亚洲欧美日韩成人 | 国产91在线观看 | 狠狠干在线视频 | 91综合在线 | 好了av在线 | 国产欧美日韩综合精品 | 黄色片网站视频 | 成人3d动漫 | 欧美日韩免费一区二区三区 | 国产精品成人国产乱一区 | 成人在线观看网址 | 免费看色片 | 日本精品在线观看 | 日韩一区二区在线视频 | 97超碰免费 | 黄色一区二区三区 | 精品一区在线播放 | 成 人 黄 色 片 在线播放 | 久久久亚洲一区 | 18视频在线观看男男 | 久久久一区二区 | 久久在线免费视频 | 精品一区二区三区在线观看 | 国产综合视频 | 精品一区二区三区免费 | 长河落日电视连续剧免费观看 | 精品www| 成人黄色网 | 99精品网 | 亚洲精品911|