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

📄 test.lst

📁 89C52单片机的底层代码,包括A/D,D/A转换,键盘,LED显示等
💻 LST
📖 第 1 页 / 共 2 页
字号:
 228   1      }
 229          
 230          
 231          
 232          /*      ORG     8000H
 233                  AJMP    MAIN
 234          
 235                  ORG     8100h
 236          MAIN:
 237                  MOV     SP,#60h                 ;设置SP
 238                  ACALL   DELAY                   ;延时
 239          
C51 COMPILER V7.09   TEST                                                                  08/10/2005 00:27:29 PAGE 5   

 240                  ACALL   INIT_LCD                ;初始化液晶模块
 241          
 242                  ACALL   WRITE_CGRAM             ;设置CGRAM
 243          
 244                  MOV     A,#84H                  ;从第一行第5位开始
 245                  ACALL   WRITE_COM
 246          
 247                  MOV     R6,#06                  ;显示DP-51S
 248                  MOV     DPTR,#TABLE1            ;读取DP-51S数据表地址
 249          DISP1:
 250                  CLR     A
 251                  MOVC    A,@A+DPTR
 252                  ACALL   WRITE_DAT
 253                  INC     DPTR
 254                  DJNZ    R6,DISP1
 255          
 256                  MOV     A,#0C2H                 ;第二行第二位开始显示
 257                  ACALL   WRITE_COM
 258          
 259                  MOV     R6,#13                  ;显示ZLG2003年3月26日
 260                  MOV     DPTR,#TABLE2            ;读取数据表2地址
 261          DISP2:
 262                  CLR     A
 263                  MOVC    A,@A+DPTR
 264                  ACALL   WRITE_DAT
 265                  INC     DPTR
 266                  DJNZ    R6,DISP2
 267          
 268          
 269          DISP_LOOP:
 270                  MOV     A,#07H                  ;设置左移模式
 271                  ACALL   WRITE_COM
 272                  MOV     A,#8FH                  ;从第一行第16位开始
 273                  ACALL   WRITE_COM
 274          
 275                  MOV     R6,#16                  ;左移16个 空格
 276          DISP_LEFT:
 277                  MOV     A,#10H
 278                  ACALL   WRITE_DAT
 279                  ACALL   DELAY                   ;延时
 280                  ACALL   DELAY
 281                  ACALL   DELAY
 282                  ACALL   DELAY
 283                  ACALL   DELAY
 284                  ACALL   DELAY
 285                  ACALL   DELAY
 286                  ACALL   DELAY
 287                  ACALL   DELAY
 288                  ACALL   DELAY
 289                  ACALL   DELAY
 290                  ACALL   DELAY
 291                  DJNZ    R6,DISP_LEFT
 292          
 293                  MOV     A,#05H                  ;设置右移模式
 294                  ACALL   WRITE_COM
 295                  MOV     A,#80H                  ;从第一行第1位开始
 296                  ACALL   WRITE_COM
 297          
 298                  MOV     R6,#16
 299          DISP_RIGHT:
 300                  MOV     A,#10H
 301                  ACALL   WRITE_DAT
C51 COMPILER V7.09   TEST                                                                  08/10/2005 00:27:29 PAGE 6   

 302                  ACALL   DELAY                   ;延时
 303                  ACALL   DELAY
 304                  ACALL   DELAY
 305                  ACALL   DELAY
 306                  ACALL   DELAY
 307                  ACALL   DELAY
 308                  ACALL   DELAY
 309                  ACALL   DELAY
 310                  ACALL   DELAY
 311                  ACALL   DELAY
 312                  ACALL   DELAY
 313                  ACALL   DELAY
 314                  DJNZ    R6,DISP_RIGHT
 315                  
 316                  SJMP    DISP_LOOP                       ;循环移动*/
 317          /*************************************************************************************************
 318          * FUNCTION NAME:void delay(unsigned char time)                                                    *
 319          *`CREATE DATE  :2004.12.20                                                                        *
 320          * CREATED BY   :Wan Wen Lue ,ChongQing Institute of Technology                                    *
 321          * MODEIFY DATE :2005.6.2                                                                          *
 322          * INPUT        :char channel                                                                      *
 323          * OUTPUT       :None                                                                              *
 324          * RETURN       :ADresult                                                                          *
 325          * Global Variable:ADresult                                                                        *
 326          *************************************************************************************************/
 327          void test_lcd()
 328          {
 329   1         unsigned char i;
 330   1         WR_COM=0x00;
 331   1         delay(255);
 332   1         delay(255);
 333   1         for(i=0;i<16;i++)
 334   1          {
 335   2          WR_DAT=TABLE1[i];
 336   2              delay(255);
 337   2              delay(255);
 338   2              }
 339   1          WR_COM=0xc0;
 340   1              delay(255);
 341   1              delay(255);
 342   1          for(i=0;i<4;i++)
 343   1            {
 344   2            WR_DAT=TABLE2[i];
 345   2          delay(255);
 346   2          delay(255);}
 347   1        /* for(i=0;i<13;i++)
 348   1         {
 349   1          WR_DAT=TABLE3[i];
 350   1              delay(255);
 351   1              delay(255);
 352   1              }*/
 353   1      }
 354          /*************************************************************************************************
 355          * FUNCTION NAME:void delay(unsigned char time)                                                    *
 356          *`CREATE DATE  :2004.12.20                                                                        *
 357          * CREATED BY   :Wan Wen Lue ,ChongQing Institute of Technology                                    *
 358          * MODEIFY DATE :2005.6.2                                                                          *
 359          * INPUT        :char channel                                                                      *
 360          * OUTPUT       :None                                                                              *
 361          * RETURN       :ADresult                                                                          *
 362          * Global Variable:ADresult                                                                        *
 363          *************************************************************************************************/
C51 COMPILER V7.09   TEST                                                                  08/10/2005 00:27:29 PAGE 7   

 364                  //;初始化液晶模块
 365          void init_lcd()
 366          {
 367   1          unsigned char i;
 368   1          WR_COM=0x38;     //设置为8位数据总线,16*2,5*7点阵
 369   1          for(i=0;i<50;i++)
 370   1              delay(255);
 371   1          WR_COM=0x01;        //清屏幕
 372   1          for(i=0;i<50;i++)
 373   1              delay(255);
 374   1          WR_COM=0x06;       //光标移动,显示区不移动,读写操作后AC加1
 375   1          for(i=0;i<50;i++)
 376   1              delay(255);
 377   1          WR_COM=0x0c;
 378   1      } 
 379          /*************************************************************************************************
 380          * FUNCTION NAME:void delay(unsigned char time)                                                    *
 381          *`CREATE DATE  :2004.12.20                                                                        *
 382          * CREATED BY   :Wan Wen Lue ,ChongQing Institute of Technology                                    *
 383          * MODEIFY DATE :2005.6.2                                                                          *
 384          * INPUT        :char channel                                                                      *
 385          * OUTPUT       :None                                                                              *
 386          * RETURN       :ADresult                                                                          *
 387          * Global Variable:ADresult                                                                        *
 388          *************************************************************************************************/
 389          void init_cgram()
 390          {
 391   1          unsigned char i;
 392   1              //;设置自定义字符
 393   1          WR_COM=0x40;
 394   1          for(i=0;i<24;i++)
 395   1          {
 396   2            WR_DAT=CGRAM_TABLE[i];
 397   2          }
 398   1              for(i=0;i<40;i++)
 399   1            delay(255);
 400   1      }
 401          /*************************************************************************************************
 402          * FUNCTION NAME:void delay(unsigned char time)                                                    *
 403          *`CREATE DATE  :2004.12.20                                                                        *
 404          * CREATED BY   :Wan Wen Lue ,ChongQing Institute of Technology                                    *
 405          * MODEIFY DATE :2005.6.2                                                                          *
 406          * INPUT        :char channel                                                                      *
 407          * OUTPUT       :None                                                                              *
 408          * RETURN       :ADresult                                                                          *
 409          * Global Variable:ADresult                                                                        *
 410          *************************************************************************************************/
 411          void clr_lcd()
 412          {
 413   1        WR_COM=0x01;
 414   1        delay(255);
 415   1        delay(255);
 416   1       }
 417          /*************************************************************************************************
 418          * FUNCTION NAME:void delay(unsigned char time)                                                    *
 419          *`CREATE DATE  :2004.12.20                                                                        *
 420          * CREATED BY   :Wan Wen Lue ,ChongQing Institute of Technology                                    *
 421          * MODEIFY DATE :2005.6.2                                                                          *
 422          * INPUT        :char channel                                                                      *
 423          * OUTPUT       :None                                                                              *
 424          * RETURN       :ADresult                                                                          *
 425          * Global Variable:ADresult                                                                        *
C51 COMPILER V7.09   TEST                                                                  08/10/2005 00:27:29 PAGE 8   

 426          *************************************************************************************************/
 427          void printf_lcd(unsigned char StartPosition,char *string,char len)
 428          {
 429   1         char i;
 430   1         clr_lcd();
 431   1         WR_COM=StartPosition;
 432   1         delay(255);
 433   1         delay(255);
 434   1         for(i=0;i<len;i++)
 435   1         {
 436   2         WR_DAT=*string;
 437   2         string++;
 438   2         delay(255);
 439   2         delay(255);
 440   2         }
 441   1      
 442   1       }
 443          
 444          
 445          
 446          
 447          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    839    ----
   CONSTANT SIZE    =     73    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11      20
   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 + -