[资料分享] lpc1343之二:TIMER16 和 PWM

zhdphao   2010-5-26 17:04 楼主

    十分感谢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 (2010-5-26 17:04 上传)

    121.56 KB, 下载次数: 103

    PWM例子

回复评论 (8)

顶一个!!!!!!!!!!!!!!!!!!!
点赞  2010-5-26 18:03

回复 楼主 zhdphao 的帖子

谢谢楼主分享 呵呵
加油!在电子行业默默贡献自己的力量!:)
点赞  2010-5-26 18:14
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2010-5-26 18:53
楼主指的32位特殊运算要求是指?
难道32位不胜在速度快么?
点赞  2010-5-27 14:06
谢谢分享:)
点赞  2010-5-27 14:06
说的有道理,最近我把8位升到32 .感觉多此一举。
按说,我们做设计的应当化繁为简才对,有时候可是为了提升整机的形象吧。
就此机会学点东东。
谢谢你。
动手创造个性自我 https://home.eeworld.com.cn/?95709
点赞  2010-5-27 17:19

回复 5楼 fish001 的帖子

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

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

 

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

 

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

点赞  2010-5-28 07:41

回复 7楼 sdjntl 的帖子

十分同意:设计的应当化繁为简。
这不但是节省成本的问题,而是为了保证应用能更稳定可靠的工作。
点赞  2010-5-28 07:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复