×
单片机 > 单片机程序设计 > 详情

12864并口方式显示程序

发布时间:2020-06-18 发布时间:
|

12864并口方式显示程序                         
#include  

unsigned char code IC_DAT[];

 

sbit RS=P3^6;     //RS="H",表示DB7--DB0为显示数据, 
                  //RS="L",表示DB7--DB0为显示指令数据 

sbit WRD = P2^5;  //R/W="H",E="H",数据被读到DB7--DB0 
                   //R/W="L",E="H→L", DB7--DB0的数据被写到IR或DR 

sbit E = P2^6;    //使能信号 

sbit PSB = P2^3;  //H:并口方式 L:串口方式 


void    TransferData(char data1,bit DI); //传送数据或者地址命令(data), 
                                         //当DI=0是,传送命令,当DI=1,传送数据. 
void    display(void); 
void    display_grapic(void); 

void    delay(unsigned int m); 
void    delayms(unsigned int n); 

void    DisplayLine(unsigned char line1,unsigned char line2); 
void    DisplayGraphic(unsigned char code *adder); 

void    LCD_mesg(unsigned char code *adder1); 


unsigned char code IC_DAT[]={ 
"东哥 单片机 学习网" 
" www.picavr.com " 
"手机-13512767404" 
"商城--东哥邮购网" 
}; 

/***************LCD字库初始化程序*********************/ 
void initinal(void)          
          { 
           delay(40);               //大于40MS的延时程序 
           PSB=1;                   //设置为8BIT并口工作模式 
           delay(1);                //延时 
          // RES=0;                 //复位 
          // delay(1);              //延时 
          // RES=1;                 //复位置高 
           delay(10); 
           TransferData(0x30,0);  //Extended Function Set :8BIT设置,RE=0: basic instruction set, G=0 :graphic  
display OFF 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x30,0);  //Function Set 
           delay(37);             ////大于37uS的延时程序 
           TransferData(0x08,0);  //Display on Control 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x10,0);  //Cursor Display Control光标设置 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x0C,0);  //Display Control,D=1,显示开 
           delay(100);            //大于100uS的延时程序 
           TransferData(0x01,0);  //Display Clear    清屏 
           delay(10);             //大于10mS的延时程序 
           TransferData(0x06,0);  //Enry Mode Set,光标从右向左加1位移动 
           delay(100);            //大于100uS的延时程序 
          } 


//*************显示函数****************************** 

void lcd_mesg(unsigned char code *adder1) 

    unsigned char i; 
        TransferData(0x80,0);    //Set Graphic Display RAM Address 传地址指令 
        delay(100); 
    for(i=0;i<32;i++) 
        { 
              TransferData(*adder1,1); 
               adder1++; 
        } 

        TransferData(0x90,0);    //Set Graphic Display RAM Address 
        delay(100); 

    for(i=32;i<64;i++) 
        { 
              TransferData(*adder1,1); 
               adder1++; 
        } 


//********写命令/数据******************************* 

void    TransferData(char data1,bit DI)  //传送数据或者命令,当DI=0是,传送命令, 
          {                                 //当DI=1,传送数据. 
            WRD=0;    //R/W="H",E="H",数据被读到DB7--DB0,R/W="L",E="H→L", DB7--DB0的数据被写到IR 
或DR 
            RS=DI;    //RS="H",表示DB7--DB0为显示数据, RS="L",表示DB7--DB0为显示指令数据 
            delay(1); 
            P0=data1; 
            E=1; 
            delay(1); 
            E=0; 
           } 
//************延 时******************************************* 
void  delayms(unsigned int n)            //延时10×n毫秒程序 
                   { 
                      unsigned int i,j; 
                      for(i=0;i                         for(j=0;j<2000;j++); 
                   } 

void  delay(unsigned int m)              //延时程序 
                   { 
                      unsigned int i,j; 
                      for(i=0;i                         for(j=0;j<10;j++); 
                   } 


//************主函数************************************** 
void main(void) 
     {  
     initinal(); //调用LCD字库初始化程序  
          
         while(1) 
        { 
                     
          delay(10);            //大于100uS的延时程序 
          lcd_mesg(IC_DAT);      //显示中文汉字1 
          delayms(10); 

        } 
      } 

//************结 束****************************************** 


关键字:12864  并口方式  显示程序 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单