ARM创新实验设计报告樊江春.docx
《ARM创新实验设计报告樊江春.docx》由会员分享,可在线阅读,更多相关《ARM创新实验设计报告樊江春.docx(20页珍藏版)》请在冰豆网上搜索。
![ARM创新实验设计报告樊江春.docx](https://file1.bdocx.com/fileroot1/2022-10/29/e3df878c-c368-40a7-9ed1-0f2504bd0828/e3df878c-c368-40a7-9ed1-0f2504bd08281.gif)
ARM创新实验设计报告樊江春
江西理工大学
ARM创新实验设计报告
题目:
基于ARM2103的键盘显示板与GPIO,SPI的关系
学院:
机电工程学院
专业:
自动化
班级:
081班
学生:
樊江春
学号:
31号
指导教师:
王祖麟职称:
副教授
指导教师:
温如春职称:
副教授
江西理工大学ARM创新实验设计报告
目录
第一章硬件基础
1.1ARM2103简介…………………………………………………2
1.2LED数码管……………………………………………………2
1.3LED数码管结构和特性………………………………………3
第二章有关实验涉及的GPIO与键盘显示板原理图。
2.1GPIO概述………………………………………………………3
2.2段码和位码数值表……………………………………………4
2.3键盘显示板原理图……………………………………………5
第三章示例程序
3.1GPIO口键盘输入………………………………………………5
3.2通过按键控制各数码管数值自加……………………………7
第四章实验效果…………………………………………………17
第五章总结与拓展………………………………………………17
致谢……………………………………………………………20
参考文献………………………………………………………20
第一章硬件基础
1.1ARM2103简介
EasyARM2103开发板采用了NXP公司基于ARM7TDMI-S核、LQFP48封装的LPC2103芯片,具有JTAG仿真调试和ISP编程功能。
开发板上提供了按键、发光二极管等常用的功能器件,具有RS-232接口电路和I2C存储器电路。
用户可以更换兼容的CPU进行仿真调试,如LPC2101和LPC2102等。
开发板上所有的I/O口全部引出,灵活的跳线组合,极大的方便用户进行32位ARM嵌入式系统的开发实验。
图F-1ARM2103实物图
1.2LED数码管
发光二极管LED是能将电信号转换成光信号的发光器件,7段LED数码管则是在一定形状的绝缘材料上,利用单只LED组合排列成的“8”字型,分别引出它们的电极,点亮相应的笔段来显示出0-9的数字。
图F-2数码管外形和内部电路
1.3LED数码管结构和特性
LED数码管根据LED的接法不同分为共阴和共阳两类,了解这些特性,对编程是很重要的,不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
共阴和共阳极数码管的外形及内部电路如图1.1所示,它们的发光原理是一样的,只是电源极性不同。
将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。
以共阴式为例,若把阴极接地,在相应段的阳极接上正电源,该段即会发光。
LED数码管的主要特点如下:
l)能在低电压、小电流条件下驱动发光,能与CMOS、TTL电路兼容;
2)发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高;
3)体积小,重量轻,抗冲击性能好;
4)寿命长,使用寿命在10万小时以上,甚至可达100万小时,成本低。
LED数码管被广泛用作数字仪器仪表、数控装置、计算机的数显器件。
第二章:
有关实验涉及的GPIO与键盘显示板原理图
2.1GPIO概述
I/O(Input/Output)接口是一颗微控制器必须具备的最基本外设功能。
在Stellaris系列ARM里,所有I/O都是通用的,称为GPIO(GeneralPurposeInput/Output)。
GPIO模块由3~8个物理GPIO块组成,一块对应一个GPIO端口(PA、PB、PC、PD、PE、PF、PG、PH)。
每个GPIO端口包含8个管脚,如PA端口是PA0~PA7。
GPIO模块遵循FiRM(Foundation
IPforReal-TimeMicrocontrollers)规范,并且支持多达60个可编程输入/输出管脚(具体取决于与GPIO复用的外设的使用情况)。
GPIO模块包含以下特性:
可编程控制GPIO中断
1屏蔽中断发生
2边沿触发(上升沿、下降沿、双边沿)
3电平触发(高电平、低电平)
输入/输出可承受5V
在读和写操作中通过地址线进行位屏蔽
可编程控制GPIO管脚配置:
1弱上拉或弱下拉电阻
22mA、4mA、8mA驱动,以及带驱动转换速率(SlewRate)控制的8mA驱动
3开漏使能
4数字输入使能
2.2段码和位码数值表
段码和位码数值表如下:
表1-1段码数值表
进制
数值
二进制数(0/1)
十六进制数
0
00000000
0x00
1
00000001
0x01
2
00000010
0x02
3
00000011
0x03
4
00000100
0x04
5
00000101
0x05
6
00000110
0x06
7
00000111
0x07
8
00010000
0x08
9
00010001
0x09
表1-2位码数值表
进制
数值
二进制数(0/1)
十六进制数
0
00000000
0x00
1
00000001
0x01
2
00000010
0x02
3
00000011
0x03
4
00000100
0x04
5
00000101
0x05
6
00000110
0x06
7
00000111
0x07
8
00010000
0x08
2.3键盘显示板原理图
键盘显示板原理图如图所示:
图F-3键盘显示板原理图
第三章:
示例程序
3.1:
GPIO口键盘输入
/*------------------------------------------------------------
程序名:
KEY_LED.c
程序功能:
键盘输入。
当检测到有按键输入时,对发光二极管LED进行取后控制。
使用I/O口输入方式对按键KEY进行扫描。
--------------------------------------------------------------*/
//--------------------Includefiles-------------------------//
#include"config.h"
//-------------------Define------------------------------//
#defineLED11<<13/*P0.13引脚控制LED,低电平点亮*/
#defineKEY1<<18/*P0.18引脚连接KEY*/
/*--------------------------------------------------------
函数名:
waitkey
入口参数:
void
输出参数:
void
函数功能:
等待一个有效按键。
本函数有去抖功能。
编写时间:
10.22.2010
--------------------------------------------------------*/
voidwaitkey(void)
{unsignedinti;
while
(1)
{while((Io0PIN&KEY)!
=0);//等待KEY键按下
for(i=0;i<1000;i++);//延时去抖
if((Io0PIN&KEY)==0)
break;
}
while((Io0PIN&KEY)==0);//等待KEY键放开
/*--------------------------------------------------------
函数名:
main
入口参数:
void
输出参数:
void
函数功能:
读取按键,控制LED闪烁。
编写时间:
10.22.2006
---------------------------------------------------------*/
voidmain(void)
{PINSEL0=0x00000000;//设置所有管脚连接GPIO
IODIR=LED1;//设置LED控制口为输出,其它I/O为输入
while
(1)
{IO0SET=LED1;
waitkey();
IO0CLR=LED1;
waitkey();
}
return(0);
}
//------------------Endoffile----------------------------//
3.2通过按键控制各数码管数值自加
程序清单:
/****************************************Copyright(c)****************
**GuangzouZLG-MCUDevelopmentCo.,LTD.
**graduateschool
**
**
**--------------FileInfo--------------------------------------------
**Filename:
main.c
**LastmodifiedDate:
2004-09-16
**LastVersion:
1.0
**Descriptions:
具有修改功能的时钟制作
**
**-------------------------------------------------------------------
**Createdby:
FUWENCHENG
**Createddate:
2004-08-5
**Version:
1.0
**Descriptions:
Theoriginalversion
**
**-------------------------------------------------------------------
**Modifiedby:
fanjiangchun
**Modifieddate:
2010-11-18
**Version:
1.2
**Descriptions:
********************************************************************/
/****************************Copyright(c)****************************
**--------------FileInfo-------------------------------------------
**Filename:
main.c
**LastmodifiedDate:
**LastVersion:
**Descriptions:
SPI实验,7段数码管显示加键盘识别和与处理程序来制作秒表。
键盘定义如下:
(从左至右)
第一个键:
进入时钟修改态
第二个键:
移动被修改的位
第三个键:
减功能
第四个键:
加功能
第五