打印

兄弟刚刚才接触这个单片机.看PDF,没有发现定时器!!

[复制链接]
楼主: win2000_li
手机看帖
扫描二维码
随时随地手机跟帖
21
张明峰| | 2007-11-5 10:18 | 只看该作者 回帖奖励 |倒序浏览

比较输出是六路可变脉宽吧?

频率,脉宽两者任意可调。

基本思路:
1) 让定时器自由计数,0000->FFFF->0000
2) 将定通道设为比较输出模式并设定输出电平,通道寄存器中设好比较的时间点;
3) 比较一致时电平自动出现在引脚上,同时软件响应中断;
4) 在中断服务程序里按所取脉宽和频率调整下一次比较输出的时间点和电平
5) 重复3,4

使用特权

评论回复
22
wqb202| | 2007-11-5 10:31 | 只看该作者

楼上

你这样和18楼说的有什么区别吗?我看是一样的.
这样是可以输出不同的频率,但是CPU的资源占用率会很大,象AVRMEGA16可以直接硬件生成不更好吗?
毕竟一个系统不可能只外理这点任务.如果真是外理这点任务的话,很多低端单片机都可以做到的,

使用特权

评论回复
23
张明峰| | 2007-11-5 10:40 | 只看该作者

提示了思路还不够吗?

你现在又用不上,算了吧。

使用特权

评论回复
24
wqb202| | 2007-11-5 10:49 | 只看该作者

哈哈:楼上想象力真丰富

楼上的想象力真是丰富呀!一下子就想起了一个寓言故事!

你这个思路我想只要做过单片机的都知道吧?只是适不适合而已!

就象以前在一个论坛里有人说用8031不加专用芯片做10K载频的变频器一样,可能吗?我想只要做过单片机开发的人也都知道不可能?

做技术我讲究实事求是,讽刺别人是不能给自己带来任何好处的,

使用特权

评论回复
25
张明峰| | 2007-11-5 10:59 | 只看该作者

想象力真是丰富当然是好事情

这样的思路早在N年前就已经实证了。只要单片机具有定时器比较输出的硬件功能都可以实现。你可以去买一本我写的《PIC单片机入门与实战》,里面讲CCP模块的一部分有上面思路的完整代码实现,不过是PIC汇编语言编的。
在FSL单片机上类似的算法也在空调室内机PG电机调速上得到成功应用,用C编码。产品数量是以百万计的。
如果告诉了思路你还无法理解的,那我也没什么办法。我早就说过N遍了:用什么都可以,只要你能成功实现你的设计。
祝你好运。

使用特权

评论回复
26
wqb202| | 2007-11-5 11:15 | 只看该作者

回复

空调机调速?系统简单嘛!
我现在做的系统是绕线圈用的绕线机,一个步进控制绕线,一个步进控制线轴退,以绕出一圈挨一圈的线圈,系统可以输入不同的线径以控制两个步进的转速比,达到不同的线径也能一圈挨一圈的效果,还有两个直流电机和几个气缸控制切线等动作,与触摸屏用MODBUS通信,,我想比空调要复杂一点吧,有人用西门子PLC控制都达不到精度,
系统不难,但是要保证精度和开发效率,用楼上的方法可能就不太合适,当然也不是说别的方法就不行.

使用特权

评论回复
27
张明峰| | 2007-11-5 11:29 | 只看该作者

没有做过类似的设计

不加评价。

但就两路1-10KHz调频输出,每次中断服务最多50个指令周期,两路中断服务为100个周期。按极端情形两路同时工作在10KHz时,在20MHz总线频率下总耗时为为5us,对比最小50us的中断间隔只占CPU时间10%,这样还有90%的CPU带宽可以用于实现系统其它任务。

就事论事。

使用特权

评论回复
28
wqb202| | 2007-11-5 11:34 | 只看该作者

张版主有没有想到其它的寓言?讲来听听?

使用特权

评论回复
29
张明峰| | 2007-11-5 11:39 | 只看该作者

有啊

说出来怕有人受伤,罢了。最近教家里小孩子学习,故而寓言典故之类的见得较多。

使用特权

评论回复
30
wqb202| | 2007-11-5 12:23 | 只看该作者

知道会伤人为什么还会讲呀?

难道张版主也是揣着这样的心态写书的吗?真是搞不懂!

使用特权

评论回复
31
张明峰| | 2007-11-5 12:52 | 只看该作者

不好意思

楼上真的很受伤?
下次注意不乱丢砖块了。就算没有砸到小朋友,砸到花花草草也不好。

使用特权

评论回复
32
ayb_ice| | 2007-11-5 13:30 | 只看该作者

容易受伤的男人。。。

使用特权

评论回复
33
wqb202| | 2007-11-5 17:03 | 只看该作者

没有见过素质如此差的技术论坛版主!

使用特权

评论回复
34
ayb_ice| | 2007-11-5 17:18 | 只看该作者

不要这样说嘛,张教主还是不错的

使用特权

评论回复
35
forthlab| | 2007-11-5 21:35 | 只看该作者

回wqb202:

你前面只说AW16不能输出2路调频信号,并没有说还需要2个定时信号啊.
这样的话用AW16有点勉强,为何不换个CPU,比如AC16?价格还便宜呢(就是不知道货到了没有?).
freescale的CPU种类很多,可以选择的余地很大.

使用特权

评论回复
36
forthlab| | 2007-11-5 21:43 | 只看该作者

还有

张版主说的方法是应该一种比较好的方法,尤其是在你说的AW16上,因为这个方案每个脉冲中断1次,比如输出2kHz频率,那么500us中断一次,和18楼的不一样的.
不过我个人而言,还是换个AC16吧,管脚和AW16是一样的.

使用特权

评论回复
37
wqb202| | 2007-11-5 21:54 | 只看该作者

谢谢楼上

我现在已选AVR mega16了,这个芯片我比较熟,板今天发出去做了,我想问一下.AW系列的键盘中断是不是一次只能用一个呀,因为只有一个中断标志.中断程序无法区别中哪个引脚引起的中断呀

使用特权

评论回复
38
张明峰| | 2007-11-6 08:32 | 只看该作者

忠言逆耳乎?

我向来觉得对又懒又自以为是的人应该适当刺激一下。这是看了此帖和另帖关于“AW16”的问题后的反应。

使用特权

评论回复
39
ayb_ice| | 2007-11-6 09:24 | 只看该作者

回37L

需要在中断读引脚状态

使用特权

评论回复
40
ayb_ice| | 2007-11-6 09:45 | 只看该作者

看来wqb202是和张教主杠上了

不过说句实话:你也可以写几本书

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则