本版名称: 单片机

版       主: fengzhang2002, tiankai001, leang521

EEWORLD欢迎您,请先注册登录

【EEWORLD】救火车和你一起学ARM系列活动之六

【EEWORLD】救火车和你一起学ARM系列活动之六

IO引脚配置和输入输出实验在前几个实验中,我们一直在研究ARM核心东西。本次实验,我们要把最基本的外设----IO引脚学习一下。学习中要注意的几个问题:1、定时器时钟源的倍频分频。2、理解匹配及如何产生中断。3、产生中断后,如何跳转到中断函数。4、完成一次中断后,如何进入下一次定时。我们开始。IO口连接模块简介有些管口除了作为普通IO口以外,还具有复用功能。比如串行口功能、PWM功能等等。要使用这些功能必须正确的设置IO连接模块PINSEL0、PINSEL1、PINSEL2。PINSEL0(32位寄存器)用来设置P0.0~P0.15这16个IO口。PINSEL0的每两个位,设置一个IO口。例如第1、0位,用来设置P0.0;第3、2位,设置P0.1,其他位以此类推。 PINSEL1、PINSEL2寄存器在更高级的芯片中会用到。功能和PINSEL0差不多。我们这次实验只用到了GPIO(普通的IO口),所以不必设置PINSEL0。在这里介绍它,是为了让大家了解,若想使用其它的功能,必须设置连接模块。本实验中,按键输入使用的NXP2103 P0.20管脚,指示灯使用P0.21管脚。配置管脚功能寄存器应该使用PINSEL1。因为寄存器默认为普通I/O口模式,所以这个寄存器不需要配置。IO口基本寄存器 LPC2100系列的ARM用四个寄存器控制IO口。1、引脚值寄存器(输入寄存器)IO0PIN(32位):对应P0.0~P0.31(32个IO口)的引脚状态。无论IO口处于输入、输出或特殊功能状态,IO0PIN都能读回IO口引脚上的电平。 另注:IO1PIN是P1口的引脚值寄存器,功能与IO0PIN相同。2、方向寄存器IO0DIR(IO1DIR)32位:设置IO口方向的寄存器。对应P0.0~P0.31(32个IO口) 0:输入 1:输出3、输出置位寄存器(输出1) IO0SET(IO1SET)32位输出状态时,置1可输出高电平。置0无效。对应P0.0~P0.31(32个IO口) 4、输出清零寄存器(输出0) IO0CLR(IO1CLR) 32位输出状态时,置1可输出低电平。置0无效。对应P0.0~P0.31(32个IO口) 实验过程:硬件原理图如下: GPIO实验原理图.pdf (21.47 KB) 实验板硬件图如下所示:

正面

背面

程序代码如下: GPIO.rar (31.56 KB) 在IAR 编译器下建立并编译项目,连接H-JTAG仿真器,进行实验功能调试。详细过程参考活动二。实验功能:每按一次键,发光二极管闪动5次。按键保持按下状态,发光二极管一直闪烁。 实验效果演示:进行3个实验效果的演示:1、在DEBUG状态下,观察按键动作以后,指示灯闪烁状态。2、在RELEASE状态下,观察指示灯闪烁状态。3、将程序中,PLL设置部分添加上,再观察RELEASE状态下,指示灯闪烁状态。[实验效果图]1、DEBUG状态下,指示灯闪烁频率比较快。 效果1.rar (9.96 MB) 2、RELEASE状态下,指示灯闪烁频率较慢 [local]8[/local]3、RELEASE状态下,增加PLL设置功能,指示灯闪烁频率加快。[local]9[/local]实验过程中一些经验:1、从DEBUG状态切换到RELEASE状态时,需要对项目重新进行编译2、DEBUG状态下,PLL分频器不起作用。3、程序在RELEASE状态下载以后,再使用debug调试,需要擦除FLASH。擦除方法如下:关闭调试状态,打开H-Flasher,在programming选项下,点击擦除。 IO口是连接ARM与外围电路的接口。在今后的学习和工作中会大量用到。必须深入理解IO口的特性,才能做到最佳应用。本实验演示了IO口的基本功能和使用方法。你还需更深入的研究,比如作为输入时,是否带内部上拉?作为输出时,IO口的驱动能力。连接5V电路时IO口的承受电压能力?希望大家在学习的过程中举一反三,不断的提出问题和解决问题。下一次我们准备做串行口实验,请大家准备一个3.3V的232转换芯片SP3232。我们做串行口实验中要用到。

推荐博客

我是有火救火,无火灌水的救火车
救火车单片机工作室
http://www.qm999.cn

TOP↑

续传视频效果附件

由于附件不能超过15M..实验效果3;在release状态下,使用PLL提高时钟频率 实验效果视频在此发出;
效果3

效果3.rar (9.43 MB)


效果2在5楼、6楼贴出

[ 本帖最后由 救火车 于 2009-4-27 09:57 编辑 ]
我是有火救火,无火灌水的救火车
救火车单片机工作室
http://www.qm999.cn

TOP↑

不错的 动手能力

TOP↑

我来了,又学到不少东西!支持救火车!

TOP↑

实验效果2 PART1

效果2.part1.rar (12.4 MB)
我是有火救火,无火灌水的救火车
救火车单片机工作室
http://www.qm999.cn

TOP↑

效果2 PART2

效果2 PART2

效果2.part2.rar (3.55 MB)


所有实验效果,已经传到优酷视频。链接如下
http://u.youku.com/user_show/id_28992248.html

[ 本帖最后由 救火车 于 2009-4-27 11:05 编辑 ]
我是有火救火,无火灌水的救火车
救火车单片机工作室
http://www.qm999.cn

TOP↑

谢谢楼主啊,哈哈,新手上路

TOP↑

楼主做的不错 刚好可以学习一下IAR环境

楼主做的不错 刚好可以学习一下IAR环境

TOP↑

好可以学习一下IAR环境

TOP↑

回帖是一种美德,回好贴是美德和责任!

TOP↑

24小时排行榜

最近访问的版块