📄 温度测量.lis
字号:
.module _温度测量.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
.area data(ram, con, rel)
0000 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0000 _str1::
0000 .blkb 15
.area idata
0000 74656D7065726174757265313A2000 .byte 't,'e,'m,'p,'e,'r,'a,'t,'u,'r,'e,49,58,32,0
.area data(ram, con, rel)
000F .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
000F .dbsym e str1 _str1 A[15:15]c
000F _str2::
000F .blkb 15
.area idata
000F 74656D7065726174757265323A2000 .byte 't,'e,'m,'p,'e,'r,'a,'t,'u,'r,'e,50,58,32,0
.area data(ram, con, rel)
001E .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
001E .dbsym e str2 _str2 A[15:15]c
001E _str3::
001E .blkb 15
.area idata
001E 74656D7065726174757265333A2000 .byte 't,'e,'m,'p,'e,'r,'a,'t,'u,'r,'e,51,58,32,0
.area data(ram, con, rel)
002D .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
002D .dbsym e str3 _str3 A[15:15]c
002D _str4::
002D .blkb 15
.area idata
002D 74656D7065726174757265343A2000 .byte 't,'e,'m,'p,'e,'r,'a,'t,'u,'r,'e,52,58,32,0
.area data(ram, con, rel)
003C .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
003C .dbsym e str4 _str4 A[15:15]c
003C _str5::
003C .blkb 2
.area idata
003C 2845 .byte 40,'E
.area data(ram, con, rel)
003E .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
003E .blkb 2
.area idata
003E C5B8 .byte 197,184
.area data(ram, con, rel)
0040 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0040 .blkb 2
.area idata
0040 0000 .byte 0,0
.area data(ram, con, rel)
0042 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0042 .blkb 2
.area idata
0042 00FD .byte 0,253
.area data(ram, con, rel)
0044 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0044 .blkb 2
.area idata
0044 2830 .byte 40,48
.area data(ram, con, rel)
0046 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0046 .blkb 2
.area idata
0046 C5B8 .byte 197,184
.area data(ram, con, rel)
0048 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0048 .blkb 2
.area idata
0048 0000 .byte 0,0
.area data(ram, con, rel)
004A .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
004A .blkb 2
.area idata
004A 008E .byte 0,142
.area data(ram, con, rel)
004C .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
004C .blkb 2
.area idata
004C 2831 .byte 40,49
.area data(ram, con, rel)
004E .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
004E .blkb 2
.area idata
004E C5B8 .byte 197,184
.area data(ram, con, rel)
0050 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0050 .blkb 2
.area idata
0050 0000 .byte 0,0
.area data(ram, con, rel)
0052 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0052 .blkb 2
.area idata
0052 00B9 .byte 0,185
.area data(ram, con, rel)
0054 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0054 .blkb 2
.area idata
0054 2832 .byte 40,50
.area data(ram, con, rel)
0056 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0056 .blkb 2
.area idata
0056 C5B8 .byte 197,184
.area data(ram, con, rel)
0058 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0058 .blkb 2
.area idata
0058 0000 .byte 0,0
.area data(ram, con, rel)
005A .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
005A .blkb 2
.area idata
005A 00E0 .byte 0,224
.area data(ram, con, rel)
005C .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
005C .dbsym e str5 _str5 A[32:4:8]c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\徐胜辉\桌面\新建文件夹\温度测量.c
0000 .dbfunc e delay1ms _delay1ms fV
0000 ; j -> R20,R21
0000 ; i -> R16,R17
.even
0000 _delay1ms::
0000 4A93 st -y,R20
0002 5A93 st -y,R21
0004 .dbline -1
0004 .dbline 26
0004 ; #include<iom16v.h>
0004 ; #define uchar unsigned char
0004 ; #define uint unsigned int
0004 ; #define RS_1 PORTA|=(1<<3)
0004 ; #define RS_0 PORTA&=~(1<<3)
0004 ; #define RW_1 PORTA|=(1<<4)
0004 ; #define RW_0 PORTA&=~(1<<4)
0004 ; #define EN_1 PORTA|=(1<<5)
0004 ; #define EN_0 PORTA&=~(1<<5)
0004 ; unsigned char str1[]={"temperature1: "};
0004 ; unsigned char str2[]={"temperature2: "};
0004 ; unsigned char str3[]={"temperature3: "};
0004 ; unsigned char str4[]={"temperature4: "};
0004 ; unsigned char str5[4][8]={
0004 ; {0x28,0x45,0xc5,0xb8,0x00,0x00,0x00,0xfd},
0004 ; {0x28,0x30,0xc5,0xb8,0x00,0x00,0x00,0x8e},
0004 ; {0x28,0x31,0xc5,0xb8,0x00,0x00,0x00,0xb9},
0004 ; {0x28,0x32,0xc5,0xb8,0x00,0x00,0x00,0xe0}
0004 ; };
0004 ; uchar adata[5];
0004 ; uchar n;
0004 ; uint tvalue;//温度
0004 ; uchar tflag;//温度正负标志
0004 ; /*************************lcd1602程序**************************/
0004 ; void delay1ms(uint i)//延时1毫秒(不够精确的)
0004 ; {
0004 .dbline 28
0004 ; unsigned int j;
0004 ; for(;i>0;i--)
0004 0BC0 xjmp L5
0006 L2:
0006 .dbline 29
0006 ; for(j=0;j<1142;j++);
0006 4427 clr R20
0008 5527 clr R21
000A 02C0 xjmp L9
000C L6:
000C .dbline 29
000C L7:
000C .dbline 29
000C 4F5F subi R20,255 ; offset = 1
000E 5F4F sbci R21,255
0010 L9:
0010 .dbline 29
0010 4637 cpi R20,118
0012 E4E0 ldi R30,4
0014 5E07 cpc R21,R30
0016 D0F3 brlo L6
0018 X0:
0018 L3:
0018 .dbline 28
0018 0150 subi R16,1
001A 1040 sbci R17,0
001C L5:
001C .dbline 28
001C 0030 cpi R16,0
001E 0107 cpc R16,R17
0020 91F7 brne L2
0022 X1:
0022 .dbline -2
0022 L1:
0022 .dbline 0 ; func end
0022 5991 ld R21,y+
0024 4991 ld R20,y+
0026 0895 ret
0028 .dbsym r j 20 i
0028 .dbsym r i 16 i
0028 .dbend
0028 .dbfunc e wr_com _wr_com fV
0028 ; com -> R10
.even
0028 _wr_com::
0028 AA92 st -y,R10
002A A02E mov R10,R16
002C .dbline -1
002C .dbline 32
002C ; }
002C ; void wr_com(unsigned char com)//写指令//
002C ; {
002C .dbline 33
002C ; delay1ms(1);
002C 01E0 ldi R16,1
002E 10E0 ldi R17,0
0030 E7DF xcall _delay1ms
0032 .dbline 34
0032 ; RS_0;
0032 DB98 cbi 0x1b,3
0034 .dbline 35
0034 ; RW_0;
0034 DC98 cbi 0x1b,4
0036 .dbline 36
0036 ; EN_0;
0036 DD98 cbi 0x1b,5
0038 .dbline 37
0038 ; PORTB=com;
0038 A8BA out 0x18,R10
003A .dbline 38
003A ; delay1ms(1);
003A 01E0 ldi R16,1
003C 10E0 ldi R17,0
003E E0DF xcall _delay1ms
0040 .dbline 39
0040 ; EN_1;
0040 DD9A sbi 0x1b,5
0042 .dbline 40
0042 ; delay1ms(1);
0042 01E0 ldi R16,1
0044 10E0 ldi R17,0
0046 DCDF xcall _delay1ms
0048 .dbline 41
0048 ; EN_0;
0048 DD98 cbi 0x1b,5
004A .dbline -2
004A L10:
004A .dbline 0 ; func end
004A A990 ld R10,y+
004C 0895 ret
004E .dbsym r com 10 c
004E .dbend
004E .dbfunc e wr_dat _wr_dat fV
004E ; dat -> R10
.even
004E _wr_dat::
004E AA92 st -y,R10
0050 A02E mov R10,R16
0052 .dbline -1
0052 .dbline 44
0052 ; }
0052 ; void wr_dat(unsigned char dat)//写数据//
0052 ; {
0052 .dbline 45
0052 ; delay1ms(1);
0052 01E0 ldi R16,1
0054 10E0 ldi R17,0
0056 D4DF xcall _delay1ms
0058 .dbline 46
0058 ; RS_1;
0058 DB9A sbi 0x1b,3
005A .dbline 47
005A ; RW_0;
005A DC98 cbi 0x1b,4
005C .dbline 48
005C ; EN_0;
005C DD98 cbi 0x1b,5
005E .dbline 49
005E ; PORTB=dat;
005E A8BA out 0x18,R10
0060 .dbline 50
0060 ; delay1ms(1);
0060 01E0 ldi R16,1
0062 10E0 ldi R17,0
0064 CDDF xcall _delay1ms
0066 .dbline 51
0066 ; EN_1;
0066 DD9A sbi 0x1b,5
0068 .dbline 52
0068 ; delay1ms(1);
0068 01E0 ldi R16,1
006A 10E0 ldi R17,0
006C C9DF xcall _delay1ms
006E .dbline 53
006E ; EN_0;
006E DD98 cbi 0x1b,5
0070 .dbline -2
0070 L11:
0070 .dbline 0 ; func end
0070 A990 ld R10,y+
0072 0895 ret
0074 .dbsym r dat 10 c
0074 .dbend
0074 .dbfunc e lcd_init _lcd_init fV
.even
0074 _lcd_init::
0074 .dbline -1
0074 .dbline 56
0074 ; }
0074 ; void lcd_init()//初始化设置//
0074 ; {
0074 .dbline 57
0074 ; DDRB|=0xFF; /*I/O口方向设置*/
0074 87B3 in R24,0x17
0076 8F6F ori R24,255
0078 87BB out 0x17,R24
007A .dbline 58
007A ; DDRA|=(1<<3)|(1<<4)|(1<<5);
007A 8AB3 in R24,0x1a
007C 8863 ori R24,56
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -