📄 wave50%.lis
字号:
00FE 80900400 lds R8,_Ddummy+2
0102 90900500 lds R9,_Ddummy+2+1
0106 60900200 lds R6,_Ddummy
010A 70900300 lds R7,_Ddummy+1
010E 6214 cp R6,R2
0110 7304 cpc R7,R3
0112 8404 cpc R8,R4
0114 9504 cpc R9,R5
0116 6CF0 brlt L8
0118 .dbline 39
0118 .dbline 40
0118 ; Ddummy =0; //恢复计数初值
0118 40E0 ldi R20,0
011A 50E0 ldi R21,0
011C 60E0 ldi R22,0
011E 70E0 ldi R23,0
0120 50930300 sts _Ddummy+1,R21
0124 40930200 sts _Ddummy,R20
0128 70930500 sts _Ddummy+2+1,R23
012C 60930400 sts _Ddummy+2,R22
0130 .dbline 41
0130 ; PORTB |=0X01; //PB0脚置高电平
0130 C09A sbi 0x18,0
0132 .dbline 42
0132 ; }
0132 L8:
0132 .dbline 43
0132 ; TCNT0 = 0xF0; //reload counter value
0132 80EF ldi R24,240
0134 82BF out 0x32,R24
0136 .dbline -2
0136 .dbline 44
0136 ; }
0136 L3:
0136 00D0 rcall pop_gset2
0138 2990 ld R2,y+
013A 2FBE out 0x3f,R2
013C E991 ld R30,y+
013E B991 ld R27,y+
0140 A991 ld R26,y+
0142 9991 ld R25,y+
0144 8991 ld R24,y+
0146 3991 ld R19,y+
0148 2991 ld R18,y+
014A 1991 ld R17,y+
014C 0991 ld R16,y+
014E 9990 ld R9,y+
0150 8990 ld R8,y+
0152 7990 ld R7,y+
0154 6990 ld R6,y+
0156 5990 ld R5,y+
0158 4990 ld R4,y+
015A 3990 ld R3,y+
015C 2990 ld R2,y+
015E .dbline 0 ; func end
015E 1895 reti
0160 .dbend
0160 .dbfunc e adc_init _adc_init fV
.even
0160 _adc_init::
0160 .dbline -1
0160 .dbline 49
0160 ;
0160 ; //ADC initialisation
0160 ; // Conversion time: 6uS
0160 ; void adc_init(void)
0160 ; {
0160 .dbline 50
0160 ; ADCSR = 0x00; //disable adc
0160 2224 clr R2
0162 26B8 out 0x6,R2
0164 .dbline 51
0164 ; ADMUX = 0x00; //select adc input 0
0164 27B8 out 0x7,R2
0166 .dbline 52
0166 ; ACSR = 0x00;
0166 28B8 out 0x8,R2
0168 .dbline 53
0168 ; ADCSR = 0xA9;
0168 89EA ldi R24,169
016A 86B9 out 0x6,R24
016C .dbline -2
016C .dbline 54
016C ; }
016C L10:
016C .dbline 0 ; func end
016C 0895 ret
016E .dbend
.area vector(rom, abs)
.org 28
001C B7C0 rjmp _adc_isr
.area text(rom, con, rel)
016E .dbfile C:\DOCUME~1\hb\MYDOCU~1\喷吗机--2代\单片机程序\定时器(方波输出,TC0控制)\Wave50%.c
016E .dbfunc e adc_isr _adc_isr fV
.even
016E _adc_isr::
016E .dbline -1
016E .dbline 58
016E ;
016E ; #pragma interrupt_handler adc_isr:15
016E ; void adc_isr(void)
016E ; {
016E .dbline -2
016E .dbline 62
016E ; //conversion complete, read value (int) using...
016E ; // value=ADCL; //Read 8 low bits first (important)
016E ; // value|=(int)ADCH << 8; //read 2 high bits and shift into top byte
016E ; }
016E L11:
016E .dbline 0 ; func end
016E 1895 reti
0170 .dbend
0170 .dbfunc e init_devices _init_devices fV
.even
0170 _init_devices::
0170 .dbline -1
0170 .dbline 66
0170 ;
0170 ; //call this routine to initialise all peripherals
0170 ; void init_devices(void)
0170 ; {
0170 .dbline 68
0170 ; //stop errant interrupts until set up
0170 ; CLI(); //disable all interrupts
0170 F894 cli
0172 .dbline 69
0172 ; port_init();
0172 46DF rcall _port_init
0174 .dbline 70
0174 ; timer0_init();
0174 50DF rcall _timer0_init
0176 .dbline 71
0176 ; adc_init();
0176 F4DF rcall _adc_init
0178 .dbline 73
0178 ;
0178 ; MCUCR = 0x00;
0178 2224 clr R2
017A 25BE out 0x35,R2
017C .dbline 74
017C ; GICR = 0x00;
017C 2BBE out 0x3b,R2
017E .dbline 75
017E ; TIMSK = 0x01; //timer interrupt sources
017E 81E0 ldi R24,1
0180 89BF out 0x39,R24
0182 .dbline 76
0182 ; SEI(); //re-enable interrupts
0182 7894 sei
0184 .dbline -2
0184 .dbline 78
0184 ; //all peripherals are now initialised
0184 ; }
0184 L12:
0184 .dbline 0 ; func end
0184 0895 ret
0186 .dbend
0186 .dbfunc e main _main fV
.even
0186 _main::
0186 .dbline -1
0186 .dbline 81
0186 ;
0186 ; void main()
0186 ; {
0186 .dbline 82
0186 ; init_devices();
0186 F4DF rcall _init_devices
0188 .dbline 83
0188 ; Ddummy = 0; //临时变量,赋初值
0188 40E0 ldi R20,0
018A 50E0 ldi R21,0
018C 60E0 ldi R22,0
018E 70E0 ldi R23,0
0190 50930300 sts _Ddummy+1,R21
0194 40930200 sts _Ddummy,R20
0198 70930500 sts _Ddummy+2+1,R23
019C 60930400 sts _Ddummy+2,R22
01A0 .dbline 84
01A0 ; Settings_PerDotGroupNum =10; //每10个墨滴选一个进行打印
01A0 8AE0 ldi R24,10
01A2 80930100 sts _Settings_PerDotGroupNum,R24
01A6 .dbline 85
01A6 ; Settings_PrintPhase =10;
01A6 80930000 sts _Settings_PrintPhase,R24
01AA .dbline -2
01AA .dbline 86
01AA ; }
01AA L13:
01AA .dbline 0 ; func end
01AA 0895 ret
01AC .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\DOCUME~1\hb\MYDOCU~1\喷吗机--2代\单片机程序\定时器(方波输出,TC0控制)\Wave50%.c
0000 _Settings_PrintPhase::
0000 .blkb 1
0001 .dbsym e Settings_PrintPhase _Settings_PrintPhase c
0001 _Settings_PerDotGroupNum::
0001 .blkb 1
0002 .dbsym e Settings_PerDotGroupNum _Settings_PerDotGroupNum c
0002 _Ddummy::
0002 .blkb 4
0006 .dbsym e Ddummy _Ddummy L
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -