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

📄 ajzdsm.lis

📁 AVR单片机C语言编程及应用实例 适合初学者的学习研究 其中包含Atmega16中文资料及Protel部分电路图
💻 LIS
字号:
                        .module ajzdsm.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\学习\avr\天祥电子AVR视频教程\chengxu\按键中断扫描\ajzdsm.c
                        .area data(ram, con, rel)
 0000                   .dbfile G:\学习\avr\天祥电子AVR视频教程\chengxu\按键中断扫描\ajzdsm.c
 0000           _num::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile G:\学习\avr\天祥电子AVR视频教程\chengxu\按键中断扫描\ajzdsm.c
 0001                   .dbsym e num _num c
                        .area vector(rom, abs)
                        .org 8
 0008 0C940000          jmp _miao
                        .area data(ram, con, rel)
 0001                   .dbfile G:\学习\avr\天祥电子AVR视频教程\chengxu\按键中断扫描\ajzdsm.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\学习\avr\天祥电子AVR视频教程\chengxu\按键中断扫描\ajzdsm.c
 0000                   .dbfunc e miao _miao fV
                        .even
 0000           _miao::
 0000 2A92              st -y,R2
 0002 0A93              st -y,R16
 0004 1A93              st -y,R17
 0006 8A93              st -y,R24
 0008 9A93              st -y,R25
 000A 2FB6              in R2,0x3f
 000C 2A92              st -y,R2
 000E                   .dbline -1
 000E                   .dbline 9
 000E           ; #include <iom16v.h>
 000E           ; #include <macros.h>
 000E           ; #define  uchar unsigned char
 000E           ; #define  uint  unsigned int
 000E           ; uchar num=0;
 000E           ; #pragma interrupt_handler miao:3
 000E           ; 
 000E           ; void miao()
 000E           ; {
 000E                   .dbline 10
 000E           ;     if(num==60)
 000E 80910000          lds R24,_num
 0012 8C33              cpi R24,60
 0014 19F4              brne L2
 0016           X0:
 0016                   .dbline 11
 0016           ;          num=0;
 0016 2224              clr R2
 0018 20920000          sts _num,R2
 001C           L2:
 001C                   .dbline 12
 001C           ;          num++; 
 001C 80910000          lds R24,_num
 0020 8F5F              subi R24,255    ; addi 1
 0022 80930000          sts _num,R24
 0026                   .dbline 13
 0026           ;               if(num%2==0)PORTA|=BIT(0);
 0026 12E0              ldi R17,2
 0028 082F              mov R16,R24
 002A 0E940000          xcall mod8u
 002E 0023              tst R16
 0030 11F4              brne L4
 0032           X1:
 0032                   .dbline 13
 0032 D89A              sbi 0x1b,0
 0034 01C0              xjmp L5
 0036           L4:
 0036                   .dbline 14
 0036           ;               else PORTA&=~BIT(0);
 0036 D898              cbi 0x1b,0
 0038           L5:
 0038                   .dbline -2
 0038           L1:
 0038                   .dbline 0 ; func end
 0038 2990              ld R2,y+
 003A 2FBE              out 0x3f,R2
 003C 9991              ld R25,y+
 003E 8991              ld R24,y+
 0040 1991              ld R17,y+
 0042 0991              ld R16,y+
 0044 2990              ld R2,y+
 0046 1895              reti
 0048                   .dbend
 0048                   .dbfunc e main _main fV
                        .even
 0048           _main::
 0048                   .dbline -1
 0048                   .dbline 18
 0048           ;                
 0048           ; }
 0048           ; void main()
 0048           ; {
 0048                   .dbline 19
 0048           ;     DDRA|=BIT(0);
 0048 D09A              sbi 0x1a,0
 004A                   .dbline 20
 004A           ;       DDRD|=BIT(3);//外部中断1的触发管脚
 004A 8B9A              sbi 0x11,3
 004C                   .dbline 21
 004C           ;       PORTD&=~BIT(3);
 004C 9398              cbi 0x12,3
 004E                   .dbline 22
 004E           ;       GICR|=BIT(7);//T/C1控制寄存器B
 004E 8BB7              in R24,0x3b
 0050 8068              ori R24,128
 0052 8BBF              out 0x3b,R24
 0054                   .dbline 23
 0054           ;     MCUCR=0X0C;
 0054 8CE0              ldi R24,12
 0056 85BF              out 0x35,R24
 0058                   .dbline 24
 0058           ;       SREG|=BIT(7);//总中断
 0058 7894              bset 7
 005A           L7:
 005A                   .dbline 25
 005A           ;       while(1){;}
 005A                   .dbline 25
 005A                   .dbline 25
 005A           L8:
 005A                   .dbline 25
 005A FFCF              xjmp L7
 005C           X2:
 005C                   .dbline -2
 005C           L6:
 005C                   .dbline 0 ; func end
 005C 0895              ret
 005E                   .dbend
 005E           ; 
 005E           ;       
 005E           ; }

⌨️ 快捷键说明

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