📄 no2.lis
字号:
0110 007F .byte 0,127
.area data(ram, con, rel)
0112 .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
0112 .blkb 2
.area idata
0112 2028 .byte 32,40
.area data(ram, con, rel)
0114 .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
0114 .blkb 2
.area idata
0114 2423 .byte 36,35
.area data(ram, con, rel)
0116 .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
0116 .blkb 2
.area idata
0116 2020 .byte 32,32
.area data(ram, con, rel)
0118 .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
0118 .blkb 2
.area idata
0118 2021 .byte 32,33
.area data(ram, con, rel)
011A .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
011A .blkb 2
.area idata
011A 2022 .byte 32,34
.area data(ram, con, rel)
011C .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
011C .blkb 2
.area idata
011C 227F .byte 34,127
.area data(ram, con, rel)
011E .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
011E .blkb 2
.area idata
011E 0000 .byte 0,0
.area data(ram, con, rel)
0120 .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
0120 .blkb 32
.area idata
0120 00000000000000000000 .word 0,0,0,0,0
012A 00000000000000000000 .word 0,0,0,0,0
0134 00000000000000000000 .word 0,0,0,0,0
013E 0000 .byte 0,0
.area data(ram, con, rel)
0140 .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
0140 .dbsym e menu _menu A[160:5:32]c
.area text(rom, con, rel)
0000 .dbfile D:\Proteus\Proteus练习\新建文件夹\NO2.C
0000 .dbfunc e delay_1us _delay_1us fV
.even
0000 _delay_1us::
0000 .dbline -1
0000 .dbline 71
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ; #define LEFT 0
0000 ; #define RIGHT 1
0000 ; #define CMD 0
0000 ; #define DATA 1
0000 ; #define LCD_STATUS_BUSY 0x80
0000 ; #define START_LINE0 0xc0
0000 ; #define DISPLAY_ON 0x3f
0000 ; #define DISPLAY_OFF 0x3e
0000 ; #define PARA1 0x40
0000 ; /*-----------------------------------------------------------------------
0000 ; 延时函数
0000 ; 系统时钟:8M
0000 ; -----------------------------------------------------------------------*/
0000 ;
0000 ; uchar time_logo[5][32] = {
0000 ; /*-- 文字: 时 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
0000 ; 0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
0000 ;
0000 ; /*-- 文字: 爱 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x40,0xB0,0x92,0x96,0x9A,0x92,0xF2,0x9E,0x92,0x91,0x99,0x95,0x91,0x50,0x30,0x00,
0000 ; 0x00,0x00,0x40,0x30,0x8C,0x83,0x46,0x2A,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,0x00,
0000 ;
0000 ; /*-- 文字: 你 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
0000 ; 0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00,
0000 ; /*-- 文字: 我 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x20,0x24,0x24,0x24,0xfe,0x23,0x22,0x20,0xFF,0x20,0x22,0xac,0x20,0x30,0x20,0x00,
0000 ; 0x00,0x08,0x48,0x84,0x7F,0x02,0x21,0x10,0x09,0x06,0x1A,0x61,0x80,0xE0,0x00,0x00,
0000 ;
0000 ; };
0000 ;
0000 ; uchar menu[5][32] = {
0000 ; /*-- 文字: 一 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,0x80,0x00,
0000 ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0000 ; /*-- 文字: 二 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x008,0x0c,0x08,0x00,0x00,0x00,
0000 ; 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
0000 ; /*-- 文字: 三 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x084,0xc4,0x86,0x04,0x00,0x00,
0000 ; 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,
0000 ; /*-- 文字: 四 --*/
0000 ; /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0000 ; 0x00,0xfc,0x04,0x04,0x04,0xfc,0x04,0x04,0x04,0xfc,0x004,0x04,0x04,0xfe,0x04,0x00,
0000 ; 0x00,0x7f,0x20,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x20,0x22,0x22,0x7f,0x00,0x00,
0000 ;
0000 ; };
0000 ;
0000 ;
0000 ; void delay_1us(void); //1us延时函数
0000 ; void delay_nus(unsigned int n); //N us延时函数
0000 ; void delay_1ms(void) ; //1ms延时函数
0000 ; void delay_nms(unsigned int n) ; //N ms延时函数
0000 ;
0000 ; /***********************************************************************/
0000 ; /**********************************************************************/
0000 ; void delay_1us(void) //1us延时函数
0000 ; {
0000 .dbline 72
0000 ; asm("nop");
0000 0000 nop
0002 .dbline -2
0002 L1:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e delay_nus _delay_nus fV
0004 ; i -> R10,R11
0004 ; n -> R12,R13
.even
0004 _delay_nus::
0004 0E940000 xcall push_xgset003C
0008 6801 movw R12,R16
000A .dbline -1
000A .dbline 76
000A ; }
000A ;
000A ; void delay_nus(unsigned int n) //N us延时函数
000A ; {
000A .dbline 77
000A ; unsigned int i=0;
000A AA24 clr R10
000C BB24 clr R11
000E .dbline 78
000E ; for (i=0;i<n;i++)
000E 04C0 xjmp L6
0010 L3:
0010 .dbline 79
0010 ; delay_1us();
0010 F7DF xcall _delay_1us
0012 L4:
0012 .dbline 78
0012 C501 movw R24,R10
0014 0196 adiw R24,1
0016 5C01 movw R10,R24
0018 L6:
0018 .dbline 78
0018 AC14 cp R10,R12
001A BD04 cpc R11,R13
001C C8F3 brlo L3
001E X0:
001E .dbline -2
001E L2:
001E .dbline 0 ; func end
001E 0C940000 xjmp pop_xgset003C
0022 .dbsym r i 10 i
0022 .dbsym r n 12 i
0022 .dbend
0022 .dbfunc e delay_1ms _delay_1ms fV
0022 ; i -> R16,R17
.even
0022 _delay_1ms::
0022 .dbline -1
0022 .dbline 83
0022 ; }
0022 ;
0022 ; void delay_1ms(void) //1ms延时函数
0022 ; {
0022 .dbline 85
0022 ; unsigned int i;
0022 ; for (i=0;i<1140;i++);
0022 0027 clr R16
0024 1127 clr R17
0026 02C0 xjmp L11
0028 L8:
0028 .dbline 85
0028 L9:
0028 .dbline 85
0028 0F5F subi R16,255 ; offset = 1
002A 1F4F sbci R17,255
002C L11:
002C .dbline 85
002C 0437 cpi R16,116
002E E4E0 ldi R30,4
0030 1E07 cpc R17,R30
0032 D0F3 brlo L8
0034 X1:
0034 .dbline -2
0034 L7:
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbsym r i 16 i
0036 .dbend
0036 .dbfunc e delay_nms _delay_nms fV
0036 ; i -> R10,R11
0036 ; n -> R12,R13
.even
0036 _delay_nms::
0036 0E940000 xcall push_xgset003C
003A 6801 movw R12,R16
003C .dbline -1
003C .dbline 89
003C ; }
003C ;
003C ; void delay_nms(unsigned int n) //N ms延时函数
003C ; {
003C .dbline 90
003C ; unsigned int i=0;
003C AA24 clr R10
003E BB24 clr R11
0040 .dbline 91
0040 ; for (i=0;i<n;i++)
0040 04C0 xjmp L16
0042 L13:
0042 .dbline 92
0042 ; {
0042 .dbline 93
0042 ; delay_1ms();
0042 EFDF xcall _delay_1ms
0044 .dbline 94
0044 ; }
0044 L14:
0044 .dbline 91
0044 C501 movw R24,R10
0046 0196 adiw R24,1
0048 5C01 movw R10,R24
004A L16:
004A .dbline 91
004A AC14 cp R10,R12
004C BD04 cpc R11,R13
004E C8F3 brlo L13
0050 X2:
0050 .dbline -2
0050 L12:
0050 .dbline 0 ; func end
0050 0C940000 xjmp pop_xgset003C
0054 .dbsym r i 10 i
0054 .dbsym r n 12 i
0054 .dbend
0054 .dbfunc e delay _delay fV
0054 ; i -> R10,R11
0054 ; j -> R12,R13
0054 ; ms -> R16,R17
.even
0054 _delay::
0054 0E940000 xcall push_xgset003C
0058 .dbline -1
0058 .dbline 98
0058 ; }
0058 ;
0058 ; void delay(uint ms)
0058 ; {
0058 .dbline 100
0058 ; uint i,j;
0058 ; for(i=0;i<ms;i++)
0058 AA24 clr R10
005A BB24 clr R11
005C 0EC0 xjmp L21
005E L18:
005E .dbline 101
005E ; {
005E .dbline 102
005E ; for(j=0;j<1141;j++);
005E CC24 clr R12
0060 DD24 clr R13
0062 03C0 xjmp L25
0064 L22:
0064 .dbline 102
0064 L23:
0064 .dbline 102
0064 C601 movw R24,R12
0066 0196 adiw R24,1
0068 6C01 movw R12,R24
006A L25:
006A .dbline 102
006A C601 movw R24,R12
006C 8537 cpi R24,117
006E E4E0 ldi R30,4
0070 9E07 cpc R25,R30
0072 C0F3 brlo L22
0074 X3:
0074 .dbline 103
0074 ; }
0074 L19:
0074 .dbline 100
0074 C501 movw R24,R10
0076 0196 adiw R24,1
0078 5C01 movw R10,R24
007A L21:
007A .dbline 100
007A A016 cp R10,R16
007C B106 cpc R11,R17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -