嵌入式实验—电气.doc_第1页
嵌入式实验—电气.doc_第2页
嵌入式实验—电气.doc_第3页
嵌入式实验—电气.doc_第4页
嵌入式实验—电气.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 ADS1.2集成开发环境练习1.1 实验目的1熟悉ADS1.2软件开发环境;2掌握ARM汇编指令的用法,并能编写简单的汇编程序;3掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。1.2 实验内容1使用LDR指令读取0x30003100上的数据,将数据加1,若结果小于10,则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址。2使用ADS1.2软件仿真,单步,全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0,R1的值,打开存储器观察窗口(Memory)监视0x30003100上的值。1.3 预备知识1ARM指令系统内容;2ADS1.2工程编辑和AXD调试的内容。1.4 实验设备硬件:PC机一台。软件:Windows98/XP/2000系统,ADS1.2集成开发环境。1.5 实验步骤 1启动ADS1.2,使用ARM Executable Image工程模板建立一个工程arm1.mcp。2建立汇编源文件arm1.s,编写实验程序,然后添加到工程中。3设置工程连接地址RO Base为0x30000000,RW Base为0x30003000,设置options中的调试口地址Image entry point为0x30000000。4编译连接工程,选择Project|Debug,启动AXD进行软件仿真调试。5打开寄存器窗口(Processor Registers),选择Current项监视R0,R1的值。打开存储器观察窗口(Memory),设置观察地址为0x30003100,显示方式Size为32Bit,监视0x30003100地址上的值。说明:在Memory窗口中点击鼠标右键,Size项中选择显示格式为8bit,16bit,32bit,如图1.1所示。图1.1 Memory窗口显示格式设置寄存器显示格式与之类似。使用鼠标左键选择某一个寄存器,然后点击鼠标右键,Format项中选择显示格式Hex,Decimal等等。如图1.2 所示。图1.2 设置寄存器显示格式6可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行。这时观察寄存器和0x30003100地址上的值。运行结果如图1.3所示。图1.3 实验1结果1.6 实验参考程序汇编指令实验1的参考程序见以下程序清单。COUNT EQU 0x30003100 AREA Example1,CODE,READONLY ENTRY CODE32START LDR R1,=COUNT MOV R0,#0 STR R0,R1LOOP LDR R1,=COUNT LDR R0,R1 ADD R0,R0,#1 CMP R0,#10 MOVHS R0,#0 STR R0,R1 B LOOP END实验二 汇编指令与C语言实验2.1 实验目的通过实验了解使用ADS1.2编写C语言程序,并进行调试。2.2 实验内容编写一个汇编程序文件和一个C程序文件,汇编程序的功能是初始化堆栈指针和初始化C程序的运行环境,然后跳转到C程序运行,这就是一个简单的启动程序.C程序使用加法运算来计算1+2+3+(N-1)+N的值(N0)。2.3 预备知识1ARM指令系统内容;2ADS1.2工程编辑和AXD调试的内容。2.4 实验设备 硬件:PC机一台。软件:Windows98/XP/2000系统,ADS1.2集成开发环境。2.5 实验步骤 1启动ADS1.2,使用ARM Executable Image工程模板建立一个工程c1.mcp。2建立汇编源文件Startup.s和c1.c,编写实验程序,然后添加到工程中。3设置工程连接地址RO Base为0x30000000,RW Base为0x30003000,设置调试口地址Image entry point为0x30000000。4设置位于开始位置的起始代码段,如图2.1所示。图2.1 设置位于开始位置的起始代码段5编译连接工程,选择Project|Debug,启动AXD进行软件仿真调试。6在Startup.s的”B Main”处设置断点, 然后全速运行程序。7程序在断点处停止,单步运行程序,判断程序是否跳转到C程序中运行。8选择Processor Views | Variables打开变量观察窗口,观察全局变量的值,单步/全速运行程序,判断程序的运算结果是否正确。2.6 实验参考程序C语言实验的参考程序见程序清单(一);汇编启动代码见程序清单(二)。程序清单(一) C语言实验参考程序#define uint8 unsigned char#define uint32 unsigned int#define N 100uint32 sum;void Main(void)uint32 i;sum=0;for(i=0;i0;char CR1=0x0A;/*【功能说明】UART 实验*/void Main(void) char input_char;char *pt_str=str;int i;rSYSCFG = CACHECFG; / Using 8KB Cache/Port_Init();Uart_Init(0,115200);Uart_Printf(n);Uart_Printf(str_send);/向超级终端送字符串Delay(500);while(1) *pt_str=Uart_Getch();/从超级终端接收字符Uart_SendByte(*pt_str);if(*pt_str=0x0D)/判断是否是回车if(pt_str!=str)Uart_SendByte(CR0);/换行pt_str=str;while(*pt_str!=0x0D)Uart

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论