此帖出自嵌入式系统论坛
最新回复
这位老师先谢谢你了,硬件电路很简单,就是一个滤波电路,我不知道怎么把那图给传上来。
我这有一个程序,麻烦您给看一下,看有没有什么问题:
#include
sbit PLEEN=TCR20^7;//定义锁相环使能位
main()
{
P1M1=0x00; //设置端口模式
P1M2=0xFF; //设置P16,OCA为推挽输出,详见P20
TCR21=0x04; //分频操作,5分频,pll输出频率=pclk频率/4+1=0.737mhz,则输出为0.737*32=23.584
TOR2H=0x00; // 重装值 0x0000实现了16位的分辨率
TOR2L=0x00; // -> PWM 周期
TCR21|=0x80;//工作在pwm模式下,置位tcou2使映像寄存器的内容在下次ccu溢出时更新
OCRBH=ADH; //数据为ad转换后的高8位字节
OCRBL=ADL; //ad转换后的低8位字节
TCR21|=0x80;
CCCRB=0x02;//输出引脚状态,反向pwm,比较匹配时清零,定时器溢出时置位
PLEEN=1; //锁相环使能, 启动 PLL
OCA=1;
while(PLEEN==0); // 等待直到PLL锁定
TCR20=0x82; // 锁相环使能,启动锁相环;设置输出模式,非对称PWM(使用pll作为时钟源)
while(1);
}
详情
回复
发表于 2007-4-17 13:21
| ||
|
||
| |
|
|
此帖出自嵌入式系统论坛
| ||
|
||
EEWorld Datasheet 技术支持