PSoCCreator软件与设计流程.ppt_第1页
PSoCCreator软件与设计流程.ppt_第2页
PSoCCreator软件与设计流程.ppt_第3页
PSoCCreator软件与设计流程.ppt_第4页
PSoCCreator软件与设计流程.ppt_第5页
免费预览已结束,剩余77页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章粒子加速器软件和设计流程第8章粒子加速器软件仓库变量=变量;如果(!MyVar).,PSoC3/5基本编程模型位变量的使用,此外,为了确保代码易于移植到PSoC5,可以使用Cybit关键字代替Bit关键字。例如:CYBITmyVarPSoCCreator软件工具提供了一套完整的宏定义,用于将PSoC3代码移植到PSoC5。有关更多详细说明,请参考cyboot文件夹中自动生成的文件cytypes.h。PSoC3/5基本编程模型-避免从中断句柄调用函数。当编译中断服务例程ISR的C代码时,Keil编译器将尝试考虑可能在ISR中修改的寄存器堆栈操作。如果ISR包含函数调用,编译器不知道函数调用将修改哪个寄存器,因此将所有寄存器内容放在堆栈上。例如:更改函数调用:PSoC3/5基本编程模型-避免从中断句柄调用函数,CY _ ISR (MYISR) UART _ 1 _ READ RX状态();用于:电子标志;CY _ ISR(MyISR)标志=1;,PSoC3/5基本编程模型-避免从中断句柄调用函数,voidmain()/*等待ISR设置标志if(标志)标志=0;UART _ 1 _ ReadRxStatus();PSoC3/5基本编程模型-变量被放置在适当的存储空间中。当变量被放置在8051内部的存储空间中时,它们具有最佳的CPU访问效率。根据访问效率,定义变量类型的顺序是:“data”、“idata”、“pdata”和“xdata”。由于有限的堆栈空间,Keil编译器不在堆栈中保存局部变量,而是保存在固定的存储空间中,并与其他函数调用的变量共享存储空间。PSoC3/5基本编程模型-将变量放在适当的存储空间中。此外,尽量使循环变量减少而不是增加,因为测试等于0的操作比测试等于常数的操作快。例如,使用以下代码:void main() data uint 8i;/*循环10次*/为(i=10我。=0。I-) .,PSoC 3/5基本编程模型-将变量放在适当的存储空间。在C代码中,为了测试某些位,通常使用以下代码样式:uint8xx |=0 x10/* set bit 4 */x/* toggle bit 4 */if(x/*将myVar放入8051内部空间20-20-2fsbitmybit4=myvar4;/*myVar变量的第4位*/mybit 4=1;/*设置myVar变量的第4位*/mybit 4=0;/*清除myVar变量的第4位*/my bit 4= my bit 4;/*切换myVar */if的第4位(mybit4)/*测试myVar */.此方法也可以对一些32位和16位变量进行操作。请注意,bdata和sbit被定义为全局的,而不是本地的。PSoC3/5基本编程模型-在适当的存储空间中放置变量,2)在感兴趣的SFR中临时放置感兴趣的位。在cy_boot文件夹下查看由PSoCCreator生成的PSoC3_8051.h文件。了解sbit和sfr关键字用于支持位访问的SFR。sfrPSW=0 xD0sbitp=psw0;sbitf1=psw1;sbitov=psw2;sbitrs0=psw3;sbitrs1=psw4;sbitf0=psw5;sbitac=psw6;sbitcy=psw7;PSoC3/5基本编程模式-B寄存器用于临时存储数据。在8051结构中,B寄存器用于方便汇编指令MUL和DIV的操作。此外,它只是一个辅助寄存器。下面是使用B寄存器交换两个8位变量:uint8x,y;B=x。x=y。y=B;PSoC3/5基本编程模型-编写汇编代码的方法,1。创建一个单独的程序集源文件1)在项目创建器主界面的项目浏览器子窗口下,右键单击项目名称并选择“添加新项”。2)选择“8051KeilAssembyAssemblyFile”并输入文件名。3)在整个项目中将创建一个扩展名为. a51的程序集文件。4)向文件中添加汇编代码;5)在主界面的主菜单下,您可以选择帮助文档Keilax51汇编用户指南帮助说明、模板等。查看相关的汇编语言说明。PSoC3/5基本编程模型编写汇编代码的方法。2.在C文件中使用嵌入式汇编代码。1)在C源文件中的指令“#pragmaasm”和“Pragmaendasm”中间编写汇编代码。2)在主界面下的项目浏览器子窗口下,右键单击源文件,打开构建设置界面。3)在编译器选项界面下,将InlineAssembly设置为真,即使汇编语言可以嵌入到C文件中。,PSoC3/5基本编程模型-PSoC3中断编程模型(设置全局中断),1)使用PSoCCreator软件中CyLib.h文件中提供的CYGlobalIntEnable宏定义来启用全局中断。2)使用PSoCCreator软件的CyLib.h文件中提供的CYGlobalIntDisable宏定义来启用中断禁用功能。使用宏定义,将来移植代码会非常方便。PSoC3/5基本编程模型-PSoC3中断编程模型(自定义中断服务程序),中断服务程序可以用c或其他语言编写。c文件。以下程序中的isr_1名称由设计中专门使用的中断组件的实例化名称代替(isr_1是中断组件的默认实例化名称)。您可以编写自己的中断服务程序,您想在其中编写一个定制的中断服务程序,并按以下方式定义它:CY_ISR(MyOwn_Interrupt)/*以下是定制的中断服务程序代码*/.,PSoC 3/5基本编程模型-PSoC3中断编程模型,并使用isr_1_StartEx或isr_1_SetVectorAPI函数更新中断向量表(根据具体设计将isr_1名称更改为具体中断元素的实例化名称)。Main () -/*主程序代码*/-/*修改定制中断服务程序MyOwn_Interrupt的矢量地址,然后修改cydwr文件的优先级,然后启用中断*/ISR _ 1 _ startex(Myown _ Interrupt);- PSoC3/5基本编程模型- PSoC3代码重入,如果一个程序或子程序可以安全地并行执行,它被称为重入(reentrant或re-re entrant);也就是说,当子程序运行时,它可以被输入并再次执行。如果函数是可重入的,则函数:不能包含静态(全局)非常量数据。无法返回静态(全局)非常量数据的地址。只能处理调用者提供的数据。不能依赖单实例模式资源上的锁。不能调用不可重入函数。“多用户/对象/进程优先级”和多进程通常会使可重入代码的控制变得复杂。同时,IO代码通常不可重入,因为它们依赖于共享的独立资源,如磁盘。PSoC3/5基本编程模型PSoC 3中的代码重入要求代码重入。在函数声明和函数定义名称后添加CYPRENTER宏定义声明,如:UINT 8 Increment(UINT 8)CYREENTTRANT;uint 8 increment(uint 8 value)CYREENTTRANT uint 8 icount 1;uint 32延迟1;价值;对于(iCount 1=0;iCount12iCount 1)对于(IDelay 1=0;我迟到了.打开配置向导来配置DMA通道的参数。配置向导完成后,将配置向导生成的直接内存存取配置应用编程接口函数模板复制粘贴到主. c文件或所需. c文件中。PSoC3/5DMA编程模型-DMA配置向导。注意:当配置向导中的参数TERMOUT被选中时,数据传输完成后,终端设备在直接内存存取的NRQ中触发一个脉冲。该脉冲触发其他组件,如其他中断DMA、中断等。欲了解更多关于DMA配置向导的详细信息,请参考赛普拉斯公司提供的AN52705 UsingDMAonPSoc3/PSoC5申请文件。基于PSoC3项目的简单设计流程,该项目使用PSoC3中的脉宽调制可编程外设来控制两种不同液晶灯的闪烁频率。基于PSoC3项目的简单设计过程加载PSoC3项目,加载PSoC3项目的步骤包括:1 .打开PSoCCreator软件;2.如下图所示,在开始页面的开始页面主题下展开KitsandSolutions。图KitandSolution界面,基于PSoC3项目的简单设计过程加载PSoC3项目,3。在KitsandSolutions下,展开psoccy 8c 38 family processormmodulekt。4.单击“执行”打开项目。5.选择保存项目的路径;6.打开项目后,如下图所示,您可以在WorkspceExplorer下看到打开的项目。图工作空间资源管理器界面,基于PSoC3项目的简单设计过程构建PSoC3项目,1。如下图所示,在创建器的主界面下选择构建-构建。图建立窗口界面,基于PSoC3项目的简单设计过程建立PSoC3项目,2。创建者创建项目,如下图所示,并在输出窗口中显示创建过程的信息。当输出窗口显示“BuildSuccessed”消息时,您就准备好编程了(注意它的编译器是DP8051-Keil)。图输出窗口界面,基于PSoC3项目的简单设计过程编程PSoC3项目,给出以下步骤将程序下载到CY8C38开发板。这些步骤包括:1 .将MiniProg3连接到CY8C38开发板。2.在创建者主菜单下选择工具-选项,打开选项窗口。3.如下图所示,选择程序员/调试器,展开选项,然后选择迷你程序3。进行如下设置:基于PSoC3项目-编程PSoC3项目的简单设计过程,绘制MiniProg参数设置界面,基于PSoC3项目-编程PSoC3项目的简单设计过程,设置应用电压:3.3V;设置转移模式:社会福利署;设置活动端口:10分钟;设置获取模式:重置;设置调试锁定速度:3.2兆赫。单击“确定”按钮。4.在主菜单下选择调试-选择调试目标。出现下图所示的界面。基于PSoC3项目的简单设计过程编程PSoC3项目,绘制SelectDebugTarget界面,基于PSoC3项目的简单设计过程编程PSoC3项目,5。在粒子加速器主界面下选择调试-编程,在粒子加速器输出窗口显示下图所示的信息,表示编程正在进行,编程成功。6.等到编程成功。图编程中的Flash信息,基于PSoC3项目的简单设计过程运行PSoC3项目并调试,1。在提供的CYPRESS开发套件上,将面包板旁边的P16接口连接到LED1通过电线;将面包板旁边的P17接口连接到发光二极管2;2.再次给电路板通电,观察发光二极管的闪烁频率等。3.如下图所示,按F9在这一行设置断点,按F5让程序运行。观察灯的变化。基于PSoC3项目的简单设计过程运行和调试PSoC3项目,绘制断点调试界面,PSoCCreator软件和设计过程基于PSoC5项目的简单设计过程,本项目利用PSoC5中的脉宽调制可编程外设来控制两种不同的液晶灯的闪烁频率。基于PSoC5项目的简单设计过程加载PSoC5项目,1 .打开PSoCCreator软件;2.如下图所示,在开始页面的开始页面主题下展开KitsandSolutions。3.在KitsandSolutions下,展开psoccy 8 c 55 family processormmodulekt。4.单击“执行”打开项目。基于PSoC5项目的简单设计过程-加载PSoC5项目,绘制KitandSolution界面,基于PSoC5项目的简单设计过程-加载PSoC5项目,5。选择保存项目的路径;6.打开项目后,如下图所示,您可以在WorkspceExplorer下看到打开的项目。图工作空间浏览器界面,基于PSoC5项目的简单设计过程构建PSoC5项目,1。如下图所示,在粒子加速器的主界面下选择建造-建造。图建立窗口界面,基于PSoC5项目的简单设计过程建立PSoC5项目,2。创建者创建项目,如下图所示,并在输出窗口中显示创建过程的信息。在输出窗口中显示“BuildSuccessed”消息后,您就可以开始编程了(请注意,它的编译器是ARMCM3-GCC4.2.1)。基于PSoC5项目的简单设计过程建立PSoC5项目,绘制输出窗口界面,基于PSoC5项目的简单设计过程编程PSoC5项目,给出以下步骤将程序下载到CY8C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论