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

📄 serial port.lst

📁 ME500——51单片机的几个中断程序
💻 LST
字号:
A51 MACRO ASSEMBLER  SERIAL_PORT                                                          12/20/2006 10:51:54 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单片机开发系统演示程序 - 串行通迅(中断方式)                *
                       4     ;*                                                                 *
                       5     ;* P0口LED显示                                                     *
                       6     ;*                                                                 *
                       7     ;* 工作芯片:AT89S52      晶振频率:11.0592MHz                     *
                       8     ;*                                                                 *
                       9     ;* 版本: V1.0 (2006/11/20)                                        *
                      10     ;* 作者: gguoqing (Email: gguoqing@willar.com)                    *
                      11     ;* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界) *
                      12     ;* 时间: 2006/12/15                                               *
                      13     ;*                                                                 *
                      14     ;*【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved *
                      15     ;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!       *
                      16     ;*                                                                 *
                      17     ;*******************************************************************
                      18     ;*                                                                 *
                      19     ;* 描述:                                                          *
                      20     ;*                                                                 *
                      21     ;*   主机发送数据给单片机,单片机接收到数据后,再发送给主机。      *
                      22     ;*                                                                 *
                      23     ;*   P0口LED显示接收数据的ASCII码。                                *
                      24     ;*                                                                 *
                      25     ;*******************************************************************
                      26     
  0030                27             TEMP    EQU  30H
                      28     
                      29     ;*********************************************************
                      30     
0000                  31             ORG     0000H
0000 020030           32             LJMP    MAIN
0023                  33             ORG     0023H
0023 020053           34             LJMP    T_SERIL
0030                  35             ORG     0030H
                      36     
                      37     ;*********************************************************
                      38     
                      39     ;  主程序
                      40     
                      41     ;*********************************************************      
0030                  42     MAIN:
0030 758160           43             MOV  SP,#60H
0033 7580FF           44             MOV  P0,#0FFH
0036 75A0FF           45             MOV  P2,#0FFH
0039 753000           46             MOV  TEMP,#00H
                      47                     
003C 758920           48             MOV  TMOD,#20H    ; 定时器1工作于8位自动重载模式,用于产生波特率
003F 758DFD           49             MOV  TH1,#0FDH       
0042 758BFD           50             MOV  TL1,#0FDH    ; 波特率9600
                      51             
0045 759850           52             MOV  SCON,#50H    ; 设定串行口工作方式
0048 538700           53             ANL  PCON,#00H    ; 波特率不倍增
                      54     
004B D2AF             55             SETB  EA          ; 允许总中断
004D D2AC             56             SETB  ES          ; 允许串行中断
004F D28E             57             SETB    TR1       ; 启动定时器1
                      58     
A51 MACRO ASSEMBLER  SERIAL_PORT                                                          12/20/2006 10:51:54 PAGE     2

0051                  59     MAIN1:
                      60             
0051 80FE             61             JMP   MAIN1       ;等待中断
                      62     
                      63     ;*********************************************************
                      64     
                      65     ; 串口中断服务子程序
                      66     
                      67     ;*********************************************************
0053                  68     T_SERIL:
                      69     
0053 C0E0             70             PUSH  ACC
0055 C0D0             71             PUSH  PSW
0057 C2AC             72             CLR  ES               ;关闭串行中断
0059 C298             73             CLR  RI               ;清除串行接受标志位        
005B E599             74             MOV  A,SBUF           ;从串口缓冲区取得数据
                      75     
005D B40D02           76             CJNE  A,#0DH,T_LOOP   ;0D-回车
0060 800C             77             JMP  T_END
0062                  78     T_LOOP:
0062 B40A02           79             CJNE  A,#0AH,T_LOOP1  ;0A-换行
0065 8007             80             JMP  T_END
0067                  81     T_LOOP1:
0067 F530             82             MOV  TEMP,A
0069 1175             83             CALL  SENDDATA 
006B F4               84             CPL  A
006C F580             85             MOV  P0,A               
006E                  86     T_END:  
006E D2AC             87             SETB  ES
0070 D0D0             88             POP  PSW
0072 D0E0             89             POP  ACC
0074 32               90             RETI
                      91                    
                      92     ;*********************************************************
                      93     
                      94     ; 发送数据子程序
                      95     
                      96     ;*********************************************************
0075                  97     SENDDATA:
0075 E530             98             MOV  A,TEMP
0077 F599             99             MOV  SBUF,A
0079 3099FD          100             JNB  TI,$      ; 等特数据传送
007C C299            101             CLR  TI        ; 清除数据传送标志
007E 22              102             RET
                     103     
                     104     ;*********************************************************
                     105     
                     106             END
A51 MACRO ASSEMBLER  SERIAL_PORT                                                          12/20/2006 10:51:54 PAGE     3

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ES . . . . . . . .  B ADDR   00A8H.4 A   
MAIN . . . . . . .  C ADDR   0030H   A   
MAIN1. . . . . . .  C ADDR   0051H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
PCON . . . . . . .  D ADDR   0087H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
RI . . . . . . . .  B ADDR   0098H.0 A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SENDDATA . . . . .  C ADDR   0075H   A   
SP . . . . . . . .  D ADDR   0081H   A   
TEMP . . . . . . .  N NUMB   0030H   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
T_END. . . . . . .  C ADDR   006EH   A   
T_LOOP . . . . . .  C ADDR   0062H   A   
T_LOOP1. . . . . .  C ADDR   0067H   A   
T_SERIL. . . . . .  C ADDR   0053H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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