步骤5:下载代码并且运行
? Build这个程序并且确保没有错误 ? 下载程序到开发板并运行
? 观察LED灯的变化并用示波器观察波形 ? 返回“Clocks”区,改变CPU时钟为1KHz
? 重新生成程序,重新build工程,下载程序到开发板并且运行 ? 再次观察LED灯的变化及波形
2、 GPIO输出练习
步骤1:新建Lab 1B, 步骤2:配置0端口引脚
? 在元件列表(Component Catalog)中选择“Ports and Pins”->“Digital
Bidirectional Pin”,如下图配置引脚。在General选项卡中,修改Drive Mode为Strong
? 引脚理想来说应该是输出引脚,但是PSoC Creator的当前版本在原理图中输出引
脚悬浮时会产生错误。因此我们选择了双向引脚(Bidirectional),并改变其驱动模式为Strong
? 在Lab 1B.cydwr文件中,连接这些引脚到Port 0 [7:0],并锁定选择
向端口写数据时会改变端口寄存器的值,在引脚上的逻辑电平取决于驱动寄存器的值、驱动模式和连接到引脚上的外部电路。读取端口时,会直接读取到引脚上的数据
步骤3:
? 不用汇编指令实现Lab 1B,仅仅创建一个新工程并添加如下代码到“main.c”中 定义bShadow为全局单字节变量 特殊功能寄存器SFRPRTxDR:
用于设置端口的输出状态,x代表端口号,范围0~6,12,15) 特殊功能寄存器SFRPRTxSEL
选择使用PHUB PRTxDR寄存器/SFRPRTxDR控制端口的输出缓冲区 若SFRPRTxSEL[y]=1,相应的SFRPRTxDR来设置引脚的输出状态; 若SFRPRTxSEL[y]=0相应的PRTxDR[y]来设置引脚的输出状态; 按下面流程图进行程序编辑 头文件声明:
uint8 bShadow=0;
主程序: SFRPRT0DR=0
SFRPRT0DR=bShadow
bShadow++ SFRPRT0SEL=0xFF 步骤4:下载程序并运行
? 重新build工程,下载程序到开发板,并且运行 ? 观察LED灯的变化
? 在开发板上用跳线把P0_0与P0_6连接到一起,这两个引脚则成了线与关系。驱动
其中任意一个到低,则会使两个引脚都拉低 ? 再次观察LED灯的变化
六、实验注意事项及规范
1.实验开始前检查并关闭电源,检查实验器材是否齐全。
2.实验过程中,接线时注意安全,严格按照接线规则接线,避免造成设备的损坏。 3.实验结束后,关闭设备电源,整理好实验桌后即可离去。 七、实验报告要求
1.根据标准实验报告要求完整说明实验内容、实验步骤,实验器材等相关内容。 2.正确说明实验原理:
3.实验结果及结果分析要求:
(1)编制程序并加以必要的注释 (2)程序执行结果
(3)根据实验结果回答以下问题
①此段程序的作用是什么?
②在24MHzCPU时钟下,下面每个引脚输出频率为多少? Bit0= Bit1= Bit2= Bit3= Bit4= Bit5= Bit6= Bit7=
③当CPU时钟设定为6MHz后,引脚信号会如何变化呢? ④示波器测试后结果是否与期望的变化一致呢? ⑤观察到的情况是否与预期结果一致?
⑥画出bite0与bite6链接之后每个引脚的输出波形