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

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

帶字符型12864單片機(jī)顯示程序

作者:佚名   來源:不詳   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月17日   【字體:

 

 
 
//帶字符型12864單片機(jī)顯示程序
 
 
 
#include<reg52.h>
#include <math.h>
 
 
 
void lcd_init(void);
void clr_lcd(void);
void send_com(unsigned char cmd);
void send_data(unsigned char dat);
void chek_busy(void);
void set_xy(unsigned char xpos,unsigned char ypos);
void print(unsigned char x,unsigned char y,char* str);
void printstr(unsigned char xpos,unsigned char ypos,unsigned char str[],unsigned char k);
 
unsigned char code buf[4] ={0xbb,0xb6,0xd3,0xad};//歡迎
 
 
#define DATA       P2
#define CONTROL P1
#define E    2           //并行的使能信號(hào)        sbit E   = P0^7
#define RW   1          //并行的讀寫信號(hào)         sbit RW = P0^6
#define RS   0         //并行的指令數(shù)據(jù)選擇信號(hào) sbit RS = P0^5  
#define PSB 3         //并/串行接口選擇         sbit PSB = P0^4
 
12864 LCD分為字符型和點(diǎn)陣型,字符型即內(nèi)帶中文字庫的有PSB串并選擇引腳。
#define RST 5         //復(fù)位低電平有效         sbit RST = P0^3
#define SETB(x,y) (x|=(1<<y))
#define CLRB(x,y) (x&=(~(1<<y)))
#define CHKB(x,y) (x&(1<<y))
 
 
/測(cè)忙碌/
//測(cè)忙碌子程序
//RS=0,RW=1,E=H,D0-D7=狀態(tài)字
void chek_busy(void)
{ unsigned char temp1;//狀態(tài)信息(判斷是否忙)
   CLRB(CONTROL,RS);    // RS = 0;
   SETB(CONTROL,RW);    // RW = 1;
   SETB(CONTROL,E);    // E = 1;
   do{temp1 = DATA;DATA=0xFF;} while(temp1&0x80);
   SETB(CONTROL,E);   // E = 1;
   DATA=0xFF;
}
/寫命令/
//寫命令子程序
void send_com(unsigned char cmd)
{
chek_busy();
CLRB(CONTROL,RS); //RS = 0;
CLRB(CONTROL,RW); //RW = 0;
DATA = cmd;
SETB(CONTROL,E); //E = 1;
CLRB(CONTROL,E); //E = 0;
}
/寫數(shù)據(jù)/
//寫數(shù)據(jù)子程序
void send_data(unsigned char dat)
{
chek_busy();
SETB(CONTROL,RS); //RS = 1;
CLRB(CONTROL,RW); //RW = 0;
DATA = dat;
SETB(CONTROL,E); //E = 1;
CLRB(CONTROL,E); //E = 0;
}
/初始化/
//復(fù)位、通訊方式選擇
void lcd_init(void)
{
    SETB(CONTROL,RST);//復(fù)位RST=1
    SETB(CONTROL,PSB);       //通訊方式為并口PSB = 1
      //send_com(0x34);//34H--擴(kuò)充指令操作
send_com(0x30);//功能設(shè)置,一次送8位數(shù)據(jù),基本指令集
send_com(0x0C);//0000,1100 整體顯示,游標(biāo)off,游標(biāo)位置off
send_com(0x01);//0000,0001 清DDRAM
send_com(0x02);//0000,0010 DDRAM地址歸位
send_com(0x80);//1000,0000 設(shè)定DDRAM 7位地址000,0000到地址計(jì)數(shù)器AC
}
 
//          設(shè)置顯示位置    xpos(1~16),tpos(1~4)
void set_xy(unsigned char xpos,unsigned char ypos)
{
switch(ypos)
{
   case 1:
    send_com(0X80|xpos);break;
   case 2:
    send_com(0X90|xpos);break;
   case 3:
    send_com(0X88|xpos);break;
   case 4:
    send_com(0X98|xpos);break;
   default:break;
}
}
//          在指定位置顯示字符串
void print(unsigned char x,unsigned char y,char* str)
{
    unsigned char lcd_temp;
    set_xy(x,y);
    lcd_temp=*str;
    while(lcd_temp != 0x00)
    {
        send_data(lcd_temp);
        lcd_temp=*(++str);
    }
}
 
//寫字符串
 
//寫字符串子程序
//xpos1取0~7共八列,ypos1取0~3共四行。
    void printstr(unsigned char xpos,unsigned char ypos,unsigned char str[],unsigned char k)
{ unsigned char n;
     switch (ypos)
    { case 1: xpos |= 0x80;break;         //第一行
      case 2: xpos |= 0x90;break;         //第二行
      case 3: xpos |= 0x88;break;         //第三行
      case 4: xpos |= 0x98;break;         //第四行
      default: break;
     }
      send_com(xpos);     //此處的Xpos已轉(zhuǎn)換為L(zhǎng)CM的顯示寄存器實(shí)際地址
      for(n=0;n < k;n++)
     {
      send_data(str[n]);//顯示漢字時(shí)注意碼值,連續(xù)兩個(gè)碼表示一個(gè)漢字
      }
   }
 
//清屏
void clr_lcd(void)
{
   send_com(0x01);
   //send_com(0x34);
   //send_com(0x30);
}
 
//主函數(shù)
 
void main ()
{
lcd_init();     //設(shè)定液晶工作方式
printstr(1,1,buf,4);
print(5,1,"光臨");
print(0,3," NATHAN_ZHANG");
while(1) { }
}
 
關(guān)閉窗口
主站蜘蛛池模板: 午夜视频在线免费观看 | 自拍偷拍亚洲视频 | 欧美a级成人淫片免费看 | 视频一区二区中文字幕 | 美女视频三区 | 亚洲三区视频 | 欧美综合一区二区三区 | 国产精品色 | 久久精品视频在线观看 | 国产精品久久久久久吹潮 | 亚洲国产精品久久久 | 中文字幕亚洲一区 | 女人夜夜春| av在线一区二区三区 | 国产在线高清 | 一二三在线视频 | 成人在线电影网站 | 在线欧美亚洲 | 日韩国产在线观看 | 51ⅴ精品国产91久久久久久 | 在线播放亚洲 | 久久久久久久久久久福利观看 | www.中文字幕.com | 久久日韩精品 | 亚洲精品国产电影 | 国产精品久久久久久久久图文区 | 91中文视频 | 国内久久| 91在线视频免费观看 | 成人精品国产 | 日韩中文电影 | xnxx 日本免费 | 韩国久久 | 日韩成人在线电影 | 男女性毛片 | 超碰人人做| 黑人粗黑大躁护士 | 国产一区二区三区在线免费 | 成人视屏在线观看 | 99国产精品久久久 | 午夜免费电影院 |