📄 main.s
字号:
.dbline 43
ldi R20,66
xjmp L42
L41:
.dbline 44
clr R20
L42:
L40:
.dbline 45
lds R2,L30
cp R20,R2
brne L43
.dbline 45
.dbline 45
mov R16,R20
xjmp L29
L43:
.dbline 46
L37:
.dbline 47
clr R16
.dbline -2
L29:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e init_timer0 _init_timer0 fV
.even
_init_timer0::
.dbline -1
.dbline 51
.dbline 52
sbi 0x17,3
.dbline 53
clr R2
out 0x32,R2
.dbline 54
ldi R24,109
out 0x33,R24
.dbline 57
ldi R24,128
out 0x3c,R24
.dbline -2
L45:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L47:
.blkb 1
.area text(rom, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
.dbfunc e F_set _F_set fV
.dbsym s i L47 c
.even
_F_set::
xcall push_gset1
sbiw R28,2
.dbline -1
.dbline 63
.dbline 65
lds R24,L47
cpi R24,5
breq L48
.dbline 65
subi R24,255 ; addi 1
sts L47,R24
xjmp L49
L48:
.dbline 66
ldi R24,1
sts L47,R24
L49:
.dbline 67
lds R20,L47
clr R21
cpi R20,1
ldi R30,0
cpc R21,R30
breq L53
cpi R20,2
ldi R30,0
cpc R21,R30
breq L55
cpi R20,3
ldi R30,0
cpc R21,R30
breq L57
cpi R20,4
ldi R30,0
cpc R21,R30
breq L59
cpi R20,5
ldi R30,0
cpc R21,R30
breq L61
xjmp L51
X0:
.dbline 68
L53:
.dbline 70
.dbline 71
ldi R24,109
out 0x33,R24
.dbline 72
ldi R24,<L54
ldi R25,>L54
std y+1,R25
std y+0,R24
clr R18
ldi R16,6
xcall _LCD_write_string
.dbline 73
xjmp L51
L55:
.dbline 76
.dbline 77
ldi R24,108
out 0x33,R24
.dbline 78
ldi R24,<L56
ldi R25,>L56
std y+1,R25
std y+0,R24
clr R18
ldi R16,6
xcall _LCD_write_string
.dbline 79
xjmp L51
L57:
.dbline 82
.dbline 83
ldi R24,107
out 0x33,R24
.dbline 84
ldi R24,<L58
ldi R25,>L58
std y+1,R25
std y+0,R24
clr R18
ldi R16,6
xcall _LCD_write_string
.dbline 85
xjmp L51
L59:
.dbline 88
.dbline 89
ldi R24,106
out 0x33,R24
.dbline 90
ldi R24,<L60
ldi R25,>L60
std y+1,R25
std y+0,R24
clr R18
ldi R16,6
xcall _LCD_write_string
.dbline 91
xjmp L51
L61:
.dbline 94
.dbline 95
ldi R24,105
out 0x33,R24
.dbline 96
ldi R24,<L62
ldi R25,>L62
std y+1,R25
std y+0,R24
clr R18
ldi R16,6
xcall _LCD_write_string
.dbline 97
.dbline 99
L51:
.dbline -2
L46:
adiw R28,2
xcall pop_gset1
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L64:
.blkb 1
.area text(rom, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
.dbfunc e R_set _R_set fV
.dbsym s i L64 c
.even
_R_set::
xcall push_gset1
sbiw R28,2
.dbline -1
.dbline 107
.dbline 109
lds R24,L64
cpi R24,9
breq L65
.dbline 109
subi R24,255 ; addi 1
sts L64,R24
xjmp L66
L65:
.dbline 110
ldi R24,1
sts L64,R24
L66:
.dbline 111
lds R20,L64
clr R21
cpi R20,1
ldi R30,0
cpc R21,R30
breq L70
cpi R20,2
ldi R30,0
cpc R21,R30
breq L72
cpi R20,3
ldi R30,0
cpc R21,R30
brne X2
xjmp L74
X2:
cpi R20,4
ldi R30,0
cpc R21,R30
brne X3
xjmp L76
X3:
cpi R20,5
ldi R30,0
cpc R21,R30
brne X4
xjmp L78
X4:
cpi R20,6
ldi R30,0
cpc R21,R30
brne X5
xjmp L80
X5:
cpi R20,7
ldi R30,0
cpc R21,R30
brne X6
xjmp L82
X6:
cpi R20,8
ldi R30,0
cpc R21,R30
brne X7
xjmp L84
X7:
cpi R20,9
ldi R30,0
cpc R21,R30
brne X8
xjmp L86
X8:
xjmp L68
X1:
.dbline 112
L70:
.dbline 114
.dbline 115
ldi R24,10
out 0x3c,R24
.dbline 116
ldi R24,<L71
ldi R25,>L71
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 117
xjmp L68
L72:
.dbline 120
.dbline 121
ldi R24,20
out 0x3c,R24
.dbline 122
ldi R24,<L73
ldi R25,>L73
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 123
xjmp L68
L74:
.dbline 126
.dbline 127
ldi R24,30
out 0x3c,R24
.dbline 128
ldi R24,<L75
ldi R25,>L75
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 129
xjmp L68
L76:
.dbline 132
.dbline 133
ldi R24,40
out 0x3c,R24
.dbline 134
ldi R24,<L77
ldi R25,>L77
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 135
xjmp L68
L78:
.dbline 138
.dbline 139
ldi R24,128
out 0x3c,R24
.dbline 140
ldi R24,<L79
ldi R25,>L79
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 141
xjmp L68
L80:
.dbline 144
.dbline 145
ldi R24,60
out 0x3c,R24
.dbline 146
; LCD_write_string(13,0,"60%");
ldi R24,<L81
ldi R25,>L81
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 147
; break;
xjmp L68
L82:
.dbline 150
; }
; case 7:
; {
.dbline 151
; OCR0=0x46;//占空比70%
ldi R24,70
out 0x3c,R24
.dbline 152
; LCD_write_string(13,0,"70%");
ldi R24,<L83
ldi R25,>L83
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 153
; break;
xjmp L68
L84:
.dbline 156
; }
; case 8:
; {
.dbline 157
; OCR0=0x50;//占空比80%
ldi R24,80
out 0x3c,R24
.dbline 158
; LCD_write_string(13,0,"80%");
ldi R24,<L85
ldi R25,>L85
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 159
; break;
xjmp L68
L86:
.dbline 162
.dbline 163
ldi R24,90
out 0x3c,R24
.dbline 164
ldi R24,<L87
ldi R25,>L87
std y+1,R25
std y+0,R24
clr R18
ldi R16,13
xcall _LCD_write_string
.dbline 165
.dbline 167
L68:
.dbline -2
L63:
adiw R28,2
xcall pop_gset1
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
; key -> R20
.even
_main::
sbiw R28,2
.dbline -1
.dbline 173
; }
; case 9:
; {
; OCR0=0x5a;//占空比90%
; LCD_write_string(13,0,"90%");
; break;
; }
; default:break;
; }
;
; }
;
; void main(void)
; {
.dbline 176
; uchar key;
;
; LCD_init();//液晶初始化
xcall _LCD_init
.dbline 177
; init_timer0();
xcall _init_timer0
.dbline 178
; LCD_write_string(0,0,"F_out: 28HZ50%");
ldi R24,<L89
ldi R25,>L89
std y+1,R25
std y+0,R24
clr R18
clr R16
xcall _LCD_write_string
xjmp L91
L90:
.dbline 180
; while(1)
; {
.dbline 181
; key=get_key();
xcall _get_key
mov R20,R16
.dbline 182
; if(key=='A')F_set();
cpi R16,65
brne L93
.dbline 182
xcall _F_set
L93:
.dbline 183
; if(key=='B')R_set();
cpi R20,66
brne L95
.dbline 183
xcall _R_set
L95:
.dbline 185
L91:
.dbline 179
xjmp L90
X9:
.dbline -2
L88:
adiw R28,2
.dbline 0 ; func end
ret
.dbsym r key 20 c
.dbend
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L89:
.blkb 17
.area idata
.byte 'F,95,'o,'u,'t,58,32,32,32,50,56,'H,'Z,53,48,37
.byte 0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L87:
.blkb 4
.area idata
.byte 57,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L85:
.blkb 4
.area idata
.byte 56,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L83:
.blkb 4
.area idata
.byte 55,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L81:
.blkb 4
.area idata
.byte 54,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L79:
.blkb 4
.area idata
.byte 53,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L77:
.blkb 4
.area idata
.byte 52,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L75:
.blkb 4
.area idata
.byte 51,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L73:
.blkb 4
.area idata
.byte 50,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L71:
.blkb 4
.area idata
.byte 49,48,37,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L62:
.blkb 8
.area idata
.byte 50,56,56,48,48,'H,'Z,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L60:
.blkb 8
.area idata
.byte 32,55,50,48,48,'H,'Z,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L58:
.blkb 8
.area idata
.byte 32,32,52,53,48,'H,'Z,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L56:
.blkb 8
.area idata
.byte 32,32,49,49,50,'H,'Z,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
L54:
.blkb 8
.area idata
.byte 32,32,32,50,56,'H,'Z,0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\+M16范例+\方波生成器2(PWM)\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -