📄 ac16-1.lis
字号:
.module ac16-1.c
.area text(rom, con, rel)
0000 .dbfile d:\MYDOCU~1\ac16-1\ac16-1.c
0000 .dbfunc e Delay_1ms _Delay_1ms fV
0000 ; i -> R16,R17
.even
0000 _Delay_1ms::
0000 .dbline -1
0000 .dbline 24
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; //-----------------------------------------------
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ; //---------------引脚电平的宏定义
0000 ; #define RS_1 PORTB|=BIT(PB0)
0000 ; #define RS_0 PORTB&=~BIT(PB0)
0000 ; #define RW_1 PORTB|=BIT(PB1)
0000 ; #define RW_0 PORTB&=~BIT(PB1)
0000 ; #define EN_1 PORTB|=BIT(PB2)
0000 ; #define EN_0 PORTB&=~BIT(PB2)
0000 ; #define CS1_1 PORTB|=BIT(PB3)
0000 ; #define CS1_0 PORTB&=~BIT(PB3)
0000 ; #define CS2_1 PORTB|=BIT(PB4)
0000 ; #define CS2_0 PORTB&=~BIT(PB4)
0000 ; #define RST_1 PORTB|=BIT(PB5)
0000 ; #define RST_0 PORTB&=~BIT(PB5)
0000 ; //======================================
0000 ; #define DataPort PORTA //端口定义,双向数据总线。
0000 ; #define xtal 8
0000 ;
0000 ; void Delay_1ms(void) //1mS延时子函数
0000 ; { uint i;
0000 .dbline 25
0000 ; for(i=1;i<(uint)(xtal*143-2);i++)
0000 01E0 ldi R16,1
0002 10E0 ldi R17,0
0004 02C0 xjmp L5
0006 L2:
0006 .dbline 26
0006 L3:
0006 .dbline 25
0006 0F5F subi R16,255 ; offset = 1
0008 1F4F sbci R17,255
000A L5:
000A .dbline 25
000A 0637 cpi R16,118
000C E4E0 ldi R30,4
000E 1E07 cpc R17,R30
0010 D0F3 brlo L2
0012 .dbline -2
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r i 16 i
0014 .dbend
0014 .dbfunc e Delay_nms _Delay_nms fV
0014 ; i -> R20,R21
0014 ; n -> R22,R23
.even
0014 _Delay_nms::
0014 0E940000 xcall push_gset2
0018 B801 movw R22,R16
001A .dbline -1
001A .dbline 30
001A ; ;
001A ; }
001A ; //====================================
001A ; void Delay_nms(uint n) //n*1mS延时子函数
001A ; {
001A .dbline 31
001A ; uint i=0;
001A 4427 clr R20
001C 5527 clr R21
001E 03C0 xjmp L8
0020 L7:
0020 .dbline 33
0020 .dbline 33
0020 EFDF xcall _Delay_1ms
0022 .dbline 34
0022 4F5F subi R20,255 ; offset = 1
0024 5F4F sbci R21,255
0026 .dbline 35
0026 L8:
0026 .dbline 32
0026 ; while(i<n)
0026 4617 cp R20,R22
0028 5707 cpc R21,R23
002A D0F3 brlo L7
002C .dbline -2
002C L6:
002C 0E940000 xcall pop_gset2
0030 .dbline 0 ; func end
0030 0895 ret
0032 .dbsym r i 20 i
0032 .dbsym r n 22 i
0032 .dbend
0032 .dbfunc e main _main fV
0032 ; loop -> R20
.even
0032 _main::
0032 2397 sbiw R28,3
0034 .dbline -1
0034 .dbline 54
0034 ; {Delay_1ms();
0034 ; i++;
0034 ; }
0034 ; }
0034 ; /**********函数声明列表*************/
0034 ; void Delay_1ms(void);
0034 ; void Delay_nms(uint n);
0034 ; void wcode(uchar c,uchar sel_l,uchar sel_r);
0034 ; void wdata(uchar c,uchar sel_l,uchar sel_r);
0034 ; void set_startline(uchar i);
0034 ; void set_xy(uchar x,uchar y);
0034 ; void dison_off(uchar o);
0034 ; void reset(void);
0034 ; void m16_init(void);
0034 ; void lcd_init(void);
0034 ; void lw(uchar x, uchar y, uchar dd);
0034 ; void display_hz(uchar x, uchar y, uchar n, uchar fb);
0034 ; const uchar hz[];
0034 ; /*************主函数*************/
0034 ;
0034 ; void main(void)
0034 ; {
0034 .dbline 56
0034 ; uchar loop;
0034 ; m16_init();
0034 53D1 xcall _m16_init
0036 .dbline 57
0036 ; lcd_init();
0036 03D2 xcall _lcd_init
0038 .dbline 58
0038 ; Delay_nms(1000);
0038 08EE ldi R16,1000
003A 13E0 ldi R17,3
003C EBDF xcall _Delay_nms
003E 4BC1 xjmp L12
0040 L11:
0040 .dbline 60
0040 ; while(1)
0040 ; {
0040 .dbline 62
0040 ; /************************************/
0040 ; for(loop=0;loop<8;loop++)
0040 4427 clr R20
0042 41C0 xjmp L17
0044 L14:
0044 .dbline 63
0044 .dbline 63
0044 2224 clr R2
0046 2A82 std y+2,R2
0048 4883 std y+0,R20
004A 2227 clr R18
004C 82E0 ldi R24,2
004E 849F mul R24,R20
0050 002D mov R16,R0
0052 12D2 xcall _display_hz
0054 .dbline 64
0054 2224 clr R2
0056 2A82 std y+2,R2
0058 4883 std y+0,R20
005A 2227 clr R18
005C 82E0 ldi R24,2
005E 849F mul R24,R20
0060 002D mov R16,R0
0062 0AD2 xcall _display_hz
0064 .dbline 65
0064 2224 clr R2
0066 2A82 std y+2,R2
0068 4883 std y+0,R20
006A 2227 clr R18
006C 82E0 ldi R24,2
006E 849F mul R24,R20
0070 002D mov R16,R0
0072 02D2 xcall _display_hz
0074 .dbline 66
0074 2224 clr R2
0076 2A82 std y+2,R2
0078 4883 std y+0,R20
007A 2227 clr R18
007C 82E0 ldi R24,2
007E 849F mul R24,R20
0080 002D mov R16,R0
0082 FAD1 xcall _display_hz
0084 .dbline 67
0084 2224 clr R2
0086 2A82 std y+2,R2
0088 4883 std y+0,R20
008A 2227 clr R18
008C 82E0 ldi R24,2
008E 849F mul R24,R20
0090 002D mov R16,R0
0092 F2D1 xcall _display_hz
0094 .dbline 68
0094 2224 clr R2
0096 2A82 std y+2,R2
0098 4883 std y+0,R20
009A 2227 clr R18
009C 82E0 ldi R24,2
009E 849F mul R24,R20
00A0 002D mov R16,R0
00A2 EAD1 xcall _display_hz
00A4 .dbline 69
00A4 2224 clr R2
00A6 2A82 std y+2,R2
00A8 4883 std y+0,R20
00AA 2227 clr R18
00AC 82E0 ldi R24,2
00AE 849F mul R24,R20
00B0 002D mov R16,R0
00B2 E2D1 xcall _display_hz
00B4 .dbline 70
00B4 2224 clr R2
00B6 2A82 std y+2,R2
00B8 4883 std y+0,R20
00BA 2227 clr R18
00BC 82E0 ldi R24,2
00BE 849F mul R24,R20
00C0 002D mov R16,R0
00C2 DAD1 xcall _display_hz
00C4 .dbline 70
00C4 L15:
00C4 .dbline 62
00C4 4395 inc R20
00C6 L17:
00C6 .dbline 62
00C6 4830 cpi R20,8
00C8 08F4 brsh X1
00CA BCCF xjmp L14
00CC X1:
00CC .dbline 72
00CC ; {display_hz(2*loop,0,loop,0);
00CC ; display_hz(2*loop,0,loop,0);
00CC ; display_hz(2*loop,0,loop,0);
00CC ; display_hz(2*loop,0,loop,0);
00CC ; display_hz(2*loop,0,loop,0);
00CC ; display_hz(2*loop,0,loop,0);
00CC ; display_hz(2*loop,0,loop,0);
00CC ; display_hz(2*loop,0,loop,0);}
00CC ; /******************************************/
00CC ; for(loop=0;loop<8;loop++)
00CC 4427 clr R20
00CE 51C0 xjmp L21
00D0 L18:
00D0 .dbline 73
00D0 .dbline 73
00D0 2224 clr R2
00D2 2A82 std y+2,R2
00D4 842F mov R24,R20
00D6 885F subi R24,248 ; addi 8
00D8 8883 std y+0,R24
00DA 22E0 ldi R18,2
00DC 82E0 ldi R24,2
00DE 849F mul R24,R20
00E0 002D mov R16,R0
00E2 CAD1 xcall _display_hz
00E4 .dbline 74
00E4 2224 clr R2
00E6 2A82 std y+2,R2
00E8 842F mov R24,R20
00EA 885F subi R24,248 ; addi 8
00EC 8883 std y+0,R24
00EE 22E0 ldi R18,2
00F0 82E0 ldi R24,2
00F2 849F mul R24,R20
00F4 002D mov R16,R0
00F6 C0D1 xcall _display_hz
00F8 .dbline 75
00F8 2224 clr R2
00FA 2A82 std y+2,R2
00FC 842F mov R24,R20
00FE 885F subi R24,248 ; addi 8
0100 8883 std y+0,R24
0102 22E0 ldi R18,2
0104 82E0 ldi R24,2
0106 849F mul R24,R20
0108 002D mov R16,R0
010A B6D1 xcall _display_hz
010C .dbline 76
010C 2224 clr R2
010E 2A82 std y+2,R2
0110 842F mov R24,R20
0112 885F subi R24,248 ; addi 8
0114 8883 std y+0,R24
0116 22E0 ldi R18,2
0118 82E0 ldi R24,2
011A 849F mul R24,R20
011C 002D mov R16,R0
011E ACD1 xcall _display_hz
0120 .dbline 77
0120 2224 clr R2
0122 2A82 std y+2,R2
0124 842F mov R24,R20
0126 885F subi R24,248 ; addi 8
0128 8883 std y+0,R24
012A 22E0 ldi R18,2
012C 82E0 ldi R24,2
012E 849F mul R24,R20
0130 002D mov R16,R0
0132 A2D1 xcall _display_hz
0134 .dbline 78
0134 2224 clr R2
0136 2A82 std y+2,R2
0138 842F mov R24,R20
013A 885F subi R24,248 ; addi 8
013C 8883 std y+0,R24
013E 22E0 ldi R18,2
0140 82E0 ldi R24,2
0142 849F mul R24,R20
0144 002D mov R16,R0
0146 98D1 xcall _display_hz
0148 .dbline 79
0148 2224 clr R2
014A 2A82 std y+2,R2
014C 842F mov R24,R20
014E 885F subi R24,248 ; addi 8
0150 8883 std y+0,R24
0152 22E0 ldi R18,2
0154 82E0 ldi R24,2
0156 849F mul R24,R20
0158 002D mov R16,R0
015A 8ED1 xcall _display_hz
015C .dbline 80
015C 2224 clr R2
015E 2A82 std y+2,R2
0160 842F mov R24,R20
0162 885F subi R24,248 ; addi 8
0164 8883 std y+0,R24
0166 22E0 ldi R18,2
0168 82E0 ldi R24,2
016A 849F mul R24,R20
016C 002D mov R16,R0
016E 84D1 xcall _display_hz
0170 .dbline 80
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -