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

📄 pwm1.s

📁 详细介绍M8两版间通讯
💻 S
字号:
	.module PWM1.c
	.area text(rom, con, rel)
	.dbfile G:\Mega8程序\TCXO评估板\Main\PWM1.c
	.dbfunc e pwm1_init _pwm1_init fV
	.even
_pwm1_init::
	.dbline -1
	.dbline 11
; /*
; T/C1使用PWM控制方式,进行DA转换。
; 直接对OCR1A、OCR1B写入电压数据,两路输出,精度12位
; */
; #include <iom8v.h>
; #include <macros.h>
; #define Vref  4995
; //参考电压值
; //T1初始化程序
; void pwm1_init(void)
;  {
	.dbline 12
; 	TCCR1B = 0;
	clr R2
	out 0x2e,R2
	.dbline 14
; 	//PWM停止工作
; 	DDRB=0b00000110;
	ldi R24,6
	out 0x17,R24
	.dbline 16
; 	//OC1A作为PWMA输出引脚,OC1B作为PWMB输出引脚
; 	ICR1=0x0FFF;
	ldi R24,4095
	ldi R25,15
	out 0x27,R25
	out 0x26,R24
	.dbline 18
; 	//PWM模式14,ICR1作为top值,12位精度
; 	TCNT1=0;
	clr R3
	out 0x2d,R3
	out 0x2c,R2
	.dbline 19
; 	OCR1A=0x0000;
	out 0x2b,R3
	out 0x2a,R2
	.dbline 20
; 	OCR1B=0x0000;
	out 0x29,R3
	out 0x28,R2
	.dbline 26
; 	/*
; 	启动两路PWM输出,工作模式14(WGM XX),以系统时钟工作(CS XX)
; 	两路均为计数至TOP时,输出引脚清零(COM1 X1:COM1 X0),换言之,正占空比与
; 	OCR1X成正比
; 	*/
; 	TCCR1A =(1<<WGM11)|(1<<COM1A1)|(1<<COM1B1);
	ldi R24,162
	out 0x2f,R24
	.dbline 27
; 	TCCR1B =(1<<WGM13)|(1<<WGM12)|(1<<CS10);
	ldi R24,25
	out 0x2e,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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