微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM7学习笔记---ClimberWin

ARM7学习笔记---ClimberWin

时间:11-18 来源:互联网 点击:
开始学习ARM,从ARM7学习起,从LPC2103开始学。通过LPC2103的练习板子和H-JTAG并口调试器来进行实际练习。

今天做了一个流水灯程序,编译环境是KEIL for ARM。

开始用ARM装了ADS调试软件,是专门调试ARM的编译环境,再加上H-JTAG软件,进行下载调试。但是今天使用了KEIL for ARM来进行编译,因为对KEIL环境还是比较熟悉,所以用KEIL来进行调试。制作了第一个演示程序,LED流水灯程序。

今天还学习了,ARM调试可以选择RAM空间进行调试还可以ROM调试。现在我用的是并口的H-JTAG,也可以用D-LINK等调试器。

下载了PLC2103的数据手册和使用手册,可以在www.NXP.com网站下载,还有应用笔记可以下载,比较实用。

今天学习了I/O口的使用和配置

IODIR是配置IO口输入和输出

IOSET设置IO口为高

IOCLR设置IO口为低

IOPIN 读IO口数据

H-JTAG安装和使用

可以检测到ARM7芯片(LPC2103)

如何和KEIL和ADS连接,HELP文档中都有介绍,具体不记录了。

以下介绍下keil for ARM编译环境的安装、软件的破解,和配置

安装MDK350PRC.EXE,再运行KEIL_Lic.exe进行破解先运行KEIL

第一个流水灯程序:需要新建一个工程文件,名字为led,选取为芯片如下:

在KEIL里如何调试简单说明下:

点击,进入调试界面。首先需要对H-JTAG在KEIL中使用进行配置。

在H-JTAG软件中HELP中查看数据手册

选择芯片类型

填写好晶振

选择好下载格式Intel Hex format,选择好文件路径

在KEIL中还需要进行配置:ROM和RAM的配置

配置好了以后点击调试

出现H-Flasher界面,点击Program就可以进行调试了

LED流水灯源程序:

/**************ARM7(LPC2103)练习程序**************************/

/*************************************************************/

/*****File Function : LED Display *****/

/*****Program Author : ZhengWen(ClimberWin) *****/

/*****MCU : LPC2103F 外部12M晶振 *****/

/*****Compile Date : 2009/12/2 *****/

/*****Edition Info : V1.0 *****/

//编译环境 KEIL for ARM

//LED接口 P0.0-P0.7

//LED流水灯程序OK,第一个ARM练习程序

#include

#include

#define uint unsigned int

#define uchar unsigned char

void delayms(unsigned int count);//延时程序

void led_display(void);//流水灯显示程序

/*************延时程序***************/

void delayms(unsigned int count)

{

unsigned int i,j;

for(i=0;i

for(j=0;j<5000;j++);

}

/**********流水灯显示程序*********/

void led_display(void)

{

uchar i;

for(i=0;i<8;i++)

{

IO0SET=0xff;

IO0CLR=(1

delayms(100);

}

}

/////////////主程序///////////////////

void main(void)

{

IO0DIR=0x000000ff; //配置P0.0-P0.7为输出

while(1)

{

led_display(); //流水灯显示程序

}

}

2009年12月3日星期四 笔记

开始学习LPC2103的UART串口

UART0练习

U0LCR配置

波特率计算公式:

其中DivAddVal/MulVal 分频用,值如下表,这样可以减少波特率误差

当DivAddVal/MulVal=0时;

所以可以计算锁存器高位和低位的数值

U0DL = (PCLK/16)/baudrate;

U0DLM= U0DL/256;

U0DLL = U0DL%256;

在开始设置串口参数的时候需要把U0LCR 的DLAB置1

在结束设置串口参数的时候需要把U0LCR 的DLAB置0测试结果:

UART0测试源程序:

/**************ARM7(LPC2103)练习程序**************************/

/*************************************************************/

/*****File Function : UART test *****/

/*****Program Author : ZhengWen(ClimberWin) *****/

/*****MCU : LPC2103F 外部11.0592M晶振 *****/

/*****Compile Date : 2009/12/3 *****/

/*****Edition Info : V1.0 *****/

/*************************************************************/

//编译环境 KEIL for ARM

//功能描述:串口练习,使用UART0向串口发送字符和字符串

#include

#include

#define uint unsigned int

#define uchar unsigned char

#define PCLK 11059200 //晶振频率

#define baudrate 9600 //设置波特率

#define PE (U0LSR&0x40) //定义串口数据发送忙碌与否,PE=1忙碌;PE=0;不忙绿

void delayms(unsigned int count); //延时程序

void UART0_INT(void); //串口初始化

void UART0_SendByte(unsigned char data); //串口发送字节

void UART0_SendStr(unsigned char const *str);//串口发送字符串

/*************延时程序***************/

void delayms(unsigned int count)

{

unsigned int i,j;

for(i=0;i

for(j=0;j<5000;j++);

}

/***********串口0初始化**********************/

void U

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top