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

📄 lcd1921x.lst

📁 C51 LCD 显示程序非常具有参考价值
💻 LST
字号:
A51 MACRO ASSEMBLER  LCD1921X                                                             11/26/2004 15:31:54 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     
                       2     
                       3     NAME    SPI
                       4     
  0095                 5     SPISCS  EQU     P1.5    ;new
  00B2                 6     SPISCK  EQU     P3.2
  00B3                 7     SPISID  EQU     P3.3
  00B1                 8     SPISOD  EQU     P3.1
  00A6                 9     WDTRST  EQU     0A6H
                      10     
  0090                11     EEPCE   EQU     P1^0;   //X5045  
  00A4                12     EEPSI   EQU     P2^4;   //X5045  A12
  00A5                13     EEPSO   EQU     P2^5;   //X5045  A13
  00A6                14     EEPSCK  EQU     P2^6;   //X5045  A14
                      15     
                      16     
                      17     ?PR?SPIRecAChar?SPI SEGMENT CODE
                      18     ?PR?_SPISendAChar?SPI SEGMENT CODE
                      19     ?PR?_SPIWRITESD?SPI SEGMENT CODE
                      20     
                      21     PUBLIC SPIRecAChar
                      22     PUBLIC _SPISendAChar
                      23     PUBLIC _SPIWRITESD
                      24     USING 0
                      25     
                      26     ;/*****************************************************************************************
                             *****
                      27     ;SPIRec:从SPI接口读取一个数据
                      28     ;入口:无
                      29     ;返回:接收的一字节数据
                      30     ;******************************************************************************************
                             ****/
----                  31     RSEG ?PR?SPIRecAChar?SPI
0000                  32     SPIRecAChar:
0000 7900             33             MOV     R1,#0
0002 7A00             34             MOV     R2,#0
0004 E4               35             CLR     A
0005 7808             36             MOV     R0,#8
0007                  37     SPIREC0:
0007 20B206           38             JB      SPISCK,SPIREC2
000A D9FB             39             DJNZ    R1,SPIREC0
000C DAF9             40             DJNZ    R2,SPIREC0
000E 8013             41             SJMP    SPIREC4
0010                  42     SPIREC2:
0010 00               43             NOP
0011 A2B3             44             MOV     C,SPISID
0013 33               45             RLC     A
0014                  46     SPIREC1:
0014 30B206           47             JNB     SPISCK,SPIREC3
0017 D9FB             48             DJNZ    R1,SPIREC1
0019 DAF9             49             DJNZ    R2,SPIREC1
001B 8006             50             SJMP    SPIREC4
001D                  51     SPIREC3:
001D 7A00             52             MOV     R2,#00H
001F D8E6             53             DJNZ    R0,SPIREC0
0021 FF               54             MOV     R7,A
0022 22               55             RET
0023 E4               56     SPIREC4:CLR     A               ; 出错返回
A51 MACRO ASSEMBLER  LCD1921X                                                             11/26/2004 15:31:54 PAGE     2

0024 FF               57             MOV     R7,A
0025 22               58             RET
                      59     ;/*****************************************************************************************
                             *****
                      60     ;SPISend:SPI口发送一字节数据
                      61     ;input:R7
                      62     ;return:1 send sussecc;0:fail
                      63     ;******************************************************************************************
                             ****/
----                  64     RSEG ?PR?_SPISendAChar?SPI
0000                  65     _SPISendAChar:
0000 D2B1             66             SETB    SPISOD
0002 7900             67             MOV     R1,#0
0004 7A00             68             MOV     R2,#0
0006 EF               69             MOV     A,R7
0007 7808             70             MOV     R0,#8
0009                  71     SPISen0:
0009 20B206           72             JB      SPISCK,SPISen2
000C D9FB             73             DJNZ    R1,SPISen0
000E DAF9             74             DJNZ    R2,SPISen0
0010 801C             75             SJMP    SPISen4
0012                  76     SPISen2:
0012 00               77             NOP
0013 00               78             NOP
0014 33               79             RLC     A
0015 4004             80             JC      SPISen1
0017 C2B1             81             CLR     SPISOD
0019 8002             82             JMP     SPISen5
001B                  83     SPISen1:
001B D2B1             84             SETB    SPISOD
001D                  85     SPISen5:
001D 30B206           86             JNB     SPISCK,SPISen3
0020 D9FB             87             DJNZ    R1,SPISen5
0022 DAF9             88             DJNZ    R2,SPISen5
0024 8008             89             SJMP    SPISen4
0026                  90     SPISen3:
0026 D8E1             91             DJNZ    R0,SPISen0
0028 00               92             NOP
0029 00               93             NOP
002A D2B1             94             SETB    SPISOD
002C D3               95             SETB    C
002D 22               96             RET
002E C3               97     SPISen4:CLR     C               ; 出错返回
002F D2B1             98             SETB    SPISOD
0031 22               99             RET
                     100             
                     101     ;----------------------------------
                     102     ;       read 5045 state
                     103     ;----------------------------------
0032                 104     READSTD:
0032 C290            105             CLR     EEPCE
0034 C2A6            106             CLR     EEPSCK
0036 7405            107             MOV     A,#00000101B    ; READ STATE REGISTER
0038 120000   F      108             LCALL   WRITE
003B 120000   F      109             LCALL   READ
003E C2A6            110             CLR     EEPSCK
0040 D290            111             SETB    EEPCE
0042 22              112             RET
                     113     ;-----------------------------------
                     114     ;       FORM 5045 OUT DATA TO ACC
                     115     ;-----------------------------------
0043 7F08            116     READ:   MOV     R7,#08H
0045 D2A6            117     READ1:  SETB    EEPSCK
0047 8000            118             JMP     $+2
0049 C2A6            119             CLR     EEPSCK
004B 8000            120             JMP     $+2
A51 MACRO ASSEMBLER  LCD1921X                                                             11/26/2004 15:31:54 PAGE     3

004D A2A5            121             MOV     C,EEPSO
004F 33              122             RLC     A
0050 DFF3            123             DJNZ    R7,READ1
0052 22              124             RET
                     125     ;----------------------------------
0053 7F08            126     WRITE:  MOV     R7,#08H
0055 C2A6            127     WRITE1: CLR     EEPSCK
0057 33              128             RLC     A
0058 92A4            129             MOV     EEPSI,C
005A 8000            130             JMP     $+2
005C D2A6            131             SETB    EEPSCK
005E 8000            132             JMP     $+2
0060 DFF3            133             DJNZ    R7,WRITE1
0062 22              134             RET
                     135     ;---------------------------------
                     136     ;       WRITE STATE FORM ACC
                     137     ;---------------------------------
----                 138     RSEG ?PR?_SPIWRITESD?SPI
0000                 139     _SPIWRITESD:
0000 8FE0            140             MOV     ACC,R7
0002 C0E0            141             PUSH    ACC
0004 C290            142             CLR     EEPCE
0006 C2A6            143             CLR     EEPSCK
0008 7406            144             MOV     A,#00000110B    ; ENABLE WRITE OPERATION
000A 120000   F      145             LCALL   WRITE
000D D290            146             SETB    EEPCE
000F 00              147             NOP
0010 C2A6            148             CLR     EEPSCK
0012 C290            149             CLR     EEPCE
0014 7401            150             MOV     A,#00000001B    ; WRITE STATE REGISTER
0016 120000   F      151             LCALL   WRITE
0019 D0E0            152             POP     ACC
001B 120000   F      153             LCALL   WRITE
001E C2A6            154             CLR     EEPSCK
0020 D290            155             SETB    EEPCE
0022 120000   F      156     WRITES1:LCALL   READSTD
0025 20E0FA          157             JB      ACC.0,WRITES1
0028 D2A4            158             SETB     EEPSI
002A D2A5            159             SETB     EEPSO
002C D2A6            160             SETB     EEPSCK
002E 22              161             RET
                     162             END
                                     
                                     
                                     
                                     
                             
A51 MACRO ASSEMBLER  LCD1921X                                                             11/26/2004 15:31:54 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E                T Y P E  V A L U E   ATTRIBUTES

?PR?SPIRECACHAR?SPI .  C SEG    0026H       REL=UNIT
?PR?_SPISENDACHAR?SPI  C SEG    0063H       REL=UNIT
?PR?_SPIWRITESD?SPI .  C SEG    002FH       REL=UNIT
ACC . . . . . . . . .  D ADDR   00E0H   A   
EEPCE . . . . . . . .  B ADDR   0090H.0 A   
EEPSCK. . . . . . . .  B ADDR   00A0H.6 A   
EEPSI . . . . . . . .  B ADDR   00A0H.4 A   
EEPSO . . . . . . . .  B ADDR   00A0H.5 A   
P1. . . . . . . . . .  D ADDR   0090H   A   
P2. . . . . . . . . .  D ADDR   00A0H   A   
P3. . . . . . . . . .  D ADDR   00B0H   A   
READ. . . . . . . . .  C ADDR   0043H   R   SEG=?PR?_SPISENDACHAR?SPI
READ1 . . . . . . . .  C ADDR   0045H   R   SEG=?PR?_SPISENDACHAR?SPI
READSTD . . . . . . .  C ADDR   0032H   R   SEG=?PR?_SPISENDACHAR?SPI
SPI . . . . . . . . .  N NUMB   -----       
SPIREC0 . . . . . . .  C ADDR   0007H   R   SEG=?PR?SPIRECACHAR?SPI
SPIREC1 . . . . . . .  C ADDR   0014H   R   SEG=?PR?SPIRECACHAR?SPI
SPIREC2 . . . . . . .  C ADDR   0010H   R   SEG=?PR?SPIRECACHAR?SPI
SPIREC3 . . . . . . .  C ADDR   001DH   R   SEG=?PR?SPIRECACHAR?SPI
SPIREC4 . . . . . . .  C ADDR   0023H   R   SEG=?PR?SPIRECACHAR?SPI
SPIRECACHAR . . . . .  C ADDR   0000H   R   SEG=?PR?SPIRECACHAR?SPI
SPISCK. . . . . . . .  B ADDR   00B0H.2 A   
SPISCS. . . . . . . .  B ADDR   0090H.5 A   
SPISEN0 . . . . . . .  C ADDR   0009H   R   SEG=?PR?_SPISENDACHAR?SPI
SPISEN1 . . . . . . .  C ADDR   001BH   R   SEG=?PR?_SPISENDACHAR?SPI
SPISEN2 . . . . . . .  C ADDR   0012H   R   SEG=?PR?_SPISENDACHAR?SPI
SPISEN3 . . . . . . .  C ADDR   0026H   R   SEG=?PR?_SPISENDACHAR?SPI
SPISEN4 . . . . . . .  C ADDR   002EH   R   SEG=?PR?_SPISENDACHAR?SPI
SPISEN5 . . . . . . .  C ADDR   001DH   R   SEG=?PR?_SPISENDACHAR?SPI
SPISID. . . . . . . .  B ADDR   00B0H.3 A   
SPISOD. . . . . . . .  B ADDR   00B0H.1 A   
WDTRST. . . . . . . .  N NUMB   00A6H   A   
WRITE . . . . . . . .  C ADDR   0053H   R   SEG=?PR?_SPISENDACHAR?SPI
WRITE1. . . . . . . .  C ADDR   0055H   R   SEG=?PR?_SPISENDACHAR?SPI
WRITES1 . . . . . . .  C ADDR   0022H   R   SEG=?PR?_SPIWRITESD?SPI
_SPISENDACHAR . . . .  C ADDR   0000H   R   SEG=?PR?_SPISENDACHAR?SPI
_SPIWRITESD . . . . .  C ADDR   0000H   R   SEG=?PR?_SPIWRITESD?SPI


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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