?? ad.lis
字號:
.module ad.c
.area text(rom, con, rel)
0000 .dbfile D:\垃圾站\00\adc\ad.c
0000 .dbfile D:\垃圾站\00\adc\delay.h
0000 .dbfunc e delay_nus _delay_nus fV
0000 ; time -> R16,R17
.even
0000 _delay_nus::
0000 .dbline -1
0000 .dbline 33
0000 ; //#define F_CPU 12000000
0000 ; #define F_CPU 11059200
0000 ; //#define F_CPU 8000000
0000 ; //#define F_CPU 7372800
0000 ; //#define F_CPU 4000000
0000 ; /*************************************************************************
0000 ; 通用延時頭文件:
0000 ; delay_nus(n)延時n微秒
0000 ; delay_nms(n)延時n毫秒
0000 ; *************************************************************************/
0000 ; #if F_CPU == 12000000
0000 ; void delay_nus(unsigned int time)
0000 ; {
0000 ; while (time!=0)
0000 ; {
0000 ; NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();
0000 ; time--;
0000 ; }
0000 ; }
0000 ; void delay_nms(unsigned int time)
0000 ; {
0000 ; unsigned int i;
0000 ; while (time!=0)
0000 ; {
0000 ; for(i=0;i<1740;i++);
0000 ; time--;
0000 ; }
0000 ; }
0000 ; #endif
0000 ;
0000 ; #if F_CPU == 11059200
0000 ; void delay_nus(unsigned int time)
0000 ; {
0000 09C0 xjmp L3
0002 L2:
0002 .dbline 35
0002 ; while (time!=0)
0002 ; {
0002 .dbline 36
0002 ; NOP();NOP();NOP();NOP();NOP();NOP();NOP();
0002 0000 nop
0004 .dbline 36
0004 0000 nop
0006 .dbline 36
0006 0000 nop
0008 .dbline 36
0008 0000 nop
000A .dbline 36
000A 0000 nop
000C .dbline 36
000C 0000 nop
000E .dbline 36
000E 0000 nop
0010 .dbline 37
0010 ; time--;
0010 0150 subi R16,1
0012 1040 sbci R17,0
0014 .dbline 38
0014 ; }
0014 L3:
0014 .dbline 34
0014 0030 cpi R16,0
0016 0107 cpc R16,R17
0018 A1F7 brne L2
001A X0:
001A .dbline -2
001A L1:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbsym r time 16 i
001C .dbend
001C .dbfunc e delay_nms _delay_nms fV
001C ; i -> R20,R21
001C ; time -> R16,R17
.even
001C _delay_nms::
001C 4A93 st -y,R20
001E 5A93 st -y,R21
0020 .dbline -1
0020 .dbline 41
0020 ; }
0020 ; void delay_nms(unsigned int time)
0020 ; {
0020 0BC0 xjmp L7
0022 L6:
0022 .dbline 44
0022 ; unsigned int i;
0022 ; while (time!=0)
0022 ; {
0022 .dbline 45
0022 ; for(i=0;i<1580;i++);
0022 4427 clr R20
0024 5527 clr R21
0026 02C0 xjmp L12
0028 L9:
0028 .dbline 45
0028 L10:
0028 .dbline 45
0028 4F5F subi R20,255 ; offset = 1
002A 5F4F sbci R21,255
002C L12:
002C .dbline 45
002C 4C32 cpi R20,44
002E E6E0 ldi R30,6
0030 5E07 cpc R21,R30
0032 D0F3 brlo L9
0034 X1:
0034 .dbline 46
0034 ; time--;
0034 0150 subi R16,1
0036 1040 sbci R17,0
0038 .dbline 47
0038 ; }
0038 L7:
0038 .dbline 43
0038 0030 cpi R16,0
003A 0107 cpc R16,R17
003C 91F7 brne L6
003E X2:
003E .dbline -2
003E L5:
003E .dbline 0 ; func end
003E 5991 ld R21,y+
0040 4991 ld R20,y+
0042 0895 ret
0044 .dbsym r i 20 i
0044 .dbsym r time 16 i
0044 .dbend
.area data(ram, con, rel)
0000 .dbfile D:\垃圾站\00\adc\delay.h
0000 _a::
0000 .blkb 2
.area idata
0000 3031 .byte 48,49
.area data(ram, con, rel)
0002 .dbfile D:\垃圾站\00\adc\delay.h
0002 .blkb 2
.area idata
0002 3233 .byte 50,51
.area data(ram, con, rel)
0004 .dbfile D:\垃圾站\00\adc\delay.h
0004 .blkb 2
.area idata
0004 3435 .byte 52,53
.area data(ram, con, rel)
0006 .dbfile D:\垃圾站\00\adc\delay.h
0006 .blkb 2
.area idata
0006 3637 .byte 54,55
.area data(ram, con, rel)
0008 .dbfile D:\垃圾站\00\adc\delay.h
0008 .blkb 2
.area idata
0008 3839 .byte 56,57
.area data(ram, con, rel)
000A .dbfile D:\垃圾站\00\adc\delay.h
000A .dbfile D:\垃圾站\00\adc\lcd.h
000A .dbsym e a _a A[10:10]c
000A _ADbz::
000A .blkb 1
.area idata
000A 00 .byte 0
.area data(ram, con, rel)
000B .dbfile D:\垃圾站\00\adc\lcd.h
000B .dbsym e ADbz _ADbz c
.area text(rom, con, rel)
0044 .dbfile D:\垃圾站\00\adc\lcd.h
0044 .dbfunc e delay _delay fV
0044 ; i -> R10
0044 ; n -> R16
.even
0044 _delay::
0044 AA92 st -y,R10
0046 BA92 st -y,R11
0048 .dbline -1
0048 .dbline 8
0048 ; unsigned char a[10]={'0','1','2','3','4','5','6','7','8','9'};
0048 ; unsigned char ADtmp,ADbz=0;
0048 ; #define LCD_DATAL PORTA&=~BIT(1)
0048 ; #define LCD_DATAH PORTA|=BIT(1)
0048 ; #define LCD_CLKL PORTA&=~BIT(3)
0048 ; #define LCD_CLKH PORTA|=BIT(3)
0048 ; void delay(unsigned char n)
0048 ; {
0048 .dbline 10
0048 ; unsigned char i;
0048 ; for(i=0;i<n;i++) //延時
0048 AA24 clr R10
004A 02C0 xjmp L17
004C L14:
004C .dbline 11
004C ; {asm("nop");}
004C .dbline 11
004C 0000 nop
004E .dbline 11
004E L15:
004E .dbline 10
004E A394 inc R10
0050 L17:
0050 .dbline 10
0050 A016 cp R10,R16
0052 E0F3 brlo L14
0054 X3:
0054 .dbline -2
0054 L13:
0054 .dbline 0 ; func end
0054 B990 ld R11,y+
0056 A990 ld R10,y+
0058 0895 ret
005A .dbsym r i 10 c
005A .dbsym r n 16 c
005A .dbend
005A .dbfunc e lcd_out _lcd_out fV
005A ; s -> <dead>
005A ; i -> R20
005A ; send_byte -> R10
.even
005A _lcd_out::
005A 0E940000 xcall push_xgset300C
005E A02E mov R10,R16
0060 .dbline -1
0060 .dbline 17
0060 ; }
0060 ; //*************************************************************************
0060 ;
0060 ; //***************************************************************************
0060 ; void lcd_out(unsigned char send_byte)
0060 ; {
0060 .dbline 19
0060 ; unsigned char i,s;
0060 ; for (i=0;i<8;i++)
0060 4427 clr R20
0062 09C0 xjmp L22
0064 L19:
0064 .dbline 20
0064 ; {
0064 .dbline 21
0064 ; if((send_byte&0x80)==0)
0064 A7FC sbrc R10,7
0066 02C0 rjmp L23
0068 X4:
0068 .dbline 22
0068 ; {
0068 .dbline 23
0068 ; LCD_DATAL;
0068 D998 cbi 0x1b,1
006A .dbline 24
006A ; }
006A 01C0 xjmp L24
006C L23:
006C .dbline 26
006C ; else
006C ; {
006C .dbline 27
006C ; LCD_DATAH;
006C D99A sbi 0x1b,1
006E .dbline 28
006E ; } //送數(shù)據(jù)
006E L24:
006E .dbline 29
006E ; LCD_CLKL;
006E DB98 cbi 0x1b,3
0070 .dbline 30
0070 ; LCD_CLKH;
0070 DB9A sbi 0x1b,3
0072 .dbline 31
0072 ; send_byte=send_byte<<1;
0072 AA0C lsl R10
0074 .dbline 32
0074 ; }
0074 L20:
0074 .dbline 19
0074 4395 inc R20
0076 L22:
0076 .dbline 19
0076 4830 cpi R20,8
0078 A8F3 brlo L19
007A X5:
007A .dbline 33
007A ; delay(256);
007A 00E0 ldi R16,0
007C E3DF xcall _delay
007E .dbline -2
007E L18:
007E .dbline 0 ; func end
007E 0C940000 xjmp pop_xgset300C
0082 .dbsym l s 1 c
0082 .dbsym r i 20 c
0082 .dbsym r send_byte 10 c
0082 .dbend
0082 .dbfunc e WR_dat _WR_dat fV
0082 ; s -> R20
0082 ; dat -> R22
.even
0082 _WR_dat::
0082 0E940000 xcall push_xgsetF000
0086 602F mov R22,R16
0088 .dbline -1
0088 .dbline 38
0088 ; }
0088 ; //***************************************************************************
0088 ;
0088 ; void WR_dat(unsigned char dat)
0088 ; {
0088 .dbline 40
0088 ; unsigned char s;
0088 ; s=dat&0xf0;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -