湖南工业大学电自专业89s51单片机实验报告.docVIP

湖南工业大学电自专业89s51单片机实验报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
湖南工业大学电自专业89s51单片机实验报告

实验一 二进制转换成十进制实验 一、实验设备 1.THGQC-1型嵌入式单片机实验开发系统-套。 2.PC机一台。 二、实验目的 掌握汇编语言设计和实验步骤,熟悉在KEIL环境下观察内部RAM 的方法。 三、实验内容 单片机中的数值有各种表达方式,这是单片机的基础。掌握各种数制之间的转换是一种基本功。本实验内容是将一个给定的一字节二进制数,通过编程将其转换成十进制码。  四、实验步骤 1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加TOBCD.ASM文件,打开TOBCD.ASM文件,阅读、分析、理解程序,编译程序进行调试(如何建立工程请看附录说明) 2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序。程序具体功能是将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#0ffh。打开MEMORY WINDOW数据窗口,(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、32H的数据变化30H更新为02,31H更新为05,32H更新为05。 3)修改源程序中给累加器A的赋值,重复实验,观察实验效果。 4)打开CPU寄存器窗口,选择单步或跟踪执行方式运行程序,观察各寄存器的变化可以看到程序执行的过程,加深对实验的了解。 五、实验程序参考框图 六、实验程序 RESULT EQU 30H ORG 0000H JMP START ORG 0100H START: MOV SP,#40H MOV A,#0FFH CALL BINTOBCD NOP    ;此处设置断点,察看RAM 30H,31H,32H LJMP $ BINTOBCD: MOV B,#100 DIV AB MOV RESULT,A ;除以100得百位数 MOV A,B MOV B,#10 DIV AB MOV RESULT+1,A ;余数除以10得十位数 MOV RESULT+2,B ;余数为个位数 RET END 七.实验程序编译和结果分析 图1为keil2程序编辑器的编译窗口。主要包括主程序窗口,寄存器窗口,memory窗口等。其中因为程序至始至终都未用到寄存器R0~R7,所以R0~R7寄存器中的内容都为0x00.而由程序可得:改程序的目的:是将A累加器中的内容拆分为3个BCD码存储。由计算的A=0FFH转换为十进制后再拆分为3个BCD码分别为:2,5,5。这与memory窗口显示的结果一致即30H保存了02,31H保存了05,32H保存了05。 图1 2转10进制的主程序窗口 当把A累加器修改为:0EEH时,由计算得:30H=02,31H=03,32H=08。将主程序输入KEIL中验证结果如下: 图2 memory窗口数据分析 八.实验心得和体会 通过这次实验让我对原本十分抽象的单片机内存单元中数据存储变化不再感到恐惧。KEIL巧妙的将内存数据变化具体化,加深了我们都汇编程序的理解。同时也加深我们对单片机的认识。为我们以后将程序烧录到实验板子上增添了底气和信心。 实验二 无符号数十进制加法实验 一、实验目的 掌握无符号数、十进制加法,熟悉在KEIL环境下观察内部RAM 的方法。 二、实验内容 编写并调试一个双字节无符号十进制数加法程序,其功能为将被加数写入30H、31H单元加数写入40H、41H单元,运行程序结果写入52H、51H、50H单元中,则加法程序功能为(31H) (30H)+(41H) (40H)=(52H) (51H) (50H)(都是高位在前、低位在后)。 三、实验步骤 1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加ADD.ASM文件,打开ADD.ASM文件,阅读、分析、理解程序,编译程序进行调试。 2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序,打开MEMORY WINDOW数据窗口,分别观察30H(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、40H、41H、50H、51H、52H的数据变化。示例程序执行: 3412H+7856H,结果为0AC68H。 四、实验参考程序 DATA0  EQU 12H DATA1  EQU

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档