2635|2

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

各位老师,我是新手,请教Plc931直接ad转换的问题 [复制链接]

我在公司里做毕业设计,采用lpc931单片机,想把一个十六位的数字量用单片机的Pwm功能给转换成模拟量,pwm输出采用rc滤波,但具体的c程序该怎么写呢?请指教!!

最新回复

这位老师先谢谢你了,硬件电路很简单,就是一个滤波电路,我不知道怎么把那图给传上来。 我这有一个程序,麻烦您给看一下,看有没有什么问题: #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
点赞 关注

回复
举报

66

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你的C程序仅能控制PWM的空占比,其它的是硬件电路的事

另外,你没给出硬件电路怎么弄,有什么限制,

所以,基本上除了给点PWM的荐意外,帮不上啥忙了...
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这位老师先谢谢你了,硬件电路很简单,就是一个滤波电路,我不知道怎么把那图给传上来。
我这有一个程序,麻烦您给看一下,看有没有什么问题:
#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);       
}
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
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
快速回复 返回顶部 返回列表