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

📄 sed1520_zongxian.lst

📁 单片机接口技术实用子程序配套源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 164   1          unsigned char show_DATA;
 165   1          unsigned char state_temp;
 166   1              while(state_temp&0x80==1) //判"忙"标志为"0"否, 否再读
 167   1              state_temp=CRADD2;        //设置读状态字地址
 168   1          show_DATA=DRADD2;         // 读数据
 169   1              return(show_DATA);        //返回显示区数据 
 170   1          }//--------------------------------------------------------------------------------------------------
 171          // 函数名称: LCD_Command
 172          // 入口参数:  nCommand 命令字
 173          // 函数功能: 把命令字写入两个SED1520
 174          //--------------------------------------------------------------------------------------------------
 175          void LCD_Command(unsigned char nCommand)
 176                {
 177   1            LCD_Command1(nCommand);
 178   1            LCD_Command1(nCommand);
 179   1             }
C51 COMPILER V7.06   SED1520_ZONGXIAN                                                      06/08/2005 22:56:46 PAGE 4   

 180          //--------------------------------------------------------------------------------------------------
 181          // 函数名称: LCD_SetRam
 182          // 入口参数:  bChip2,ndata 
 183          //             bChip2用于选择控制器 bChip2=0选择SED1520-1
 184          //                                   bChip2=1选择SED1520-2
 185          //             ;ndata是要写入的数据
 186          // 函数功能: 把显示数据写入其中一个SED1520
 187          //--------------------------------------------------------------------------------------------------
 188          void LCD_SetRam(bit bChip2,unsigned char ndata)
 189          {
 190   1             if(!bChip2)
 191   1          {
 192   2          WRITE_showDATA1(ndata);
 193   2          }
 194   1          else
 195   1          {
 196   2          WRITE_showDATA2(ndata);
 197   2          }
 198   1      }
 199          //--------------------------------------------------------------------------------------------------
 200          // 函数名称: LCD_Write
 201          // 入口参数: npage, ncolumn,ndata 
 202          //            npage取值0~7;当取0~3时在SED1520-1;
 203          //                          当取4~1时在SED1520-2;
 204          //            ncolumn取 0~60
 205          //             ;ndata是要写入的数据
 206          // 函数功能: 把显示数据写入指定的位置
 207          //--------------------------------------------------------------------------------------------------
 208          void LCD_Write(unsigned char npage,unsigned char ncolumn,unsigned char ndata)
 209          {
 210   1          LCD_SetPage(npage%4);
 211   1          LCD_SetColumn(ncolumn);
 212   1          LCD_SetRam(npage>3,ndata);   
 213   1      }
 214          //--------------------------------------------------------------------------------------------------
 215          // 函数名称: LCD_PageWrite
 216          // 入口参数: npage,*ndata
 217          //            npage取值0~7;当取0~3时在SED1520-1;
 218          //                          当取4~1时在SED1520-2;
 219          //             *ndata是要写入的数据的地址指针
 220          // 函数功能: 把显示数据写入指定的位置
 221          //--------------------------------------------------------------------------------------------------
 222          void LCD_PageWrite(unsigned char npage,unsigned char idata *ndata)
 223          {
 224   1          unsigned char i;
 225   1          bit bChip2=npage>3;
 226   1          LCD_SetPage(npage%4);
 227   1          LCD_SetColumn(0);
 228   1          for(i=0;i<61;i++)
 229   1              LCD_SetRam(bChip2,ndata[i]);
 230   1      }
 231          //--------------------------------------------------------------------------------------------------
 232          // 函数名称: LCD_Init
 233          // 函数功能: 初始化SED1520
 234          //--------------------------------------------------------------------------------------------------
 235          void LCD_Init()
 236          {
 237   1          LCD_Command(LCD_RESET);
 238   1          LCD_Command(0xa0);
 239   1          LCD_Command(LCD_DUTY32);
 240   1          LCD_Command(0xa4);
 241   1      }
C51 COMPILER V7.06   SED1520_ZONGXIAN                                                      06/08/2005 22:56:46 PAGE 5   

 242          //--------------------------------------------------------------------------------------------------
 243          // 函数名称: GetIndex
 244          // 入口参数: szText
 245          //            szText表示要显示的字符
 246          // 返回值:   GetIndex
 247          //            要显示的字符在字摩存储区的位置(第几个子模)
 248          // 函数功能: 查询字符在字模存储区的位置
 249          //--------------------------------------------------------------------------------------------------
 250          unsigned char GetIndex(unsigned char szText)
 251          {
 252   1         unsigned char code TAB[100]={ 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q'
 253   1      ,'R','S','T','U','V','W','X','Y','Z'};
 254   1          unsigned char i;
 255   1          for(i=0;i<=26;i++)        
 256   1              if(szText==TAB[i]) return i;
 257   1          return 0x00;
 258   1      }
 259          //--------------------------------------------------------------------------------------------------
 260          // 函数名称: GetTextFont
 261          // 入口参数: index
 262          //            index表示要查询第几个字模(所有的子模预先存在程序存储区)
 263          // 返回值:   Font 
 264          //            6个字节的font用于存储字模,返回字模存储区的首地址
 265          // 函数功能: 查询字符的字模
 266          //--------------------------------------------------------------------------------------------------
 267          unsigned char *GetTextFont(unsigned char index)
 268          {
 269   1          static unsigned char Font[6];
 270   1          unsigned char i;
 271   1          for(i=0;i<6;i++)
 272   1              Font[i]=ASCII[index][i];
 273   1          return Font;
 274   1      }
 275          //--------------------------------------------------------------------------------------------------
 276          // 函数名称: LCD_TextOut
 277          // 入口参数: x,y,*szText
 278          //            x,y用于指定显示区的位置
 279          //            *szText是要显示字符字模存储区的首地址
 280          // 函数功能: 在指定的位置显示一个字符
 281          //--------------------------------------------------------------------------------------------------
 282          void LCD_TextOut(unsigned char x,unsigned char y,unsigned char *szText)
 283          {
 284   1          unsigned char i;
 285   1          bit bChip2;
 286   1          x%=20;
 287   1          y%=4;
 288   1          if(x>=10)
 289   1          {
 290   2          x-=10;
 291   2          y+=4;
 292   2          }
 293   1          bChip2=y>3;
 294   1          LCD_SetPage(y%4);
 295   1          LCD_SetColumn(x*6);
 296   1          for(i=0;i<6;i++) LCD_SetRam(bChip2,szText[i]);
 297   1      }
 298          //--------------------------------------------------------------------------------------------------
 299          // 函数名称:Printf
 300          // 入口参数: x,y,*szText
 301          //            x,y用于指定显示区的初始位置
 302          //            *SHOW_WORD指向要显示字符数组
 303          // 函数功能: 从指定的位置开始连续显示字符,最多显示20个字符
C51 COMPILER V7.06   SED1520_ZONGXIAN                                                      06/08/2005 22:56:46 PAGE 6   

 304          //--------------------------------------------------------------------------------------------------
 305          void Printf(unsigned char x,unsigned char y,unsigned char *SHOW_WORD)
 306          {
 307   1          unsigned char *Text;
 308   1          while(*SHOW_WORD)
 309   1          {
 310   2              Text=GetTextFont(GetIndex(*SHOW_WORD));
 311   2              LCD_TextOut(x++,y,Text);
 312   2              if(x==20) break;
 313   2              SHOW_WORD++;
 314   2          }
 315   1      }
 316          
 317          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    360    ----
   CONSTANT SIZE    =    256    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6      15
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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