华电ARM嵌入式系统实验报告.doc
上传人:sy****28 上传时间:2024-09-11 格式:DOC 页数:6 大小:70KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

华电ARM嵌入式系统实验报告.doc

华电ARM嵌入式系统实验报告.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

将AD的采样结果放置到片外FLASH中显示一、实验目的1.了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程。2.掌握ARM启动的基本知识和流程。3.掌握运用AD采集信号并在片外显示。二、实验设备1.ARM7电路板,PentiumII以上的PC机,仿真器电缆。2.PC操作系统WINXP,ARMSDT2.5集成开发环境。三、实验步骤1.本实验使用实验教学系统的CPU板显示读出的数据。2.在PC机并口和实验箱的CPU板上的JTAG接口之间,连接SDT调试电缆。3.接入电源线缆,给系统上电。4.打开SDT开发环境,对代码进行编译调试,编译通过后,首先启动JTAG驱动程序,之后运行SDT的调试环境,装载实验程序。四、实验内容1.将十次的AD采样结果,放置到片外FLASH当中。主程序如下:/***************************************************************************文件名:I2CTEST.C*功能:使用硬件I2C对ZLG7290进行操作,利用中断方式操作。*说明:将跳线器JP5短接。*************************************************************************/#include"config.h"#defineZLG72900x70/*定义器件地址*/#defineGlitter_COM0x70#defineBAUD9600//波特率设置值uint32ADC_Data;uint8count=0;#defineFLASH_ADDR0x81000000//转换地址。将要发送给SST39VF160的地址值进行转换,以便于LPC2210输出。//由于SST39VF160的A0是与LPC2210的A1相连,所以addr要左移1位。#defineGetAddr(addr)(volatileuint16*)(FLASH_ADDR|(addr<<1))#defineUART_BPS115200/*定义通讯波特率*//***************************************************************************名称:WordProgram()功能:半字(16位)数据编程。*入口参数:Addr编程地址(SST39VF160内部地址)Data编程数据*出口参数:返回TRUE表示操作成功,返回FALSE表示操作失败*************************************************************************/uint8WordProgram(uint32Addr,uint16Data){volatileuint16*ip;uint16temp1,temp2;ip=GetAddr(0x5555);//转换地址0x5555ip[0]=0xaaaa;//第一个写周期,地址0x5555,数据0xAAip=GetAddr(0x2aaa);ip[0]=0x5555;//第二个写周期,地址0x2aaa,数据0x55ip=GetAddr(0x5555);ip[0]=0xa0a0;//第三个写周期,地址0x5555,数据0xA0ip=GetAddr(Addr);*ip=Data;//第四个写周期,地址Addr,数据Datawhile(1)//等待操作完成(若编程操作没有完成,每次读操作DQ6会跳变){temp1=*ip;temp2=*ip;if(temp1==temp2){if(temp1!=Data){return(FALSE);}else{return(TRUE);}}}return(TRUE);}/*************************************************************************名称:IRQ_Time0()功能:定时器0中断服务程序,取反BEEPCON控制口。*入口参数:无出口参数:无************************************************************************/void__irqIRQ_AD(void){VICVectAddr=0x00;//通知VIC中断处理结束}/************************************************************