Lpc2136实验.docx
- 文档编号:18332564
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:23
- 大小:216.17KB
Lpc2136实验.docx
《Lpc2136实验.docx》由会员分享,可在线阅读,更多相关《Lpc2136实验.docx(23页珍藏版)》请在冰点文库上搜索。
Lpc2136实验
Lpc2136实验
1实验一LPC2136I/O口实验
1.1实验目的
�熟悉ADS开发环境。
�掌握lpc2136的寄存器的配置。
�熟悉c语言编程。
1.2实验设备
�LPC2136开发板、PC机、JTAG调试板。
1.3实验内容
�建立ADS开发环境。
�编程实现对开发板上I/O口控制。
1.4实验原理
LPC2136的管脚大多具有一个以上的功能,可以通过管脚连接模块将管脚连接到不同的功能模块,在使用任何一种功能模块之前必须进行管脚连接配置,否则芯片将使用默认连接。
管脚选择寄存器如下
LPC2136具有多达47个通用I/O口,需要进行相关的管脚连接模块选择连接GPIO,然后通过IODIR进行输入/输出属性设置后才能操作。
当管脚选择GPIO功能是,有3个寄存器用于控制GPIO的使用,IOSET、IOCLR和IOPIN。
IOSET用于口线置1,而IOCLR则用于口线清零,IOPIN则反映当前IO口的状态,读回IOSET则反映当前IO口的设定状态。
1.5实验程序
#include"config.h"
uint32n;
voidDelayNS(uint32dly)
{
uint32i;
for(;dly>0;dly--)
for(i=0;i<5000;i++);
}
intmain(void)
{
PINSEL2=PINSEL2&(~0x08);//P1[25:
16]连接GPIO
IO1DIR=(1<<23);//设置输出
while
(1)
{
IO1SET=(1<<23);//输出高电平
DelayNS(10);
n=IO1PIN;
IO1CLR=(1<<23);//输出低电平
DelayNS(10);
n=IO1PIN;
}
return0;
}
1.6实验步骤
1.连接好实验环境,JTAG板一端与PC的并口连接好,另一端连接在开发板的JTAG接口,打开H-JTAG。
2.打开ADSCodeWarrior,使用模板ARMExecutableImageforlpc2131新建工程GPIO.mcp,并在main.c中添加程序。
3.对工程文件进行相应设置(参考《ADS使用手册》)。
4.编译该工程,则生成映像文件led.axf。
打开AXD,装载映像文件led.axf。
5.运行程序,观察结果,记录变量和寄存器PINSEL2、IO1DIR、IO1SET、IO1CLR、IO1PIN的数据变化。
1.7实验结果
I/O循环输出高、低电平。
2实验二LPC2136控制皮带秤速度实验
2.1实验目的
�熟悉ADS开发环境。
�掌握lpc2136的寄存器的配置。
�熟悉c语言编程。
�了解变频器相关知识。
�熟悉变频器的参数设置。
2.2实验设备
�LPC2136开发板、PC机、JTAG调试板、配料生产线控制技术综合实验台、三相异步电机。
2.3实验内容
�建立ADS开发环境。
�编程实现D/A转换。
�设置变频器参数。
�使用D/A转换程序控制变频器
2.4实验原理
LPC2136的管脚大多具有一个以上的功能,可以通过管脚连接模块将管脚连接到不同的功能模块,在使用任何一种功能模块之前必须进行管脚连接配置,否则芯片将使用默认连接。
管脚选择寄存器如下
LPC2136内部有一个十位的D/A转换器,需要进行相关的管脚连接模块选择连接D/A功能后,然后通过DACR进行D/A转换操作。
变频器是交流电气传动系统的一种,是将交流工频电源转换成电压、频率均可变的适合交流电机调速的电力电子变换装置,英文简称VVVF(VariableVoltageVariableFrequency),变频器的控制对象三相交流异步电机和三相交流同步电机,标准适配电机极数是2/4极。
2.5实验程序
/****************************************************************************
*功能:
本程序实现皮带秤流速控制,用变频器控制电机速度,使电机处于匀加速状态。
*****************************************************************************/
#include"config.h"
#defineN5//变频器加数
#defineDA_ON0x01<<19
#defineDA_SPEED1023//电机速度设定
/******************************************************************************
*名称:
DAtrans()
*功能:
DA转换
*入口参数:
要转换的D值
*出口参数:
*说明:
无
******************************************************************************/
voidDAtrans(uint32Da_data)
{
DACR=(Da_data<<6)&0x0000ffc0;//设置DA转换
}
/******************************************************************************
**函数名称:
DelayNS()
**函数功能:
长软件延时
**入口参数:
dly延时参数,值越大,延时越久
**出口参数:
无
******************************************************************************/
voidDelayNS(uint32dly)
{
uint32i;
for(;dly>0;dly--)
for(i=0;i<50000;i++);
}
/******************************************************************************
*名称:
main(void)
*功能:
主函数
*入口参数:
无
*出口参数:
无
*说明:
无
*******************************************************************************/
intmain(void)
{
uint32DA_data;
DA_data=3;//给定初速度为0
PINSEL1|=DA_ON;//P0.25选择DA有效
while
(1)
{
if(DA_data<=DA_SPEED)
{
DAtrans(DA_data);//DA转换
DA_data=DA_data+N;//速度增加
DelayNS(100);
}
else
break;
}
DelayNS(8000);
return0;
}
2.6实验步骤
1.连接好实验环境,JTAG板一端与PC的并口连接好,另一端连接在开发板的JTAG接口,打开H-JTAG。
2.打开ADSCodeWarrior,使用模板ARMExecutableImageforlpc2131新建工程GPIO.mcp,并在main.c中添加程序。
3.对工程文件进行相应设置(参考《ADS使用手册》)。
4.将配料生产线控制技术综合实验台上的D/A接口与电压控制接口用导线连接起来。
5.编译该工程,则生成映像文件led.axf。
打开AXD,装载映像文件led.axf。
6.运行程序,观察结果,记录变量和寄存器PINSEL2、IO1DIR、IO1SET、IO1CLR、IO1PIN的数据变化。
2.7实验结果
3实验三A/D转换器应用及其称重传感器测试实验
3.1实验目的
�熟悉ADS开发环境。
�熟悉c语言编程。
�了解A/D转换相关知识。
�掌握LPC2136A/D转换模块相关寄存器设置。
�掌握称重传感器的原理
�测试称重传感器的性能参数
3.2实验设备
�LPC2136开发板、PC机、JTAG调试板、配料生产线控制技术综合实验台、皮带秤一台。
3.3实验内容
�建立ADS开发环境。
�编程实现A/D转换。
�计算A/D转换后的电压值。
�测试皮带秤的皮重
�往皮带秤上加重量测试称重传感器的性能
3.4实验原理
称重传感器是根据力一电转换、由非电量转换为电量的工作原理而工作的,按其工作原理可分为电阻应变式、电容式、电感式、压磁式、压电式、振弦式等多种类型,其中,最常用的是电阻应变式称重传感器。
电阻应变式称重传感器按其结构又分为柱形(筒形)、箱形、悬臂梁形、平行梁型、剪切梁形、圆环形和轮辐形等多种类型。
A/D转换器(ADC,A/Dconverters)的基本时钟由VPB时钟提供。
每个转换器包含一
个可编程分频器,可将时钟调整至逐步逼近转换所需的4.5MHz(最大);完全满足精度要
求的转换需要11个转换时钟。
LPC2131具有1个10位8路A/D转换器。
启动A/D转换的方式非常灵活,既可以单路
软件启动,也可以设置为BURST模式对某几路信号逐个循环采样。
与其它LPC2000系列
微控制相比,LPC2131增加了独立的基准电压源引脚,这对提高转换精度很有利。
LPC2136A/D特性
1个10位逐次逼近式模数转换器;
8个管脚复用为输入脚;
掉电模式;
测量范围:
0~3V;
10位转换时间≥2.44us;
一个或多个输入的Burst转换模式;
可选择由输入跳变或定时器匹配信号触发转换。
寄存器描述
A/D转换器的基址是0xE0034000。
A/D转换器包含2个寄存器。
。
由于满额为
3.30V,且转换精度为10位,即2^10=1024级,假定从AD转换寄存器AD0DR读到的值为
VALUEAD0DR,则实际电压Uw1为:
3.5实验程序
/****************************************************************************
*功能:
本程序实现皮带秤流速控制,用变频器控制电机速度,使电机处于匀加速状态。
****************************************************************************#include"config.h"
#defineN10
uint32ADC_Data,sum,AD_result;
/*
*******************************************************************************************************
**函数名称:
DelayNS()
**函数功能:
长软件延时
**入口参数:
dly延时参数,值越大,延时越久
**出口参数:
无
*******************************************************************************************************
*/
voidDelayNS(uint32dly)
{
uint32i;
for(;dly>0;dly--)
for(i=0;i<5000;i++);
}
/*
*******************************************************************************************************
**函数名称:
main()
**函数功能:
进行3通道电压ADC转换,并把结果转换成电压值,发送到串口。
**调试说明:
在config.h中包含stdio.h
*******************************************************************************************************
*/
intmain(void)
{
//uint32str[20];
uint32i;
sum=0;
PINSEL1=(PINSEL1&(~(3<<22)))|(1<<22);//P0.30连接到AD0.3
/*进行ADC模块设置*/
AD0CR=(1<<0)|//SEL=1,选择通道0
((Fpclk/1000000-1)<<8)|//CLKDIV=Fpclk/1000000-1,转换时钟为1MHz
(0<<16)|//BURST=0,软件控制转换操作
(0<<17)|//CLKS=0,使用11clock转换
(1<<21)|//PDN=1,正常工作模式
(0<<22)|//TEST1:
0=00,正常工作模式
(1<<24)|//START=1,直接启动ADC转换
(0<<27);//直接启动ADC转换时,此位无效
DelayNS(10);
ADC_Data=AD0DR;//读取ADC结果,并清除DONE标志位
while
(1)
{
sum=0;
for(i=0;i { AD0CR|=1<<24;//再次启动转换 while((AD0DR&0x80000000)==0);//等待转换结束 ADC_Data=AD0DR;//读取ADC结果 ADC_Data=(ADC_Data>>6)&0x3ff; sum=sum+ADC_Data;//求和 } AD_result=sum/N;//算平均 AD_result=AD_result*3300; AD_result=AD_result/1024; } return0; } 3.6实验步骤 1.连接好实验环境,JTAG板一端与PC的并口连接好,另一端连接在开发板的JTAG接口,打开H-JTAG。 2.打开ADSCodeWarrior,使用模板ARMExecutableImageforlpc2131新建工程A/DTEST.mcp,并在main.c中添加程序。 3.对工程文件进行相应设置(参考《ADS使用手册》)。 4.编译该工程,则生成映像文件led.axf。 打开AXD,装载映像文件led.axf。 5.运行程序,观察结果,记录变量和寄存器的数据变化。 3.7实验结果 实验四定时器定时测试以及捕获采集速度传感器实验 4.1实验目的 �熟悉ADS开发环境。 �熟悉c语言编程。 �了解定时器及其熟读传感器相关知识。 �掌握定时器模块相关寄存器设置。 �掌握速度传感器的原理 �测试速度传感器的性能参数。 4.2实验设备 �LPC2136开发板、PC机、JTAG调试板、配料生产线控制技术综合实验台、皮带秤一台。 4.3实验内容 �建立ADS开发环境。 �编程实现定时和捕获实验。 �测试不同速度下1秒内速度传感器的脉冲数。 �测试速度传感器的性能 4.4实验原理 当安装在被测转轴上的齿轮(导磁体)旋转时,其齿依次通过永久磁铁两磁极间的间隙,使磁路的磁阻和磁通发生周期性变化,从而在线圈上感应出频率和幅值均与轴转速成比例的交流电压信号u0。 LPC2131具有2个32位可编程定时/计数器,均具有4路捕获、4比较路匹配并输出电 路。 定时器对外设时钟(pclk)周期进行计数,可选择产生中断或根据4个匹配寄存器的设定,在到达指定的定时值时执行其它动作(输出高/低电平、翻转或者无动作)。 它还包括4个捕获输入,用于在输入信号发生跳变时捕获定时器值,并可选择产生中断。 可用于对内部事件进行计数的间隔定时器,或者通过捕获输入实现脉宽调制,亦可作为自由运行的定时器。 32位定时器TC的计数频率由pclk经过PR进行分频控制得到,而定时器的启动/停止、计数复位由TCR控制,当有捕获事件或者比较匹配事件发生时,IR会设置相关中断标志(因为不是定时器溢出而产生中断,所以图上用虚线连接),若已打开中断允许(VIC),则会产生中断。 当然,预分频控制器PR只是控制分频数,而其对应的分频计数器是PC,但用户无须操作PC寄存器。 定时器比较匹配输出由控制寄存器MCR进行匹配操作设置,而MR0~MR3寄存器则为4路比较匹配通道的比较值。 当比较匹配时,将会按照MCR的设置方法产生中断或者复位TC等,而且EMR可以控制比较匹配输出,可以匹配输出高电平、低电平、电平翻转等。 定时器TC运行过程中,当有捕获触发信号产生时,捕获电路将会立即把当 时的定时器值TC复制到对应触发通道的捕获寄存器中。 捕获可以设置为上升沿触发、下降 沿触发、双边沿触发,并可设置为捕获中断,这些设置是通过CCR完成的。 定时器基本操作方法: 计算定时器的时钟频率,设置PR寄存器进行分频操作; 设置比较匹配通道的初值及其工作模式,若是使用捕获功能,则设置捕获方式; 若使用定时器的相关中断,则设置VIC,使能中断; 设置TCR,启动定时器。 如前所述,定时计数器时钟频率计算如下: 4.5实验程序 #include"config.h" #defineWHITE1 #defineBLACK0 uint32second=0; uint32n=0; uint32x=0; unsignedcharMatrix000[]= { /*------------------------------------------------------------------------------ ;源文件/文字: 捕获测速实验 ;宽×高(像素): 18×96 ------------------------------------------------------------------------------*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x20,0xA0,0x04,0x40,0x40,0x08,0x40,0x80, 0x02,0x00,0x00,0x40,0x20,0x90,0x04,0x48, 0x2F,0x88,0x20,0x88,0x01,0x00,0xF8,0x40, 0x20,0x80,0xFF,0xFC,0x28,0xA8,0x2F,0xFC, 0x3F,0xFC,0x08,0xA0,0xFF,0xFC,0x04,0x40, 0x0A,0xA8,0x00,0x80,0x20,0x04,0x48,0xA0, 0x20,0x80,0x28,0x00,0x8A,0xA8,0x07,0xF0, 0x49,0x08,0x49,0x10,0x27,0xF8,0x10,0x50, 0x4A,0xA8,0xE4,0x90,0x05,0x00,0x4A,0x0C, 0x34,0x88,0x30,0x48,0x5A,0xA8,0x27,0xF0, 0x11,0x00,0x49,0xF0,0x67,0xF8,0xCB,0xFC, 0x2A,0xA8,0x20,0xC0,0x09,0x00,0x7C,0x00, 0xA4,0x88,0x18,0x40,0x2A,0xA8,0x21,0xA0, 0x09,0x08,0x06,0x90,0x27,0xF8,0x28,0xA0, 0xCA,0xA8,0x22,0x90,0x7F,0xFC,0x35,0x50, 0x24,0x88,0xC8,0xA0,0x42,0x08,0x24,0x88, 0x02,0x80,0xC5,0x50,0x24,0x88,0x09,0x10, 0x45,0x08,0x50,0x80,0x04,0x60,0x05,0x20, 0xA4,0xA8,0x52,0x08,0x48,0xA8,0x88,0x00, 0x18,0x18,0x28,0x20,0x44,0x90,0x24,0x04, 0x50,0x90,0x07,0xFC,0x60,0x08,0x17,0xFC, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; /* ********************************************************************************************************* **函数名称: IRQ_Timer0() **函数功能: 定时器0中断服务程序,取反LED9控制口。 **入口参数: 无 **出口参数: 无 ********************************************************************************************************* */ void__irqIRQ_Timer0(void) { n=n+1; T0IR=0x40; VICVectAddr=0x00;/*通知VIC中断处理结束 } /* **********************************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Lpc2136 实验