首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
P89LPC932的PWM DA转换
来源:本站整理  作者:佚名  2011-02-05 21:44:35



/**************************Asm版**********************************/
/*实验目的:
测试CCU模块的PWM输出功能(控制占空比)
占空比由TOR2H,TOR2L及OCRAH,ORCAL控制
通过控制占空比获得所需电压值
*/

    $NOMOD51
    $INCLUDE(REG932.INC)    //

    PLEEN    BIT    TCR20.7

    ORG    0000H
    AJMP    MAIN
    
    ORG    0100H
MAIN:
     MOV     P2M1,#0x00    ;设置端口模式
     MOV     P2M2,#0xFF    ;设置P26,OCA为推挽输出

     MOV     TCR21,#0x04    ;分频操作

     MOV     TOR2H,#0x00    ; 重装值 0x00FF=255
     MOV     TOR2L,#0xF0    ; -> PWM 周期
     MOV     A,TCR21
    ANL    A,#0x80
     MOV     TCR21,A

     MOV     OCRAH,#0x00    ;控制占空比
     MOV     OCRAL,#0xA0    ;
     MOV     A,TCR21
    ANL    A,#0x80
     MOV     TCR21,A

     MOV     CCCRA,#0x01

    SETB    PLEEN        ; 启动 PLL
    SETB    OCA
LOOP:
    JNB    PLEEN,LOOP    ;等待直到PLL锁定

     MOV     TCR20,#0x82    ; 设置输出模式,非反相PWM

    SJMP    $
    RET

    END

/************************************************************/

/**************************C版*********************************/
/*实验目的:
测试CCU模块的PWM输出功能(控制占空比)
占空比由TOR2H,TOR2L及OCRAH,ORCAL控制
通过控制占空比获得所需电压值
*/

#include <Reg932.h>
sbit    PLEEN=TCR20^7;

main()
{
    P2M1=0x00;        //设置端口模式
    P2M2=0xFF;        //设置P26,OCA为推挽输出

    TCR21=0x04;        //分频操作

    TOR2H=0x00;        // 重装值 0x00FF=255
    TOR2L=0xF0;        // -> PWM 周期
    TCR21|=0x80;

    OCRAH=0x00;        //控制占空比
    OCRAL=0xA0;        //
    TCR21|=0x80;

    CCCRA=0x01;

    PLEEN=1;            // 启动 PLL
    OCA=1;
    while(PLEEN==0);    // 等待直到PLL锁定

    TCR20=0x82;        // 设置输出模式,非反相PWM

    while(1);    
}
/******************************************************************/

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:292,824.20000 毫秒