查看: 8636|回复: 12

【PSOC4】+内部资源充分利用--ADC、UART、LCD、CapSense等

  [复制链接]
  • TA的每日心情
    奋斗
    2017-2-26 21:41
  • 签到天数: 160 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-11-24 17:35:56 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 abu315 于 2013-11-24 17:52 编辑

    file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image024.jpg

    主要功能:
    11.JPG
    1、 控制信号输入:
    a) 按键:设备通过判断是否有按键按下,实现功能的切换:LCD显示ADC值或是显示PWM的占空比;
    12.JPG
    b) CapSense:PSoC 4200 使用Delta-Sigma 调制器 (CSD) 来感测外部电容变化,并且可以通过模拟总线连到任意一个GPIO 引脚。硬件连接如下图:
    13.JPG
    设备通过判断是否有手指按下且按下的位置发生变化来实现功能的切换。当手指在不同的区域按下,LED的颜色随之发生变化。
    2、 显示部分
    a) Led灯显示:Led灯每一秒闪烁一次,并通过颜色的不同告知用户,设备处于不同的工作状态或功能下;

    14.JPG
    b) PSoC4包含一个LCD控制器,可以驱动多达四个公共端和32个段。设备应用LCD模块控制LCD1602,用以显示测试数据等,LCD1602的硬件连接如下图:
    15.JPG
    3、 串口通讯:设备配有RS232串口通讯接口,采用全双工异步通讯方式进行通讯。数据帧共10位,第一位为起始位,中间8位数据位,无奇偶校验位,最后一位为停止位。波特率为9600bps。
    16.JPG
    a) 读数功能
    发送:0x7B 01 FF 7D
    接收:dat [0]~ dat [5]
    dat[0]= 0x7B;                    //联机命令字"{"
                    dat[1]= 0x01;                 //命令字
                    dat[2] = Volt_adc >> 8;         //电压高字节
                    dat[3] = Volt_adc;             //电压低字节
                    dat[4]= Flag_led;              //LED颜色变量
         dat[5] = 0x7D;                    //联机命令字 "}"
    b) 设定PWM的占空比
    发送:0x7B 02 xx 7D
    接收:0x7B 02 xx 7D
    xx :PWM的占空比(0~100)
    c) 设定LED的颜色
    发送:0x7B 03 xx 7D
    接收:0x7B 03 xx 7D
    01:蓝色
    02:绿色
    03:红色
    4、 信号测量及信号控制等外围电路
    a) 定时器的使用
    设置定时器每10ms进一次中断,时间变量“Flag_number”自动加1,“Flag_number”每累计100为1s。
    b) SAR ADC
    设备通过ADC模块对“P1.7”(如下图)的模拟信号进行采样,并将所得的ADC值进行数据处理使之具有意义,并交由LCD显示或串口通讯传给上位机。
    17.JPG
    c) PWM
    设备通过PWM模块产生一个1000Hz的PWM波,初始化时占空比为50%,用于点亮开发板上的LED。通过RS232通讯,设定占空比,调节LED的亮度。
    18.JPG

    Design01_131111.rar

    1.8 MB, 下载次数: 213

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-7-16 10:04
  • 签到天数: 530 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-11-25 00:07:10 | 显示全部楼层
    支持一下,很有用的资料
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-13 19:58
  • 签到天数: 1818 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2013-11-25 09:14:21 | 显示全部楼层
    不错~~。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-2 16:02
  • 签到天数: 257 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-11-26 21:59:10 | 显示全部楼层
    支持下哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-12 10:32
  • 签到天数: 295 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-11-28 13:43:19 | 显示全部楼层
    赞一个~~~~~~~~~~~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-20 11:45
  • 签到天数: 1650 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-6-19 14:12:41 | 显示全部楼层
    学习了!谢谢分享!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-10-25 21:49:57 | 显示全部楼层
    psoc 5 CY8CKIT-050开发板,

    t1=ADC_GetResult16();
    t2=ADC_CountsTo_mVolts(t1);
    LCD_Position(0,0);
    LCD_PrintNumber(t1);
    LCD_Position(1,0);
    LCD_PrintNumber(t2);
    LCD显示的结果为:
    255(ADC的分辨率是8位)
    5089

    请问,通过滑动变阻器,我的模拟输入明明是0~3.3V,为什么会得出5089mv(5.089V),而不是3300mV呢?在线等,请各位高手帮忙分析一下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-15 21:22
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-11-15 16:04:08 | 显示全部楼层
    谢谢楼主,帮我大忙了!!!!!!!1
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-11-15 21:22
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-11-16 09:09:30 | 显示全部楼层
    楼主可否将电路截个图,我按上面连得1602没有反应。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-11-16 14:21
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2016-1-29 15:36:45 | 显示全部楼层

    学习了!谢谢分享!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-5-1 12:33 , Processed in 0.193066 second(s), 34 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.