找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1934|回复: 0
打印 上一主题 下一主题
收起左侧

STC15单片机多个ADC串口控制PCA的脉宽随ADC变化

[复制链接]
回帖奖励 2 黑币 回复本帖可获得 2 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:96072 发表于 2018-4-5 13:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大神好,请问下,如何能让多个ADC引脚控制同一个PCA脉宽(如:PCA模块0工作于8位PWM)随ADC的值输出???
现在怎么搞都只能一个ADC引脚控制PCA脉宽随ADC的值输出:如下
                                                                P1ASF=0x00;
                                                               CL = 0;                         //复位PCA寄存器
                                                                   CH = 0;
                                                                P1ASF =  P1ASF_2;                   //P1.2口为A/D口
                                                                P1M1 &=P1ASF_2;        //外部采集端口设为输入
                                                                P1M0 &=~P1ASF_2;       
                                                                AD2=GetADCResult(2);                                                
                                                                RunPWM(AD2);       
如果像下面这样就不行:(AD2口输入的值跟PCA模块0输出的值不一致,大小变化不定),如何让两个ADC口同时可以控制PCA模块0输出的值跟随ADC输入的值一样???举例,当ADC2口输入2.0V时,PCA模块0输出的值也可以测到2.0V的值,        当ADC3口输入1.0V时,PCA模块0输出的值也可以测到1.0V的值        ???                                                       
                                                              P1ASF=0x00;
                                                               CL = 0;                         //复位PCA寄存器
                                                                   CH = 0;
                                                                P1ASF =  P1ASF_2;                   //P1.2口为A/D口
                                                                P1M1 &=P1ASF_2;        //外部采集端口设为输入
                                                                P1M0 &=~P1ASF_2;       
                                                                AD2=GetADCResult(2);                                                
                                                                RunPWM(AD2);               
                                               
                                                                 P1ASF=0x00;
                                                                 CL = 0;                         //复位PCA寄存器
                                                                     CH = 0;
                                                                P1ASF =  P1ASF_3;                   //P1.2口为A/D口
                                                                P1M1 &=P1ASF_3;        //外部采集端口设为输入
                                                                P1M0 &=~P1ASF_3;       
                                                                AD3=GetADCResult(3);                                                
                                                                RunPWM(AD3);
               

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表