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

📄 main.lst

📁 介绍用单片机实现时钟的程序,可共大家学习,交流.
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 11/17/2007 23:49:28 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;*****************************************************
                       2     ;
                       3     ;     This programme is for study Ver1.0.0 beta
                       4     ;            The main control programe
                       5     ;This programme must be run in 12MHz standard settings
                       6     ;               Designer: cqmcu.com
                       7     ;           Copyright 2007 koiistudio
                       8     ;
                       9     ;*****************************************************
                      10     
                      11     ;*****************************************************
                      12     ;参数定义
                      13     ;*****************************************************
                      14     
  0095                15     beep                    bit     p1.5                    ;蜂鸣器引脚
  0008                16     digital_bit             equ     08h                     ;显示位
  0009                17     keys_byte               equ     09h                     ;按键字节
  000A                18     digital_flash_time      equ     0ah                     ;闪烁计时
  000B                19     digital_flash_bit       equ     0bh                     ;闪烁位
  000C                20     aleart_data             equ     0ch                     ;时间报警字节(连续两字节)
  000E                21     aleart_byte             equ     0eh                     ;报警设置字节
  0010                22     digital_byte            equ     10h                     ;显存首址,连续8字节为显存
  0020                23     date_data               equ     20h                     ;时钟数据首地址
                      24     
                      25     ;*****************************************************
                      26     ;主程序
                      27     ;*****************************************************
                      28     
0000                  29                             org     0000h
0000 802E             30                             jmp     start
                      31     
000B                  32                             org     000bh
000B A142             33                             jmp     time_int
                      34     
0013                  35                             org     0013h
0013 41E5             36                             jmp     keys_int
                      37     
0030                  38                             org     0030h
0030 758000           39     start:                  mov     p0,#0
0033 75900F           40                             mov     p1,#0fh
0036 75A000           41                             mov     p2,#0
0039 75B0FF           42                             mov     p3,#0ffh
                      43     
003C 758160           44                             mov     sp,#60h                 ;堆栈地址
003F 787F             45                             mov     r0,#7fh                ;Clear the ram
0041 E4               46                             clr     a
0042 F6               47     main_clear0:            mov     @r0,a
0043 D8FD             48                             djnz    r0,main_clear0
                      49     
0045 750801           50                             mov     digital_bit,#1
                      51     
0048 780C             52                             mov     r0,#aleart_data             ;默认的报警时间
004A 7600             53                             mov     @r0,#00h                    ;分
004C 08               54                             inc     r0
004D 7607             55                             mov     @r0,#07h                    ;时
                      56     
004F 31CD             57                             call    timer_set
0051 512B             58                             call    iicread
A51 MACRO ASSEMBLER  MAIN                                                                 11/17/2007 23:49:28 PAGE     2

0053 D2A8             59                             setb    ex0
0055 D2AA             60                             setb    ex1
0057 D2AF             61                             setb    ea
0059 1183             62                             call    beep1
005B 310E             63     main_wait:              call    digital
005D E509             64                             mov     a,keys_byte
005F B40002           65                             cjne    a,#0,keysmanagement
0062 80F7             66                             jmp     main_wait
                      67     
0064 7117             68     keysmanagement:         call    keys_management
0066 750900           69                             mov     keys_byte,#0
0069 80F0             70                             jmp     main_wait
                      71     
                      72     ;*****************************************************
                      73     ;子程序文件载入
                      74     ;*****************************************************
                      75     
                      76     ;*****************************************************
                      77     ;时间报警校验程序
                      78     ;*****************************************************
                      79     
006B 7420             80     aleart_check:           mov     a,#date_data
006D 2403             81                             add     a,#3
006F F8               82                             mov     r0,a
0070 790C             83                             mov     r1,#aleart_data
0072 E6               84                             mov     a,@r0
0073 FB               85                             mov     r3,a
0074 E7               86                             mov     a,@r1
0075 B5030A           87                             cjne    a,03h,aleart_check_ret
0078 08               88                             inc     r0
0079 09               89                             inc     r1
007A E6               90                             mov     a,@r0
007B FB               91                             mov     r3,a
007C E7               92                             mov     a,@r1
007D B50302           93                             cjne    a,03h,aleart_check_ret
0080 11BD             94                             call    beep3
0082 22               95     aleart_check_ret:       ret
                      96     
                      97     ;*****************************************************
                      98     ;短鸣一声
                      99     ;*****************************************************
                     100     
0083 751F04          101     beep1:                  mov     1fh,#04h
0086 D295            102                             setb    beep
0088 12010E          103     beep1_1:                lcall   digital
008B 12010E          104                             lcall   digital
008E 12010E          105                             lcall   digital
0091 12010E          106                             lcall   digital
0094 12010E          107                             lcall   digital

⌨️ 快捷键说明

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