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

📄 mcu.lis

📁 《Proteus从入门到精通100例》
💻 LIS
字号:
                        .module MCU.c
                        .area lit(rom, con, rel)
 0000           _SEGtable::
 0000 C0F9              .byte 192,249
 0002 A4B0              .byte 164,176
 0004 9992              .byte 153,146
 0006 82F8              .byte 130,248
 0008 8090              .byte 128,144
 000A 8883              .byte 136,131
 000C C6A1              .byte 198,161
 000E 868E              .byte 134,142
 0010                   .dbfile D:\当前项目\PROTEU~2\Proteus实例\第十章\10.8\MCU.c
 0010                   .dbsym e SEGtable _SEGtable A[16:16]kc
                        .area text(rom, con, rel)
 0000                   .dbfile D:\当前项目\PROTEU~2\Proteus实例\第十章\10.8\MCU.c
 0000                   .dbfunc e main _main fI
 0000           ;        counter -> R16
 0000           ;              i -> R18
 0000           ;              j -> R20
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 5
 0000           ; #include <iom16v.h>
 0000           ; unsigned char const SEGtable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
 0000           ; //"0"~"F"对应的字形编码,共阳极八段数码管
 0000           ; main()
 0000           ; {
 0000                   .dbline 7
 0000           ;   unsigned char i,j;
 0000           ;   unsigned char counter=0;                //指示当前显示的数字或者字符在表格中存放位置
 0000 0027              clr R16
 0002                   .dbline 8
 0002           ;   DDRD = 0xFF;
 0002 8FEF              ldi R24,255
 0004 81BB              out 0x11,R24
 0006                   .dbline 9
 0006           ;   PORTD = 0xFF;                                                 //初始化PORTA
 0006 82BB              out 0x12,R24
 0008 2BC0              xjmp L3
 000A           L2:
 000A                   .dbline 11
 000A           ;   while(1)
 000A           ;   {
 000A                   .dbline 12
 000A           ;     for(i=0;i<250;i++)                    //软件延时
 000A 2227              clr R18
 000C 1AC0              xjmp L8
 000E           L5:
 000E                   .dbline 13
 000E           ;     {
 000E                   .dbline 14
 000E 4427              clr R20
 0010 01C0              xjmp L12
 0012           L9:
 0012                   .dbline 14
 0012           L10:
 0012                   .dbline 14
 0012 4395              inc R20
 0014           L12:
 0014                   .dbline 14
 0014           ;       for(j=0;j<250;j++);
 0014 4A3F              cpi R20,250
 0016 E8F3              brlo L9
 0018                   .dbline 15
 0018 4427              clr R20
 001A 01C0              xjmp L16
 001C           L13:
 001C                   .dbline 15
 001C           L14:
 001C                   .dbline 15
 001C 4395              inc R20
 001E           L16:
 001E                   .dbline 15
 001E           ;       for(j=0;j<250;j++);
 001E 4A3F              cpi R20,250
 0020 E8F3              brlo L13
 0022                   .dbline 16
 0022 4427              clr R20
 0024 01C0              xjmp L20
 0026           L17:
 0026                   .dbline 16
 0026           L18:
 0026                   .dbline 16
 0026 4395              inc R20
 0028           L20:
 0028                   .dbline 16
 0028           ;       for(j=0;j<250;j++);
 0028 4A3F              cpi R20,250
 002A E8F3              brlo L17
 002C                   .dbline 17
 002C 4427              clr R20
 002E 01C0              xjmp L24
 0030           L21:
 0030                   .dbline 17
 0030           L22:
 0030                   .dbline 17
 0030 4395              inc R20
 0032           L24:
 0032                   .dbline 17
 0032           ;       for(j=0;j<250;j++);
 0032 4A3F              cpi R20,250
 0034 E8F3              brlo L21
 0036                   .dbline 18
 0036 4427              clr R20
 0038 01C0              xjmp L28
 003A           L25:
 003A                   .dbline 18
 003A           L26:
 003A                   .dbline 18
 003A 4395              inc R20
 003C           L28:
 003C                   .dbline 18
 003C 4A3F              cpi R20,250
 003E E8F3              brlo L25
 0040                   .dbline 19
 0040           L6:
 0040                   .dbline 12
 0040 2395              inc R18
 0042           L8:
 0042                   .dbline 12
 0042 2A3F              cpi R18,250
 0044 20F3              brlo L5
 0046                   .dbline 20
 0046           ;       for(j=0;j<250;j++);
 0046           ;     }               
 0046           ;     if(counter>=15)                       //已经显示到F,回到0继续显示
 0046 0F30              cpi R16,15
 0048 10F0              brlo L29
 004A                   .dbline 21
 004A           ;     {
 004A                   .dbline 22
 004A           ;       counter = 0;
 004A 0027              clr R16
 004C                   .dbline 23
 004C           ;     }
 004C 01C0              xjmp L30
 004E           L29:
 004E                   .dbline 25
 004E           ;     else
 004E           ;     {
 004E                   .dbline 26
 004E           ;       counter++;                          //数字字符增加
 004E 0395              inc R16
 0050                   .dbline 27
 0050           ;     }
 0050           L30:
 0050                   .dbline 28
 0050 80E0              ldi R24,<_SEGtable
 0052 90E0              ldi R25,>_SEGtable
 0054 E02F              mov R30,R16
 0056 FF27              clr R31
 0058 E80F              add R30,R24
 005A F91F              adc R31,R25
 005C E491              lpm R30,Z
 005E E2BB              out 0x12,R30
 0060                   .dbline 29
 0060           L3:
 0060                   .dbline 10
 0060 D4CF              xjmp L2
 0062           X0:
 0062                   .dbline -2
 0062           L1:
 0062                   .dbline 0 ; func end
 0062 0895              ret
 0064                   .dbsym r counter 16 c
 0064                   .dbsym r i 18 c
 0064                   .dbsym r j 20 c
 0064                   .dbend

⌨️ 快捷键说明

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