ARM7实验指导a1汇总.docx
《ARM7实验指导a1汇总.docx》由会员分享,可在线阅读,更多相关《ARM7实验指导a1汇总.docx(12页珍藏版)》请在冰豆网上搜索。
ARM7实验指导a1汇总
ARM7实验指导书
(LPC2103)
(A)
电气与信息学院实验室
2009-11-1
前言1
SKDARM7实验板简介………………………………………………………………………………1
SKDARM7(LPC2103)实验软件界面…………………………………………………………2
1ARM7(LPC2103)硬件实验…………………………………………………………………3
1.1流水灯实验………………………………………………………………………………………3
1.2蜂鸣器、继电器……………………………………………………………………………………4
1.3输入输出实验……………………………………………………………………………………5
1.4定时器实验…………………………………………………………………………………6
1.5外部中断实验……………………………………………………………………………………8
1.6数码显示器实验………………………………………………………………………………11
1.7D/A转换扩展验…………………………………………………………………………………12
1.8A/D转换实验……………………………………………………………………………………14
1.9I2C实验…………………………………………………………………………………………37
1.10实时时钟实验…………………………………………………………………………………40
1.11看门狗实验……………………………………………………………………………………44
1.12综合实验(A/D+D/A+GPIO+时间+日期+液晶(或数码))
实验1.数码管循环显示实验
一、实验目的
了解数码管动态显示原理,学会LPC2103通用I/O口的使用。
二、实验及说明
本实验中共接入了8个共阳八段数码管(数码管阳极连在一起),演示数码管中的某一段点亮只需在对应的位置写入“0”即可。
在这里74HC595实现了数据串并转换的功能,试验中用到的两片74HC595分别用于控制八个数码管的位选和其中每个数码管的段选。
本实验循环显示了十六进制数码“0—F”。
三、实验说明
四、实验步骤
4.1实验连线
段选控制芯片(U7:
74HC595)时钟控制端接LPC2103总线接口模块的P0.4,数据输入端接总线接口模块的P0.6,选通端接跳线JP9。
数据输出端分别接数码管段选端。
位选控制芯片(U8:
74HC595)时钟控制端接LPC2103总线接口模块的P0.4,数据端接总线接口模块的P0.7,选通端接跳线JP10。
数据输出端分别接数码管位选端。
JP9:
左跳数码管段选芯片(U7)片选有效,右跳液晶显示EN有效。
JP10:
左跳数码管位选芯片(U8)片选有效,右跳液晶显示CS2有效。
JP14:
左跳数码管段选、位选电源端(+3.3V)有效。
JP15:
左跳数码管段选、位选芯片接地端(GND)有效。
4.2仿真器的设置:
一般选用JTAG调试,若使用RelInFlash生成目标时,编译连接生成的目标代码会将芯片加密。
此时调试无法继续,须将硬件调成ISP模式进行全片擦除。
4.3运行程序:
show.hex
4.4接通电源,观察实验板上数码管的变化。
实验2.按键输入与数码管显示实验
一、 实验目的
学习键盘工作原理,掌握数据输入输出的方法。
二、 实验内容及原理
矩阵键盘扫描原理:
由处理器通过行线给某一行按键送入低电平信号,按键在未使用的情况下列线上拉高电平信号,处理器对行线输出相连的I/O口进行扫描,当扫描到低电平信号时证明对应的键被按下。
本实验中采用的是2*8键盘,为了减少对处理器芯片I/O接口的直接引用,实验中使用了一片74HC595(U6)用来实验数据串并转换。
三、实验原理图
四、实验步骤
4.1实验连线
74HC595(U6)时钟控制端接LPC2103总线接口模块的P0.19,数据输入端接总线接口模块的P0.20,选通端接总线接口模块的P0.21。
数据输出端接按键行扫描输入端。
按键8根行线接74HC595的数据输出端,2根列线分别接LPC2103总线接口模块的P0.17,P0.18.同时在列线上接入+3.3V电源和上拉电阻以确保在没有信号输入的情况下列线给处理器送入的是高电平信号。
4.2仿真器的设置:
一般选用JTAG调试,若使用RelInFlash生成目标时,编译连接生成的目标代码会将芯片加密。
此时调试无法继续,须将硬件调成ISP模式进行全片擦除。
4.3运行程序:
keytest.hex
4.4接通电源,按下按键并观察实验板上数码管的变化。
实验3.AD转换、显示实验
一、实验目的
了解LPC2103内置AD转换芯片的使用方法及硬件连接方法。
二、实验内容及说明
AD转换器特性:
10位逐次逼近式数模转换器;
测量范围:
0~3.3V
10位转换时间≥2.44us;
一路或多路输入的Rurst转换模式;
转换触发信号可选择;
输入引脚的跳变或定时器的匹配;
具有掉电模式
LPC2103内置AD转换器的使用主要通过对内部寄存器的设置来实现。
AD转换器共包括12个寄存器分别用来控制AD转换,读取AD转换的状态,设置AD转换的中断方式,记录不同AD转换通道中的转换结果。
三、实验原理图
四、实验步骤
4.1实验连线
将电位器中间抽头接到LPC2103的模拟输入通道口如:
P0.22.
4.2仿真器的设置:
一般选用JTAG调试,若使用RelInFlash生成目标时,编译连接生成的目标代码会将芯片加密。
此时调试无法继续,须将硬件调成ISP模式进行全片擦除。
4.3运行程序:
ad.hex
4.4接通电源,调节电位器并观察实验板上数码管的变化。
实验4.数码管显示时间和日期实验
一、实验目的
了解LPC2103内置实时时钟使用方法及硬件连接方法。
二、实验内容及说明
实时时钟提供一套计数器无论系统处于何种状态使得他都可以对时间进行测量,它可由独立的32.768kHZ振荡器或基于VPB时钟的可编程预分频器来提供。
实时时钟的特性:
测量保持日历和时钟的时间通路;
超低功耗设计,支持电池供电系统;
提供秒、分、小时、日、月、年和星期;
指定的32kHZ振荡器或可编程VPB时钟预分频器;
专用电源管脚可与电池或3.3V的电压相连;
LPC2103内置实时时钟的使用主要通过内部寄存器的设置来实现,共分为4个部分。
在本实验中首先要对实时时钟初始化,初始化时首先要设置预分频器给实时时钟提供基准时钟信号,同时在时间计数器组中将设置初始时间,在本实验的时间显示中为了将小时,分钟,秒隔开,在数码演示的3、5位显示“—”,同时让“—”一秒钟每一次以提示秒值的到来。
实时时钟中的计数器递增中断寄存器可以用来帮助实现此功能。
因此在初始化是要将此寄存器设置为秒值的增加产生一次中断。
实时时钟初始化完成后通过完整时间寄存器0、完整时间寄存器1获取所需要的时间值。
实验通过数码管显示了时间值,日期值。
三、实验步骤
3.1实验连线
本实验中的内容完全由处理器内置功能来完成,需要连线的地方仅是数码显示方面的,这部分在之前的实验中已经介绍过。
3.2仿真器的设置:
一般选用JTAG调试,若使用RelInFlash生成目标时,编译连接生成的目标代码会将芯片加密。
此时调试无法继续,须将硬件调成ISP模式进行全片擦除。
3.3运行程序:
data.hex,time.hex
3.4接通电源,观察实验板上数码管的变化。
实验5.DA转换实验
一、实验目的
了解TLC5615的工作原理及使用方法。
二、实验内容及说明
TLC5615是带有缓冲基准输入(高阻抗)的10位电压输出数字—模拟转换器(DAC)。
DAC具有基准电压两倍的输出电压范围,且DAC是单调变化的。
器件使用简单,用单5V电源工作。
器件具有上电复位(power-on-reset)功能以确保可重复启动。
TLC5615的特点:
在8引脚封装内10位CMOS电压输出DAC;
5V单电源工作;
3线串行接口;
高阻抗基准输入;
电压输出范围——基准输入电压2倍;
内部上电复位;
低功耗,1.21MHZ的更新率;
在温度范围内保持单调性;
TLC5615在进行数据转换时,首先要将片选CS置为低电平,此时输入数据可读入16位移位寄存器,它由时钟同步且最高有效位在前。
SLCK输入的上升沿把数据移入输入寄存器。
接着CS的上升沿把数据传送至DAC寄存器。
当CS为高电平时,输入数据不能由时钟同步送入输入寄存器。
所有CS跳变应当发生在SCLK输入为低电平时。
在此还有一点需要注意的是DAC输入寄存器为12位宽的,因此我们在进行数据的读入时,除了要读入10位数据外,还应在其后的低两位写入两个数据0。
本实验实现了将某一数字量变化为模拟量的功能。
三、实验原理图
四、实验步骤
4.1实验连线
TLC5615模块的时钟端接CPU总线接口模块的P0.25。
TLC5615模块的片选端接CPU总线接口模块的P0.26。
TLC5615模块的数据输入端接CPU总线接口模块的P0.24。
TLC5615模块的数据输出端接插针J2的3脚。
4.2仿真器的设置:
一般选用JTAG调试,若使用RelInFlash生成目标时,编译连接生成的目标代码会将芯片加密。
此时调试无法继续,须将硬件调成ISP模式进行全片擦除。
4.3运行程序:
da.hex
4.4接通电源,用万用表测插针J2—3脚的电压,检测是否与预定输入值相符。
实验使用说明:
JTAG模式:
使用JTAG调试程序时,需短接JP8(DBSEL引脚)。
ISP模式:
使用ISP下载程序时,上电前需短接JP7(拉低P0.14脚)。
实验6.蜂鸣器与继电器实验
一、实验目的
1.学习ARM7基本的GPIO口线定义及IO方向定义
2.学习IO口线的基本操作
3.学习使用IO口线控制蜂鸣器与继电器
二、实验内容说明
LPC2103具有两个PINSEL寄存器,PINSEL0和PINSEL1,它们都是32位宽度。
PINSEL0和PINSEL1寄存器中的每两个位控制着一个引脚的功能,所以一个引脚最多可以有4种不同的功能选择。
当引脚选择GPIO功能时,使用IODIR寄存器可以控制引脚的方向,该寄存器单独控制每个I/O口的方向。
三、实验原理图
四、实验步骤
1.JP19短接、JP3短接(蜂鸣器实验);JP20->DELAY、JP3短接(继电器实验)
2.ADS1.2中编写源程序并调试,最后形成.hex
3.烧写.hex文件到实验板
4.按复位键运行
实验7.流水灯实验
一、实验目的
1.学习基本的IO口线定义及输入输出方向定义
2.学习串并转换器件HC595的使用方法
3.学习用查询方式读IO口线上的开关量
二、实验内容说明
ARM7的口线在使用前均要给出功能定义,有些功能还要给出方向的定义,本次实验中所用口线均被定义为基本的IO功能,其中P0.16方向为输入,P0.4、P0.10、P0.12方向为输出。
HC595芯片有3个数据量输入端,在数据转换中分别用于片选(ST_CP)、数据输入(DS)和时钟产生(SH_CP);9个数据输出端(Q0-Q7,Q7’ ——用于级联);OE使能端;MR低点平时将移位寄存器的数据清零,通常将它接VCC。
三、实验原理图
四、实验步骤
1.开发板上JP11->LED、JP12->LED、JP13->LED、JP3短接
2.ADS1.2中编写源程序并调试,最后形成.hex
3.烧写.hex文件到实验板
4.按复位键运行
实验8.中断实验
一、实验目的
1.学习向量中断控制寄存器的设置方法
2.学习使用外部中断源引起中断
3.学习定时器中断
二、实验内容说明
ARM7的中断方式很多,有32个中断请求输入,16个向量IRQ中断。
外部中断有三个EINT0(P0.16)、EINT1(P0.15)、EINT2(P0.14),还有四个定时器可以引起中断。
中断的触发方式也很多,可以使用外部中断模式寄存器(EXTMODE)和外部中断极性寄存器(EXTPOLAR)相结合来确定触发方式。
本次试验使用按键触发外部中断,进而控制LED的点亮与熄灭;设置定时计数器,0.5s定时产生中断控制LED的点亮与熄灭。
三、实验原理图
四、实验步骤
1.JP3短接、LED4-1中P0.17短接(定时器中断只要求P0.17短接)
2.ADS1.2中编写源程序并调试,最后形成.hex
3.烧写.hex文件到实验板
4.按复位键运行
综合实验按键扫描LCD12864显示D/AA/D
一、实验目的
1.学习使用HC595构建扫描键盘
2.学习LCD12864的读写操作,将A/D转换结果在屏上显示
3.学习使用ARM7内部A/D,实现对信号的采样
4.学习使用D/A,将A/D转换结果再转换为模拟量
二、实验内容说明
通常情况下构建4X4键盘需要8条IO线,使用HC595可以在口线占用率较低(5条)的情况下构建4X4键盘。
LCD12864是由128列,64行构成的液晶显示模块,可以通过IO口线对其进行读写操作。
ARM7内部有八路A/D转换,可进行3~10位的A/D转换,测量范围:
0~3.3V,转换速率依据A/D转换的位数不同而不同,10位需要11个时钟,9位需要10个时钟,依次类推。
TLC5615是D/A转换器件,本实验中利用它将A/D转换结果还原为模拟量输出,在DAC-VOUT上测的电压值后与液晶显示结果相比较。
三、实验原理图
四、实验步骤
1.将跳线跳到正确位置JP9->EN、JP10->CS2、JP11->CS1、JP12->LCD、JP13->LCD
2.ADS1.2中编写源程序并调试,最后形成.hex
3.烧写.hex文件到实验板
4.按复位键运行