资源简介
利用浙工大的ti开发板进行的设计,请根据具体需要更改IO口
代码片段和文件信息
#include
#include “inc/tm4c1294ncpdt.h“
#include “KEY.h“
void delay()
{
int ui32Loop0;
for(ui32Loop0=0;ui32Loop0<1000;ui32Loop0++) //delay
{;}
}
void key_init(void)
{
GPIO_PORTN_DIR_R = 0x03;
GPIO_PORTM_DIR_R = 0x28;
GPIO_PORTH_AHB_DIR_R = 0x0c;
GPIO_PORTP_DIR_R = 0x00;
GPIO_PORTD_AHB_DIR_R = 0x02;
//GPIO_PORTF_AHB_DIR_R = 0x11;
//GPIO_PORTL_DIR_R = 0x0f;
//GPIO_PORTM_ODR_R=0x08;
//GPIO_PORTH_AHB_ODR_R=0x0c;
// GPIO_PORTD_AHB_ODR_R=0x02;
GPIO_PORTN_DEN_R = 0x0f;
GPIO_PORTM_DEN_R = 0x28;
GPIO_PORTH_AHB_DEN_R = 0x0c;
GPIO_PORTP_DEN_R = 0x04;
GPIO_PORTD_AHB_DEN_R = 0x03;
//GPIO_PORTL_DEN_R = 0x0f;
}
int identify_key()
{ short int key=0;
GPIO_PORTD_AHB_DATA_R = 0x00;
GPIO_PORTH_AHB_DATA_R = 0x0c;
GPIO_PORTM_DATA_R = 0x08;
for(ui32Loop=0;ui32Loop<1000;ui32Loop++) //delay
{
;
}
if((GPIO_PORTP_DATA_R&0x04)==0x00)//&&(GPIO_PORTP_DATA_R==0x04)
{
delay();
if((GPIO_PORTP_DATA_R&0x04)==0x00)
{
key=1;
// return 0;
}
}
if((GPIO_PORTN_DATA_R&0x08)==0x00)
{
delay();
if((GPIO_PORTN_DATA_R&0x08)==0x00)
{
key=5;
// return 0;
}
}
if((GPIO_PORTN_DATA_R&0x04)==0x00)
{
delay();
if((GPIO_PORTN_DATA_R&0x04)==0x00)
{
key=9;
// return 0;
}
}
if((GPIO_PORTD_AHB_DATA_R&0x01)==0x00)
{
delay();
if((GPIO_PORTD_AHB_DATA_R&0x01)==0x00)
{
key=13;
// return 0;
}
}
GPIO_PORTD_AHB_DATA_R = 0x02;
GPIO_PORTH_AHB_DATA_R = 0x04;
GPIO_PORTM_DATA_R = 0x08;
for(ui32Loop=0;ui32Loop<1000;ui32Loop++)
{
;
}
if((GPIO_PORTP_DATA_R&0x04)==0x00)//&&(GPIO_PORTP_DATA_R==0x04)
{
delay();
if((GPIO_PORTP_DATA_R&0x04)==0x00)
{
key=2;
// return 0;
}
}
if((GPIO_PORTN_DATA_R&0x08)==0x00)
{
delay();
if((GPIO_PORTN_DATA_R&0x08)==0x00)
{
key=6;
// return 0;
}
}
if((GPIO_PORTN_DATA_R&0x04)==0x00)
{
delay();
if((GPIO_PORTN_DATA_R&0x04)==0x00)
{
key=10;
// return 0;
}
}
if((GPIO_PORTD_AHB_DATA_R&0x01)==0x00)
{
delay();
if((GPIO_PORTD_AHB_DATA_R&0x01)==0x00)
{
key=14;
// return 0;
}
}
GPIO_PORTD_AHB_DATA_R = 0x02;
GPIO_PORTH_AHB_DATA_R = 0x08;
GPIO_PORTM_DATA_R = 0x08;
for(ui32Loop=0;ui32Loop<1000;ui32Loop++)
{
;
}
if((GPIO_PORTP_DATA_R&0x04)==0x00)//&&(GPIO_PORTP_DATA_R==0x04)
{
delay();
if((GPIO_PORTP_DATA_R&0x04)==0x00)
{
key=3;
// return 0;
}
}
if((GPIO_PORTN_DATA_R&0x08)==0x00)
{
delay();
if((GPIO_PORTN_DATA_R&0x08)==0x00)
{
key=7;
// return 0;
}
}
if((GPIO_PORTN_DATA_R&0x04)==0x00)
{
delay();
if((GPIO_PORTN_DATA_R&0x04)==0x00)
{
key=11;
// return 0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-12-16 22:45 dadishu\
文件 596 2015-12-27 16:13 dadishu\.ccsproject
文件 25115 2015-12-27 16:13 dadishu\.cproject
目录 0 2015-12-16 21:38 dadishu\.launches\
文件 4511 2015-12-27 17:48 dadishu\.launches\dadishu.launch
文件 4588 2015-12-22 14:43 dadishu\.launches\Sine_wave_TFT.launch
文件 5113 2014-09-14 22:31 dadishu\.launches\TFTLCD.launch
文件 4371 2014-08-27 12:22 dadishu\.launches\TFTLCD_back.launch
文件 4587 2015-12-23 22:53 dadishu\.launches\TFT_TOUCH.launch
文件 837 2015-12-16 21:33 dadishu\.project
目录 0 2015-12-16 22:04 dadishu\.settings\
文件 62 2015-12-16 21:33 dadishu\.settings\org.eclipse.cdt.codan.core.prefs
文件 123 2015-12-16 21:33 dadishu\.settings\org.eclipse.cdt.debug.core.prefs
文件 491 2015-12-16 22:04 dadishu\.settings\org.eclipse.core.resources.prefs
目录 0 2015-12-27 17:48 dadishu\Debug\
文件 284 2015-12-27 17:48 dadishu\Debug\ccsObjs.opt
文件 19210 2015-12-27 17:48 dadishu\Debug\dadishu.map
文件 165808 2015-12-27 17:48 dadishu\Debug\dadishu.out
文件 252343 2015-12-27 17:48 dadishu\Debug\dadishu_li
目录 0 2015-12-27 16:14 dadishu\Debug\EPIinit\
文件 12384 2015-12-27 16:14 dadishu\Debug\EPIinit\EPIinit.obj
文件 2247 2015-12-27 16:14 dadishu\Debug\EPIinit\EPIinit.pp
文件 1207 2015-12-27 16:14 dadishu\Debug\EPIinit\subdir_rules.mk
文件 538 2015-12-27 16:14 dadishu\Debug\EPIinit\subdir_vars.mk
文件 10744 2015-12-27 16:14 dadishu\Debug\KEY.obj
文件 321 2015-12-27 16:14 dadishu\Debug\KEY.pp
文件 46500 2015-12-27 17:48 dadishu\Debug\main.obj
文件 3585 2015-12-27 17:48 dadishu\Debug\main.pp
文件 4454 2015-12-27 17:48 dadishu\Debug\makefile
文件 324 2015-12-27 16:14 dadishu\Debug\ob
文件 1952 2015-12-27 17:48 dadishu\Debug\sources.mk
............此处省略37个文件信息
- 上一篇:倒立摆 51PID程序 已经实现
- 下一篇:手机与屏幕共享软件
相关资源
- 基于单片机的智能电子钟设计
- 基于单片机的曼彻斯特编码程序
- 51单片机通过GSM模块发送短信控制LE
- 基于单片机的智能电子遥控车位锁设
- proteus中51单片机控制交通灯的仿真
- 60S2单片机驱动DS18B20温度传感器C程序
- 一看就懂的51单片机RS232串口程序
- 基于STC12C5A16S2单片机电子水平仪设计
- 实验三 开关控制警报器.DSN
- 单片机课程设计数字电压表,有软件
- 51单片机控制两个LED灯分别闪烁
- 基于AT89C52单片机的光功率计的设计
- 基于51单片机的信号发生器-完整电路
- 基于AT89S52单片机的多模式带音乐跑马
- 单片机 实现多路任意延时的一种方法
- 单片机控制多个电机程序
- 51单片机ADC0809测电压12864显示程序
- 51单片机超声波测距1602显示
- 51单片机16x16点阵程序
- 单片机数字钟+万年历数码管显示
- 基于STC89C51单片机的数字抢答器——毕
- 51单片机智能扫地机器人
- Proteus仿真AD0808
- 基于51单片机的万年历
- 51单片机频率计设计
- 51_I2C模拟通信
- 基于RS485总线的PC与单片机多机通信系
- 红外线遥控Proteus仿真电路+发射+接收
- 51单片机资料\\基于单片机的函数信号
- 单片机reg52.h
评论
共有 条评论