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

📄 time2.s

📁 前两年在一家模型公司开发的
💻 S
字号:
	.module time2.c
	.area text(rom, con, rel)
	.dbfile E:\TWINTI~1\time2.c
	.dbfunc e timer2_init _timer2_init fV
	.even
_timer2_init::
	.dbline -1
	.dbline 30
; /********************************************************************************/
; //		
; // 		builder : 2007-04-10
; // 		Target  : ATMEAG 48V
; // 		Crystal : 内部 8.00 MHz
; //
; //		PWM 模块
; 		
; /********************************************************************************/
; 
; 
; #include 	<iom48v.h>
; #include 	<macros.h>
; 
; #define		uchar	unsigned char
; #define		uint	unsigned int
; 	
; #define		CLR_REV1	PORTD &= ~(1<<PD6)
; #define		SET_REV1	PORTD |=  (1<<PD6)
; 
; #define		CLR_JUST1	PORTB &= ~(1<<PB4)
; #define		SET_JUST1	PORTB |=  (1<<PB4)
; 
; 
; 
; //TIMER0 initialize - prescale:8
; // desired value: 1Hz
; // actual value: Out of range
; extern void timer2_init(void)
; {
	.dbline 31
;  	TCCR2B  = 0x00; //stop
	clr R2
	sts 177,R2
	.dbline 32
;  	ASSR   	= 0x00; //set async mode
	sts 182,R2
	.dbline 33
;  	TCNT2  	= 0x01; //setup
	ldi R24,1
	sts 178,R24
	.dbline 34
;  	TCCR2A 	= 0xA1; 
	ldi R24,161
	sts 176,R24
	.dbline 35
;  	OCR2B 	= 0x00;
	sts 180,R2
	.dbline 36
; 	TCCR2B 	= 0x02;
	ldi R24,2
	sts 177,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e Pwm_set _Pwm_set fV
;            rev -> R18
;            pwm -> R16
	.even
_Pwm_set::
	.dbline -1
	.dbline 44
; }
; 
; /*---------------------------------------------------------------
;    			PWM 占空比设置 
; ----------------------------------------------------------------*/
; 
; extern void Pwm_set(uchar pwm,uchar rev)
; {
	.dbline 45
; 	if(rev==2)
	cpi R18,2
	brne L3
	.dbline 46
; 	{
	.dbline 47
; 		OCR2A 	= 0;
	clr R2
	sts 179,R2
	.dbline 48
; 		OCR2B 	= pwm;
	sts 180,R16
	.dbline 49
; 		CLR_REV1;
	cbi 0xb,6
	.dbline 50
; 		SET_JUST1;
	sbi 0x5,4
	.dbline 51
; 	}
	rjmp L4
L3:
	.dbline 52
; 	else if(rev==1)
	cpi R18,1
	brne L5
	.dbline 53
; 	{
	.dbline 54
; 		OCR2A 	= pwm;
	sts 179,R16
	.dbline 55
; 		OCR2B 	= 0;
	clr R2
	sts 180,R2
	.dbline 56
; 		SET_REV1;
	sbi 0xb,6
	.dbline 57
; 		CLR_JUST1;
	cbi 0x5,4
	.dbline 58
; 	}
	rjmp L6
L5:
	.dbline 59
; 	else if(rev==3)
	cpi R18,3
	brne L7
	.dbline 60
; 	{
	.dbline 61
; 		OCR2A 	= pwm;
	sts 179,R16
	.dbline 62
; 		OCR2B 	= pwm;
	sts 180,R16
	.dbline 63
; 		CLR_REV1;
	cbi 0xb,6
	.dbline 64
; 		CLR_JUST1;
	cbi 0x5,4
	.dbline 65
; 	}
	rjmp L8
L7:
	.dbline 67
; 	else 
; 	{
	.dbline 68
; 		OCR2A 	= 0;
	clr R2
	sts 179,R2
	.dbline 69
; 		OCR2B 	= 0;
	sts 180,R2
	.dbline 70
; 		CLR_REV1;
	cbi 0xb,6
	.dbline 71
; 		CLR_JUST1;
	cbi 0x5,4
	.dbline 72
; 	}
L8:
L6:
L4:
	.dbline -2
L2:
	.dbline 0 ; func end
	ret
	.dbsym r rev 18 c
	.dbsym r pwm 16 c
	.dbend

⌨️ 快捷键说明

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