- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式实训10嵌入式实训10
嵌入式实训10——维信科技
一、实训目的
1.了解ARM汇编指令并能编写简单汇编程序
二、实训内容(维信科技,太原最好的IT培训)
1.用汇编语言实现对ARM的四路I/O通道输出控制,实现环形脉冲分配用于控制步进电机的转动。
2.掌握C语言调用汇编的方法,学会对汇编程序的单步跟踪,会查看内存地址及寄存器中的数据内容。
3.了解各种指令使用时的数据对齐方式,特别注意在使用DCB指令时对数据对齐方式的影响。
三、预备知识
1.了解ADS1.2集成开发环境,创建分组文件夹并添加相应文件。
2.了解ARM应用程序的框架结构(维信科技,太原最好的IT培训)。
3.了解步进电机的基本原理,掌握环形脉冲分配的方法。
四、设备及工具
硬件:ARM嵌入式实验箱,其主要包括:ARM嵌入式开发板,用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上
软件:PC机操作系统Win98以上、ARM SDT2.51或ADS1.2集成开发环境、仿真器驱动程序。
五、原理及说明
步进电机的工作原理在电机转动控制实验中有详细的说明,在此从略。本节程序所完成的任务就是对74HC573的高四位进行操作来完成步进电机的脉冲分配。下面仅对本实验中用到的汇编指令及C语言如何调用汇编程序做相应说明。在C语言中调用汇编先要完成两件工作,第一:在C语言程序中使用extern关键字声明外部函数,即是声明要调用的汇编子程序(维信科技,太原最好的IT培训)。第二:在汇编程序中使用export伪指令声明C中要调用的汇编程序,使用export声明后其它程序可以调用此汇编程序。现举例如下:
1.C中调用汇编程序
#include stdio.h
extern void strcopy(char *d, const char *s); //声明外部函数
int main()
{ const char *srcstr = First string - source ;
char dststr[] = Second string - destination ;
/* dststr is an array since were going to change it */
printf(Before copying:\n);
printf( %s\n %s\n,srcstr,dststr);
strcopy(dststr,srcstr); //C中调用汇编函数
printf(After copying:\n);
printf( %s\n %s\n,srcstr,dststr);
return (0);
}
2.汇编语言字符串拷贝子程序
AREA SCopy, CODE, READONLY
EXPORT strcopy ;此句保证其他程序可调用此程序
strcopy ; r0 指向目标字符串
; r1 指向源字符串
LDRB r2, [r1],#1 ; 装载字节后将地址加1
STRB r2, [r0],#1 ; 存存字节后将地址加1
CMP r2, #0 ; Check for zero terminator.
BNE strcopy ; 如果r2不等于零跳转
MOV pc,lr ; 返回
END
对汇编的首行代码解释如下:
AREA用于定义一个代码或数据段(维信科技,太原最好的IT培训),sCopy段名,CODE表示代码段,如是数据段用DATA表示,READONLY表示属性是只读。
3.编写汇编的注意事项和指令说明
汇编指令不可顶在一行的开头写,指令不能大小写混和,一定注意取的是地址还是地址中的数据,弄错程序就跑飞了。在使用DCB内存分配伪指令后数据的对齐方式会发生改变,再使用STR或LDR指令时要注意。更详细的指令可参考附录或ADS的在线帮助(维信科技,太原最好的IT培训)。
4.原理图如图2-30所示。
图2-30 74HC573控制原理
本节程序用到的指令说明。
AREA STEP,CODE,READONLY
EXPORT STEPCTROL
STEPCTROL
您可能关注的文档
- 山东省济南市平阴县孝直中学初中地理会考复习资料 七年级上册 新人教版山东省济南市平阴县孝直中学初中地理会考复习资料 七年级上册 新人教版.doc
- 山东省济南外国语学校2012届高三数学5月份适应性训练 文【会员独享】山东省济南外国语学校2012届高三数学5月份适应性训练 文【会员独享】.doc
- 山东省枣庄市2013-2014学年度第一学期七年级数学期末试题山东省枣庄市2013-2014学年度第一学期七年级数学期末试题.doc
- 山东省济宁市2014届高三上学期期末考试山东省济宁市2014届高三上学期期末考试.doc
- 山东省潍坊市2016年中考历史试题(答案仅供参考)山东省潍坊市2016年中考历史试题(答案仅供参考).doc
- 山东省淄博市2015届高三第三次模拟考试地理试题山东省淄博市2015届高三第三次模拟考试地理试题.doc
- 山东省济南市槐荫区2013年九年级物理学业水平阶段性调研测试题(无答案)山东省济南市槐荫区2013年九年级物理学业水平阶段性调研测试题(无答案).doc
- 山东省食品进出口公司与马达庆、青岛圣克达诚贸易有限公司不正当竞争纠纷案山东省食品进出口公司与马达庆、青岛圣克达诚贸易有限公司不正当竞争纠纷案.doc
- 山东省莱州一中2011届高三第二次质量检测(基本能力)山东省莱州一中2011届高三第二次质量检测(基本能力).doc
- 山东省高等学校科技计划项目结题报告书山东省高等学校科技计划项目结题报告书.doc
文档评论(0)