当前位置:首页 > 单片机 > 单片机
[导读] /**************************Asm版**********************************//*实验目的:测试CCU模块的PWM输出功能(控制占空比)占空比由TOR2H,TOR2L及OCRAH,ORCAL控制通过控制占空比获得所需电压值*/$NOMOD

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

$NOMOD51

$INCLUDE(REG932.INC)//

PLEENBITTCR20.7

ORG0000H
AJMPMAIN

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

MOV TCR21,#0x04;分频操作

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

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

MOV CCCRA,#0x01

SETBPLEEN;启动PLL
SETBOCA
LOOP:
JNBPLEEN,LOOP;等待直到PLL锁定

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

SJMP$
RET

END

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


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

#include
sbitPLEEN=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);
}
/******************************************************************/


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭