⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcm.lst

📁 基于ST7920A控制器的128*64液晶驱动程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 134          {
 135   1              uchar uc_Content;
 136   1              Parallel_Check_Busy();
 137   1              P1 = 0xff;                      //输入前置1
 138   1          RS = 1;                     //数据
 139   1          RW = 1;                     //读模式
 140   1              E = 1;                          //使能
 141   1              uc_Content = P1;    //P1口的内容放到变量中
 142   1              E = 0;
 143   1              return uc_Content;
 144   1      }
 145          
 146          //*************************************************************
 147          //*函数名称:void Parallel_DDRAM_Address_Set(uchar ucDDramAdd) *
 148          //*函数功能:设定DDRAM(文本区)地址到地址计数器AC                           *
 149          //*形式参数:uchar ucDDramAdd                                                              *
 150          //*行参说明:具体地址                                                                              *
 151          //*格式说明:                                                                                              *
 152          //*             RS      RW      DB7     DB6     DB5     DB4     DB3     DB2     DB1     DB0                               *
 153          //*             0       0       1       AC6     AC5     AC4     AC3     AC2     AC1     AC0                               *
 154          //*返回参数:无                                                                                            *
 155          //*使用说明:                                                                                              *
 156          //*     第一行地址:80H~8FH                                                                                *
 157          //*     第二行地址:90H~9FH                                                                                *
 158          //*     第三行地址:A0H~AFH                                                                                *
 159          //*     第四行地址:B0H~BFH                                                                                *
 160          //*************************************************************
 161          void Parallel_DDRAM_Address_Set(uchar ucDDramAdd)
 162          {
 163   1              Parallel_Write_LCD(COMMAND,BASIC_FUNCTION);                     //基本指令集
 164   1              Parallel_Write_LCD(COMMAND,ucDDramAdd);                         //设定DDRAM地址到地址计数器AC
 165   1      }
 166          
 167          
 168          //*************************************************************
 169          //*函数名称:void Parallel_CGRAM_Address_Set(uchar ucCGramAdd) *
 170          //*函数功能:设定CGRAM(自定义字库区)地址到地址计数器AC             *
 171          //*形式参数:uchar ucCGramAdd                                                              *
 172          //*形参说明:具体地址                                                                              *
 173          //*格式说明:                                                                                              *
 174          //*             RS      RW      DB7     DB6     DB5     DB4     DB3     DB2     DB1     DB0                               *
 175          //*             0       0       0       1       AC5     AC4     AC3     AC2     AC1     AC0                               *
 176          //*返回参数:无                                                                                            *
 177          //*使用说明:地址范围为40H~3FH                                                             *
 178          //*************************************************************
 179          void Parallel_CGRAM_Address_Set(uchar ucCGramAdd)
C51 COMPILER V8.02   LCM                                                                   06/09/2007 19:54:48 PAGE 4   

 180          {
 181   1              Parallel_Write_LCD(COMMAND,BASIC_FUNCTION);                     //基本指令集
 182   1              Parallel_Write_LCD(COMMAND,ucCGramAdd);                         //设定CGRAM地址到地址计数器AC
 183   1      }
 184          
 185          
 186          //*******************************************************************************
 187          //*函数名称:void Parallel_GDRAM_Address_Set(uchar ucGDramAdd)                                   *
 188          //*函数功能:设定GDRAM(图形区)地址到地址计数器AC                                                                 *
 189          //*形式参数:uchar ucGDramAdd                                                                                                    *
 190          //*形参说明:具体地址值                                                                                                                  *
 191          //*             RS      RW      DB7     DB6     DB5     DB4     DB3     DB2     DB1     DB0                                                                     *
 192          //*             0       0       1       AC6     AC5     AC4     AC3     AC2     AC1     AC0                                                                     *
 193          //*             先设定垂直位置再设定水平位置(连续写入两个字节完成垂直和水平位置的设置)  *       
 194          //*             垂直地址范围:AC6~AC0                                                                                                    *
 195          //*             水平地址范围:AC3~AC0                                                                                                    *
 196          //*返回参数:无                                                                                                                                  *
 197          //*使用说明:必须在扩展指令集的情况下使用                                                                                *
 198          //*******************************************************************************
 199          void Parallel_GDRAM_Address_Set(uchar ucGDramAdd)
 200          {
 201   1              Parallel_Write_LCD(COMMAND,EXTEND_FUNCTION);                    //扩展指令集
 202   1              Parallel_Write_LCD(COMMAND,ucGDramAdd);         
 203   1      }
 204          
 205          
 206          
 207          //*******************************************
 208          //*函数名称:void Parallel_Init_LCD(void)        *
 209          //*函数功能:并行初始化LCD                                       *
 210          //*形式参数:无                                                          *
 211          //*形参说明:无                                                          *
 212          //*返回参数:无                                                          *
 213          //*使用说明:无                                                          *
 214          //*******************************************
 215          void Parallel_Init_LCD(void)
 216          {
 217   1              RST = 1;                                                                        //复位后拉高,停止复位
 218   1              PSB = 1;                                                                        //选择并行传输模式              
 219   1              Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令动作   
 220   1              Parallel_Write_LCD(COMMAND,CLEAR_SCREEN);       //清屏,地址指针指向00H
 221   1              Parallel_Write_LCD(COMMAND,0x06);                   //光标的移动方向
 222   1              Parallel_Write_LCD(COMMAND,0x0c);                       //开显示,关游标
 223   1      
 224   1      }
 225          
 226          
 227          
 228          //********************************************************
 229          //*函数名称:void Parallel_Clear_Ram(void)                    *
 230          //*函数功能:并行清屏函数                                                     *
 231          //*形式参数:无                                                                       *
 232          //*形参说明:无                                                                   *
 233          //*返回参数:无                                                                       *
 234          //*使用说明:DDRAM填满20H,并设定DDRAM AC到00H             *
 235          //*格式说明:                                                                                     *
 236          //*                 RS  RW      DB7      DB6  DB5  DB4  DB3     DB2     DB1     DB0      *
 237          //*                 0   0        0        0        0    0        0   0   0       1       *
 238          //********************************************************
 239          void Parallel_Clear_Ram(void)
 240          {
 241   1              Parallel_Write_LCD(COMMAND,BASIC_FUNCTION);                     //基本指令集
C51 COMPILER V8.02   LCM                                                                   06/09/2007 19:54:48 PAGE 5   

 242   1              Parallel_Write_LCD(COMMAND,CLEAR_SCREEN);                       //清屏
 243   1      }
 244          
 245          
 246          //*****************************************************
 247          //*函数名称:void Parallel_Graph_Mode_Set(bit bSelect) *
 248          //*函数功能:打开或关闭绘图显示                                            *
 249          //*形式参数:bit bSelect                                                           *
 250          //*形参说明:打开或关闭绘图显示的标志位,1打开,0关闭        *
 251          //*格式说明:                                                                              *
 252          //*             RS      RW      DB7     DB6     DB5     DB4     DB3     DB2     DB1     DB0               *
 253          //*             0       0       0       0       1       DL      X       RE       G       X                *
 254          //*             DL:0,4bitMPU控制界面                                              *
 255          //*             DL:1,8bitMPU控制界面                                              *
 256          //*             RE:0,基本指令集                                                           *
 257          //*             RE:1,扩充指令集                                                           *
 258          //*             G :0,绘图显示OFF                                                          *
 259          //*             G :1,绘图显示ON                                                           *
 260          //*返回参数:无                                                                            *
 261          //*使用说明:无                                                                            *
 262          //*****************************************************
 263          void Parallel_Graph_Mode_Set(bit bSelect)
 264          {
 265   1              Parallel_Write_LCD(COMMAND,EXTEND_FUNCTION);    //扩展指令集
 266   1              if(bSelect)
 267   1              {
 268   2              Parallel_Write_LCD(COMMAND,GRAPH_ON);                   //打开绘图模式
 269   2              }
 270   1              else
 271   1              {
 272   2              Parallel_Write_LCD(COMMAND,GRAPH_OFF);                  //关闭绘图模式  
 273   2              }
 274   1      }
 275          

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -