Psoc开放实验总结_开放实验总结报告
Psoc开放实验总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“开放实验总结报告”。
Psoc开放实验总结
学院:计算机与通信学院 班级:通信工程12级4班 姓名:李晶 学号:12250412
实验一
逻辑表和真值表达式
1.真值表:
2.原理图:
3.引脚分配:
4.程序:
/* ======================================== * * Copyright YOUR COMPANY, THE YEAR * All Rights Reserved * UNPUBLISHED, LICENSED SOFTWARE.* * CONFIDENTIAL AND PROPRIETARY INFORMATION * WHICH IS THE PROPERTY OF your company.*
* ======================================== */
#include
void main(){ /* Place your initialization/startup code here(e.g.MyInst_Start())*/
/* CyGlobalIntEnable;*/ /* Uncomment this line to enable global interrupts.*/
for(;;){ /* Place your application code here.*/ } }
/* [] END OF FILE */
5.实验结果:
当A置1,B置0时,Y1所连接的LED亮;
当A置0,B置1时,Y3所连接的LED亮; 当A、B同时置1或0时,Y2所连接的LED亮。
实验2 简单逻辑门电路的设计与实现
1.原理图:
2.引脚分配:
3.程序:
/* ======================================== * * Copyright YOUR COMPANY, THE YEAR * All Rights Reserved * UNPUBLISHED, LICENSED SOFTWARE.* * CONFIDENTIAL AND PROPRIETARY INFORMATION * WHICH IS THE PROPERTY OF your company.* * ======================================== */
#include
void main(){
/* Place your initialization/startup code here(e.g.MyInst_Start())*/
/* CyGlobalIntEnable;*/ /* Uncomment this line to enable global interrupts.*/
for(;;){ /* Place your application code here.*/ } }
/* [] END OF FILE */
4.实验结果:
将输入接在开关上,输出接在LED上,可以发现灯亮。
实验三 定时器Timer实验
1.原理图:
2.引脚分配:
3.主程序:
/* ======================================== * * Copyright YOUR COMPANY, THE YEAR * All Rights Reserved * UNPUBLISHED, LICENSED SOFTWARE.* * CONFIDENTIAL AND PROPRIETARY INFORMATION * WHICH IS THE PROPERTY OF your company.* * ======================================== */
#include #include “stdio.h”
//#define MS_DELAY 5u
uint32 CounterValue = 0;
/* For delay, about 5ms */
void main(){ /* Character array to hold the Counter*/
char displayStr[15] = {' '};
*/
/* CYGlobalIntEnable;*/ /* Uncomment this line to enable global interrupts.*/
for(;;){ /* Place your application code here.*/
}
/* [] END OF FILE */
CounterValue = Counter_1_ReadCounter();
/* Convert Counter to string and display on the LCD */ LCD_Char_1_Position(1,1);LCD_Char_1_PrintString(displayStr);Clock_1_Start();Timer_1_Start();Counter_1_Start();LCD_Char_1_Start();LCD_Char_1_Position(0,1);
/* Place your initialization/startup code here(e.g.MyInst_Start())LCD_Char_1_PrintString(“Counter Value:”);sprintf(displayStr,“%7ld”,CounterValue);}
4.实验结果:
可以在显示屏上看到加速和减速的功能
实验四 方波发生器
1.原理图
2.引脚分配:
3.程序:
/* ======================================== * * Copyright YOUR COMPANY, THE YEAR * All Rights Reserved * UNPUBLISHED, LICENSED SOFTWARE.* * CONFIDENTIAL AND PROPRIETARY INFORMATION * WHICH IS THE PROPERTY OF your company.* * ======================================== */
#include
void main(){ /* Place your initialization/startup code here(e.g.MyInst_Start())*/
void Opamp_1_Start();
void Opamp_2_Start();/* CyGlobalIntEnable;*/ /* Uncomment this line to enable global interrupts.*/
for(;;){ /* Place your application code here.*/ } }
/* [] END OF FILE */
4.实验结果:
实验五 CapSense实验
1.原理图:
2.引脚分配:
3.程序:
/******************************************************************************* * File Name: main.c * * Version: 1.00 * * Description: * The project explains the usage of CapSense CSD component.The 2 buttons and * linear sliders are used as sensing elements.LED displays buttons active * state and slider position is shown on LCD.* ******************************************************************************** * Copyright 2012, Cypre Semiconductor Corporation.All rights reserved.* This software is owned by Cypre Semiconductor Corporation and is protected * by and subject to worldwide patent and copyright laws and treaties.* Therefore, you may use this software only as provided in the license agreement * accompanying the software package from which you obtained this software.* CYPRESS AND ITS SUPPLIERS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, * WITH REGARD TO THIS SOFTWARE, INCLUDING, BUT NOT LIMITED TO, NONINFRINGEMENT, * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.*******************************************************************************/
#include
/* Needed for Bargraph */
extern uint8 const CYCODE LCD_customFonts[];
uint16 curPos, oldPos;
/******************************************************************************* * Function Name: main ******************************************************************************** * Summary: * Main function performs following functions: * 1.Enable global interrupts.* 2.Initialize CapSense CSD and Start the sensor scanning loop.* 3.Proce scanning results and display it on LCD/LED.* * Parameters: * None * * Return: * None * *******************************************************************************/ void CapSense_DisplayState(void){ /* Display BUTTON0 state */
if(CapSense_CSD_CheckIsWidgetActive(CapSense_CSD_BUTTON0__BTN)){ } else { LED1_Write(0u);LED1_Write(1u);
} /* Display BUTTON1 state */
if(CapSense_CSD_CheckIsWidgetActive(CapSense_CSD_BUTTON1__BTN)){ } else { } LED2_Write(0u);LED2_Write(1u);
/* Find Slider Position */ curPos = CapSense_CSD_GetCentroidPos(CapSense_CSD_LINEARSLIDER0__LS);
/* Reset position */
if(curPos == 0xFFFFu){ curPos = 0u;}
/* Move bargraph */
if(curPos!= oldPos){ oldPos = curPos;/* Display Slider bargraph */
if(curPos!= 0u){ LCD_DrawHorizontalBG(0u, 9u, 6u, curPos >> 2);}
/* Display Slider position value */ LCD_Position(1u, 10u);LCD_PrintInt16(curPos);} }
void main(){ LCD_Start();CapSense_CSD_Start();
/* The custom fonts for the bargraph need to be manually loaded */ LCD_LoadCustomFonts(LCD_customFonts);LCD_Position(0u, 0u);
LCD_PrintString(“CSD01”);/* Enable global interrupts */ CyGlobalIntEnable;
/* Initialize baselines */
CapSense_CSD_InitializeAllBaselines();
while(1u){ /* Update all baselines */
CapSense_CSD_UpdateEnabledBaselines();
/* Wait for scanning to complete */
/* Display CapSense state using LED/LCD */
CapSense_DisplayState();} }
/******************************************************************************* * Function Name: CapSense_DisplayState ******************************************************************************** * Summary: * Function performs following functions: * Display Buttons' state using LEDs and Slider state using LCD bargraph * * Parameters: * None * * Return: * None * ********************************************************************* while(CapSense_CSD_IsBusy()!= 0);/* Start scanning all enabled sensors */
CapSense_CSD_ScanEnabledWidgets();
**********/
/* [] END OF FILE */
4.实验结果:
用手指滑动电容条时,如果从左往右,则液晶屏上的数值会增大;如果从右往左,则液晶屏上的数值会减小;且在滑动过程中若停止滑动,则数值不会变化。
当分别触摸电容键盘csb1和CSB2时,两个LED灯会亮。
实验心得:
作为学与电子相关专业的学生,平时只注重了理论知识的学习,觉得设计一个产品或电路的实现是一件很困难同时又很高大上的事情。但是简单地接触了Psoc之后,觉得它所实现的功能太强大了,给了我意想不到的惊喜,也许就是从现在开始我对电子设计产生了浓厚的兴趣。通过这次实验,我也切身体会到了“纸上得来终觉浅,绝知此事要躬行”的道理,当代大学生就应该注重动手能力的培养,尤其是电子信息类专业的学生,所以在以后我应该在这方面更加努力。