📄 bt.lis
字号:
.module bt.c
.area data(ram, con, rel)
0000 _shu::
0000 .blkb 2
.area idata
0000 C0F9 .byte 192,249
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 A4B0 .byte 164,176
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 9992 .byte 153,146
.area data(ram, con, rel)
0006 .blkb 2
.area idata
0006 82F8 .byte 130,248
.area data(ram, con, rel)
0008 .blkb 2
.area idata
0008 8090 .byte 128,144
.area data(ram, con, rel)
000A .blkb 2
.area idata
000A BFFF .byte 191,255
.area data(ram, con, rel)
000C .dbfile D:\ele\AVR\ICC\cp\biaotao/bt.h
000C .dbsym e shu _shu A[12:12]c
000C _tm::
000C .blkb 2
.area idata
000C 0B0B .byte 11,11
.area data(ram, con, rel)
000E .dbfile D:\ele\AVR\ICC\cp\biaotao/bt.h
000E .blkb 2
.area idata
000E 0B0B .byte 11,11
.area data(ram, con, rel)
0010 .dbfile D:\ele\AVR\ICC\cp\biaotao/bt.h
0010 .dbsym e tm _tm A[4:4]c
.area text(rom, con, rel)
0000 .dbfile D:\ele\AVR\ICC\cp\biaotao/bt.h
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 55
0000 ; #include <iom8v.h>
0000 ; #include "bt.h"
0000 ; #include <macros.h>
0000 ; #include <eeprom.h>
0000 ;
0000 ; #define uchar unsigned char
0000 ; #define unit unsigned int
0000 ; #define ulong unsigned long
0000 ;
0000 ;
0000 ;
0000 ; #define xtal 8
0000 ; #define fosc 8000000 //晶振8MHZ
0000 ; #define baud 9600 //波特率
0000 ;
0000 ;
0000 ; #define out0 PORTD&=~0X02
0000 ; #define out1 PORTD|=0X02
0000 ;
0000 ; #define be0 PORTB&=~0X40
0000 ; #define be1 PORTB|=0X80
0000 ;
0000 ; #define Set ((PIND&0X04)==0x04) //key
0000 ; #define Add ((PIND&0X02)==0x02)
0000 ; #define Sub ((PIND&0X01)==0x01)
0000 ; #define Store (1)
0000 ;
0000 ; uchar n,ORDER,j;
0000 ;
0000 ;
0000 ; uchar t,i,j,m,s,m1,s1;
0000 ; uchar mm[2]={0xbf,0xbf};
0000 ; uchar date[9]={1};
0000 ; unit dat;
0000 ; uchar lock,dp,ready,start,win=1,xian=0;
0000 ;
0000 ;
0000 ; unsigned long adc_rel[8];//AD转换结果
0000 ; unsigned char adc_mux;//AD通道
0000 ;
0000 ; //ADC initialize
0000 ; // Cpbversipb time: 3uS
0000 ; void adc_init(void)
0000 ; {
0000 ; ADCSRA = 0x00; //disable adc
0000 ; ADMUX = 0x40; //select adc input 0 00-ref 01-avcc 11-2.56
0000 ; ACSR = 0x80;
0000 ; ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0) ;//64分频
0000 ; }
0000 ;
0000 ;
0000 ;
0000 ; unit cw(uchar mux) ///*****检测信号*****///
0000 ; {
0000 ; ADMUX=(1<<REFS0)|(mux&0x0f);
0000 .dbline 56
0000 ; ADCSRA|=0x40;
0000 80E3 ldi R24,48
0002 88BB out 0x18,R24
0004 .dbline 57
0004 ; del(500);
0004 8CE3 ldi R24,60
0006 87BB out 0x17,R24
0008 .dbline 58
0008 ; return(ADC);
0008 86E0 ldi R24,6
000A 85BB out 0x15,R24
000C .dbline 59
000C ; }
000C 8FE0 ldi R24,15
000E 84BB out 0x14,R24
0010 .dbline 60
0010 ;
0010 8FED ldi R24,223
0012 82BB out 0x12,R24
0014 .dbline 61
0014 ; unit cw1(uchar mux) ///*****检测信号*****///
0014 88ED ldi R24,216
0016 81BB out 0x11,R24
0018 .dbline -2
0018 L1:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbend
001A .dbfunc e DAT _DAT fV
001A ; x -> R16
.even
001A _DAT::
001A .dbline -1
001A .dbline 65
001A ; {
001A ; ulong adc_rel,a;
001A ; uchar i;
001A ; for(i=0;i<100;i++)
001A .dbline 66
001A 802F mov R24,R16
001C 8170 andi R24,1
001E 8130 cpi R24,1
0020 11F4 brne L3
0022 .dbline 66
0022 969A sbi 0x12,6
0024 01C0 rjmp L4
0026 L3:
0026 .dbline 66
0026 ; {
0026 9698 cbi 0x12,6
0028 L4:
0028 .dbline 67
0028 802F mov R24,R16
002A 8270 andi R24,2
002C 8230 cpi R24,2
002E 11F4 brne L5
0030 .dbline 67
0030 979A sbi 0x12,7
0032 01C0 rjmp L6
0034 L5:
0034 .dbline 67
0034 ; adc_rel+=cw(mux);
0034 9798 cbi 0x12,7
0036 L6:
0036 .dbline 68
0036 802F mov R24,R16
0038 8470 andi R24,4
003A 8430 cpi R24,4
003C 11F4 brne L7
003E .dbline 68
003E C59A sbi 0x18,5
0040 01C0 rjmp L8
0042 L7:
0042 .dbline 68
0042 ; WDR();
0042 C598 cbi 0x18,5
0044 L8:
0044 .dbline 69
0044 802F mov R24,R16
0046 8870 andi R24,8
0048 8830 cpi R24,8
004A 11F4 brne L9
004C .dbline 69
004C A99A sbi 0x15,1
004E 01C0 rjmp L10
0050 L9:
0050 .dbline 69
0050 ; }
0050 A998 cbi 0x15,1
0052 L10:
0052 .dbline 70
0052 802F mov R24,R16
0054 8071 andi R24,16
0056 8031 cpi R24,16
0058 11F4 brne L11
005A .dbline 70
005A AA9A sbi 0x15,2
005C 01C0 rjmp L12
005E L11:
005E .dbline 70
005E ; a=adc_rel;
005E AA98 cbi 0x15,2
0060 L12:
0060 .dbline 71
0060 802F mov R24,R16
0062 8072 andi R24,32
0064 8032 cpi R24,32
0066 11F4 brne L13
0068 .dbline 71
0068 949A sbi 0x12,4
006A 01C0 rjmp L14
006C L13:
006C .dbline 71
006C ; adc_rel=0;
006C 9498 cbi 0x12,4
006E L14:
006E .dbline 72
006E 802F mov R24,R16
0070 8074 andi R24,64
0072 8034 cpi R24,64
0074 11F4 brne L15
0076 .dbline 72
0076 939A sbi 0x12,3
0078 01C0 rjmp L16
007A L15:
007A .dbline 72
007A ; return (unit)(a/100);
007A 9398 cbi 0x12,3
007C L16:
007C .dbline 73
007C 802F mov R24,R16
007E 8078 andi R24,128
0080 8038 cpi R24,128
0082 11F4 brne L17
0084 .dbline 73
0084 C49A sbi 0x18,4
0086 01C0 rjmp L18
0088 L17:
0088 .dbline 73
0088 C498 cbi 0x18,4
008A L18:
008A .dbline -2
008A L2:
008A .dbline 0 ; func end
008A 0895 ret
008C .dbsym r x 16 c
008C .dbend
008C .dbfunc e del _del fV
008C ; time -> R16,R17
.even
008C _del::
008C .dbline -1
008C .dbline 79
008C ; }
008C ;
008C ;
008C ; //TIMER1 initialize - prescale:1024
008C ; // WGM: 0) Normal, TOP=0xFFFF
008C ; // desired value: 2Hz
008C ; // actual value: 2.000Hz (0.0%)
008C L20:
008C .dbline 81
008C ; void timer1_init(void)
008C ; {
008C .dbline 82
008C ; TCCR1B = 0x00; //stop
008C 0150 subi R16,1
008E 1040 sbci R17,0
0090 .dbline 83
0090 ; TCNT1H = 0xF0; //setup
0090 L21:
0090 .dbline 84
0090 ; TCNT1L = 0xBE;
0090 81E0 ldi R24,1
0092 90E0 ldi R25,0
0094 8017 cp R24,R16
0096 9107 cpc R25,R17
0098 CCF3 brlt L20
009A .dbline -2
009A L19:
009A .dbline 0 ; func end
009A 0895 ret
009C .dbsym r time 16 I
009C .dbend
009C .dbfunc e A _A fV
.even
009C _A::
009C .dbline -1
009C .dbline 89
009C ; OCR1AH = 0x07;
009C ; OCR1AL = 0xA1;
009C ; OCR1BH = 0x07;
009C ; OCR1BL = 0xA1;
009C ; ICR1H = 0x07;
009C .dbline 90
009C ; ICR1L = 0xA1;
009C C29A sbi 0x18,2
009E .dbline 90
009E 80E0 ldi R24,<_shu
00A0 90E0 ldi R25,>_shu
00A2 E0910C00 lds R30,_tm
00A6 FF27 clr R31
00A8 E80F add R30,R24
00AA F91F adc R31,R25
00AC 0081 ldd R16,z+0
00AE B5DF rcall _DAT
00B0 .dbline 90
00B0 01EE ldi R16,225
00B2 10E0 ldi R17,0
00B4 EBDF rcall _del
00B6 .dbline 90
00B6 C298 cbi 0x18,2
00B8 .dbline 90
00B8 0FEF ldi R16,255
00BA AFDF rcall _DAT
00BC .dbline 90
00BC 05E0 ldi R16,5
00BE 10E0 ldi R17,0
00C0 E5DF rcall _del
00C2 .dbline 90
00C2 A895 wdr
00C4 .dbline 91
00C4 ; TCCR1A = 0x00;
00C4 C39A sbi 0x18,3
00C6 .dbline 91
00C6 80E0 ldi R24,<_shu
00C8 90E0 ldi R25,>_shu
00CA E0910D00 lds R30,_tm+1
00CE FF27 clr R31
00D0 E80F add R30,R24
00D2 F91F adc R31,R25
00D4 0081 ldd R16,z+0
00D6 A1DF rcall _DAT
00D8 .dbline 91
00D8 02EE ldi R16,226
00DA 10E0 ldi R17,0
00DC D7DF rcall _del
00DE .dbline 91
00DE C398 cbi 0x18,3
00E0 .dbline 91
00E0 0FEF ldi R16,255
00E2 9BDF rcall _DAT
00E4 .dbline 91
00E4 05E0 ldi R16,5
00E6 10E0 ldi R17,0
00E8 D1DF rcall _del
00EA .dbline 91
00EA A895 wdr
00EC .dbline 92
00EC ; TCCR1B = 0x05; //start Timer
00EC A89A sbi 0x15,0
00EE .dbline 92
00EE 80E0 ldi R24,<_shu
00F0 90E0 ldi R25,>_shu
00F2 E0910E00 lds R30,_tm+2
00F6 FF27 clr R31
00F8 E80F add R30,R24
00FA F91F adc R31,R25
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -