ARM创新实验设计报告——樊江春

上传人:飞*** 文档编号:3505657 上传时间:2017-08-06 格式:DOC 页数:20 大小:290KB
返回 下载 相关 举报
ARM创新实验设计报告——樊江春_第1页
第1页 / 共20页
ARM创新实验设计报告——樊江春_第2页
第2页 / 共20页
ARM创新实验设计报告——樊江春_第3页
第3页 / 共20页
ARM创新实验设计报告——樊江春_第4页
第4页 / 共20页
ARM创新实验设计报告——樊江春_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《ARM创新实验设计报告——樊江春》由会员分享,可在线阅读,更多相关《ARM创新实验设计报告——樊江春(20页珍藏版)》请在金锄头文库上搜索。

1、江西理工大学 ARM 创新实验程序江 西 理 工 大 学ARM 创新实验设计报告题 目:基于 ARM2103 的键盘显示板与 GPIO,SPI 的关系学 院:机电工程学院专 业:自动化班 级:081 班学 生:樊江春学 号:31 号指导教师:王祖麟 职称:副教授指导教师:温如春 职称:副教授J江西理工大学 ARM 创新实验程序第 1 页 共 21 页江西理工大学 ARM 创新实验设计报告目 录第一章 硬件基础1.1 ARM2103 简介 21.2 LED 数码管 21.3 LED 数码管结构和特性 3第二章 有关实验涉及的 GPIO 与键盘显示板原理图。2.1 GPIO 概述 32.2 段码和

2、位码数值表 42.3 键盘显示板原理图 5第三章 示例程序3.1 GPIO 口键盘输入 53.2 通过按键控制各数码管数值自加 7第四章 实验效果17第五章 总结与拓展17J江西理工大学 ARM 创新实验程序第 2 页 共 21 页致谢 20参考文献 20第一章 硬件基础1.1 ARM2103 简介EasyARM2103 开发板采用了 NXP 公司基于 ARM7 TDMI-S 核、LQFP48 封装的LPC2103 芯片,具有 JTAG 仿真调试和 ISP 编程功能。开发板上提供了按键、发光二极管等常用的功能器件,具有 RS-232 接口电路和 I2C 存储器电路。用户可以更换兼容的 CPU

3、进行仿真调试,如 LPC2101 和 LPC2102 等。开发板上所有的I/O 口全部引出,灵活的跳线组合,极大的方便用户进行 32 位 ARM 嵌入式系统的开发实验。 J江西理工大学 ARM 创新实验程序第 3 页 共 21 页图 F-1 ARM2103 实物图1.2 LED 数码管发光二极管 LED 是能将电信号转换成光信号的发光器件,7 段 LED 数码管则是在一定形状的绝缘材料上,利用单只 LED 组合排列成的“8”字型,分别引出它们的电极,点亮相应的笔段来显示出 0-9 的数字。图 F-2 数码管外形和内部电路1.3 LED 数码管结构和特性LED 数码管根据 LED 的接法不同分为

4、共阴和共阳两类,了解这些特性,对编程是很重要的,不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。共阴和共阳极数码管的外形及内部电路如图 1.1 所示,它们的发光原理是一样的,只是电源极性不同。将多只 LED 的阴极连在一起即为共阴式,而将多只 LED 的阳极连在一起即为共阳式。以共阴式为例,若把阴极接地,在相应段的阳极接上正电源,该段即会发光。LED 数码管的主要特点如下:l)能在低电压、小电流条件下驱动发光,能与 CMOS、TTL 电路兼容;2)发光响应时间极短(0; j-)for(i=50; i0; i-); /* 函数名称:IRQ_Timer0()* 功能描述:TIME

5、R0 中断服务程序* 入口参数:无* 出口参数:无*/void _irq IRQ_Timer0(void)T0Flag = TRUE; / T0 中断标志置位T0IR = 0x01; / 清除中断标志VICVectAddr = 0;/* 函数名称:IRQ_Init()* 功能描述:设置定时器 0 中断 IRQ* 入口参数:无* 出口参数:无*/void IRQ_Init(void)江西理工大学 ARM 创新实验程序第 11 页 共 21 页VICIntSelect = 0x00; / 所有中断通道设置为 IRQ 中断 VICVectCntl0 = 0x20 | 0x04;/ 设置定时器 0 中

6、断通道分配最高优先级VICVectAddr0 = (uint32)IRQ_Timer0; / 设置中断服务程序地址VICIntEnable = 1 159) /160*2.5ms 为 400mscountTime = 0;noDisplay = noDisplay;/i=R 表示扫描显示到达了正在闪烁的位江西理工大学 ARM 创新实验程序第 14 页 共 21 页/noDisplay=TRUE 表示闪烁的标志为真,既对其位不显示任何内容,以达到闪烁的目的/以上两个条件加上 TRUE=isChanging 共三个条件,只有这三个条件同时成立,才对其闪烁的位进行不显示任何内容/noDisplay

7、表示为非零值时为真,但是不能写成 noDisplay = TURE ,这是因为上面在处理 noDisplay 用了取反/noDisplay 的值只有 0 和 255 两个值,0 表示 FALSE,1 表示TURE,之所以这样做是为了提高程序执行效率if (i=R) & (noDisplay)displayNum = 10;MSPI_SendData(digitabledisplayNum); / 发送显示数据MSPI_SendData(selectablei); / 发送显示位码if(flag) /时钟运行程序,注意这是对整个数的操作, 不是对某一位,且不能放在设置键的功能里/(即 switc

8、h 语句if(j=400) /*k 对应的是显示的位,使得秒表的个位过一秒 400*2.5ms 自加一*/ j=0;CS+;if(CS235959) CS=0;/*归 0, 此句的位置很重要,放到外面时会显 示 24-00-00 字样*/CONVBIT(CS); /每秒加 1 都显示出来 if(DATA15)/对六十进制的处理(以下同理)DATA1=0;DATA3+;if(DATA39)DATA3=0;DATA4+;江西理工大学 ARM 创新实验程序第 15 页 共 21 页/此判断是为了防止 data 变成 10if(DATA45) DATA4=0;DATA6+;if(DATA69)DATA

9、6=0;DATA7+;CS =DATA7*100000 + DATA6*10000 +DATA4*1000 + DATA3*100 + DATA1*10 + DATA0;/将修改保存,使得暂停时间时的数得以保存 j+; if (IO0PIN&KEY)!= 0) /键按下之后放开或无键按下if (whichKeyDown = i)/键按下之后放开switch (whichKeyDown)case 7:/键盘板从右到左算的第一个键,进入修改态if (FALSE = isChanging)isChanging = TRUE;CONVBIT(CS);break; case 6:/移位R = (R+1)

10、 % 8;break; case 5:/减功能江西理工大学 ARM 创新实验程序第 16 页 共 21 页if (TRUE = isChanging) /*当处于修改 态时, 可以进行修改操作,否则就不能了*/ if (DATAR)DATAR-;elseDATAR = 9;break; case 4:/加功能 if (TRUE = isChanging) /当处于修改 态时 ,可以进行修改操作,否则就不能了DATAR = (DATAR+1)%10; break;case 3:/确定键CS =DATA7*100000 + DATA6*10000+DATA4*1000 + DATA3*100 +

11、DATA1*10 + DATA0;R=0;/ 当闪烁位移至最后一位时,标志着按下该确定键 break; case 2:/退出修改态isChanging = FALSE;/使不再出现闪烁状态的数CONVBIT(CS); break; case 1:/判断时钟是否开始计时 flag=flag;break; 江西理工大学 ARM 创新实验程序第 17 页 共 21 页 default: /其它键未定义break;whichKeyDown = NOKEYDOWN;else /有键按下 Delays(100);/防抖动if (0 = (IO0PIN&KEY)whichKeyDown = i; i = (

12、i+1)%8;/处理要显示的位数return 0;/* End Of File*/第四章 实验现象4.1 实验现象第一个程序键盘输入。当检测到有按键输入时,对发光二极管 LED 进行取后控制。使用 I/O 口输入方式对按键 KEY 进行扫描,也就是按键控制 LED第二个程序通过对每个按键的控制,电平触发后,数码显示管的数值自加!超过 8 的值重置“0”初值为“12345678”每个数码管加 1 后的数值“23456780”第五章 总结和扩展5.1 总结江西理工大学 ARM 创新实验程序第 18 页 共 21 页我们学习 ARM2103 开发板,在实验报告中,我们在写一个程序时,会想好程序实现的

13、功能,程序架构,怎么实现算法最优化,怎么实现程序的简练,可靠,在这次实验中,总结一下关于对 ARM 中的 R13 的认识。1 寄存器 R13 在 ARM 指令中常用作堆栈指针2、对于 R13 寄存器来说,它对应 6 个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外 5 个物理寄存器对应于其他 5 种不同的运行模式。采用以下的记号来区分不同的物理寄存器: R13_ 其中,mode 为以下几种模式之一:usr、fiq、irq、svc、abt、und。3、寄存器 R13 在 ARM 指令中常用作堆栈指针,但这只是一种习惯用法,用户也可使用其他的寄存器作为堆栈指针。而在 Thumb 指令集中,某些指令强制性的要求使用 R13 作为堆栈指针。由于处理器的每种运行模式均有自己独立的物

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号