嵌入式系统实验与课程设计指导书

嵌入式系统实验与课程设计指导书

ID:38499877

大小:1.26 MB

页数:80页

时间:2019-06-13

嵌入式系统实验与课程设计指导书_第1页
嵌入式系统实验与课程设计指导书_第2页
嵌入式系统实验与课程设计指导书_第3页
嵌入式系统实验与课程设计指导书_第4页
嵌入式系统实验与课程设计指导书_第5页
资源描述:

《嵌入式系统实验与课程设计指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录第一节实验1实验一ADS1.2集成开发环境练习1实验二:汇编指令实验12实验三:汇编指令实验23第二节实验5实验四:ARM微控制器工作模式实验5实验五:C语言程序实验8第三节实验10实验六:GPIO输出控制实验110实验七:GPIO输出控制实验212第四节实验14实验八:存储器重映射实验14实验九:外部中断实验16第五节实验18实验十:定时器实验18实验十一:UART实验20实验十二:IIC接口实验23第六节彩色液晶绘图设计27第七节UC/OS-II移植30第八节UC/OS-II下蜂鸣器设计34第九节RTC设计37第十节数码

2、管显示设计41附录44第一部分实验课程第一节实验实验一ADS1.2集成开发环境练习1、实验目的了解ADS1.2集成开发环境的使用方法2、实验设备硬件:PC机一台软件:Windows98/XP/2000系统,ADS1.2集成开发环境3、实验内容(1)建立一个新的工程(2)建立一个汇编源文件,添加到工程(3)设置文本编译器支持中文(4)设置编译链接控制选项(5)编译连接工程(6)调试工程4、源代码:AREAExample1,CODE,READONLY;声明代码段Example1ENTRY;标识程序入口CODE32;声明32位ARM指

3、令STARTMOVR0,#15;设置参数MOVR1,#8ADDSR0,R0,R1;R0=R0+R1BSTARTEND/********************************************************************/实验二:汇编指令实验11、实验目的(1)了解ADS1.2集成开发环境以及ARMulator软件仿真(2)掌握ARM7TDMI汇编指令的用法,编写简单的汇编程序(3)掌握指令的条件执行和使用LDR/STR完成存储器的访问2、实验设备硬件:PC机一台软件:Windows98/XP/

4、2000系统,ADS1.2集成开发环境3、实验内容(1)使用LDR读取0x40003100的数据,将数据加1,如小于10则用STR将结果写回原地址,如大于等于10,把0写回原地址。再次读出0x40003100数据,加1,判断……周而复此循环。(2)使用ADS1.2单步、全速运行程序,设置断点,打开寄存器窗口监视R0、R1的值,打开存储器观察窗口监视0x40003100上的值。4、源代码:COUNTEQU0x40003100;定义一个变量,地址为0x40003100AREAExample2,CODE,READONLY;声明代码段E

5、xample2ENTRY;标识程序入口CODE32;声明32位ARM指令STARTLDRR1,=COUNT;R1<=COUNTMOVR0,#0;R0<=0STRR0,[R1];[R1]<=R0,即设置COUNT为0LOOPLDRR1,=COUNT;伪指令加载地址到R1LDRR0,[R1];R0<=[R1]ADDR0,R0,#1;R0<=R0+1CMPR0,#10;R0与10比较,影响条件码标志MOVHSR0,#0;若R0大于等于10,;则此指令执行,R0<=0STRR0,[R1];[R1]<=R0,即保存COUNTBLOOPEN

6、D实验三:汇编指令实验21、实验目的(1)掌握ARM数据处理指令的使用方法。(2)了解ARM指令灵活的第2个操作数。2、实验设备硬件:PC机一台软件:Windows98/XP/2000系统,ADS1.2集成开发环境3、实验内容(1)使用MOV和MON指令访问ARM通用寄存器。(2)使用ADD/SUB/AND/ORR/CMP/TST等指令完成数据加减运算及逻辑运算。4、源代码:XEQU11;定义X的值为11YEQU8;定义Y的值为8BIT23EQU(1<<23);定义BIT23的值为0x00800000AREAExample3,C

7、ODE,READONLY;声明代码段Example3ENTRY;标识程序入口CODE32;声明32位ARM指令START;使用MOV、ADD指令实现:R8=R3=X+YMOVR0,#X;R0<=X,X的值必须是8位图数据MOVR1,#Y;R1<=Y,Y的值必须是8位图数据ADDR3,R0,R1;即是R3=X+YMOVR8,R3;R8<=R3;使用MVN、SUB指令实现:R5=0x5FFFFFF8-R8*8MVNR0,#0xA0000007;0xA0000007的反码为0x5FFFFFF8SUBR5,R0,R8,LSL#3;R8左

8、移3位,结果即是R8*8;使用CMP指令判断(5*Y/2)>(2*X)吗?若大于则R5=R5&0xFFFF0000,;否则R5=R5

9、0x000000FFMOVR0,#YADDR0,R0,R0,LSL#2;计算R0=Y+4*Y=5*YMOVR0,R0,LSR#1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。