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

📄 btm48.s

📁 AVR ICC基于AVR单片机的LED显示程序!
💻 S
📖 第 1 页 / 共 2 页
字号:
;  TIMSK2 = 0x00; //timer 2 interrupt sources
;  
;  PCMSK0 = 0x00; //pin change mask 0 
	.dbline 139
	clr R20
	rjmp L60
L57:
	.dbline 139
	.dbline 140
	ldi R18,10
	ldi R19,0
	movw R16,R22
	rcall mod16u
	ldi R24,<_tm
	ldi R25,>_tm
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R16
	.dbline 141
	ldi R18,10
	ldi R19,0
	movw R16,R22
	rcall div16u
	movw R22,R16
	.dbline 142
L58:
	.dbline 139
	inc R20
L60:
	.dbline 139
;  PCMSK1 = 0x00; //pin change mask 1 
;  PCMSK2 = 0x00; //pin change mask 2
	cpi R20,4
	brlo L57
	.dbline 143
;  PCICR = 0x00; //pin change enable 
;  PRR = 0x00; //power controller
;  SEI(); //re-enable interrupts
;  //all peripherals are now initialized
	ldi R20,3
	rjmp L62
L61:
	.dbline 144
	.dbline 145
	ldi R24,<_tm
	ldi R25,>_tm
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldi R24,11
	std z+0,R24
	.dbline 146
	dec R20
	.dbline 147
L62:
	.dbline 144
; }
	ldi R24,<_tm
	ldi R25,>_tm
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	tst R2
	brne L64
	clr R2
	cp R2,R20
	brlo L61
L64:
	.dbline 148
; 
; 
; 
; void main(void)
	sts _tm+3,R10
	.dbline 149
; {
	rcall _A
	.dbline -2
L56:
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r dat 22 i
	.dbsym r n 10 c
	.dbend
	.dbfunc e show4 _show4 fV
;              i -> R20
;              x -> R20
;            dat -> R22,R23
	.even
_show4::
	rcall push_gset2
	mov R20,R18
	movw R22,R16
	.dbline -1
	.dbline 155
; unit n=11100;
; uchar ii=0;
; unit Counter,Rx,TH,Zb,TL;
; 
; init_devices();
; cwStand();
	.dbline 157
; 
; while(1)
	sts _doudian,R20
	.dbline 158
	clr R20
	rjmp L70
L67:
	.dbline 158
	.dbline 159
	ldi R18,10
	ldi R19,0
	movw R16,R22
	rcall mod16u
	ldi R24,<_tm
	ldi R25,>_tm
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R16
	.dbline 160
	ldi R18,10
	ldi R19,0
	movw R16,R22
	rcall div16u
	movw R22,R16
	.dbline 161
L68:
	.dbline 158
	inc R20
L70:
	.dbline 158
; {
	cpi R20,4
	brlo L67
	.dbline 162
; dat=0;
; delay1(100);
; dat=cw1(7);
; Rx=dat*(5000/1024);
	ldi R20,3
	rjmp L72
L71:
	.dbline 164
	.dbline 165
	ldi R24,<_tm
	ldi R25,>_tm
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldi R24,11
	std z+0,R24
	.dbline 166
	dec R20
	.dbline 167
L72:
	.dbline 163
; show41(Rx,1) ; 
	ldi R24,<_tm
	ldi R25,>_tm
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	tst R2
	brne L74
	clr R2
	cp R2,R20
	brlo L71
L74:
	.dbline 168
; }
; 
; //*测量占空比
; while(1)
; {
	rcall _A
	.dbline -2
L66:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r x 20 c
	.dbsym r dat 22 i
	.dbend
	.area lit(rom, con, rel)
_RPt100::
	.word 0
	.word 0
	.word 0
	.word 0
	.word 10000
	.word 0
	.word 11361
	.word 35
	.word 11940
	.word 50
	.word 13850
	.word 100
	.word 17216
	.word 190
	.word 21202
	.word 300
	.word 28090
	.word 500
	.word 31513
	.word 700
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48/PT100.h
	.dbsym e RPt100 _RPt100 A[40:20]ki
	.area text(rom, con, rel)
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48/PT100.h
	.dbfunc e PT100 _PT100 fi
;             Rx -> R10,R11
;             ii -> R12
;            dat -> y+8
	.even
_PT100::
	rcall push_arg4
	rcall push_gset4
	.dbline -1
	.dbline 5
	.dbline 6
	clr R12
	.dbline 8
	movw R30,R28
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	ldi R20,0
	ldi R21,4
	ldi R22,0
	ldi R23,0
	sub R20,R2
	sbc R21,R3
	sbc R22,R4
	sbc R23,R5
	ldi R24,240
	ldi R25,85
	ldi R26,0
	ldi R27,0
	st -y,R23
	st -y,R22
	st -y,R21
	st -y,R20
	movw R16,R24
	movw R18,R26
	rcall empy32u
	movw R30,R28
	ldd R2,z+8
	ldd R3,z+9
	ldd R4,z+10
	ldd R5,z+11
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	rcall div32u
	movw R10,R16
	rjmp L77
L76:
	.dbline 10
	.dbline 11
	inc R12
	.dbline 12
L77:
	.dbline 9
	ldi R24,2
	mul R24,R12
	mov R17,R0
	ldi R16,2
	muls R16,R17
	movw R30,R0
	ldi R24,<_RPt100
	ldi R25,>_RPt100
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	cp R10,R30
	cpc R11,R31
	brsh L76
	.dbline 13
	lsl R12
	.dbline 14
	mov R24,R12
	subi R24,2
	mov R12,R24
	.dbline 15
	ldi R24,2
	mul R24,R12
	movw R2,R0
	ldi R24,<_RPt100
	ldi R25,>_RPt100
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R4,Z+
	lpm R5,Z
	ldi R24,<_RPt100+2
	ldi R25,>_RPt100+2
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	ldi R24,<_RPt100+6
	ldi R25,>_RPt100+6
	movw R26,R2
	add R26,R24
	adc R27,R25
	st -y,R31
	st -y,R30
	movw R30,R26
	lpm R26,Z+
	lpm R27,Z
	ld R30,y+
	ld R31,y+
	sub R26,R30
	sbc R27,R31
	movw R16,R10
	sub R16,R4
	sbc R17,R5
	ldi R18,10
	ldi R19,0
	rcall div16u
	movw R18,R16
	movw R16,R26
	rcall empy16s
	movw R6,R16
	ldi R24,<_RPt100+4
	ldi R25,>_RPt100+4
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R16,Z+
	lpm R17,Z
	sub R16,R4
	sbc R17,R5
	ldi R18,10
	ldi R19,0
	rcall div16u
	movw R18,R16
	movw R16,R6
	rcall div16u
	movw R4,R16
	ldi R24,<_RPt100+2
	ldi R25,>_RPt100+2
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	add R4,R30
	adc R5,R31
	movw R16,R4
	.dbline -2
L75:
	rcall pop_gset4
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbsym r Rx 10 i
	.dbsym r ii 12 c
	.dbsym l dat 8 l
	.dbend
	.area data(ram, con, rel)
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48/PT100.h
_StandartVref::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48/PT100.h
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48\btm48.c
	.dbsym e StandartVref _StandartVref i
	.area text(rom, con, rel)
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48\btm48.c
	.dbfunc e watchdog_init _watchdog_init fV
	.even
_watchdog_init::
	.dbline -1
	.dbline 25
	.dbline 26
	wdr
	.dbline 27
	ldi R24,11
	sts 96,R24
	.dbline -2
L83:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e putchar _putchar fV
;              c -> R16
	.even
_putchar::
	.dbline -1
	.dbline 35
	rjmp L86
L85:
	.dbline 36
	wdr
L86:
	.dbline 36
	lds R2,192
	sbrs R2,5
	rjmp L85
	.dbline 37
	sts 198,R16
	.dbline -2
L84:
	.dbline 0 ; func end
	ret
	.dbsym r c 16 c
	.dbend
	.dbfunc e uart0_init _uart0_init fV
	.even
_uart0_init::
	.dbline -1
	.dbline 45
	.dbline 46
	clr R2
	sts 193,R2
	.dbline 47
	ldi R24,2
	sts 192,R24
	.dbline 48
	ldi R24,6
	sts 194,R24
	.dbline 49
	ldi R24,103
	sts 196,R24
	.dbline 50
	sts 197,R2
	.dbline 51
	ldi R24,24
	sts 193,R24
	.dbline -2
L88:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e adc_init _adc_init fV
	.even
_adc_init::
	.dbline -1
	.dbline 61
	.dbline 62
	clr R2
	sts 122,R2
	.dbline 63
	ldi R24,192
	sts 124,R24
	.dbline 64
	ldi R24,128
	out 0x30,R24
	.dbline 65
	ldi R24,199
	sts 122,R24
	.dbline -2
L89:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e cw _cw fi
;            mux -> R20
	.even
_cw::
	rcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 70
	.dbline 71
	mov R24,R20
	andi R24,15
	ori R24,64
	sts 124,R24
	.dbline 72
	lds R24,122
	ori R24,192
	sts 122,R24
	.dbline 73
	ldi R16,200
	ldi R17,0
	rcall _del
	.dbline 74
	lds R16,120
	lds R17,120+1
	.dbline -2
L90:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r mux 20 c
	.dbend
	.dbfunc e cw1 _cw1 fi
;              a -> <dead>
;        adc_rel -> R22,R23
;              i -> R10
;            mux -> R20
	.even
_cw1::
	rcall push_gset3
	mov R20,R16
	.dbline -1
	.dbline 80
	.dbline 81
	clr R22
	clr R23
	.dbline 83
	clr R10
	rjmp L95
L92:
	.dbline 84
	.dbline 85
	mov R16,R20
	rcall _cw
	add R22,R16
	adc R23,R17
	.dbline 86
	wdr
	.dbline 87
L93:
	.dbline 83
	inc R10
L95:
	.dbline 83
	mov R24,R10
	cpi R24,5
	brlo L92
	.dbline 88
	ldi R18,5
	ldi R19,0
	movw R16,R22
	rcall div16u
	.dbline -2
L91:
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym l a 1 i
	.dbsym r adc_rel 22 i
	.dbsym r i 10 c
	.dbsym r mux 20 c
	.dbend
	.dbfunc e cwStand _cwStand fV
;              a -> <dead>
;        adc_rel -> R22,R23
;              i -> R10
;            mux -> R20
	.even
_cwStand::
	rcall push_gset3
	mov R20,R16
	.dbline -1
	.dbline 92
	.dbline 93
	clr R22
	clr R23
	.dbline 96
	clr R2
	sts 122,R2
	.dbline 97
	ldi R24,64
	sts 124,R24
	.dbline 98
	ldi R24,128
	out 0x30,R24
	.dbline 99
	ldi R24,199
	sts 122,R24
	.dbline 100
	clr R10
	rjmp L100
L97:
	.dbline 101
	.dbline 102
	mov R24,R20
	andi R24,15
	ori R24,64
	sts 124,R24
	.dbline 103
	lds R24,122
	ori R24,64
	sts 122,R24
	.dbline 104
	ldi R16,200
	ldi R17,0
	rcall _del
	.dbline 105
	lds R22,120
	lds R23,120+1
	.dbline 106
L98:
	.dbline 100
	inc R10
L100:
	.dbline 100
	mov R24,R10
	cpi R24,5
	brlo L97
	.dbline 107
	clr R22
	clr R23
	.dbline 109
	clr R10
	rjmp L104
L101:
	.dbline 110
	.dbline 111
	mov R24,R20
	andi R24,15
	ori R24,64
	sts 124,R24
	.dbline 112
	lds R24,122
	ori R24,64
	sts 122,R24
	.dbline 113
	ldi R16,200
	ldi R17,0
	rcall _del
	.dbline 114
	lds R2,120
	lds R3,120+1
	add R22,R2
	adc R23,R3
	.dbline 115
	wdr
	.dbline 116
L102:
	.dbline 109
	inc R10
L104:
	.dbline 109
	mov R24,R10
	cpi R24,5
	brlo L101
	.dbline 117
	sts _StandartVref+1,R23
	sts _StandartVref,R22
	.dbline -2
L96:
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym l a 1 i
	.dbsym r adc_rel 22 i
	.dbsym r i 10 c
	.dbsym r mux 20 c
	.dbend
	.dbfunc e init_devices _init_devices fV
	.even
_init_devices::
	.dbline -1
	.dbline 122
	.dbline 124
	cli
	.dbline 125
	rcall _port_init
	.dbline 126
	rcall _watchdog_init
	.dbline 127
	rcall _adc_init
	.dbline 129
	clr R2
	out 0x35,R2
	.dbline 130
	sts 105,R2
	.dbline 131
	out 0x1d,R2
	.dbline 133
	sts 110,R2
	.dbline 134
	sts 111,R2
	.dbline 135
	sts 112,R2
	.dbline 137
	sts 107,R2
	.dbline 138
	sts 108,R2
	.dbline 139
	sts 109,R2
	.dbline 140
	sts 104,R2
	.dbline 141
	sts 100,R2
	.dbline 142
	sei
	.dbline -2
L105:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48\btm48.c
_adc_mux::
	.blkb 1
	.dbsym e adc_mux _adc_mux c
_adc_rel::
	.blkb 32
	.dbsym e adc_rel _adc_rel A[32:8]l
_doudian::
	.blkb 1
	.dbfile D:\ele\AVR\ICC\biaotao\biaotouM48/bt.h
	.dbsym e doudian _doudian c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -