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

📄 timer0-t1.lst

📁 ME500——51单片机的几个中断程序
💻 LST
字号:
A51 MACRO ASSEMBLER  TIMER0_T1                                                            12/21/2006 15:45:55 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;*******************************************************************
                       2     ;*                                                                 *
                       3     ;* ME500单片机开发系统演示程序 - 定时与计数中断                    *
                       4     ;*                                                                 *
                       5     ;* P0 LED 显示 (流水灯)                                          *
                       6     ;*                                                                 *
                       7     ;* 版本: V1.0 (2006/11/20)                                        *
                       8     ;* 作者: gguoqing (Email: gguoqing@willar.com)                    *
                       9     ;* 网站: www.willar.com(伟纳电子)   www.mcusj.com(伟纳单片机世界) *
                      10     ;* 时间: 2006/12/12                                               *
                      11     ;*                                                                 *
                      12     ;*【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved *
                      13     ;*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!       *
                      14     ;*                                                                 *
                      15     ;*******************************************************************
                      16     
                      17     ;采用软件模拟计数脉冲进行计数
                      18     
                      19     ;定时器0定时,中断溢出一次,T1计数器加1。
                      20     
                      21     ;T1计数器计满10次,LED灯左移一位。(流水灯)
                      22     
                      23     ;**********************************************************
                      24     
0000                  25             ORG   0000H
0000 020030           26             LJMP  MAIN
000B                  27             ORG   000BH
000B 020050           28             LJMP  TIMER0
001B                  29             ORG   001BH
001B 020061           30             LJMP  TIMER1
0030                  31             ORG   0030H
                      32             
                      33     ;**********************************************************
                      34     ; 主程序
                      35     ;**********************************************************
0030                  36     MAIN:
0030 7580FE           37             MOV P0,#0FEH           ; 初始点亮LED1
0033 7FFE             38             MOV R7,#0FEH           ; 保存P0
0035 758951           39             MOV   TMOD,#51H        ;TIMER0定时,TIMER1计数
                      40                                    ;工作方式为MODE1
0038 758DFF           41             MOV   TH1,#0FFH        ;计数10次初值
003B 758BF6           42             MOV   TL1,#0F6H
003E 758C4C           43             MOV   TH0,#4CH         ;50ms定时常数
0041 758A00           44             MOV   TL0,#00H
0044 D2AF             45             SETB  EA               ;总中断允许
0046 D2A9             46             SETB  ET0              ;使能TIMER0的中断
0048 D2AB             47             SETB  ET1              ;使能TIMER1的中断
004A D28E             48             SETB  TR1
004C D28C             49             SETB  TR0
004E 80FE             50             JMP  $
                      51             
                      52     ;**********************************************************
                      53     ; TIMER0 中断服务子程序
                      54     ;**********************************************************
0050                  55     TIMER0:
0050 C28C             56             CLR   TR0
0052 758C4C           57             MOV   TH0,#4CH       ;50ms定时常数
0055 758A00           58             MOV   TL0,#00H
A51 MACRO ASSEMBLER  TIMER0_T1                                                            12/21/2006 15:45:55 PAGE     2

0058 D2B5             59             SETB  P3.5           ;将P3.5置为输入状态
005A 00               60             NOP
005B 00               61             NOP
005C C2B5             62             CLR   P3.5           ;软件模拟T1引脚的计数脉冲。
005E D28C             63             SETB  TR0
0060 32               64             RETI
                      65             
                      66     ;**********************************************************
                      67     ; TIMER1 中断服务子程序
                      68     ;**********************************************************
0061                  69     TIMER1:
0061 C2AF             70             CLR  EA              ;防止意外,关闭总中断。
0063 758DFF           71             MOV    TH1,#0FFH     ;计数10次初值
0066 758BF6           72             MOV    TL1,#0F6H
0069 EF               73             MOV A,R7    ;
006A 23               74             RL A                 ;循环移位
006B FF               75             MOV  R7,A            ;保存到R7
006C F580             76             MOV  P0,A            ;点亮下一个LED
006E D2AF             77             SETB  EA
0070 32               78             RETI
                      79             
                      80     ;**********************************************************
                      81             END
                             
A51 MACRO ASSEMBLER  TIMER0_T1                                                            12/21/2006 15:45:55 PAGE     3

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


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

EA . . . . . . . .  B ADDR   00A8H.7 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
ET1. . . . . . . .  B ADDR   00A8H.3 A   
MAIN . . . . . . .  C ADDR   0030H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TIMER0 . . . . . .  C ADDR   0050H   A   
TIMER1 . . . . . .  C ADDR   0061H   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
TR1. . . . . . . .  B ADDR   0088H.6 A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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