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

📄 serial port.lst

📁 基于51的DS18B20_1Wire温度控制等C,ASM源程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
A51 MACRO ASSEMBLER  SERIAL_PORT                                                          12/19/2006 21:05:32 PAGE     1


MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN SERIAL PORT.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE SERIAL PORT.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;******************************************************************
                       2     ;*                                                                *
                       3     ;* ME500单片机开发系统演示程序 - 12864 图片与文字显示             * 
                       4     ;*                                                                *
                       5     ;* ST7920控制芯片(汉字库),串口模式。                             *
                       6     ;*                                                                *
                       7     ;* 版本: V1.0 (2006/11/20)                                       *
                       8     ;* 作者: gguoqing (Email: gguoqing@willar.com)                   *
                       9     ;* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界)*
                      10     ;* 时间: 2006/12/15                                              *
                      11     ;*                                                                *
                      12     ;*【版权】COPYRIGHT(C)伟纳电子 www.willar.com ALL RIGHTS RESERVED *
                      13     ;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!      *
                      14     ;*                                                                *
                      15     ;******************************************************************
                      16     
                      17     ;********************* 12864引脚定义 *********************
                      18     
  00A0                19               CS     EQU  P2.0
  00A1                20               SID    EQU  P2.1
  00A2                21               SCLK   EQU  P2.2
  00A3                22               PSB    EQU  P2.3
  00A5                23               RST    EQU  P2.5
                      24               
                      25     ;**********************************************************
                      26     
  0030                27               LCD_X  EQU  30H     ;GDRAM水平坐标
  0031                28               LCD_Y  EQU  31H     ;GDRAM垂直坐标
  0032                29               TEMP   EQU  32H
  0033                30               COUNT1 EQU  33H
  0034                31               COUNT2 EQU  34H
  0035                32               COUNT3 EQU  35H
                      33               
                      34     ;**********************************************************
                      35            
0000                  36               ORG  0000H
0000 020030           37               LJMP MAIN
0030                  38               ORG  0030H
                      39             
                      40     ;********************************************************** 
0030                  41     MAIN:
0030 758160           42               MOV  SP,#60H
0033 1184             43               CALL  LCD_INIT
0035 317D             44               CALL  DELAY5MS
                      45               
0037 7480             46               MOV A,#80H
0039 9001A5           47               MOV DPTR,#MENU1
003C 11EA             48               CALL WR_STRING
                      49     
003E 7490             50               MOV A,#90H
0040 9001B5           51               MOV DPTR,#MENU2
0043 11EA             52               CALL WR_STRING
                      53     
0045 7488             54               MOV A,#88H
0047 9001C5           55               MOV DPTR,#MENU3
004A 11EA             56               CALL WR_STRING
                      57     
004C 7498             58               MOV A,#98H
A51 MACRO ASSEMBLER  SERIAL_PORT                                                          12/19/2006 21:05:32 PAGE     2

004E 9001D5           59               MOV DPTR,#MENU4
0051 11EA             60               CALL WR_STRING
                      61     
0053 7BC8             62               MOV  R3,#200
0055                  63     MAIN1:
0055 317D             64               CALL  DELAY5MS
0057 317D             65               CALL  DELAY5MS
0059 DBFA             66               DJNZ  R3,MAIN1
                      67     
005B 3144             68               CALL  FLASH            ;闪烁
005D 316D             69               CALL  CLEAR_LCD        ;清屏
                      70     
005F 9001E5           71               MOV  DPTR,#TU_TAB1     ;显示图形1
0062 11FE             72               CALL PHO_DISP
                      73     
0064 7BC8             74               MOV  R3,#200           ;
0066                  75     MAIN2:
0066 317D             76               CALL  DELAY5MS
0068 317D             77               CALL  DELAY5MS
006A DBFA             78               DJNZ  R3,MAIN2
                      79     
006C 3144             80               CALL  FLASH            ;闪烁
006E 316D             81               CALL  CLEAR_LCD        ;清屏 
                      82     
0070 9005E5           83               MOV  DPTR,#TU_TAB2     ;显示图形2
0073 11FE             84               CALL PHO_DISP
                      85     
0075 7BC8             86               MOV  R3,#200
0077                  87     MAIN3:
0077 317D             88               CALL  DELAY5MS
0079 317D             89               CALL  DELAY5MS
007B DBFA             90               DJNZ  R3,MAIN3
                      91     
007D 3144             92               CALL  FLASH           ;闪烁
007F 316D             93               CALL  CLEAR_LCD       ;清屏  
                      94     
0081 80AD             95               JMP  MAIN
                      96               
0083 22               97               RET
                      98     
                      99     ;**********************************************************
                     100     
                     101     ;  LCD 初始化
                     102     
                     103     ;**********************************************************  
0084                 104     LCD_INIT:
0084 317D            105               CALL DELAY5MS      ;延时15ms
0086 317D            106               CALL DELAY5MS
0088 317D            107               CALL DELAY5MS
                     108     
008A C2A3            109               CLR  PSB           ;串口驱动模式
008C D2A0            110               SETB CS            ;片选 高电平有效
008E C2A2            111               CLR  SCLK          ;时钟置于低电平
                     112     
0090 C2A5            113               CLR RST            ;LCD复位
0092 317D            114               CALL DELAY5MS
0094 D2A5            115               SETB RST
                     116              
0096 7430            117               MOV  A,#30H        ;基本指令操作
0098 11A7            118               CALL  WR_OPERAT
                     119     
009A 7406            120               MOV  A,#06H         
009C 11A7            121               CALL  WR_OPERAT
                     122     
009E 740C            123               MOV  A,#0CH         ;开显示,关光标,不闪烁
00A0 11A7            124               CALL  WR_OPERAT
A51 MACRO ASSEMBLER  SERIAL_PORT                                                          12/19/2006 21:05:32 PAGE     3

                     125              
00A2 7401            126               MOV  A,#01H         ;清屏
00A4 11A7            127               CALL  WR_OPERAT
00A6 22              128               RET
                     129     ;**********************************************************
                     130     
                     131     ; 写指令子程序
                     132     
                     133     ;**********************************************************  
00A7                 134     WR_OPERAT:
00A7 F5F0            135               MOV  B,A           ;暂存数据
00A9 74F8            136               MOV  A,#0F8H       ;写F8H控制命令
00AB 11DB            137               CALL  WR_BYTE
00AD 3188            138               CALL  DELAY1MS
                     139               
00AF E5F0            140               MOV  A,B
00B1 54F0            141               ANL A,#0F0H         ;写控制命令的高4位
00B3 11DB            142               CALL  WR_BYTE
00B5 3188            143               CALL  DELAY1MS
                     144               
00B7 E5F0            145               MOV A,B
00B9 C4              146               SWAP A
00BA 54F0            147               ANL A,#0F0H         ;写控制命令的低4位 
00BC 11DB            148               CALL  WR_BYTE
00BE 3188            149               CALL  DELAY1MS
00C0 22              150               RET
                     151     ;**********************************************************
                     152     
                     153     ; 写数据子程序
                     154     
                     155     ;**********************************************************  
00C1                 156     WR_DATA:
00C1 F5F0            157               MOV  B,A            ;暂存数据
00C3 74FA            158               MOV  A,#0FAH        ;写FAH控制命令
00C5 11DB            159               CALL  WR_BYTE
00C7 3193            160               CALL  DELAY
                     161               
00C9 E5F0            162               MOV  A,B
00CB 54F0            163               ANL A,#0F0H         ;写数据的高4位
00CD 11DB            164               CALL  WR_BYTE
00CF 3193            165               CALL  DELAY
                     166               
00D1 E5F0            167               MOV A,B
00D3 C4              168               SWAP A
00D4 54F0            169               ANL A,#0F0H         ;写数据的低4位
00D6 11DB            170               CALL  WR_BYTE
00D8 3193            171               CALL  DELAY
00DA 22              172               RET
                     173     ;**********************************************************
                     174     
                     175     ; 写一个字节子程序
                     176     ; 
                     177     ;**********************************************************
00DB                 178     WR_BYTE:
00DB 7D08            179               MOV R5,#8
00DD                 180     WR_BYTE1:                   
00DD 33              181               RLC A
00DE 92A1            182               MOV SID,C
00E0 D2A2            183               SETB SCLK
00E2 00              184               NOP
00E3 00              185               NOP
00E4 00              186               NOP
00E5 C2A2            187               CLR SCLK
00E7 DDF4            188               DJNZ R5,WR_BYTE1
00E9 22              189               RET
                     190               
A51 MACRO ASSEMBLER  SERIAL_PORT                                                          12/19/2006 21:05:32 PAGE     4

                     191     ;**********************************************************
                     192     
                     193     ; 写字符串子程序
                     194     
                     195     ;**********************************************************
00EA                 196     WR_STRING:
00EA 11A7            197               CALL  WR_OPERAT
00EC 7C10            198               MOV R4,#16
00EE                 199     WR_STRING1:
00EE E4              200               CLR A
00EF 93              201               MOVC A,@A+DPTR
00F0 11C1            202               CALL WR_DATA
00F2 A3              203               INC DPTR         
00F3 7B08            204               MOV  R3,#08H         ;加入80ms的延时
00F5                 205     WAIT:                          ;使你能够看清楚显示的过程
00F5 317D            206               CALL  DELAY5MS
00F7 317D            207               CALL  DELAY5MS
00F9 DBFA            208               DJNZ  R3,WAIT
                     209     
00FB DCF1            210               DJNZ R4,WR_STRING1
00FD 22              211               RET
                     212     
                     213     ;**********************************************************
                     214     
                     215     ; 显示图像子程序
                     216     
                     217     ;**********************************************************
00FE                 218     PHO_DISP:
00FE 753502          219               MOV  COUNT3,#02H
0101 753080          220               MOV  LCD_X,#80H
0104                 221     PHO_DISP1:
0104 753180          222               MOV  LCD_Y,#80H
0107 753420          223               MOV  COUNT2,#20H
010A                 224     PHO_DISP2:
010A 753310          225               MOV  COUNT1,#10H
010D 12012F          226               LCALL WR_ZB
0110                 227     PHO_DISP3:
0110 E4              228               CLR   A
0111 93              229               MOVC A,@A+DPTR
0112 1200C1          230               LCALL  WR_DATA
0115 A3              231               INC   DPTR
0116 D533F7          232               DJNZ COUNT1,PHO_DISP3
0119 0531            233               INC   LCD_Y
011B D534EC          234               DJNZ COUNT2,PHO_DISP2
011E 753088          235               MOV   LCD_X,#88H
0121 D535E0          236               DJNZ COUNT3,PHO_DISP1
                     237     

⌨️ 快捷键说明

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