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

📄 example1.lis

📁 AVR单片机C语言编程及应用实例 适合初学者的学习研究 其中包含Atmega16中文资料及Protel部分电路图
💻 LIS
字号:
                        .module example1.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\学习\avr\天祥电子AVR视频教程\chengxu\example\example1.c
 0000                   .dbfunc e delay_1ms _delay_1ms fV
 0000           ;              i -> R16
                        .even
 0000           _delay_1ms::
 0000                   .dbline -1
 0000                   .dbline 4
 0000           ; #include <iom16v.h>
 0000           ; 
 0000           ; void delay_1ms(void)
 0000           ; {
 0000                   .dbline 6
 0000           ;    unsigned char i;
 0000           ;    for(i=0;i<5000;i++);
 0000 0027              clr R16
 0002 01C0              xjmp L5
 0004           L2:
 0004                   .dbline 6
 0004           L3:
 0004                   .dbline 6
 0004 0395              inc R16
 0006           L5:
 0006                   .dbline 6
 0006 0838              cpi R16,136
 0008 E8F3              brlo L2
 000A           X0:
 000A                   .dbline -2
 000A           L1:
 000A                   .dbline 0 ; func end
 000A 0895              ret
 000C                   .dbsym r i 16 c
 000C                   .dbend
 000C                   .dbfunc e delay_ms _delay_ms fV
 000C           ;              i -> R10
 000C           ;           time -> R12
                        .even
 000C           _delay_ms::
 000C AA92              st -y,R10
 000E CA92              st -y,R12
 0010 C02E              mov R12,R16
 0012                   .dbline -1
 0012                   .dbline 9
 0012           ; }
 0012           ; void delay_ms(unsigned char time)
 0012           ; {
 0012                   .dbline 11
 0012           ;    unsigned char i;
 0012           ;    for(i=0;i<time;i++)
 0012 AA24              clr R10
 0014 02C0              xjmp L10
 0016           L7:
 0016                   .dbline 12
 0016           ;       {
 0016                   .dbline 13
 0016           ;            delay_1ms();
 0016 F4DF              xcall _delay_1ms
 0018                   .dbline 14
 0018           ;         }
 0018           L8:
 0018                   .dbline 11
 0018 A394              inc R10
 001A           L10:
 001A                   .dbline 11
 001A AC14              cp R10,R12
 001C E0F3              brlo L7
 001E           X1:
 001E                   .dbline -2
 001E           L6:
 001E                   .dbline 0 ; func end
 001E C990              ld R12,y+
 0020 A990              ld R10,y+
 0022 0895              ret
 0024                   .dbsym r i 10 c
 0024                   .dbsym r time 12 c
 0024                   .dbend
 0024                   .dbfunc e mcuInit _mcuInit fV
                        .even
 0024           _mcuInit::
 0024                   .dbline -1
 0024                   .dbline 18
 0024           ; }
 0024           ; 
 0024           ; void mcuInit(void)
 0024           ; {
 0024                   .dbline 19
 0024           ;    DDRA  = 0xFF;
 0024 8FEF              ldi R24,255
 0026 8ABB              out 0x1a,R24
 0028                   .dbline 20
 0028           ;    PORTA = 0xFF;   
 0028 8BBB              out 0x1b,R24
 002A                   .dbline -2
 002A           L11:
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbend
 002C                   .dbfunc e main _main fV
                        .even
 002C           _main::
 002C                   .dbline -1
 002C                   .dbline 24
 002C           ; }
 002C           ; /*led交替点亮/熄灭*/
 002C           ; void main(void)
 002C           ; {
 002C                   .dbline 25
 002C           ;    mcuInit();
 002C FBDF              xcall _mcuInit
 002E 08C0              xjmp L14
 0030           L13:
 0030                   .dbline 27
 0030           ;    while(1)
 0030           ;       {
 0030                   .dbline 28
 0030           ;            PORTA = 0X00;  //点亮led
 0030 2224              clr R2
 0032 2BBA              out 0x1b,R2
 0034                   .dbline 29
 0034           ;                delay_ms(1000); //点亮2秒钟
 0034 08EE              ldi R16,232
 0036 EADF              xcall _delay_ms
 0038                   .dbline 30
 0038           ;                PORTA = 0XFF;  //关闭led
 0038 8FEF              ldi R24,255
 003A 8BBB              out 0x1b,R24
 003C                   .dbline 31
 003C           ;                delay_ms(1000); //关闭2秒钟
 003C 08EE              ldi R16,232
 003E E6DF              xcall _delay_ms
 0040                   .dbline 32
 0040           ;         } 
 0040           L14:
 0040                   .dbline 26
 0040 F7CF              xjmp L13
 0042           X2:
 0042                   .dbline -2
 0042           L12:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbend
 0044           ; }

⌨️ 快捷键说明

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