下载此文档

DSP实验二、TMS320F28335 按键输入 控制LED亮灭.doc


文档分类:通信/电子 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
继续我的第二个实验;实现按键控制LED亮灭:功能描述:上电默认LD3亮;触动一次按键SW12,LD3灭再按一次按键SW12,LD3亮再触动一次按键SW12,LD3灭再按一次按键SW12,LD3亮。。。。。。实现每触动一次按键,LED执行一次由亮到灭,或者由灭到亮,也就是实现一次状态反转。电路连接说明: LD3设置为通用GPIO上拉输出初始化后默认为输出LD3亮状态;LD3控制LED灯的负极,如下图; SW12 设置为通用GPIO上拉输入该引脚应用滤波功能,且仅在按键抬起时控制LD3状态发生变化。 按键电路如上图,GPIO53须输出0,当按键按下时,读取GPIO50端口值,为0,当按键未按下时,GPIO50因为上上拉作用,其端口值为1。程序设计说明:按键的读取采用实时扫描的方式(非中断方式),功能要求在按键抬起后发生LED状态翻转;所以要记录上一次按键值,并且将当前值==0&&上一次值==1时,做为按键抬起有效,控制LED发生状态翻转。主要程序如下: while(1) { EALLOW; last_Key_SW12=new_Key_SW12;//保存旧值 new_Key_SW12=Key_SW12();//读取新值 if(last_Key_SW12==0&&new_Key_SW12==1) LD3_TOGGLE(); EDIS; }经实际测试,上述程序可以实现LD3的翻转,基本达到设计要求。但是在测试过程中,时好时坏,有时能够看见LED快速翻转,说明按键有抖动的情况,这里可以考虑IO口滤波,即在初始化时,设置IO采样周期以及量化串口,设置如下:采样周期设置为200时,不再出现抖动现象,按键稳定操作。源程序如下:#include""//DSP2833xHeaderfileIncludeFile#include""//DSP2833xExamplesIncludeFile#defineLD3_ON() =1#defineLD3_OFF() =1#defineLD3_TOGGLE() =1#defineLD4_ON() =1#defineLD4_OFF() =1#defineKey_SW12() /***/intmain(void){ unsignedcharlast_Key_SW12=1;//保留上一次扫描结果,上电默认为未按下状态 unsignedcharnew_Key_SW12=1;//保留当前扫描结果,上电默认为未按下状态 InitSysCtrl(); DINT; IER=0x0000; IFR=0x0000; InitPieCtrl(); InitPieVectTable(); InitGpio(); EALLOW; //GPIO0LD3控制LED负极 .

DSP实验二、TMS320F28335 按键输入 控制LED亮灭 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人changjinlai
  • 文件大小131 KB
  • 时间2019-09-20