|
使用FASTAVR的朋友们是否感到FASTAVR很多语句没有说明呢,或者感到没有实例无法下手?我也有这种感觉,所以慢慢来添加FASTAVR的例子,以下是这个程序,无论编译还是仿真还是实物测试均通过了的:
'//////////////////////////////////////////////////////////
'/这个程序用于测试FASTAVR的PWM输出功能是否正常,,这个程序
'/可以通过修改变成PWM脉宽调速的基本程序
'/语言:FASTAVR4.1.3
'/作者:JAMESKING
'/参考程序:www.mikrocontroller.net Forum
'/编译及使用情况:通过编译,没有错误;通过试验板测试,采用
'/TEK公司的TDS220数字存储示波器分别观测两通道波形,完全正常
'//////////////////////////////////////////////////////////
$Device= m8 '
$Stack = 125 '
$Clock = 11.0592 '
$Source=On '以上这四句话我就不解释了,大家都知道
$Timer1=PWM, 10, Pwm1A=Normal,Pwm1B=Normal,Prescale=64 '设置timer1为10位PWM,PWM输出为同相方式,预分频为64(10位方式可以更改为8、9位方式,
'因为我使用了Mega8,所以有两个PWM输出端口,并且两个端口可以同时输出占空比完全不同的
'PWM波形),并且,可以根据芯片的不同采用不同的分频比。
Pwm1A=1020 'PWM端口1A占空比设置为1020/1023,设置的参数可以更改为变量,设置的参数须配合PWM的位数
Pwm1B=1000 'PWM端口1B占空比设置为1000/1023,设置的参数可以更改为变量,设置的参数须配合PWM的位数
Set DDRB.1 '置PWM1A为输出口
Set DDRB.2 '置PWM1B为输出口
Start Timer1 '启动定时期T1(就是启动PWM),输出PWM波形
End |
|
有了PWM1的输出了,如果还嫌不够,那么需要使用PWM2了,呵呵如果你很“贪心”,那么下面的程序可以满足你的“贪心”:
'////////////////////////////////////////////////////////////
'/这个程序用于测试FASTAVR的PWM2输出功能是否正常,,这个程序//
'/可以通过修改变成PWM2脉宽调速的基本程序 //
'/语言:FASTAVR4.1.3 //
'/作者:JAMESKING //
'/参考程序:FastBW用户手册(61页黑白版本) //
'/编译及使用情况:通过编译,没有错误;通过试验板测试,采用 //
'/TEK公司的TDS220数字存储示波器分别观测通道波形,完全正常 //
'/ //
'////////////////////////////////////////////////////////////
$Device= m8
$Stack = 125
$Clock = 11.0592
$Source=On '以上这四句话我就不解释了,大家都知道
$Timer2=PWM, 8,Normal,Prescale=32 '设置timer2为8位PWM,PWM输出为同相方式,预分频为32(8位方式可以不可更改,
'因为我使用了Mega8,所以Timer2可以作为PWM输出端口,请注意设置Normal的时候与Timer1有很大不同)
Pwm2=200 'PWM端口2占空比设置为200,设置的参数可以更改为变量,设置的参数须配合PWM的位数,这里最高不可超过255
Set DDRB.3 '置PWM2为输出口
Start Timer2 '启动定时期T2(就是启动PWM),输出PWM坡形
End |