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

📄 main.lis

📁 学习AVR单片机的基础实验程序 适合初学者学习提高
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module main.c
                        .area data(ram, con, rel)
 0000           _time_buf::
 0000                   .blkb 2
                        .area idata
 0000 2007              .byte 32,7
                        .area data(ram, con, rel)
 0002                   .blkb 2
                        .area idata
 0002 0508              .byte 5,8
                        .area data(ram, con, rel)
 0004                   .blkb 2
                        .area idata
 0004 1615              .byte 22,21
                        .area data(ram, con, rel)
 0006                   .blkb 2
                        .area idata
 0006 0002              .byte 0,2
                        .area data(ram, con, rel)
 0008                   .dbfile D:\AVR\我的程序\DS1302的时钟实验/cfg.h
 0008                   .dbsym e time_buf _time_buf A[8:8]c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\AVR\我的程序\DS1302的时钟实验/cfg.h
 0000                   .dbfunc e delay_ms _delay_ms fV
 0000           ;              i -> R20,R21
 0000           ;           time -> R16,R17
                        .even
 0000           _delay_ms::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 42
 0004           ; /***********************************
 0004           ; *实验目的:熟悉DS1302编程
 0004           ; *设    计:萧联珠
 0004           ; *日    期:2007-11-22
 0004           ; ************************************/
 0004           ; #include <iom16v.h>
 0004           ; #include "cfg.h"
 0004           ; 
 0004           ; void main()
 0004           ; {
 0004           ;  unsigned char i;
 0004           ;  ds1302_init();
 0004           ;  uart_init();
 0004           ;  delay_ms(1000);
 0004           ;  ds1302_write_time();  //写入时间初始值
 0004           ;  
 0004           ;  while(1)
 0004           ;  { 
 0004           ;    ds1302_read_time(); //读时间值
 0004           ;    delay_ms(100);
 0004           ;    for(i=1;i<7;i++)
 0004           ;    {
 0004           ;      while(!(UCSRA&(1<<UDRE)));  //等待发送寄存器为空  
 0004           ;        delay_ms(10);
 0004           ;      UDR=time_buf[i];   //发送时间数据:年月日周时分秒
 0004           ;    }
 0004           ;    delay_ms(100);
 0004           ;  }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004           ; }
 0004                   .dbline 44
 0004           ; }
 0004           ; }
 0004 0AC0              xjmp L5
 0006           L2:
 0006                   .dbline 45
 0006 4427              clr R20
 0008 5527              clr R21
 000A           L6:
 000A                   .dbline 45
 000A           L7:
 000A                   .dbline 45
 000A 4F5F              subi R20,255  ; offset = 1
 000C 5F4F              sbci R21,255
 000E                   .dbline 45
 000E 483E              cpi R20,232
 0010 E3E0              ldi R30,3
 0012 5E07              cpc R21,R30
 0014 D4F3              brlt L6
 0016           L3:
 0016                   .dbline 44
 0016 0150              subi R16,1
 0018 1040              sbci R17,0
 001A           L5:
 001A                   .dbline 44
 001A 2224              clr R2
 001C 3324              clr R3
 001E 2016              cp R2,R16
 0020 3106              cpc R3,R17
 0022 8CF3              brlt L2
 0024                   .dbline -2
 0024           L1:
 0024 0E940000          xcall pop_gset1
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbsym r i 20 I
 002A                   .dbsym r time 16 I
 002A                   .dbend
 002A                   .dbfunc e uart_init _uart_init fV
                        .even
 002A           _uart_init::
 002A                   .dbline -1
 002A                   .dbline 50
 002A           ; }
 002A           ; }
 002A           ; }
 002A           ; }
 002A           ; }
 002A           ; }
 002A                   .dbline 51
 002A           ; }
 002A 82E0              ldi R24,2
 002C 8BB9              out 0xb,R24
 002E                   .dbline 52
 002E           ; }
 002E 88E1              ldi R24,24
 0030 8AB9              out 0xa,R24
 0032                   .dbline 53
 0032           ; }
 0032 86E0              ldi R24,6
 0034 80BD              out 0x20,R24
 0036                   .dbline 54
 0036           ; }
 0036 2224              clr R2
 0038 20BC              out 0x20,R2
 003A                   .dbline 55
 003A           ; }
 003A 8CE0              ldi R24,12
 003C 89B9              out 0x9,R24
 003E                   .dbline -2
 003E           L10:
 003E                   .dbline 0 ; func end
 003E 0895              ret
 0040                   .dbend
 0040                   .dbfunc e ds1302_write_byte _ds1302_write_byte fV
 0040           ;              i -> R20
 0040           ;              d -> R18
 0040           ;           addr -> R16
                        .even
 0040           _ds1302_write_byte::
 0040 0E940000          xcall push_gset1
 0044                   .dbline -1
 0044                   .dbline 60
 0044           ; }
 0044           ; }
 0044           ; }
 0044           ; }
 0044           ; }
 0044                   .dbline 63
 0044           ; }
 0044           ; }
 0044           ; }
 0044 AC9A              sbi 0x15,4
 0046                   .dbline 66
 0046           ; }
 0046           ; }
 0046           ; }
 0046 A39A              sbi 0x14,3
 0048                   .dbline 67
 0048           ; }
 0048 0E7F              andi R16,254
 004A                   .dbline 68
 004A 4427              clr R20
 004C 09C0              xjmp L15
 004E           L12:
 004E                   .dbline 68
 004E           ; }
 004E                   .dbline 69
 004E           ; }
 004E 00FF              sbrs R16,0
 0050 02C0              rjmp L16
 0052                   .dbline 69
 0052                   .dbline 70
 0052           ; }
 0052 AB9A              sbi 0x15,3
 0054                   .dbline 71
 0054           ; }
 0054 01C0              xjmp L17
 0056           L16:
 0056                   .dbline 72
 0056           ; }
 0056                   .dbline 73
 0056           ; }
 0056 AB98              cbi 0x15,3
 0058                   .dbline 74
 0058           ; }
 0058           L17:
 0058                   .dbline 75
 0058 AA9A              sbi 0x15,2
 005A                   .dbline 76
 005A AA98              cbi 0x15,2
 005C                   .dbline 77
 005C 0695              lsr R16
 005E                   .dbline 78
 005E           L13:
 005E                   .dbline 68
 005E 4395              inc R20
 0060           L15:
 0060                   .dbline 68
 0060 4830              cpi R20,8
 0062 A8F3              brlo L12
 0064                   .dbline 81
 0064           ; }
 0064           ; }
 0064           ; }
 0064           ; }
 0064           ; }
 0064           ; }
 0064           ; }
 0064 A39A              sbi 0x14,3
 0066                   .dbline 82
 0066 4427              clr R20
 0068 09C0              xjmp L21
 006A           L18:
 006A                   .dbline 82
 006A           ; }
 006A                   .dbline 83
 006A           ; }
 006A 20FF              sbrs R18,0
 006C 02C0              rjmp L22
 006E                   .dbline 83
 006E                   .dbline 84
 006E           ; }
 006E AB9A              sbi 0x15,3
 0070                   .dbline 85
 0070           ; }
 0070 01C0              xjmp L23
 0072           L22:
 0072                   .dbline 86
 0072           ; }
 0072                   .dbline 87
 0072           ; }
 0072 AB98              cbi 0x15,3
 0074                   .dbline 88
 0074           ; }
 0074           L23:
 0074                   .dbline 89
 0074 AA9A              sbi 0x15,2
 0076                   .dbline 90
 0076 AA98              cbi 0x15,2
 0078                   .dbline 91
 0078 2695              lsr R18
 007A                   .dbline 92
 007A           L19:
 007A                   .dbline 82
 007A 4395              inc R20
 007C           L21:
 007C                   .dbline 82
 007C 4830              cpi R20,8
 007E A8F3              brlo L18
 0080                   .dbline 93
 0080           ; }
 0080           ; }
 0080           ; }
 0080           ; }
 0080           ; }
 0080 AC98              cbi 0x15,4
 0082                   .dbline -2
 0082           L11:
 0082 0E940000          xcall pop_gset1
 0086                   .dbline 0 ; func end
 0086 0895              ret
 0088                   .dbsym r i 20 c
 0088                   .dbsym r d 18 c
 0088                   .dbsym r addr 16 c
 0088                   .dbend
 0088                   .dbfunc e ds1302_read_byte _ds1302_read_byte fc
 0088           ;           temp -> R20
 0088           ;              i -> R22
 0088           ;           addr -> R16
                        .even
 0088           _ds1302_read_byte::
 0088 0E940000          xcall push_gset2
 008C                   .dbline -1
 008C                   .dbline 97
 008C           ; }
 008C           ; }
 008C           ; }
 008C           ; }
 008C                   .dbline 101
 008C           ; }
 008C           ; }
 008C           ; }
 008C           ; }
 008C AC9A              sbi 0x15,4
 008E                   .dbline 104
 008E           ; }
 008E           ; }
 008E           ; }
 008E A39A              sbi 0x14,3
 0090                   .dbline 105
 0090           ; }
 0090 0160              ori R16,1
 0092                   .dbline 106
 0092 6627              clr R22
 0094 09C0              xjmp L28
 0096           L25:
 0096                   .dbline 106
 0096           ; }
 0096                   .dbline 107
 0096           ; }
 0096 00FF              sbrs R16,0
 0098 02C0              rjmp L29
 009A                   .dbline 107
 009A                   .dbline 108
 009A           ; }
 009A AB9A              sbi 0x15,3

⌨️ 快捷键说明

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