查看: 3637|回复: 1

[原创] [我为LPC代言] 实验三 LPC824的2路ADC实验

[复制链接]
  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-12-18 20:31:22 | 显示全部楼层 |阅读模式
    本帖最后由 zhjb1 于 2016-12-18 20:36 编辑

    实验三 LPC824的2路ADC实验
    采用实验二完成的LCD作为结果演示显示屏。
    首先需要设计屏幕位置,此屏的宽是64点阵,ASCII吗是8X6,6像素宽的,因此一行能显示10个ASCII码;
    12位ADC采样出来的结果是浮点:0~1的数,为了简单起见,换算成有效位0~999显示,一行2个,设计如下:
    A0 XXXX A1 XXXX
    在main前边写2个函数,一个是基本显示内容,不改变的:
    void dispBase(void){
    c2l(0,1,10);c2l(1,1,0);c2l(8,1,10);c2l(9,1,1);//A0,A1
    }
    为什么不从第1行[控制为0]开始呢?因为后边我们会加入程序执行计数器,检验宕机情况。
    void dispMes(void){
    c2l(3,1,int(val0*10)%10);c2l(4,1,int(val0*100)%10);c2l(5,1,int(val0*1000)%10);c2l(6,1,int(val0*10000)%10);
    c2l(11,1,int(val1*10)%10);c2l(12,1,int(val1*100)%10);c2l(13,1,int(val1*1000)%10);c2l(14,1,int(val1*10000)%10);
    }
    简单介绍转换:int(val0*10)%10):val0*10——将小数点后第位设为各位,%10表示取0~9的有效数,当然前边的int取整函数可以不要,结果一样的。上述一行运行的结果:例如ADC0=0.12341234,显示结果:1234,以后的数丢掉了。
    下边打开AnalogIn.h函数,实例代码如下:
    * AnalogIn temperature(p20);
    *
    * int main() {
    *     while(1) {
    *         if(temperature > 0.5) {
    *             printf("Too hot! (%f)", temperature.read());
    *         }
    *     }
    * }
    分析此文档,可以得到定义对象后的类属性和方法就很简单了,下边尝试定义,在文件头部:
    //Define ADC
    AnalogIn adc0(P0_20);
    AnalogIn adc1(P0_21);
    分别用P0_20,P0_21两个GPIO口作为两路ADC的输入。再增加两个浮点的变量:
    float val0,val1;
    在循环语句中加入:
    val0=adc0.read();
    val1=adc1.read();
    更改main程序为:
    int main(){
    lcdInit();
    lcdClear();
    dispBase();
    while(true){
      val0=adc0.read();
      val1=adc1.read();
      dispMes();
      wait(0.5);
    }
    }
    编译下载后,将电位器连接在P0_20,P0_21上分别调到A0显示3000,A1显示5000,电位器半圈的很难调,大概齐吧。结果见照片图31.

    31-2路ADC

    31-2路ADC
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
    发表于 2016-12-18 20:42:02 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 20:58 , Processed in 0.086234 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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