下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验2c和汇编语言的混合编程实验1、实验目的学习在C程序中使用嵌入式汇编编写
程序了解嵌入式汇编的格式、语言特点2、实验设备S3c2410开发板ADS1.2集成开发环境,JTAG调试器串ロ连接线3、实验原理序在底层的操作仍然具有C程序无法替代的功能,有时候我们需要在C程序中嵌入汇编程序来完成一些直接对底层的诸如寄存器的操作。在ARMC语言中,使用关键词ーasm
来标志一段汇编指令程序:其格式
如下,UISE汇编程序嵌入式汇编语言不同的地方有:如果一行中有多个汇编指令,指令之间用分号(ワ隔离如果一天指令占多行,要使用续行符号(ヽ)在汇编指令段中可以使用C语言的注释语句4、实验电路图5、程序实现5.1创建GPFC.c源文件,应用C
语言实现嵌入式编程/・这是ー个利用GPIO做跑马灯
的程序・1/*GPI01到GPIO4分别对应2410
的GPF4至リGPF7*/#includen24101ib.hn#defineGPFCON(*(volatile
unsigned*)0x56000050)//PortF
control#defineGPFDAT(*(volatile
unsigned*)0x56000054)//PortF
data#defineGPFUP(*(volatile
unsigned*)0x56000058)//Pull-up
controlFintMain()GPFCON=(GPFCONIOxFFOO)&Ox
FFFF55FF;//GPF4—GPF7设置为
outputGPFUPI=OxFFOO;GPFpullup//disablewhile(l)GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxEO;Delay(lOO);GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxDO;Delay(lOO);GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxBO;Delay(lOO);GPFDAT=(GPFDAT&OxFFFFFFO
F)IOx7O;Delay(lOO);2创建GPFA.c源程序,实现在C程序中嵌入ARM汇编指令〃定义寄存器地址#defineGPFCON(*(volatile
unsigned*)0x56000050)//PortF
control#defineGPFDAT(*(volatile
unsigned*)0x56000054)//PortF
data#defineGPFUP(*(volatile
unsigned*)0x56000058)//Pull-up
controlFintMain()OHXJin〃时钟、端口、串口初始化SetClockDivider(l,1);xlVAMqoHIHd)ヨ。」SAS而sXanvq—Ixvn=UIgrlGPFCON=(GPFCONIOxFFOO)&Ox
FFFF55FF;//GPF4—GPF7设置为
outputGPFUPI=OxFFOO;GPFpullup//disablewhile(l)GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxEO;Delay(200);asm〃嵌入汇编指令GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxDO;Delay(200);GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxBO;Delay(200);GPFDAT=(GPFDAT&OxFFFFFFO
F)IOx7O;Delay(200);Uart_Printf(nthevalueofxis:%d\n”,x);〃串口输出5.3创建delays和GPFTEST.c源
文件,实现在C程序中汇编函数
调用/*delay,s*/EXPORTdelayAREADELAY,CODE,READONLY;该伪指令定义了一个代码段,段名为Init,属性只读;下面是延迟子程序p①prO,rO,ttl;rO=rOsub;rO=rO-1cmprO,#0x0将rO的值与〇相比较比较的结果不为〇(rO不为〇),继续调用delay,否则执行下一条语句movpc,Ir返回END程序结束符 ’/*GPFTEST.C刃/*c语言函数・//・端口F寄存器预定义・/#defineGPFCON(*(volatile
unsigned*)0x56000050)//PortF
control#defineGPFDAT(*(volatile
unsigned*)0x56000054)//PortF
data#defineGPFUP(*(volatile
unsigned*)0x56000058)//Pull-up
controlFexternintdelay(inttime);/・声明汇
编函数・/intMain()GPFCON=(GPFCONIOxFFOO)&Ox
FFFF55FF;//GPF4—GPF7设置为
outputGPFUPI=OxFFOO;GPFpullup//disablewhile(l)GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxEO;delay(Oxlffff);GPFDAT=(GPFDAT&OxFFFFFFO
F)IOxDO;delay(Oxlffff);GPFDAT=(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江台州浙江大学科技园发展有限公司招聘2人备考题库及答案详解(易错题)
- 2026浙江温州市洞头捷鹿船务有限公司招聘1人备考题库(售票员)带答案详解
- 2026年谷歌Ads广告投放策略课程
- 机械行业研究:看好燃气轮机、人形机器人和核聚变
- DB37-T6011.6-2025小麦玉米周年产能提升实施规范第6部分:产量测定与种植效益评价
- 职业噪声暴露与心电图ST-T改变的关联研究
- 蓝带促销主管年终总结(3篇)
- 职业健康政策的实施路径与政策建议
- 职业健康大数据挖掘算法优化
- 职业健康体检中尘肺病早期筛查策略优化
- 2026海南安保控股有限责任公司招聘11人笔试模拟试题及答案解析
- 装饰装修工程施工组织设计方案(二)
- 2026上海碧海金沙投资发展有限公司社会招聘参考题库必考题
- 保险业客户服务手册(标准版)
- 2026年张家界航空工业职业技术学院单招职业倾向性考试模拟测试卷新版
- 2026辽宁机场管理集团校招面笔试题及答案
- 2025徽银金融租赁有限公司社会招聘笔试历年典型考题及考点剖析附带答案详解
- 2026年辽宁轨道交通职业学院单招综合素质笔试备考题库带答案解析
- 检验科内控制度
- DB44-T 2771-2025 全域土地综合整治技术导则
- 碳排放核算及企业减排策略
评论
0/150
提交评论