2019安路科技FPGA技术研讨会 10月23日 北京→ 立即报名 ←
电子产品世界 » 论坛首页 » 企业专区 » Cypress » zhzhx66的进程帖

共19条 1/2 1 2 跳转至

zhzhx66的进程帖

菜鸟
2013-09-15 09:58:47    评分

 项目名称

     基于PSoC4 Pioneer kit温度采集及控制

u 功    功能应用

            1、 利用定时器制作软件时钟,实时显示小时、分钟、星期。

            2、利用内部温度传感器和ADC采集检测芯片温度。

            3、利用Segment LCD显示小时、分钟、星期和当前芯片温度等信息。

            4、PWM驱动RGB三色LED。设置温度小于当前温度5℃时,绿色LED亮;设置温度大于当前温度5℃时,红色LED亮;其他温度条件,蓝色LED亮。

            5、5个CapSense容式触摸按键,分别是上键、下键、确定键、设置键、时钟键。通过这5个按键可以设置当前时间,改变当前设置温度。

            6、 利用仿真型Em_EEPROM存储掉电时的时间和设置温度。

            7、 利用外部中断检测一个机械按键,按一下该机械按键RGB三色LED全部点亮,呈现白色,再按一下该机械按键RGB三色LED按照功能4规律点亮。


u 内   利用的内部资源

     该项目利用了以下内部资源:

        1、 时钟源:

       该项目用到了多处时钟源,如定时器,PWM,Segment LCD,其中定时器的时钟源用的是1KHz,PWM的        时钟源用的是100KHz,Segment LCD的时钟源用的是12MHz,时钟源的设置只是频率不同。

        2、定时器Timer

定时器模块的clock输入1KHz的时钟信号,开启定时器中断interrput,设定每20mS产生一次中断。

3、PWM模块

该项目利用了3个PWM模块,分别驱动R、G、B三色LED。

4、Segment LCD模块

利用Segment LCD显示小时、分钟、星期和当前芯片温度等信息。

5、CapSense触摸感应

      5个CapSense容式触摸按键,通过这5个按键可以设置当前时间,改变当前设置温度

      6、 ADC和内部温度传感器

       利用内部温度传感器和ADC采集检测芯片温度

      7、外部中断

      利用外部中断来检测机械按键。

      8、仿真型Em_EEPROM

利用仿真型Em_EEPROM存储掉电时的时间和设置温度。


关于项目的其他资料请下载查看以下附件。



1

z

项目说明Word文档:

PSoC4 Pioneer kit项目说明.doc

项目软件工程文件:

PSoC4 Pioneer kit项目软件_ThermostatControl.rar

项目相关照片:

PSoC4 Pioneer kit项目照片.rar

项目相关视频:

http://v.youku.com/v_show/id_XNjQxODEyNDY0.html

http://v.youku.com/v_show/id_XNjQxODE2Mjg4.html




关键词: Cypress     PSoC4     Pioneer ki    

专家
2013-09-15 10:21:02    评分
2楼
看后来的精华贴

菜鸟
2013-09-15 10:47:12    评分
3楼
什么时候收到的?

专家
2013-09-15 12:30:51    评分
4楼
看来星期一去单位就可以拿得到  

菜鸟
2013-09-15 15:55:49    评分
5楼
PSoC4 Pioneer Kit Broad

专家
2013-09-15 19:15:50    评分
6楼
板子  漂亮~!  楼主赶紧来一个实例给大伙瞧瞧

菜鸟
2013-09-17 21:56:19    评分
7楼
板子原理图分享。CY8CKIT-042_Schematic.pdf

菜鸟
2013-09-17 22:04:39    评分
8楼
CY8C42xx系列的片子包括电源和地引脚最多只有44脚,资源真是非常紧张。

专家
2013-09-17 22:04:57    评分
9楼
原理图啸风已分享至论坛了   楼主开始进程吧   

菜鸟
2013-09-23 20:13:21    评分
10楼

软件时钟

CY_ISR(isr_Timer)
{
    SecondFlag=1;
    Second++;
    if(Second>59)
    {
        Second=0;
        Minute++;
        if(Minute>59)
        {
            Minute=0;
            Hour++;
            if(Hour>23)
            {
                Hour=0;
                Week++;
                if(Week>6)
                {
                    Week=0;
                }
            }
        }
    }
    
    Timer_ClearInterrupt(Timer_INTR_MASK_TC);
}

void main()
{
    /* Enable the global interrupts */
    CyGlobalIntEnable;
    /* Enable the Interrupt component connected to the Timer interrupt */
    isr_Timer_StartEx(isr_Timer);

    /* Start the Timer component */
    Timer_Start();

    /* Start the Segment LCD component */
    LCD_Seg_Start();


    for(;;)
    {
        if(SecondFlag==1)
        {
           SecondFlag=0;
           LCD_Seg_WriteBargraph_2(Week+1u, 0u);
           LCD_Seg_Write7SegNumber_0(10000+Hour*100+Minute, 0u, LCD_Seg_NO_LEADING_ZEROES);           
           LCD_Seg_WritePixel(LCD_Seg_COL, Second%2);
           LCD_Seg_Write7SegNumber_1(100+Second, 0u, LCD_Seg_NO_LEADING_ZEROES);           
        }        
    }
}


共19条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]