查看: 3309|回复: 9

PSoC® 3 FirstTouch™ Starter Kit 例子源代码分析之Bubble Level Emulator

[复制链接]
  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-9-24 09:34:18 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 wangku001wei 于 2012-9-24 09:33 编辑

    先找了个相对比较简单的代码进行分析
    首先看原理图
    001.png
    dPort_AcclControl 控制加速度传感器的 ST/MODE  MODE  ACC_ENABLE  (注意先后顺序) 引脚
    002.png
    PdPort_LSB 对应P2口的P2[3:0]控制
    dPort_MSB 对应P4口的P4[3:0]控制
    QQ截图20120924092218.jpg
    注意 PdPort_LSB 的最高位和 dPort_MSB的最低位都是由同一个控制寄存器 LED_Control_Reg 3 LED_Control_Reg[3] 经反向后输出 是为了实现在水平位置时候将最中间的两个LED灯同时点亮
    之所以反向是因为电路设计为低电平点亮LED,高电平熄灭LED
    003.png

    代码分析
    void main()
    {
        int16 BubbleValue=0;

        /* 使能全局中断 */
        CYGlobalIntEnable;

        /* 关闭所有的LED灯 on PORT2(pin 0-3) and PORT4 pin(0-3) */
        LED_Control_Reg_Write(0);

        /* 设置加速度传感器的控制引脚 注1*/
        dPort_AcclControl_Write(ACCL_SET_CONTROL);

        /* 开始AD转换 */
        ADC_Start();
        ADC_StartConvert();

        while(1)
        {
            /* 等待AD转换完成 */
            ADC_IsEndConversion(ADC_WAIT_FOR_RESULT);

            /* 读取AD转换的结果*/
            BubbleValue = ADC_GetResult16();
            /* 对转换结果值进行处理 注2*/
            BubbleValue = ((BubbleValue - G_MEAN_VALUE)>>GAIN);

           /* 将处理结果值加3以便将LED的显示偏移到中间 */
            BubbleValue+=3;

            /* 对测量的加速度结果超过限制阈值的处理 */
            if(BubbleValue < 0)
            {
                BubbleValue = 0;
            }
            if(BubbleValue > 6)
            {
               BubbleValue = 6;
            }

            /* 控制LED灯 */
            /* 第3位控制了引脚3 4 以便实现当板子水平是很中间的两个LED点亮 */
            LED_Control_Reg_Write(1<<BubbleValue);
        }
    }

    1  Bubble.h 文件中宏定义了
    #define ACCL_SET_CONTROL    ((uint8) 0x06)
    对应加速度传感器的引脚
    ENABLE=1, MODE=1, ST/MODE=LOW
    (可查找传感器的使用说明)
    2  减去 3300 的意思在 Bubble.h 文件中有提到
    加速度传感器水平位置时候测量到的电压约为1.65V,对应12ADC转换结果的数字为3300,因此减去3300得到实际的倾斜程度
    除以 GAIN(7)是由于采用7位的寄存器控制了8个LED灯,为了将不同程度的倾斜分成7段

    关于ADC转换组件的使用 可参考帮助文档
    在配置对话框框中
    QQ截图20120924091723.jpg
    单击Data Sheet即可出现一个PDF
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2013-1-22 10:13
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2012-9-24 09:35:49 | 显示全部楼层
    抢个沙发顶一个~~~楼主很给力!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-9-24 09:39:13 | 显示全部楼层
    期待楼主的连载~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-9-24 09:45:00 | 显示全部楼层
    xinxincaijq 发表于 2012-9-24 09:39
    期待楼主的连载~~~

    争取两天一个吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-9-24 09:50:39 | 显示全部楼层
    wangku001wei 发表于 2012-9-24 09:45
    争取两天一个吧

    相当给力!!!到时候把楼主的教程整理一下,给学习者作参考~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2013-10-22 18:55
  • 签到天数: 72 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2012-9-24 10:13:24 | 显示全部楼层
    很不错啊...哈哈哈顶一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-7-11 15:23
  • 签到天数: 567 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-9-24 21:52:58 | 显示全部楼层
    LZ 以前学过么??
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-9-24 21:55:10 | 显示全部楼层
    醉清风 发表于 2012-9-24 21:52
    LZ 以前学过么??

    木有啊,第一次接触  只好先拿帮助文档 Tutorial Guide 之类的先上手 总觉得少了点什么  
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-7-11 15:23
  • 签到天数: 567 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-9-24 22:24:55 | 显示全部楼层
    wangku001wei 发表于 2012-9-24 21:55
    木有啊,第一次接触  只好先拿帮助文档 Tutorial Guide 之类的先上手 总觉得少了点什么   ...

    哦…………
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-9-24 23:59:26 | 显示全部楼层
    还是要赞一记
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-11-22 15:05 , Processed in 0.240115 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.