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

📄 lcd_driver_user.lst

📁 SED1565(SPLC501)控制的lcm的菜单显示c源码。特点是比较方便移植。
💻 LST
📖 第 1 页 / 共 2 页
字号:
 153                  x = y;                                          //无意义,仅为了让系统不提示警告
 154          }
 155          //========================================================================
 156          // 函数: unsigned int Get_Dot_LCD(int x,int y)
 157          // 描述: 获取在LCD的真实坐标系上的X、Y点上的当前填充色数据
 158          // 参数: x              X轴坐标
 159          //               y              Y轴坐标
 160          // 返回: 该点的颜色
 161          // 备注: 暂不使用该函数
 162          // 版本:
 163          //      2006/10/15      First version
 164          //========================================================================
 165          unsigned int Get_Dot_LCD(int x,int y)
 166          {
 167                  unsigned int Read_Data;
 168                  //可根据自己的需要填写代码
 169                  x = y;                                          //无意义,仅为了让系统不提示警告
 170                  return Read_Data;
 171          }          */
 172          /*
 173          //========================================================================
 174          // 函数: void Set_Dot_Addr_LCD(int x,int y)
 175          // 描述: 设置在LCD的真实坐标系上的X、Y点对应的RAM地址
 176          // 参数: x              X轴坐标
 177          //               y              Y轴坐标
 178          // 返回: 无
 179          // 备注: 仅设置当前操作地址,为后面的连续操作作好准备
C51 COMPILER V8.02   LCD_DRIVER_USER                                                       06/27/2007 00:58:40 PAGE 4   

 180          // 版本:
 181          //      2006/10/15      First version
 182          //              2007/01/09              V1.2 
 183          //========================================================================
 184          void Set_Dot_Addr_LCD(unsigned char x,unsigned char y)
 185          {
 186                  unsigned char x_low,x_hight;                                                    //定义列地址的高低位指令
 187                  unsigned char y_Page;                                                           //用于存放要画点的位置所在的byte数据位置
 188                  x = x+4;
 189                  x_low = (x&0x0f);                                                                       //定位列地址设置的低位指令
 190                  x_hight = ((x>>4)&0x0f)+0x10;                                           //定位列地址设置的高位指令
 191                  y_Page = (y>>3)+0xb0;                                                           //Get the page of the byte
 192                  LCD_RegWrite(y_Page);
 193                  LCD_RegWrite(x_low);
 194                  LCD_RegWrite(x_hight);
 195          }*/
 196          /*
 197          //========================================================================
 198          // 函数: void LCD_Fill_s(unsigned int Number,unsigned int Color)
 199          // 描述: 连续填充以Color色调的Number个点
 200          // 参数: Number 填充的数量    Color  像素点的颜色  
 201          // 返回:
 202          // 备注: 该函数可能会使用到
 203          // 版本:
 204          //      2006/10/15      First version
 205          //              2007/01/09              V1.2 
 206          //========================================================================
 207          void LCD_Fill_s(unsigned int Number,unsigned char Color)
 208          {
 209                  while(Number!=0)
 210                  {
 211                          LCD_DataWrite(Color);                                           //
 212                          Number--;
 213                  }
 214          } */
 215          //========================================================================
 216          // 函数: void LCD_Fill(unsigned int Data)
 217          // 描述: 会屏填充以Data的数据至各点中
 218          // 参数: Data   要填充的颜色数据
 219          // 返回: 无
 220          // 备注: 仅在LCD初始化程序当中调用
 221          // 版本:
 222          //      2006/10/15      First version
 223          //              2007/01/09              V1.2 
 224          //========================================================================
 225          void LCD_Fill(unsigned char Data)
 226          {
 227   1              unsigned char i,j;
 228   1              unsigned char uiTemp;
 229   1              uiTemp = Dis_Y_MAX;
 230   1              uiTemp = uiTemp>>3;
 231   1              for(i=0;i<=uiTemp;i++)                                                          //往LCD中填充初始化的显示数据
 232   1              {
 233   2                      LCD_RegWrite(0xb0+i);
 234   2                      LCD_RegWrite(0x04);
 235   2                      LCD_RegWrite(0x10);
 236   2                      for(j=0;j<=Dis_X_MAX;j++)
 237   2                      {
 238   3                              LCD_DataWrite(Data);
 239   3                      }
 240   2              }
 241   1      }
C51 COMPILER V8.02   LCD_DRIVER_USER                                                       06/27/2007 00:58:40 PAGE 5   

 242          //========================================================================
 243          // 函数: void LCD_Init(void)
 244          // 描述: LCD初始化程序,在里面会完成LCD初始所需要设置的许多寄存器,具体如果
 245          //               用户想了解,建议查看DataSheet当中各个寄存器的意义
 246          // 参数: 无 
 247          // 返回: 无
 248          // 备注:
 249          // 版本:
 250          //      2006/10/15      First version
 251          //              2007/01/09              V1.2 
 252          //========================================================================
 253          //延时程序
 254          
 255          void TimeDelay(int Time)
 256          {
 257   1              int i;
 258   1              while(Time > 0)
 259   1              {
 260   2                      for(i = 0;i < 800;i++)
 261   2                      {
 262   3                      //      _nop_();
 263   3                      }
 264   2                      Time --;
 265   2              }
 266   1      }
 267          void LCD_Init(void)
 268          {
 269   1              //LCD驱动所使用到的端口的初始化(如果有必要的话)
 270   1      //      LCD_PortInit();
 271   1              LCD_RS = 0;
 272   1              TimeDelay(200);
 273   1              LCD_RS = 1;
 274   1                      
 275   1              LCD_RegWrite(M_LCD_ON);                                                 //LCD On
 276   1              LCD_RegWrite(M_LCD_POWER_ALL);                                  //设置上电控制模式
 277   1              
 278   1              LCD_RegWrite(M_LCD_ELE_VOL);                                    //电量设置模式(显示亮度)
 279   1              LCD_RegWrite(0x38);                                                             //指令数据0x0000~0x003f
 280   1              
 281   1              LCD_RegWrite(M_LCD_VDD_SET);                                    //V5内部电压调节电阻设置
 282   1              LCD_RegWrite(M_LCD_VDD);                                                //LCD偏压设置,V3时选
 283   1              
 284   1              LCD_RegWrite(M_LCD_COM_NOR);                                    //Com 扫描方式设置
 285   1              LCD_RegWrite(M_LCD_SEG_REV);                                    //Segment方向选择
 286   1              LCD_RegWrite(M_LCD_ALL_LOW);                                    //全屏点亮/变暗指令
 287   1              LCD_RegWrite(M_LCD_ALL_NOR);                                    //正向反向显示控制指令
 288   1              
 289   1              LCD_RegWrite(M_LCD_STATIC_OFF);                                 //关闭静态指示器
 290   1              LCD_RegWrite(0x00);                                                             //指令数据
 291   1              
 292   1              LCD_RegWrite(M_LCD_BEGIN_LINE+0);                               //设置显示起始行对应RAM
 293   1              LCD_Fill(LCD_INITIAL_COLOR);
 294   1      }
 295          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    342    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
C51 COMPILER V8.02   LCD_DRIVER_USER                                                       06/27/2007 00:58:40 PAGE 6   

   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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