按键控制实验

按键控制实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include "key.h"void KEY_Init(void)
{EALLOW;SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;// 开启GPIO时钟//KEY端口配置GpioCtrlRegs.GPAMUX1.bit.GPIO12=0;GpioCtrlRegs.GPADIR.bit.GPIO12=0;GpioCtrlRegs.GPAPUD.bit.GPIO12=0;GpioCtrlRegs.GPAMUX1.bit.GPIO13=0;GpioCtrlRegs.GPADIR.bit.GPIO13=0;GpioCtrlRegs.GPAPUD.bit.GPIO13=0;GpioCtrlRegs.GPAMUX1.bit.GPIO14=0;GpioCtrlRegs.GPADIR.bit.GPIO14=0;GpioCtrlRegs.GPAPUD.bit.GPIO14=0;GpioCtrlRegs.GPBMUX2.bit.GPIO48=0;GpioCtrlRegs.GPBDIR.bit.GPIO48=1;GpioCtrlRegs.GPBPUD.bit.GPIO48=0;GpioCtrlRegs.GPBMUX2.bit.GPIO49=0;GpioCtrlRegs.GPBDIR.bit.GPIO49=1;GpioCtrlRegs.GPBPUD.bit.GPIO49=0;GpioCtrlRegs.GPBMUX2.bit.GPIO50=0;GpioCtrlRegs.GPBDIR.bit.GPIO50=1;GpioCtrlRegs.GPBPUD.bit.GPIO50=0;EDIS;GpioDataRegs.GPBSET.bit.GPIO48=1;GpioDataRegs.GPBSET.bit.GPIO49=1;GpioDataRegs.GPBSET.bit.GPIO50=1;}char KEY_Scan(char mode)
{static char keyl1=1;static char keyl2=1;static char keyl3=1;//第1列扫描KEY_L1_SetL;KEY_L2_SetH;KEY_L3_SetH;if(keyl1==1&&(KEY_H1==0||KEY_H2==0||KEY_H3==0)){DELAY_US(10000);keyl1=0;if(KEY_H1==0){return KEY1_PRESS;}else if(KEY_H2==0){return KEY4_PRESS;}else if(KEY_H3==0){return KEY7_PRESS;}}else if(KEY_H1==1&&KEY_H2==1&&KEY_H3==1){keyl1=1;}if(mode)keyl1=1;//第2列扫描KEY_L2_SetL;KEY_L1_SetH;KEY_L3_SetH;if(keyl2==1&&(KEY_H1==0||KEY_H2==0||KEY_H3==0)){DELAY_US(10000);keyl2=0;if(KEY_H1==0){return KEY2_PRESS;}else if(KEY_H2==0){return KEY5_PRESS;}else if(KEY_H3==0){return KEY8_PRESS;}}else if(KEY_H1==1&&KEY_H2==1&&KEY_H3==1){keyl2=1;}if(mode)keyl2=1;//第3列扫描KEY_L3_SetL;KEY_L1_SetH;KEY_L2_SetH;if(keyl3==1&&(KEY_H1==0||KEY_H2==0||KEY_H3==0)){DELAY_US(10000);keyl3=0;if(KEY_H1==0){return KEY3_PRESS;}else if(KEY_H2==0){return KEY6_PRESS;}else if(KEY_H3==0){return KEY9_PRESS;}}else if(KEY_H1==1&&KEY_H2==1&&KEY_H3==1){keyl3=1;}if(mode)keyl3=1;return KEY_UNPRESS;
}
#ifndef KEY_H_
#define KEY_H_#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"#define KEY_L1_SetL         (GpioDataRegs.GPBCLEAR.bit.GPIO48=1)
#define KEY_L2_SetL         (GpioDataRegs.GPBCLEAR.bit.GPIO49=1)
#define KEY_L3_SetL         (GpioDataRegs.GPBCLEAR.bit.GPIO50=1)#define KEY_L1_SetH         (GpioDataRegs.GPBSET.bit.GPIO48=1)
#define KEY_L2_SetH         (GpioDataRegs.GPBSET.bit.GPIO49=1)
#define KEY_L3_SetH         (GpioDataRegs.GPBSET.bit.GPIO50=1)#define KEY_H1          (GpioDataRegs.GPADAT.bit.GPIO12)
#define KEY_H2          (GpioDataRegs.GPADAT.bit.GPIO13)
#define KEY_H3          (GpioDataRegs.GPADAT.bit.GPIO14)#define KEY1_PRESS      1
#define KEY2_PRESS      2
#define KEY3_PRESS      3
#define KEY4_PRESS      4
#define KEY5_PRESS      5
#define KEY6_PRESS      6
#define KEY7_PRESS      7
#define KEY8_PRESS      8
#define KEY9_PRESS      9
#define KEY_UNPRESS     0void KEY_Init(void);
char KEY_Scan(char mode);#endif /* APP_KEY_KEY_H_ */
#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
#include "leds.h"
#include "beep.h"
#include "relay.h"
#include "key.h"void main()
{int i = 0;char key = 0;InitSysCtrl();//系统时钟初始化,默认已开启F28335所有外设时钟LED_Init();BEEP_Init();Relay_Init();KEY_Init();RELAY_ON;while(1){key = KEY_Scan(0);switch(key){case KEY1_PRESS:LED2_TOGGLE;break;case KEY2_PRESS:LED3_TOGGLE;break;case KEY3_PRESS:LED4_TOGGLE;break;case KEY4_PRESS:LED5_TOGGLE;break;case KEY5_PRESS:LED6_TOGGLE;break;case KEY6_PRESS:LED7_TOGGLE;break;}i++;if(i%200){LED1_TOGGLE;}DELAY_US(1000);//系统的延迟函数单位是us 此处为延迟100us}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

贷款能否成功,这4个人说了算

贷款谁都希望一枪命中,顺顺利利的拿到钱,可是在贷款的过程中参与的人员较多,稍微出现一些差错都可能会影响贷款的审批事实上,在贷款的过程中,你的贷款能否成功,是由这四个人决定的。一、信贷经理信贷经理是…

哪些房产不能抵押做贷款?

我们都知道,房产抵押贷款相对要求较低,而且贷款利息低,额度也高,但并不是所有的房产都是可以抵押的,下面我们就来盘点下,哪些房产不能作为抵押进行贷款.1、小产权房小产权房,又叫自建房&#xf…

直流电机实验

直流电机实验 #ifndef DC_MOTOR_H_ #define DC_MOTOR_H_#include "DSP2833x_Device.h" // DSP2833x 头文件 #include "DSP2833x_Examples.h" // DSP2833x 例子相关头文件#define DC_MOTOR_INA_SETH (GpioDataRegs.GPASET.bit.GPIO21) #define DC_M…

什么样的人贷款更容易?

有过贷款经历的朋友应该知道,贷款并不是件简单的事情,有时候即使愿意支付更多的利息,仍然不能贷到款,所以大家可能会有疑惑,到底什么样的人最好贷款呢?通常来说贷款公司更偏向于公务员、事业单位、上市公司…

为什么别人有微粒贷,而你没有?

大家都知道,微粒贷纯线上申请,500-30万额度,利息低至日息0.045%,手续简单方便,额度高,因此想借钱的朋友都希望自己有微粒贷,但是截至目前为止,只有几千万人有微粒贷,大部…

步进电机实验

步进电机实验 #include "step_motor.h"void Step_Motor_Init(void) {EALLOW;SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK 1;// 开启GPIO时钟//Step_MOTOR端口配置GpioCtrlRegs.GPAMUX1.bit.GPIO20;GpioCtrlRegs.GPADIR.bit.GPIO21;GpioCtrlRegs.GPAMUX1.bit.GPIO30;GpioCt…

常用IP核

前言 记录自己用到的模块,随时补充。 主要分类: 一、常用模块 1-FIFO FIFO分为两种,一是输入输出时钟相同(Common clock)的 fifo ;二是输入输出时钟不相同(Independent clocks)FIFO常用于&#…

F28335中断系统

F28335中断系统 DSP中断管理分为3个层次:外设级,PIE级,CPU级

notepad++与ISE/Vivado关联

转自:http://www.cnblogs.com/ninghechuan/p/6172237.html 1、notepad与vivado关联 打开vivado软件,选择菜单栏“Tools——>Options…”,在弹出的对话框中,选择General选项卡,如图1所示。 拉动右边的滚动条到Text E…

花呗不还会怎样?

现如今花呗以其短平快俘获很多网购朋友的心,随借随还,确实很好用,但是问题来,如果花呗忘记还了,或者不还会有什么后果呢?先来看下一个网友的真实经历:3个月前,我拖欠了花呗2000多块钱…

外部中断实验

外部中断实验 #include "exti.h" #include "leds.h" #include "key.h"void EXTI1_Init(void) {EALLOW;SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK 1; // GPIO input clockEDIS;EALLOW;//KEY端口配置GpioCtrlRegs.GPAMUX1.bit.GPIO120;GpioCtrlReg…

有法院被执行人记录还能贷款吗?

贷款除了看个人的资质之外,还会查看借款人的一些社会信息,比如法院被执行人记录。通常来说,有法院被执行记录的人是很难通过贷款申请的。1、什么叫法院被执行人记录?被执行人指的是通过法院判决,需要承担对应执行义务的…

如何找到安全的贷款机构

贷款谁都希望找一家安全可靠的机构,不希望碰到骗子或不正规的公司,但是对于很多缺乏贷款经验的朋友来说,他们并不知道哪些贷款机构是正规的,也不知道哪些贷款是安全的,下面我们就来给大家说下如何找一个正规安全的贷款…

梅森增益公式

梅森增益公式 式中 P——从源节点到阱节点的传递函数(或总增益); n——从源节点到阱节点的前向通路总数; pk——从源节点到阱节点的第条前向通路总增益; △——流图特征式 式中

为什么销售员贷款比较难?

销售员其实是一个相对高收入的群体,按道理来说去贷款应该是比较好下的,但是在实际的贷款审批过程中,销售人员去贷款要么比较难下,要么就是额度比较低。为什么会这样呢?这其实跟销售员的工作性质有关。第一、销售员工作…

老公贷款还不上,妻子有偿还责任吗?

如果贷款不还,可能会涉及到夫妻共同还款的情况,也就是说,如果一方的贷款是用于家庭所需或者双方有共同利益的项目,一旦贷款还不上,那夫妻中的另一方就需要承担偿还责任,这就是我们通常所说的夫妻共同负债。…

银行流水你真的会看吗?

(1)银行流水的的构成每个银行流水的构成要素可能有所差距,但是总整体上来说,银行流水的构成基本是差不多的。正常的银行流水一般都会包含以下几个构成因素:账号、户名、交易日期、对方帐号、对方户名、交易代码&#x…

Cisco Wireless Controller 5508 Configuration Step by Step – Part 1 (CLI and GUI Access, Upgrade)

As the industry’s most deployed controller, the Cisco 5500 Series Wireless Controller provides the highest performance, security, and scalability to support business communications today and in the future. Cisco 5500 Series Wireless Controller • Support …

求解单位冲激响应的笔记

求解单位冲激响应的笔记 冲激响应的定义 求解方式 正常的方式 另一种方法 再看下一个例子