4757|8

640

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

lpc1343之二:TIMER16 和 PWM [复制链接]

    十分感谢SOSO和其他EEWORLD朋友、斑竹的辛勤劳动,让我终于用上了32位的单片机。以前做了一些项目,都用了PIC和AVR的8位单片机,而且PIC甚至用汇编语言。前几年有朋友要我做一个项目,并要求最好用32位单片机,我当时以8位MCU完全可以胜任的理由略过了要求。不过以后的进展表明:8位机确实可以胜任,而且做的很好。

    个人愚见:完成同样的任务,特别是那些控制应用(就象红绿灯那种的),8位机的需要代码字节数要小很多(几分之一吧!);但是8位机做运算的时候精度确实太差了,有很多时候你不得不为了提供计算精度而自己写函数,就是用C语言的时候int变量也只有16位,而32机的int变量为32位能满足你大多数计算要求,现在手持仪器越来越多,计算要求越来越高。至于速度我想并不是32位机的主要强项:高速度会带来功耗的提高,而且8位机的频率也可以做到几百兆。基本控制的话8位机足够了,有特殊的计算要求采用32位机才理想。以上个人想法,如果大家有不同意见请指教。

    下面是我第一个实验PWM发生器。

     LPC1343有两个16位计时器和两个32位计时器,这里我用了TIMER16B0的CT16B0_MAT0(引脚PIO0_8)作为PWM输出(PWM周期为139uS),控制SysTick产生1ms的定时,定时唤醒主程序修改PWM的输出脉冲宽度。这样从LPC1343的PIO0_8输出的脉冲宽度从大到小,再从小到大,周而复始......接到PIO0_8的LED(另一端接地)也会呼吸哦!

    我是从例子blinky(LED的闪烁)修改的,注意:blinky例子使用72MHz系统主时钟(由系统PLL电路和12MHz晶体获得)。

    下面是PWM初始化的步骤:

    1、 初始化SYSTick,这个和PWM没有关系,只是提供程序定时唤醒用的,TICK的重载值越小TICK频率越大,因为是一个24位的,所以不能大于16.7M

    2、 提供了timer160的时钟后才能操作;

    3、 将引脚PIO0_8设为CT16B0_MAT0功能;
    4、 设置CT16B0_MAT0的匹配值;
    5、 将CT16B0_MAT0的PWM模式打开;

    6、 设置予分频寄存器;
    7、 设置如果MR3和TC匹配,TC复位;
    8、 设置CT16B0_MAT3的匹配值;
    9、 设置计数控制寄存器选择计时器模式(每个PCLK上升沿;
    8、 启动计数:TMR16B0TCR[0]=1;

 

    更详细的请看附件例子的注释。
 

[ 本帖最后由 zhdphao 于 2010-5-26 17:21 编辑 ]

pwmtest.zip

121.56 KB, 下载次数: 103

PWM例子

此帖出自NXP MCU论坛

最新回复

说的有道理,最近我把8位升到32 .感觉多此一举。 按说,我们做设计的应当化繁为简才对,有时候可是为了提升整机的形象吧。 就此机会学点东东。 谢谢你。  详情 回复 发表于 2010-5-27 17:19
点赞 关注
 

回复
举报

4996

帖子

19

TA的资源

裸片初长成(初级)

沙发
 
顶一个!!!!!!!!!!!!!!!!!!!
此帖出自NXP MCU论坛
 
 
 

回复

2万

帖子

74

TA的资源

管理员

板凳
 

回复 楼主 zhdphao 的帖子

谢谢楼主分享 呵呵
此帖出自NXP MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

5970

帖子

8

TA的资源

版主

4
 
此帖出自NXP MCU论坛
 
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复

3836

帖子

19

TA的资源

纯净的硅(中级)

5
 
楼主指的32位特殊运算要求是指?
难道32位不胜在速度快么?
此帖出自NXP MCU论坛
 
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

6
 
谢谢分享:)
此帖出自NXP MCU论坛
 
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

7
 
说的有道理,最近我把8位升到32 .感觉多此一举。
按说,我们做设计的应当化繁为简才对,有时候可是为了提升整机的形象吧。
就此机会学点东东。
谢谢你。
此帖出自NXP MCU论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

640

帖子

0

TA的资源

五彩晶圆(初级)

8
 

回复 5楼 fish001 的帖子

楼主指的32位特殊运算要求是指?难道32位不胜在速度快么?

----------------------------------------------------------------

 

个人认为32位机在计算速度和计算精度上是胜出的,而8位机也有资源消耗低(起码ROM、RAM要少用很多)、耗电低(资源消耗低的结果)、产品线丰富(得益于多年的积累)的特点。

 

大家都有优势、互相填补空白,看应用选择用哪种!

此帖出自NXP MCU论坛
 
 
 

回复

640

帖子

0

TA的资源

五彩晶圆(初级)

9
 

回复 7楼 sdjntl 的帖子

十分同意:设计的应当化繁为简。
这不但是节省成本的问题,而是为了保证应用能更稳定可靠的工作。
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表