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

📄 cd_rom.lst

📁 基于单片机的CD播放器的设计
💻 LST
字号:
A51 MACRO ASSEMBLER  CD_ROM                                                               12/11/2008 20:33:09 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN cd_rom.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE cd_rom.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;*                    CD-ROM播放器   (单LCD显示版本)                       *
                       2     ;***************************************************************************
                       3     ;*  标题:CD-ROM播放器                                                      *
                       4     ;*  更新日期:2008.12.2                                                     *
                       5     ;*  程序编写:马泽民                                                        *
                       6     ;*  E-mail:ruochen311@yahoo.com.cn                                         *
                       7     ;*  学校: 北京信息科技大学                                                 *
                       8     ;*  说明:用89C52控制光嵌烈羝礐D(光歉某蒀D机)                             *
                       9     ;***************************************************************************
                      10     ;*注:单片机89C52/S52   晶振12Mhz                                           *
                      11     ;*本程序搭配CDROM控制器 单LCD显示版本PCB                                   *
                      12     ;***************************************************************************
                      13     
                      14     
                      15     
                      16     
0000                  17     ORG 0000H
0000 0130             18     AJMP boot
0013                  19     ORG 00013H ;外部中断P3.3脚INT1入口地址 
0013 0147             20     AJMP INT 
                      21     
0030                  22     ORG 030H
0030                  23     boot:
  0031                24     CODE_BASE    EQU  0031h
  0085                25     STACK_START  EQU  85h  
                      26     
                      27     ;ctrl bus
  00A5                28     DA0 bit  p2.5
  00A6                29     DA1 bit  p2.6
  00A7                30     DA2 bit  P2.7
                      31     
                      32     ;ctrl
  00B7                33     ATA_nDIOR       bit   p3.7 ;read strobe
  00B6                34     ATA_nDIOW       bit   p3.6 ;write strobe
  00B2                35     ATA_nRESET      bit   p3.2
  00B5                36     ATA_INTRQ       bit   p3.5 ;irq
                      37     
                      38     ;data bus
  0080                39     ATA_DATA_LS     data  p0
  0090                40     ATA_DATA_MS     data  p1
                      41     
                      42     ;ir_control_code
  005B                43     ir_code data 5bH
                      44     
                      45     ;display ctrl  显示控制
                      46     
  00B4                47     DISP_E  bit p3.4           ;显示控制
                      48     
  0096                49     RSPIN   EQU     P1.6
  0097                50     RWPIN   EQU     P1.7
  00B4                51     EPIN    EQU     P3.4
                      52     
                      53     ;display data bus
                      54     
  0080                55     LCM_D  data P0  ;  LCM BUS
                      56     
                      57     ;Key
  00A0                58     play_key   bit p2.0
A51 MACRO ASSEMBLER  CD_ROM                                                               12/11/2008 20:33:09 PAGE     2

  00A1                59     pause_key  bit p2.1
  00A2                60     pre_key    bit p2.2
  00A3                61     next_key   bit p2.3
  00A4                62     stop_key   bit p2.4
                      63     
  0008                64     packet_size     data  08h
  0009                65     start_track     data  09h
  0069                66     end_track       data  69h
  000A                67     tmp0            data  0ah
  000B                68     tmp1            data  0bh
  000C                69     tmp2            data  0ch
  000D                70     tmp3            data  0dh
  000E                71     start_M         data  0eh
  000F                72     start_S         data  0fh
  0010                73     start_F         data  10h
  0011                74     end_M           data  11h
  0012                75     end_S           data  12h
  0013                76     end_F           data  13h
  0014                77     audio_status    data  14h
  0060                78     current_track   data  60h
  0061                79     current_M       data  61h 
  0062                80     current_S       data  62h
  0063                81     current_F       data  63h
  0064                82     next_track      data  64h
  0067                83     media_type      data  67h 
  0042                84     volume_1        data  42h
  0043                85     volume_2        data  43h
  0045                86     sense_code      data  45h
  0046                87     show_all        data  46h
                      88     
  0016                89     aba_t           data  16h
  0018                90     abb_m           data  18h
  0019                91     abb_s           data  19h
                      92     
  0015                93     Err_cd_code     data  15h
  0054                94     toc_times       data  54h        
  0053                95     pause_da        data  53h
  0052                96     pause_db        data  52h
                      97     
  0050                98     ir_temp data 50h
  0058                99     ir_key data 58h
  0051               100     ir_num data 51h 
  0059               101     driver_status data 59h                          
                     102     
  004C               103     play_mode  data 4ch
  004F               104     track_a data 4fh              ;循环开始结束曲
  004D               105     track_b data 4dh            
                     106     
  0065               107     a_bit data 65h
  0066               108     b_bit data 66h
  0068               109     DM_code data 68h
                     110     
  006A               111     d_track data 6ah
  006C               112     d_s  data 6ch
  006D               113     d_m  data 6dh
                     114     
  006E               115     n_s  data 6eh
  006F               116     n_m  data 6fh
                     117     
  0057               118     E_M  data 57h             ;要显示用得M S T
  0056               119     E_s  data 56h
  0055               120     E_t  data 55h 
                     121     
                     122            
                     123     
                     124     
A51 MACRO ASSEMBLER  CD_ROM                                                               12/11/2008 20:33:09 PAGE     3

  0070               125     packet_tab      idata 70h
  0070               126     packet_cmd      data  70h
  0071               127     packet_1        data  71h
  0072               128     packet_2        data  72h
  0073               129     packet_3        data  73h
  0074               130     packet_4        data  74h
  0075               131     packet_5        data  75h
  0076               132     packet_6        data  76h
  0077               133     packet_7        data  77h
  0078               134     packet_8        data  78h
  0079               135     packet_9        data  79h
  007A               136     packet_10       data  7ah
  007B               137     packet_11       data  7bh
  007C               138     packet_12       data  7ch
  007D               139     packet_13       data  7dh
  007E               140     packet_14       data  7eh
  007F               141     packet_15       data  7fh
                     142     
0031                 143     org CODE_BASE
0031 C2AF            144      clr EA
                     145      ;SETB EA ;打开CPU总中断请求
0033 C2A8            146      clr ex0 ;关掉其他中断
0035 C2AB            147      clr et1
0037 C2AC            148      clr es
0039 C2A9            149      clr et0
003B D28A            150      SETB IT1 ;设定INT1的触发方式为脉冲负边沿触发
003D D2AA            151      SETB EX1 ;打开INT1中断请求 (红外线输入)
003F 755BFF          152      mov ir_code,#0ffh
0042 D2AF            153      SETB EA ;打开CPU总中断请求
0044 02193D          154      ljmp  start
                     155     
                     156     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     157     ;红外线控制程序
                     158     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0047                 159     INT: 
0047 C2AF            160       CLR EA         ;暂时关闭CPU的所有中断请求
                     161     
0049 7E0A            162       MOV R6,#10
004B                 163     SB:  
                     164       ;SJMP YS0      ;转到882微秒延时判断子程序
004B 1189            165       call YS1
004D 20B32D          166       jb p3.3,exit
0050                 167     SBB:             ;延时882微秒中判断P3.3脚是否出现高电平如果有就退出解码程序
0050 DEF9            168       DJNZ R6, SB    ;重复R6次,目的是检测在8820微秒内如果出现高电平就退出解码程序
                     169     ;以上完成对遥控信号的9000微秒的初始低电平信号的识别,即识别业悸

⌨️ 快捷键说明

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