- 17
- 0
- 约8.63千字
- 约 10页
- 2017-05-12 发布于河南
- 举报
单片机实验2【完整】代码
电子系统综合设计报告
学 号 201009120229
姓 名 李文海
年级专业 2010级电子信息工程(二)
指导教师 刘怀强
学 院 理学院
走马灯实验论文--《嵌入式系统技术》
实验目的
1、学会DP-51PRO实验仪监控程序下载、动态调试等联机调试功能的使用;
2、理解和学会单片机并口的作为通用I/O的使用;
3、理解和学会单片机外部中断的使用;
4、了解单片机定时器/计数器的应用。
2、实验设备
z PC 机、ARM 仿真器、2440 实验箱
3、实验内容
z 熟悉 ARM 开发环境的建立。
z 使用 ARM 汇编和 C 语言设置 GPIO 口的相应寄存器。
z 编写跑马灯程序。
5、实验原理
走马灯实验是一个硬件实验,因此要求使用DP-51PRO 单片机综合仿真实验仪进行硬件仿真,首先要求先进行软件仿真,排除软件语法错误,保证关键程序段的正确。然后连接仿真仪,下载监控程序,进行主机与实验箱联机仿真。
为了使单独编译的 C 语言程序和汇编程序之间能够相互调用,必须为子程序间的调用规 定一定的规则。ATPCS ,即 ARM , Thumb 过程调用标准(ARM/Thumb Procedure Call Standard),是 ARM 程序和 Thumb 程序中子程序调用的基本规则,它规定了一些子程序间调用 的基本规则,如子程序调用过程中的寄存器的使用规则,堆栈的使用规则,参数的传递规则 等。
下面结合实际介绍几种 ATPCS 规则,如果读者想了解更多的规则,可以查看相关的书
籍。
1. 基本 ATPCS
基本 ATPCS 规定了在子程序调用时的一些基本规则,包括下面 3 方面的内容: (1)各寄存器的使用规则及其相应的名称。
(2)数据栈的使用规则。
(3)参数传递的规则。
相对于其它类型的 ATPCS,满足基本 ATPCS 的程序的执行速度更快,所占用的内存更少。 但是它不能提供以下的支持: ARM 程序和 Thumb 程序相互调用, 数据以及代码的位置无关
的支持,子程序的可重入性,数据栈检查的支持。
而派生的其他几种特定的 ATPCS 就是在基本 ATPCS 的基础上再添加其他的规则而形成 的。其目的就是提供上述的功能。
2. 寄存器的使用规则
寄存器的使用必须满足下面的规则:
(1) 子程序间通过寄存器 R0~R3 来传递参数。这时,寄存器 R0~R3 可以记作 A0~A3。 被调用的子程序在返回前无需恢复寄存器 R0~R3 的内容。
(2) 在子程序中,使用寄存器 R4~Rll 来保存局部变量。这时,寄存器 R4~R11 可以 记作 V1~V8。如果在子程序中使用到了寄存器 V1~V8 中的某些寄存器,子程序进入时必须 保存这些寄存器的值,在返回前必须恢复这些寄存器的值;对于子程序中没有用到的寄存器 则不必进行这些操作。在 Thumb 程序中,通常只能使用寄存器 R4~R7 来保存局部变量。
(3) 寄存器 R12 用作子程序间 scratch 寄存器,记作 IP。在子程序间的连接代码段中 常有这种使用规则。
(4) 寄存器 R13 用作数据栈指针,记作 SP。在子程序中寄存器 R13 不能用作其他用途。 寄存器 SP 在进入子程序时的值和退出子程序时的值必须相等。
(5) 寄存器 R14 称为连接寄存器,记作 LR。它用于保存子程序的返回地址。如果在
子程序中保存了返回地址,寄存器 R14 则可以用作其他用途。
(6) 寄存器 R15 是程序计数器,记作 PC。它不能用作其他用途。
3.参数传递规则 根据参数个数是否固定可以将子程序分为参数个数固定的(nonvariadic)子程序和参数
个数可变的(variadic)子程序。这两种子程序的参数传递规则是不同的。
(1)参数个数可变的子程序参数传递规则
对于参数个数可变的子程序,当参数不超过 4 个时,可以使用寄存器 R0~R3 来传递参 数;当参数超过 4 个时,还可以使用数据栈来传递参数。
在参数传递时,将所有参数看作是存放在连续的内存字单元中的字数据。然后,依次将 各字数据传送到寄存器 R0、R1、R2、R3 中,如果参数多于 4 个,将剩余的字数据传送到数 据栈中,入栈的顺序与参数顺序相反,即最后一个字数据先入栈。按照上面的规则,一个浮 点数参数可以通过寄存器传递,也可以通过数据栈传递,也可能一半通过寄存器传递,另一 半通过数据栈传递。
(2)参数个数固定的子程序参数传递规则 对于参数个数固定的子程序,参数传递与参数个数可变的
您可能关注的文档
- 一元二次方程(北师大版).doc
- 一元二次方程中隐含条件的运用(孝感市孝南区西河中学 张兆平).doc
- 一元二次方程 备课.doc
- 一元二次方程复习安排.doc
- 一张幻灯片上输入大量文字技巧.doc
- 一套VB模拟试题.doc
- 一次函数知识点、经典例题、练习 2.doc
- 一级B教案2.doc
- 一级B教案.doc
- 一级B讲议.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)