?? mcu.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 + -