凌阳单片机实验报告.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
凌阳单片机实验报告

凌阳单片机实验报告 学号:姓名:指导老师:2014.5.9第一次实验:编程与环境学习[试验目的]1) 熟悉μ’nSP? IDE环境及在该环境下用汇编语言或C语言编写应用程序;2) 熟悉简单的μ’nSP?汇编语言指令。[实验设备]装有WINDOWS系统和μ’nSP? IDE仿真环境的PC机一台。[实验内容[用汇编实现1到200中的偶数的累加计算;用汇编语言编写一个排序程序。.IRAM Array .DW 5,89,40,12,55,32,18,46,77,21[实验步骤]1)将μ’nSP? IDE打开后,建立一个新工程;2)在该项目的源文件夹(SOURCE FILES)下建立一个新的汇编语言文件;3)编写汇编代码;4)编译程序软件调试观察并跟踪其结果。[实验准备](要求实验前写出实验内容中的两个程序)第一个实验:.RAM //定义ram段.VAR G_Sum // 定义 G_Sum 储存累加结果.CODE //定义code段.PUBLIC_main //主程序声明_main: //main函数R1=0x0002;R2=0x0000;L_SumLoop:R2+=R1; //累加值保存到R2 R1+=2;CMP R1,200 //判断是否加到200JNA L_SumLoop; //没有。返回到L_SumLoop;[G_Sum]=R2; //保存最终累加值L_PEND: //构成一个死循环JMP L_PEND;.END第二个实验: .IRAM //定义IRAM区 ARRAY: .DW 5,89,40,12,55,32,18,46,77,21 //定义数组.VAR F.CODE.PUBLIC _main_main: BP=ARRAY //主函数,把数组给BPR1=0x0009 //数组的个数R4=0x0000[F]=R4LOOP: R3=[BP] //比较大小,并作交换 CMP R3.[BP+1] JB NEXTR2=[BP+1][BP]=R2[BP+1]=R3R4=0x0001[F]=R4NEXT:BP=BP+1 //判断是否比较完毕 R1-=1 JNZ LOOPR4=[F]JNZ _main // 没完毕转入主函数继续执行LOOP2: JMP LOOP2 //死循环[实验中遇到的问题与解决措施]实验中,刚开始,对汇编语言的格式不是很清楚,然后遇到很到的语法错误,一一检查,修改,最终编译成功。再就是老师让调出运行后各个寄存器的结果,发现不能查询最终存放结果的那个寄存器,经过反复试验,找人帮忙,对比别人的程序,才发现是因为没有最末端的死循环所致。【试验总结】 汇编语言的语法比较严格,应该仔细审查所写的每一条语句。第二次实验:并行I/O口(可参考实验三、四、五、六)实验三:使用汇编语言实现A口的输出实验实验四:使用C语言实现A口的输出实验实验五:使用汇编语言实现A口为输入B口为输出实验实验六:使用C语言实现A口为输入B口为输出实验[实验目的]1)通过实验掌握A口、B口作为输入和输出口时的使用方法;2)使用汇编语言或C语言来实现A口或B口作为输入和输出口的实验。[实验设备]1)装有WINDOWS系统和μ’nSP? IDE仿真环境的PC机一台;2)μ’nSP?十六位单片机实验箱一个。[实验原理]实验三、四:通过点亮不同发光二极管来显示A口输出的数值不同。实验五、六:根据按键的不同,A口的数据就不同,则传送到B口的数据就不同,相应的发光二极管被控制。1)逻辑电平指示灯:具有8 路,阳极接电阻排至V5( Vcc),I/O 端口低电

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档