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

📄 main.lis

📁 内部1 M晶振。定时器实险
💻 LIS
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\ICCAVR\project\afa-1\icc\afa-003\main.c
 0000                   .dbfunc e delay_ms _delay_ms fV
 0000           ;              a -> R20
 0000           ;              b -> R22
 0000           ;              i -> R16
                        .even
 0000           _delay_ms::
 0000 0E940000          xcall push_gset2
 0004                   .dbline -1
 0004                   .dbline 10
 0004           ; /*
 0004           ; 内部1 M晶振。
 0004           ; 定时器实险,周期信号驱动无源蜂鸣器。
 0004           ; 程序中实现单一频率的周期性提示音。
 0004           ; 程序采用单任务方式,软件延时。
 0004           ; */
 0004           ; #include "iom16v.h"
 0004           ; 
 0004           ; /*延时函数*/
 0004           ; void delay_ms(unsigned char i) {
 0004                   .dbline 13
 0004 41E0              ldi R20,1
 0006 06C0              xjmp L5
 0008           L2:
 0008                   .dbline 13
 0008           ; 
 0008           ;       unsigned char a, b;
 0008           ;       for (a = 1; a < i; a++) {
 0008                   .dbline 14
 0008 61E0              ldi R22,1
 000A 01C0              xjmp L9
 000C           L6:
 000C                   .dbline 14
 000C                   .dbline 15
 000C                   .dbline 16
 000C           L7:
 000C                   .dbline 14
 000C 6395              inc R22
 000E           L9:
 000E                   .dbline 14
 000E 6623              tst R22
 0010 E9F7              brne L6
 0012                   .dbline 17
 0012           L3:
 0012                   .dbline 13
 0012 4395              inc R20
 0014           L5:
 0014                   .dbline 13
 0014 4017              cp R20,R16
 0016 C0F3              brlo L2
 0018                   .dbline -2
 0018           L1:
 0018 0E940000          xcall pop_gset2
 001C                   .dbline 0 ; func end
 001C 0895              ret
 001E                   .dbsym r a 20 c
 001E                   .dbsym r b 22 c
 001E                   .dbsym r i 16 c
 001E                   .dbend
 001E                   .dbfunc e main _main fV
 001E           ;              i -> R20
                        .even
 001E           _main::
 001E                   .dbline -1
 001E                   .dbline 20
 001E           ;               for (b = 1; b; b++) {
 001E           ;                       ;
 001E           ;                       }
 001E           ;               }
 001E           ; }
 001E           ; 
 001E           ; void main(void) {
 001E                   .dbline 24
 001E           ; 
 001E           ;       unsigned char i;
 001E           ; 
 001E           ;       DDRA = 0x00;                                            /*方向输入*/
 001E 2224              clr R2
 0020 2ABA              out 0x1a,R2
 0022                   .dbline 25
 0022           ;       PORTA = 0xFF;                                           /*打开上拉*/
 0022 8FEF              ldi R24,255
 0024 8BBB              out 0x1b,R24
 0026                   .dbline 26
 0026           ;       DDRB = 0xFF;                                            /*方向输出*/
 0026 87BB              out 0x17,R24
 0028                   .dbline 27
 0028           ;       PORTB = 0xFF;                                           /*高电平*/
 0028 88BB              out 0x18,R24
 002A                   .dbline 28
 002A           ;       DDRC = 0x00;
 002A 24BA              out 0x14,R2
 002C                   .dbline 29
 002C           ;       PORTC = 0xFF;
 002C 85BB              out 0x15,R24
 002E                   .dbline 30
 002E           ;       DDRD = 0xFF;
 002E 81BB              out 0x11,R24
 0030                   .dbline 31
 0030           ;       PORTD = 0xFF;
 0030 82BB              out 0x12,R24
 0032 1BC0              xjmp L12
 0034           L11:
 0034                   .dbline 33
 0034           ; 
 0034           ;       while (1) {
 0034                   .dbline 34
 0034 4427              clr R20
 0036 0AC0              xjmp L17
 0038           L14:
 0038                   .dbline 34
 0038                   .dbline 35
 0038 01E0              ldi R16,1
 003A 142F              mov R17,R20
 003C 0E940000          xcall lsl8
 0040 202E              mov R2,R16
 0042 2094              com R2
 0044 28BA              out 0x18,R2
 0046                   .dbline 36
 0046 04E6              ldi R16,100
 0048 DBDF              xcall _delay_ms
 004A                   .dbline 37
 004A           L15:
 004A                   .dbline 34
 004A 4395              inc R20
 004C           L17:
 004C                   .dbline 34
 004C 4830              cpi R20,8
 004E A0F3              brlo L14
 0050                   .dbline 38
 0050 80E4              ldi R24,64
 0052 8FBD              out 0x2f,R24
 0054                   .dbline 39
 0054 89E0              ldi R24,9
 0056 8EBD              out 0x2e,R24
 0058                   .dbline 40
 0058 88EE              ldi R24,1000
 005A 93E0              ldi R25,3
 005C 9BBD              out 0x2b,R25
 005E 8ABD              out 0x2a,R24
 0060                   .dbline 41
 0060 08EC              ldi R16,200
 0062 CEDF              xcall _delay_ms
 0064                   .dbline 42
 0064 2224              clr R2
 0066 2FBC              out 0x2f,R2
 0068                   .dbline 43
 0068 9598              cbi 0x12,5
 006A                   .dbline 44
 006A           L12:
 006A                   .dbline 33
 006A E4CF              xjmp L11
 006C           X0:
 006C                   .dbline -2
 006C           L10:
 006C                   .dbline 0 ; func end
 006C 0895              ret
 006E                   .dbsym r i 20 c
 006E                   .dbend

⌨️ 快捷键说明

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