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

📄 ts12864a.lst

📁 基于8051F实现数字电压表功能.用液晶作为显示界面,精度很高.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 147          {
 148   1      
 149   1        LCD_CSA = 1;
 150   1        delay_17us();
 151   1        LCD_CSB = 1;
 152   1        delay_17us();
 153   1      
 154   1        LCD_Write_Command(0x40|x);
 155   1        delay_17us();
 156   1        LCD_Write_Command(0xb8|y);
 157   1        delay_17us();
 158   1      
 159   1        if (x>=64)               //判断是否显示半面,如果大于64则全屏显示
 160   1          {
 161   2                LCD_CSA=0;
 162   2                delay_17us();
 163   2                LCD_CSB=1;
 164   2                delay_17us();
 165   2              } 
 166   1              else                       //小于64则半屏显示
 167   1              {
 168   2                LCD_CSA=1;
 169   2                delay_17us();
 170   2                LCD_CSB=0;      
 171   2                delay_17us();
 172   2              }
 173   1      
 174   1              LCD_DATA=0xff;                  //IO口将电平拉高
 175   1              delay_17us();
 176   1      }
 177          /*===============================================================*/
 178          /*函数名称: Dis_Play.c                                          */
 179          /*函数功能: 显示汉字,fb==1:反白显示                            */
C51 COMPILER V8.02   TS12864A                                                              03/29/2008 22:13:16 PAGE 4   

 180          /*函数说明: 具体说明如下:
 181                       x---------------------------------------------横轴位置                                                                                       
 182                       y---------------------------------------------纵轴位置
 183                                   n-------------------------------------数据在表中的位置 
 184                                   dis_value-----------------------------待显示汉字的代码
 185                                                                           */
 186          /*修改记录: 无修改记录                                          */
 187          /*编写日期: 2007-3-17                                           */
 188          /*===============================================================*/
 189          void Dis_Play(unsigned char x,unsigned char y,unsigned char dis_value)
 190          {
 191   1              LCD_Set_xy(x,y);
 192   1              LCD_Write_Data(dis_value);
 193   1      }
 194          
 195          void LCD_Init(void)                            
 196          {
 197   1      
 198   1              LCD_CSA = 1;
 199   1              delay_17us();
 200   1              LCD_CSB = 1;                      //控制器全开
 201   1              delay_17us();
 202   1              LCD_Write_Command(0x3f);  //开显示
 203   1              delay_17us();
 204   1              LCD_Write_Command(0xc0);  //设置起始地址
 205   1              delay_17us();
 206   1      
 207   1      }
 208          
 209          /*===============================================================*/
 210          /*函数名称: Display_Character.c                                 */
 211          /*函数功能: 显示汉字,fb==1:反白显示                            */
 212          /*函数说明: 具体说明如下:
 213                       x---------------------------------------------横轴位置                                                                                       
 214                       y---------------------------------------------纵轴位置
 215                                   n-------------------------------------数据在表中的位置 
 216                                   dis_table-----------------------------待显示数据代码表
 217                                   dis_value-----------------------------待显示汉字的代码
 218                                                                           */
 219          /*修改记录: 无修改记录                                          */
 220          /*编写日期: 2007-3-17                                           */
 221          /*===============================================================*/
 222          void Display_Character(unsigned char x,unsigned char y,unsigned char n) 
 223          {
 224   1              unsigned char i,dis_value;                        
 225   1              for(i=0;i<16;i++)
 226   1              {
 227   2                switch(y) 
 228   2                { 
 229   3                   case 1: dis_value=dis_table[i+n*32];      //确定显示的值,上半部分
 230   3                           Dis_Play(x*8+i,1,dis_value);
 231   3                           dis_value=dis_table[i+n*32+16];   //确定显示的值,上半部分
 232   3                           Dis_Play(x*8+i,2,dis_value);
 233   3                                       break;
 234   3                   case 3: dis_value=dis_table[i+n*32];      //确定显示的值,上半部分
 235   3                           Dis_Play(x*8+i,3,dis_value);
 236   3                           dis_value=dis_table[i+n*32+16];   //确定显示的值,上半部分
 237   3                           Dis_Play(x*8+i,4,dis_value);
 238   3                                       break;
 239   3                   case 5: dis_value=dis_table[i+n*32];      //确定显示的值,上半部分
 240   3                           Dis_Play(x*8+i,5,dis_value);
 241   3                           dis_value=dis_table[i+n*32+16];   //确定显示的值,上半部分
C51 COMPILER V8.02   TS12864A                                                              03/29/2008 22:13:16 PAGE 5   

 242   3                           Dis_Play(x*8+i,6,dis_value);
 243   3                                       break;
 244   3                       default:break;
 245   3                }
 246   2              }
 247   1      }
 248          
 249          /*===============================================================*/
 250          /*函数名称: Display_Char.c                                      */
 251          /*函数功能: 显示字符,fb==1:反白显示                            */
 252          /*函数说明: 具体说明如下:
 253                       x---------------------------------------------横轴位置                                                                                       
 254                       y---------------------------------------------纵轴位置
 255                                   n-------------------------------------数据在表中的位置 
 256                                   dis_table-----------------------------待显示数据代码表
 257                                   dis_value-----------------------------待显示汉字的代码
 258                                                                           */
 259          /*修改记录: 无修改记录                                          */
 260          /*编写日期: 2007-3-17                                           */
 261          /*===============================================================*/
 262          void Display_Char(unsigned char x,unsigned char y,unsigned char n)
 263          {
 264   1              unsigned char i,dis_value;
 265   1              for (i=0;i<8;i++)
 266   1              {
 267   2                 dis_value=shuzi_table[i+n*16];
 268   2                 Dis_Play(x*8+i+1,y,dis_value);
 269   2                 dis_value=shuzi_table[i+n*16+8]; 
 270   2                 Dis_Play(x*8+i+1,y+1,dis_value);
 271   2              }
 272   1      } 
 273          
 274          void delay_17us()
 275           {
 276   1       
 277   1               unsigned char t=17;
 278   1               while(--t)
 279   1               {
 280   2               
 281   2                  _nop_();
 282   2               
 283   2               }  
 284   1       
 285   1       }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    743    ----
   CONSTANT SIZE    =    992    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      18
   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 + -