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

📄 main.s

📁 方波发生器程序。AVR单片机程序。MEGA16
💻 S
📖 第 1 页 / 共 2 页
字号:
	.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 + -