📄 test.lis
字号:
.module test.c
.area lit(rom, con, rel)
0000 _ABC::
0000 DF02 .word 735
0002 DF02 .word 735
0004 DF02 .word 735
0006 DF02 .word 735
0008 DF02 .word 735
000A DF02 .word 735
000C E002 .word 736
000E E102 .word 737
0010 E202 .word 738
0012 E402 .word 740
0014 E602 .word 742
0016 E802 .word 744
0018 EA02 .word 746
001A EC02 .word 748
001C ED02 .word 749
001E EE02 .word 750
0020 F002 .word 752
0022 F102 .word 753
0024 F302 .word 755
0026 F502 .word 757
0028 F602 .word 758
002A F802 .word 760
002C FA02 .word 762
002E FC02 .word 764
0030 FE02 .word 766
0032 FE02 .word 766
0034 0003 .word 768
0036 0103 .word 769
0038 0203 .word 770
003A 0403 .word 772
003C 0503 .word 773
003E 0703 .word 775
0040 0903 .word 777
0042 0B03 .word 779
0044 0C03 .word 780
0046 0E03 .word 782
0048 1003 .word 784
004A 1203 .word 786
004C 1303 .word 787
004E 1503 .word 789
0050 1603 .word 790
0052 1803 .word 792
0054 1A03 .word 794
0056 1C03 .word 796
0058 1D03 .word 797
005A 1E03 .word 798
005C 1F03 .word 799
005E 2003 .word 800
0060 2203 .word 802
0062 2403 .word 804
0064 2503 .word 805
0066 2703 .word 807
0068 2903 .word 809
006A 2A03 .word 810
006C 2C03 .word 812
006E 2D03 .word 813
0070 2E03 .word 814
0072 2F03 .word 815
0074 3103 .word 817
0076 3303 .word 819
0078 3403 .word 820
007A 3403 .word 820
007C 3403 .word 820
007E 3403 .word 820
0080 3403 .word 820
0082 3403 .word 820
0084 3403 .word 820
0086 3403 .word 820
0088 3403 .word 820
008A 3403 .word 820
008C 3403 .word 820
008E 3403 .word 820
0090 3403 .word 820
0092 3403 .word 820
0094 3403 .word 820
0096 3403 .word 820
0098 3403 .word 820
009A 3403 .word 820
009C 3403 .word 820
009E 3403 .word 820
00A0 3403 .word 820
00A2 .dbfile E:\MYDATA~1\DIFAMO~1\soft_Difa\test.c
00A2 .dbsym e ABC _ABC A[162:81]kI
00A2 _ABC_2::
00A2 F002 .word 752
00A4 F102 .word 753
00A6 F202 .word 754
00A8 F402 .word 756
00AA F602 .word 758
00AC F802 .word 760
00AE FA02 .word 762
00B0 FC02 .word 764
00B2 FE02 .word 766
00B4 FF02 .word 767
00B6 0003 .word 768
00B8 0203 .word 770
00BA 0403 .word 772
00BC 0603 .word 774
00BE 0703 .word 775
00C0 0803 .word 776
00C2 0A03 .word 778
00C4 0C03 .word 780
00C6 0E03 .word 782
00C8 0F03 .word 783
00CA 1003 .word 784
00CC 1203 .word 786
00CE 1403 .word 788
00D0 1603 .word 790
00D2 1803 .word 792
00D4 1903 .word 793
00D6 1B03 .word 795
00D8 1D03 .word 797
00DA 1E03 .word 798
00DC 1F03 .word 799
00DE 2003 .word 800
00E0 2203 .word 802
00E2 2403 .word 804
00E4 2603 .word 806
00E6 2703 .word 807
00E8 2803 .word 808
00EA 2A03 .word 810
00EC 2C03 .word 812
00EE 2D03 .word 813
00F0 2E03 .word 814
00F2 2F03 .word 815
00F4 3103 .word 817
00F6 3303 .word 819
00F8 3503 .word 821
00FA 3603 .word 822
00FC 3703 .word 823
00FE 3803 .word 824
0100 3A03 .word 826
0102 3C03 .word 828
0104 3D03 .word 829
0106 3F03 .word 831
0108 3F03 .word 831
010A 3F03 .word 831
010C 3F03 .word 831
010E 3F03 .word 831
0110 3F03 .word 831
0112 3F03 .word 831
0114 3F03 .word 831
0116 3F03 .word 831
0118 3F03 .word 831
011A 3F03 .word 831
011C 3F03 .word 831
011E 3F03 .word 831
0120 3F03 .word 831
0122 3F03 .word 831
0124 3F03 .word 831
0126 3F03 .word 831
0128 3F03 .word 831
012A 3F03 .word 831
012C 3F03 .word 831
012E 3F03 .word 831
0130 3F03 .word 831
0132 3F03 .word 831
0134 3F03 .word 831
0136 3F03 .word 831
0138 3F03 .word 831
013A 3F03 .word 831
013C 3F03 .word 831
013E 3F03 .word 831
0140 3F03 .word 831
0142 3F03 .word 831
0144 3F03 .word 831
0146 3F03 .word 831
0148 3F03 .word 831
014A 3F03 .word 831
014C 3F03 .word 831
014E 3F03 .word 831
0150 3F03 .word 831
0152 3F03 .word 831
0154 3F03 .word 831
0156 3F03 .word 831
0158 .dbsym e ABC_2 _ABC_2 A[182:91]kI
.area text(rom, con, rel)
0000 .dbfile E:\MYDATA~1\DIFAMO~1\soft_Difa\test.c
0000 .dbfunc e timer1_init _timer1_init fV
.even
0000 _timer1_init::
0000 .dbline -1
0000 .dbline 54
0000 ; //使用内部RC振荡,PB6-G,PB7-DP短路块连接
0000 ; //使用INT0/INT1按键切换ADC通道
0000 ; #include <iom48v.h>
0000 ; #include <macros.h>
0000 ; #define osccal 0x9A //内部RC校正常数
0000 ; #define Vref 500 //参考电压值
0000 ; #define Red PD2 //红色指示灯
0000 ; #define Green PD3 //绿色指示灯
0000 ; #define P0 PB1 //第0路电流控制
0000 ; #define P1 PD5 //第1路电流控制
0000 ; #define P2 PB7 //第2路电流控制
0000 ; #define P3 PB6 //第3路电流控制
0000 ; #define SDA 4
0000 ; #define SCL 5
0000 ; #define ack 0
0000 ; #define a 1
0000 ; #define LED_Indi 2
0000 ; #define LED_Indi_2 7
0000 ; #define LED_yes 3 //允许红灯闪烁
0000 ; #define plus_charge 4 //允许进行14.4V/0.8A(1HZ)脉冲充电标志位
0000 ; #define anther 5
0000 ; #define Charge_Sel 6 //Charge_Sel=1 home_charger Charge_Sel=0; warmup_charger
0000 ; #define _nop_() asm("nop")
0000 ; //ABC[124] 针对14.3V查表 -40 ~ 84
0000 ; const signed int ABC[81]={735,735,735,735,735,735,736,737,738,740,742,744,746,748,749,750,752,753,755,757,758,760,762,764,766,766,768,769,770,772,773,775,777,779,780,782,784,786,787,789,790,792,794,796,797,798,799,800,802,804,805,807,809,810,812,813,814,815,817,819,820,820,820,820,820,820,820,820,820,820,820,820,820,820,820,820,820,820,820,820,820};
0000 ; //ABC[124] 针对13.8V查表 005 006 007 8 9 10 11 12 13 14 15 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085
0000 ; const signed int ABC_2[91]={752,753,754,756,758,760,762,764,766,767,768,770,772,774,775,776,778,780,782,783,784,786,788,790,792,793,795,797,798,799,800,802,804,806,807,808,810,812,813,814,815,817,819,821,822,823,824,826,828,829,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831,831};
0000 ; //ABC[124] 针对13.8V查表 -05 -04 -03 -02 -01 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085
0000 ; unsigned int adc_old;
0000 ; unsigned int xxyy;
0000 ; unsigned int temp_start;
0000 ; signed char temp_step;
0000 ; unsigned char temp_dange;
0000 ; unsigned char temp;
0000 ; unsigned char cycle; //存放从第五步到第一步之间的循环次数
0000 ; extern void delay_ms(unsigned int time);
0000 ; unsigned int adc_rel; //AD转换结果
0000 ; unsigned int Second_count_1; //秒计数1
0000 ; unsigned int Second_count_2; //秒计数2
0000 ; unsigned int Second_count_3; //秒计数1
0000 ; unsigned int Second_count_4; //秒计数2
0000 ; unsigned char adc_mux; //AD通道
0000 ; unsigned char DA_result; //将需要转换的D/A数据写入其中再进行调用D/A子程序
0000 ;
0000 ; signed int now_temp;
0000 ; signed temp_rep;
0000 ; unsigned int abc;
0000 ; unsigned int xyz;
0000 ; //TIMER1 initialize - prescale:1024
0000 ; // WGM: 0) Normal, TOP=0xFFFF
0000 ; // desired value: 1Sec
0000 ; // actual value: 1.000Sec (0.0%)
0000 ; void timer1_init(void)
0000 ; {
0000 .dbline 55
0000 ; TCCR1B = 0x00; //stop
0000 2224 clr R2
0002 20928100 sts 129,R2
0006 .dbline 56
0006 ; TCNT1H = 0xE1; //setup
0006 81EE ldi R24,225
0008 80938500 sts 133,R24
000C .dbline 57
000C ; TCNT1L = 0x7C;
000C 8CE7 ldi R24,124
000E 80938400 sts 132,R24
0012 .dbline 58
0012 ; OCR1AH = 0x1E;
0012 8EE1 ldi R24,30
0014 80938900 sts 137,R24
0018 .dbline 59
0018 ; OCR1AL = 0x84;
0018 84E8 ldi R24,132
001A 80938800 sts 136,R24
001E .dbline 60
001E ; OCR1BH = 0x1E;
001E 8EE1 ldi R24,30
0020 80938B00 sts 139,R24
0024 .dbline 61
0024 ; OCR1BL = 0x84;
0024 84E8 ldi R24,132
0026 80938A00 sts 138,R24
002A .dbline 62
002A ; ICR1H = 0x1E;
002A 8EE1 ldi R24,30
002C 80938700 sts 135,R24
0030 .dbline 63
0030 ; ICR1L = 0x84;
0030 84E8 ldi R24,132
0032 80938600 sts 134,R24
0036 .dbline 64
0036 ; TCCR1A = 0x00;
0036 20928000 sts 128,R2
003A .dbline 65
003A ; TCCR1B = 0x05; //start Timer
003A 85E0 ldi R24,5
003C 80938100 sts 129,R24
0040 .dbline -2
0040 L1:
0040 .dbline 0 ; func end
0040 0895 ret
0042 .dbend
.area vector(rom, abs)
.org 22
0016 21C0 rjmp _timer1_compa_isr
.area text(rom, con, rel)
0042 .dbfile E:\MYDATA~1\DIFAMO~1\soft_Difa\test.c
0042 .dbfunc e timer1_compa_isr _timer1_compa_isr fV
.even
0042 _timer1_compa_isr::
0042 .dbline -1
0042 .dbline 70
0042 ; }
0042 ; unsigned char temp1;
0042 ; #pragma interrupt_handler timer1_compa_isr:12
0042 ; void timer1_compa_isr(void)
0042 ; {
0042 .dbline -2
0042 L2:
0042 .dbline 0 ; func end
0042 1895 reti
0044 .dbend
.area vector(rom, abs)
.org 26
001A 22C0 rjmp _timer1_ovf_isr
.area text(rom, con, rel)
0044 .dbfile E:\MYDATA~1\DIFAMO~1\soft_Difa\test.c
0044 .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
.even
0044 _timer1_ovf_isr::
0044 2A92 st -y,R2
0046 3A92 st -y,R3
0048 8A93 st -y,R24
004A 9A93 st -y,R25
004C EA93 st -y,R30
004E 2FB6 in R2,0x3f
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -