我需要帮助球员乌拉圭回合

P

praveen_palaparthi

Guest
喜的朋友
, 我想知道如何在不同的占空比program.I使用PIC controller.I我想我的PWM的LED亮度控制程序。

 
您好;
让我告诉你,如果你想快速的反应
, 然后给你的线程
, 而不是正确sunject帮助我,或请参阅。这些并没有吸引市民和他们可能永远也看到线程。所以第一个规则,这个问题的正确名称
, 让更多的读者到线程看看。

回答您的querry。

一个PWM算法。

假设一个8位变量税已通过255在0范围的值。如果是x,则输出是很高的时间和平衡低x/256。

考虑一个蓄电池在每次通过行政协调会协调会= 税
, 如果没有发生溢出的铅带来低。但是
, 如果确实发生了溢出的铅带来逻辑的。

假设一个循环重复256次。

因此,如果税是零,永远不会发生溢出
, 产量总是偏低。

如果责任是,一个溢出协调会时
, 将会发生从快跳频多卷为00h。这将在256发生一次循环。因此
, 产量将在逻辑1,1 / 256的时间。同样,如果税是2,行政协调会推出的两倍多。因此,输出将是一个合乎逻辑的,2 / 256的时间。如果税为255,进行溢出总会发生,除非行政协调会是零。因此,产量就高的时间二百五十六分之二百五十五。

请注意
, 如果这一过程循环256次,行政协调会的初始值可以是任何值。也就是说,零添加到任何数量溢出没有结果,影像到任何结果
, 只在一个通过循环等,在溢出

在下面的程序,职责开始在零和斜面多达255个
, 然后下降到零。该程序不断循环。

纲要PWM_1.BS2
'
'说明了脉宽调制的使用。原因的LED二至上升和下降的
'亮度。
'
'请注意
, 此使用我PWM的命令的执行情况。
'
'PH值安德森,12月5日,'97

税无功字节
单车无功字节

ĵ VAR的字节'周期计数器

ACCUM无功字节
ACCUM_NEW无功字节
ñ VAR的字节'指数在惠民

迪尔斯= $ 00FF
周期= 100
主:
上班= 0至20步骤2'提高亮度
GOSUB PWM_BURST
下一页

上班= 20 0 2步'降低亮度
GOSUB PWM_BURST
下一页
转到主

PWM_BURST:
办理J = 1旋回
GOSUB _PWM
返回

_PWM:
对于N = 0到255
ACCUM_NEW = ACCUM 税
中频(ACCUM_NEW“= ACCUM)然后NO_OVERFLOW
'其他
转到溢出
_PWM_1:ACCUM = ACCUM_NEW
下一页
返回

溢出:
OUT2 = 1
转到_PWM_1'继续

NO_OVERFLOW:
OUT2 = 0
转到_PWM_1'继续

讨论。
子程序_PWM实现algorithim如上所述。请注意
, 下划线(_)出现之前
, 作为脉宽调制的PWM是在PBASIC关键字很像藤或查找,需要。

总是试图给你的变量和标签有意义的名字。在我的警告
, 尽管如此,我会偶尔有一些学生谁使用他们的姓名和变量和标签的朋友组名称。经过浪费在毫无希望得到自己迷惑了不少时间,他们成为信徒。在这种情况下,我真想用标签
, 因为它描述正是子程序不脉宽调制。然而,有一个实际的命令称为PWM和一个简单的解决办法是添加前导下划线。

在日常_PWM,印花税被添加到ACCUM。如果新值大于或等于ACCUM当前值,没有发生溢出。例如,如果ACCUM是254和责任是1,新的值是255,也没有溢出。因此,零是在P2输出。

但是,如果ACCUM是254和义务是2,新的结果推迟到1。也就是说,溢出
, 从而导致新的价值要低于ACCUM当前值和逻辑之一是在P2输出。

常规PWM_BURST调用_PWM次例行周期。因此
, 印花税和循环传递给PWM_BURST和_PWM执行由指定的与占空比指定的次数。

主要程序只是简单地斜道
, 从0税(发光二极管关闭)到20(以时间二百五十六分之二十零的LED。有意思的是
, 这对应的LED正就不到10的时间百分比,但显然有眼对数响应。我发现有一个LED的从0到20去,但在扩大这是一个较大的值都没有出现那么多美好。您可以自己做这样的亮度非常明显的改变。

在运行这个程序,你会注意到有一个明显的闪烁。邮票上的运行PIC是一个20 MHz的时钟
, 转换到500万条指令每秒。但是,在执行一个基本标志项目,事先知情同意有大量开销,该标记必须从串行EEPROM,interpetted并执行枪决的牵强。因此,知情同意本身也相当快,但邮票显得非常的比较缓慢。

例如,在知情同意的代码把一个不断改变的状态;

顶部:
PORTB的生物浓缩系数,0;设置输出为零
PORTB的边防军,0到1
转到页首

这将导致输出为0.6 usecs和0.2 usecs高低。
印花税代码做同样的事情;

顶部:
OUT0 = 0
OUT0 = 1
转到页首

但是,在运行此邮票代码,知情同意必须提取的串行EEPROM的命令,解释并进行定义的动作和这增加了由名义上100倍以上的时间值。
您还会注意到延迟当程序在主,并在PWM_BURST是
, 是,不是_PWM。请注意
, 唯一的一次
, 各国正在输出是在_PWM例程本身。

计划PWM_2.BS2。

该程序使用邮票的PWM命令。请注意
, 这取代了PWM_BURST和_PWM这在以前的程序中使用子程序。

纲要PWM_2.BS2
'
'原因的LED二至上升和下降的亮度。利用脉宽调制条命令。
'
'PH值安德森,12月5日,'97

税无功字节
单车无功字节

迪尔斯= $ 00FF
周期= 100
主:
调试“。”
上班= 0至20步骤2
脉宽调制2,税,周期
下一页

上班= 20 0第2步
脉宽调制2,税,周期
下一页

转到主1分钟后添加:您好;
让我告诉你,如果你想快速的反应
, 然后给你的线程
, 而不是正确sunject帮助我,或请参阅。这些并没有吸引市民和他们可能永远也看到线程。所以第一个规则,这个问题的正确名称
, 让更多的读者到线程看看。

回答您的querry。

一个PWM算法。

假设一个8位变量税已通过255在0范围的值。如果是x,则输出是很高的时间和平衡低x/256。

考虑一个蓄电池在每次通过行政协调会协调会= 税
, 如果没有发生溢出的铅带来低。但是
, 如果确实发生了溢出的铅带来逻辑的。

假设一个循环重复256次。

因此,如果税是零,永远不会发生溢出
, 产量总是偏低。

如果责任是,一个溢出协调会时
, 将会发生从快跳频多卷为00h。这将在256发生一次循环。因此
, 产量将在逻辑1,1 / 256的时间。同样,如果税是2,行政协调会推出的两倍多。因此,输出将是一个合乎逻辑的,2 / 256的时间。如果税为255,进行溢出总会发生,除非行政协调会是零。因此,产量就高的时间二百五十六分之二百五十五。

请注意
, 如果这一过程循环256次,行政协调会的初始值可以是任何值。也就是说,零添加到任何数量溢出没有结果,影像到任何结果
, 只在一个通过循环等,在溢出

在下面的程序,职责开始在零和斜面多达255个
, 然后下降到零。该程序不断循环。

纲要PWM_1.BS2
'
'说明了脉宽调制的使用。原因的LED二至上升和下降的
'亮度。
'
'请注意
, 此使用我PWM的命令的执行情况。
'
'PH值安德森,12月5日,'97

税无功字节
单车无功字节

ĵ VAR的字节'周期计数器

ACCUM无功字节
ACCUM_NEW无功字节
ñ VAR的字节'指数在惠民

迪尔斯= $ 00FF
周期= 100
主:
上班= 0至20步骤2'提高亮度
GOSUB PWM_BURST
下一页

上班= 20 0 2步'降低亮度
GOSUB PWM_BURST
下一页
转到主

PWM_BURST:
办理J = 1旋回
GOSUB _PWM
返回

_PWM:
对于N = 0到255
ACCUM_NEW = ACCUM 税
中频(ACCUM_NEW“= ACCUM)然后NO_OVERFLOW
'其他
转到溢出
_PWM_1:ACCUM = ACCUM_NEW
下一页
返回

溢出:
OUT2 = 1
转到_PWM_1'继续

NO_OVERFLOW:
OUT2 = 0
转到_PWM_1'继续

讨论。
子程序_PWM实现algorithim如上所述。请注意
, 下划线(_)出现之前
, 作为脉宽调制的PWM是在PBASIC关键字很像藤或查找,需要。

总是试图给你的变量和标签有意义的名字。在我的警告
, 尽管如此,我会偶尔有一些学生谁使用他们的姓名和变量和标签的朋友组名称。经过浪费在毫无希望得到自己迷惑了不少时间,他们成为信徒。在这种情况下,我真想用标签
, 因为它描述正是子程序不脉宽调制。然而,有一个实际的命令称为PWM和一个简单的解决办法是添加前导下划线。

在日常_PWM,印花税被添加到ACCUM。如果新值大于或等于ACCUM当前值,没有发生溢出。例如,如果ACCUM是254和责任是1,新的值是255,也没有溢出。因此,零是在P2输出。

但是,如果ACCUM是254和义务是2,新的结果推迟到1。也就是说,溢出
, 从而导致新的价值要低于ACCUM当前值和逻辑之一是在P2输出。

常规PWM_BURST调用_PWM次例行周期。因此
, 印花税和循环传递给PWM_BURST和_PWM执行由指定的与占空比指定的次数。

主要程序只是简单地斜道
, 从0税(发光二极管关闭)到20(以时间二百五十六分之二十零的LED。有意思的是
, 这对应的LED正就不到10的时间百分比,但显然有眼对数响应。我发现有一个LED的从0到20去,但在扩大这是一个较大的值都没有出现那么多美好。您可以自己做这样的亮度非常明显的改变。

在运行这个程序,你会注意到有一个明显的闪烁。邮票上的运行PIC是一个20 MHz的时钟
, 转换到500万条指令每秒。但是,在执行一个基本标志项目,事先知情同意有大量开销,该标记必须从串行EEPROM,interpetted并执行枪决的牵强。因此,知情同意本身也相当快,但邮票显得非常的比较缓慢。

例如,在知情同意的代码把一个不断改变的状态;

顶部:
PORTB的生物浓缩系数,0;设置输出为零
PORTB的边防军,0到1
转到页首

这将导致输出为0.6 usecs和0.2 usecs高低。
印花税代码做同样的事情;

顶部:
OUT0 = 0
OUT0 = 1
转到页首

但是,在运行此邮票代码,知情同意必须提取的串行EEPROM的命令,解释并进行定义的动作和这增加了由名义上100倍以上的时间值。
您还会注意到延迟当程序在主,并在PWM_BURST是
, 是,不是_PWM。请注意
, 唯一的一次
, 各国正在输出是在_PWM例程本身。

计划PWM_2.BS2。

该程序使用邮票的PWM命令。请注意
, 这取代了PWM_BURST和_PWM这在以前的程序中使用子程序。

纲要PWM_2.BS2
'
'原因的LED二至上升和下降的亮度。利用脉宽调制条命令。
'
'PH值安德森,12月5日,'97

税无功字节
单车无功字节

迪尔斯= $ 00FF
周期= 100
主:
调试“。”
上班= 0至20步骤2
脉宽调制2,税,周期
下一页

上班= 20 0第2步
脉宽调制2,税,周期
下一页

转到主

这是满足您需求的唯一逻辑。请在您的代码DONT复制粘贴,如果你实现你的代码将工作的肯定。8分钟后添加:难道这是你所寻找的。LED控制使用PWM
很抱歉,您还没有登录查看此附件

 

Welcome to EDABoard.com

Sponsor

Back
Top