📄 lednum.lis
字号:
.module LEDNUM.C
.area text(rom, con, rel)
0000 .dbfile E:\WORK\WORK_DEMO\169P_demo\169ADC\LEDNUM.C
.area lit(rom, con, rel)
0000 _seg_table::
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 .dbsym e seg_table _seg_table A[16:16]kc
.area data(ram, con, rel)
0000 .dbfile E:\WORK\WORK_DEMO\169P_demo\169ADC\LEDNUM.C
0000 _led_buff::
0000 .blkb 2
.area idata
0000 0000 .byte 0,0
.area data(ram, con, rel)
0002 .dbfile E:\WORK\WORK_DEMO\169P_demo\169ADC\LEDNUM.C
0002 .blkb 2
.area idata
0002 0000 .byte 0,0
.area data(ram, con, rel)
0004 .dbfile E:\WORK\WORK_DEMO\169P_demo\169ADC\LEDNUM.C
0004 .dbsym e led_buff _led_buff A[4:4]c
.area text(rom, con, rel)
0000 .dbfile E:\WORK\WORK_DEMO\169P_demo\169ADC\LEDNUM.C
0000 .dbfunc e delay_us _delay_us fV
0000 ; time -> R16,R17
.even
0000 _delay_us::
0000 .dbline -1
0000 .dbline 7
0000 ; #include<iom169v.h>
0000 ; const unsigned char seg_table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0000 ; 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
0000 ; unsigned char led_buff[4]={0,0,0,0};
0000 ; /* 微秒级延时程序 */
0000 ; void delay_us(int time)
0000 ; {
0000 L2:
0000 .dbline 9
0000 ; do
0000 ; {
0000 .dbline 10
0000 ; time--;
0000 0150 subi R16,1
0002 1040 sbci R17,0
0004 .dbline 11
0004 ; }
0004 L3:
0004 .dbline 12
0004 ; while (time>1);
0004 81E0 ldi R24,1
0006 90E0 ldi R25,0
0008 8017 cp R24,R16
000A 9107 cpc R25,R17
000C CCF3 brlt L2
000E X0:
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbsym r time 16 I
0010 .dbend
0010 .dbfunc e delay_ms _delay_ms fV
0010 ; time -> R20,R21
.even
0010 _delay_ms::
0010 4A93 st -y,R20
0012 5A93 st -y,R21
0014 A801 movw R20,R16
0016 .dbline -1
0016 .dbline 16
0016 ; }
0016 ; /* 毫秒级延时程序 */
0016 ; void delay_ms(unsigned int time)
0016 ; {
0016 05C0 xjmp L7
0018 L6:
0018 .dbline 18
0018 ; while(time!=0)
0018 ; {
0018 .dbline 19
0018 ; delay_us(1000);
0018 08EE ldi R16,1000
001A 13E0 ldi R17,3
001C F1DF xcall _delay_us
001E .dbline 20
001E ; time--;
001E 4150 subi R20,1
0020 5040 sbci R21,0
0022 .dbline 21
0022 ; }
0022 L7:
0022 .dbline 17
0022 4030 cpi R20,0
0024 4507 cpc R20,R21
0026 C1F7 brne L6
0028 X1:
0028 .dbline -2
0028 L5:
0028 .dbline 0 ; func end
0028 5991 ld R21,y+
002A 4991 ld R20,y+
002C 0895 ret
002E .dbsym r time 20 i
002E .dbend
002E .dbfunc e display _display fV
002E ; n -> R20
.even
002E _display::
002E 4A93 st -y,R20
0030 5A93 st -y,R21
0032 .dbline -1
0032 .dbline 24
0032 ; }
0032 ; void display(void)
0032 ; {
0032 .dbline 26
0032 ; unsigned char n;
0032 ; DDRE=0xff;
0032 8FEF ldi R24,255
0034 8DB9 out 0xd,R24
0036 .dbline 27
0036 ; PORTE=0xff;
0036 8EB9 out 0xe,R24
0038 .dbline 28
0038 ; DDRB|=0xf0;
0038 84B1 in R24,0x4
003A 806F ori R24,240
003C 84B9 out 0x4,R24
003E .dbline 29
003E ; PORTB|=0xf0;
003E 85B1 in R24,0x5
0040 806F ori R24,240
0042 85B9 out 0x5,R24
0044 .dbline 30
0044 ; for(n=0;n<4;n++)
0044 4427 clr R20
0046 19C0 xjmp L13
0048 L10:
0048 .dbline 31
0048 ; {
0048 .dbline 32
0048 ; PORTE=led_buff[n];
0048 80E0 ldi R24,<_led_buff
004A 90E0 ldi R25,>_led_buff
004C E42F mov R30,R20
004E FF27 clr R31
0050 E80F add R30,R24
0052 F91F adc R31,R25
0054 2080 ldd R2,z+0
0056 2EB8 out 0xe,R2
0058 .dbline 33
0058 ; PORTB&=~(1<<(n+4));
0058 142F mov R17,R20
005A 1C5F subi R17,252 ; addi 4
005C 01E0 ldi R16,1
005E 0E940000 xcall lsl8
0062 202E mov R2,R16
0064 2094 com R2
0066 35B0 in R3,0x5
0068 3220 and R3,R2
006A 35B8 out 0x5,R3
006C .dbline 34
006C ; delay_ms(1);
006C 01E0 ldi R16,1
006E 10E0 ldi R17,0
0070 CFDF xcall _delay_ms
0072 .dbline 35
0072 ; PORTB|=0xf0;
0072 85B1 in R24,0x5
0074 806F ori R24,240
0076 85B9 out 0x5,R24
0078 .dbline 36
0078 ; }
0078 L11:
0078 .dbline 30
0078 4395 inc R20
007A L13:
007A .dbline 30
007A 4430 cpi R20,4
007C 28F3 brlo L10
007E X2:
007E .dbline -2
007E L9:
007E .dbline 0 ; func end
007E 5991 ld R21,y+
0080 4991 ld R20,y+
0082 0895 ret
0084 .dbsym r n 20 c
0084 .dbend
0084 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -