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

📄 leddisp.lis

📁 AVR程序
💻 LIS
字号:
                        .module LEDDisp.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\job\M16学习板\LED显示程序(实验一)\LEDDisp.c
 0000                   .dbfile F:\job\M16学习板\LED显示程序(实验一)\..\ICC_H\SOFTWARE.h
 0000                   .dbfunc e ChangeIntToHex _ChangeIntToHex fV
 0000           ;            dec -> R20,R21
                        .even
 0000           _ChangeIntToHex::
 0000 0E940000          xcall push_gset1
 0004 A801              movw R20,R16
 0006                   .dbline -1
 0006                   .dbline 136
 0006           ; /*******************************************************************
 0006           ;                       实验一
 0006           ; 实验名称: LED驱动程序实验
 0006           ; 实验目的: 初步学习对单片机端口的操作,加深对AVR单片机端口寄存器的理解
 0006           ; 实验现象: LED数码管从左向右依次亮,然后依次灭
 0006           ; 环      境: ICCAVR6.31A
 0006           ; 设 计 者: shinea8868
 0006           ; 说    明: 部分程序原型源自网络,经本人修改调试可用,请尊重知识产权,如
 0006           ;                 作商业用途请保留本段文字
 0006           ; 完成日期: 2007年4月9日
 0006           ; *******************************************************************/
 0006           ; 
 0006           ; 
 0006           ; #include <iom16v.h>
 0006           ; #include <macros.h>
 0006           ; #include "..\ICC_H\SOFTWARE.h"
 0006           ; /*-----------------------------------------------------------------
 0006           ;     延时程序计算方法
 0006           ;       计数个数j = 延时时间/6*晶振频率 - 1
 0006           ; -----------------------------------------------------------------*/
 0006           ; void DelayMs(uint i)
 0006           ; {
 0006           ;       uchar j;
 0006           ;       while(i--)
 0006           ;       {
 0006           ;               j = 167;//1mhz 1ms延时
 0006           ;           while(j--);
 0006           ;       }
 0006           ; }
 0006           ; /*-----------------------------------------------------------------
 0006           ; 函数名称: void main(void)
 0006           ; 函数功能: 
 0006           ; 参    数: 
 0006           ; 返 回 值: 无
 0006           ; -----------------------------------------------------------------*/
 0006           ; void main(void)
 0006           ; {
 0006           ;       uchar i;
 0006           ;       while(1)
 0006           ;       {
 0006           ;               for( i = 0; i < 8; i++)
 0006           ;               {
 0006           ;                       DelayMs(1000);
 0006           ;                       DDRB = 0xff;
 0006           ;                       PORTB ^= (1<<i);//PORTB的第i位取反
 0006           ;               }
 0006           ;       }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006           ; }
 0006                   .dbline 137
 0006           ; }
 0006 FA01              movw R30,R20
 0008 2080              ldd R2,z+0
 000A 3324              clr R3
 000C 1AE0              ldi R17,10
 000E 022D              mov R16,R2
 0010 0E940000          xcall mod8u
 0014 402E              mov R4,R16
 0016 1AE0              ldi R17,10
 0018 022D              mov R16,R2
 001A 0E940000          xcall div8u
 001E 802F              mov R24,R16
 0020 8F70              andi R24,#0x0F
 0022 8295              swap R24
 0024 8429              or R24,R4
 0026 FA01              movw R30,R20
 0028 8083              std z+0,R24
 002A                   .dbline -2
 002A           L1:
 002A 0E940000          xcall pop_gset1
 002E                   .dbline 0 ; func end
 002E 0895              ret
 0030                   .dbsym r dec 20 pc
 0030                   .dbend
 0030                   .dbfunc e ChangeHexToInt _ChangeHexToInt fV
 0030           ;            hex -> R16,R17
                        .even
 0030           _ChangeHexToInt::
 0030                   .dbline -1
 0030                   .dbline 166
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030           ; }
 0030                   .dbline 167
 0030           ; }
 0030 F801              movw R30,R16
 0032 2080              ldd R2,z+0
 0034 3324              clr R3
 0036 822D              mov R24,R2
 0038 8295              swap R24
 003A 8F70              andi R24,#0x0F
 003C 9AE0              ldi R25,10
 003E 989F              mul R25,R24
 0040 822D              mov R24,R2
 0042 8F70              andi R24,15
 0044 202C              mov R2,R0
 0046 280E              add R2,R24
 0048 2082              std z+0,R2
 004A                   .dbline -2
 004A           L2:
 004A                   .dbline 0 ; func end
 004A 0895              ret
 004C                   .dbsym r hex 16 pc
 004C                   .dbend
 004C                   .dbfunc e Delay _Delay fV
 004C           ;              i -> R16
                        .even
 004C           _Delay::
 004C                   .dbline -1
 004C                   .dbline 180
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C           ; }
 004C                   .dbline 182
 004C           ; }
 004C           ; }
 004C 08EC              ldi R16,200
 004E           L4:
 004E                   .dbline 183
 004E           L5:
 004E                   .dbline 183
 004E           ; }
 004E 202E              mov R2,R16
 0050 3324              clr R3
 0052 0150              subi R16,1
 0054 2220              tst R2
 0056 D9F7              brne L4
 0058                   .dbline -2
 0058           L3:
 0058                   .dbline 0 ; func end
 0058 0895              ret
 005A                   .dbsym r i 16 c
 005A                   .dbend
 005A                   .dbfile F:\job\M16学习板\LED显示程序(实验一)\LEDDisp.c
 005A                   .dbfunc e DelayMs _DelayMs fV
 005A           ;              j -> R20
 005A           ;              i -> R16,R17
                        .even
 005A           _DelayMs::
 005A 0E940000          xcall push_gset1
 005E                   .dbline -1
 005E                   .dbline 22
 005E 06C0              xjmp L9
 0060           L8:
 0060                   .dbline 25
 0060                   .dbline 26
 0060 47EA              ldi R20,167
 0062           L11:
 0062                   .dbline 27
 0062           L12:
 0062                   .dbline 27
 0062 242E              mov R2,R20
 0064 3324              clr R3
 0066 4150              subi R20,1
 0068 2220              tst R2
 006A D9F7              brne L11
 006C                   .dbline 28
 006C           L9:
 006C                   .dbline 24
 006C 1801              movw R2,R16
 006E 0150              subi R16,1
 0070 1040              sbci R17,0
 0072 2220              tst R2
 0074 A9F7              brne L8
 0076 3320              tst R3
 0078 99F7              brne L8
 007A           X0:
 007A                   .dbline -2
 007A           L7:
 007A 0E940000          xcall pop_gset1
 007E                   .dbline 0 ; func end
 007E 0895              ret
 0080                   .dbsym r j 20 c
 0080                   .dbsym r i 16 i
 0080                   .dbend
 0080                   .dbfunc e main _main fV
 0080           ;              i -> R20
                        .even
 0080           _main::
 0080                   .dbline -1
 0080                   .dbline 37
 0080 11C0              xjmp L16
 0082           L15:
 0082                   .dbline 40
 0082                   .dbline 41
 0082 4427              clr R20
 0084 0DC0              xjmp L21
 0086           L18:
 0086                   .dbline 42
 0086                   .dbline 43
 0086 08EE              ldi R16,1000
 0088 13E0              ldi R17,3
 008A E7DF              xcall _DelayMs
 008C                   .dbline 44
 008C 8FEF              ldi R24,255
 008E 87BB              out 0x17,R24
 0090                   .dbline 45
 0090 01E0              ldi R16,1
 0092 142F              mov R17,R20
 0094 0E940000          xcall lsl8
 0098 28B2              in R2,0x18
 009A 2026              eor R2,R16
 009C 28BA              out 0x18,R2
 009E                   .dbline 46
 009E           L19:
 009E                   .dbline 41
 009E 4395              inc R20
 00A0           L21:
 00A0                   .dbline 41
 00A0 4830              cpi R20,8
 00A2 88F3              brlo L18
 00A4                   .dbline 47
 00A4           L16:
 00A4                   .dbline 39
 00A4 EECF              xjmp L15
 00A6           X1:
 00A6                   .dbline -2
 00A6           L14:
 00A6                   .dbline 0 ; func end
 00A6 0895              ret
 00A8                   .dbsym r i 20 c
 00A8                   .dbend

⌨️ 快捷键说明

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