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

📄 main.lst

📁 实验7 在RAM中执行程序代码 实验7 在RAM中执行程序代码 实验7 在RAM中执行程序代码
💻 LST
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 10/23/2006 09:07:24 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;*******************************************************************************
                       2     ;程序名称:LED闪烁发光
                       3     ;硬件接法:P1.1控制LED,低电平点亮
                       4     ;运行效果:LED亮200ms,灭800ms,反复循环
                       5     ;*******************************************************************************
                       6     
                       7     
                       8     ;*******************************************************************************
                       9     ;定义I/O接口
                      10     ;*******************************************************************************
  0091                11     LED     BIT     P1.1
                      12     
                      13     
                      14     ;*******************************************************************************
                      15     ;复位入口
                      16     ;*******************************************************************************
8000                  17             ORG     0x8000
8000 028003           18             LJMP    PreMain
                      19     
                      20     
                      21     ;*******************************************************************************
                      22     ;程序段:PreMain
                      23     ;功能:进入主程序之前的初始化操作
                      24     ;*******************************************************************************
8003                  25     PreMain:
8003 758130           26             MOV     SP, #0x30
8006 02801B           27             LJMP    main
                      28     
                      29     
                      30     ;*******************************************************************************
                      31     ;函数:void Delay(unsigned char t)
                      32     ;功能:延时0.01s~2.56s
                      33     ;参数:t = R7
                      34     ;      t>0时,延时(t*0.01)s
                      35     ;      t=0时,延时2.56s
                      36     ;说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
                      37     ;*******************************************************************************
8009                  38     Delay:
8009 758CDC           39             MOV     TH0, #0xDC      ;设置定时器初值(定时10ms)
800C 758A00           40             MOV     TL0, #0x00
800F D28C             41             SETB    TR0             ;启动定时器
8011 308DFD           42             JNB     TF0, $          ;等待定时器溢出
8014 C28C             43             CLR     TR0             ;停止定时器
8016 C28D             44             CLR     TF0             ;清除溢出标志
8018 DFEF             45             DJNZ    R7, Delay       ;循环t次
801A 22               46             RET
                      47     
                      48     
                      49     ;*******************************************************************************
                      50     ;函数:void main()
                      51     ;功能:主函数
                      52     ;*******************************************************************************
801B                  53     main:
801B 5389F0           54             ANL     TMOD, #0xF0     ;T0设置在方式1,即16位定时器(不改变T1的模式)
801E 438901           55             ORL     TMOD, #0x01
8021                  56     main_Loop:
8021 C291             57             CLR     LED             ;点亮LED
8023 7F14             58             MOV     R7, #20         ;延时200ms
A51 MACRO ASSEMBLER  MAIN                                                                 10/23/2006 09:07:24 PAGE     2

8025 1109             59             CALL    Delay
8027 D291             60             SETB    LED             ;熄灭LED
8029 7F50             61             MOV     R7, #80         ;延时800ms
802B 1109             62             CALL    Delay
802D 80F2             63             SJMP    main_Loop
                      64     
                      65     
                      66     ;*******************************************************************************
                      67     ;程序结束
                      68     ;*******************************************************************************
                      69             END
                             
A51 MACRO ASSEMBLER  MAIN                                                                 10/23/2006 09:07:24 PAGE     3

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


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

DELAY. . . . . . .  C ADDR   8009H   A   
LED. . . . . . . .  B ADDR   0090H.1 A   
MAIN . . . . . . .  C ADDR   801BH   A   
MAIN_LOOP. . . . .  C ADDR   8021H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
PREMAIN. . . . . .  C ADDR   8003H   A   
SP . . . . . . . .  D ADDR   0081H   A   
TF0. . . . . . . .  B ADDR   0088H.5 A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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