⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bt.lis

📁 AVR ICC基于AVR单片机的LED显示程序!
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .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 + -