好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机实验报告.docx

5页
  • 卖家[上传人]:飞***
  • 文档编号:2978874
  • 上传时间:2017-07-29
  • 文档格式:DOCX
  • 文档大小:558.74KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验 1 二进制到 BCD 转换一、实验目的学习星研 Star16L 仿真器系统的基本操作,熟悉 EL-Ⅱ型通用接口板实验电路,掌握简单的数值转换算法二、实验仪器和设备PC 机、星研 Star16L 仿真器系统 +仿真头 PODPH51(DIP)、EL- Ⅱ型通用接口板实验电路三、实验内容1)将给定的一个单字节二进制数(存放在 R2 中) ,转换成非压缩的二—十进制(BCD)码,并存放到 R3R4R5 中2) (选作)将给定的一个双字节二进制数(存放在 R2R3 中) ,转换成压缩的二—十进制(BCD)码,并存放到 R4R5R6 中四、实验方法1、将星研仿真器与微机和目标板相互连接构成完整的硬件仿真系统1)仿真器与仿真头的硬件连接:STAR16L 仿真器与仿真头 PODPH51(DIP)用两根 40 芯扁平电缆连接,注意电缆插头的方向参见下图仿真头 PODPH512)仿真头与 EL-Ⅱ型通用接口板的硬件连接:将 EL-Ⅱ型通用接口板的 8051CPU 芯片拔下,将仿真头 PODPH51 插入该 CPU 插座(40 脚 DIP),注意芯片的上下方向3)仿真器与微机的连接:通过 USB 接口将微机与仿真器相连,打开仿真器电源。

      仿真器与微机的第一次连接将自动引导安装程序,在该驱动程序的安装过程中,请勿执行其它应用程序8051CPU2 、单片机仿真系统运行调试通过双击微机桌面的星研图标,或通过开始菜单,起动星研仿真系统程序,通过输入程序,编译通过后,进入调试状态,打相应的观察窗口,观测 CPU 内部各个寄存器,存储器以及外部存储器的状态,通过单步或断点运行,验证程序运行的正确性,并修正错误五、参考程序清单及框图1)单字节二进制到非压缩 BCD;NAME T1_1_BCDORG 0000H ;0100H 不能用,与星研软件冲突??BCD1: MOV A, R2 ;二进制数送 AMOV B, #100 ;100 作为除数送入 BDIV ABMOV R3, A ;百位数送 R3,余数在 B 中MOV A, #10 ;分离十位和个位数XCH A, B ;余数送 A,除数 10 在 B 中DIV AB ;分离出十位在 A, 个位在 B 中MOV R4, A ;十位送 R3MOV A, BMOV R5, A ;个位送 R4NOPLJMP BCD1END2) (选作)双字节二进制到压缩 BCD;NAME T1_2_BCD ORG 0000HBCD2: CLR AMOV R4, AMOV R5, AMOV R6, AMOV R7, #16LOOP: CLR CMOV A, R3RLC AMOV R3, AMOV A, R2RLC AMOV R2, AMOV A, R6ADDC A, R6DA AMOV R6, AMOV A, R5ADDC A, R5DA AMOV R5, AMOV A, R4ADDC A, R4DA AMOV R4, ADJNZ R7, LOOPLJMP BCD2END参考程序框图单字节二进制数转换成非压缩 BCD 码六、实验要求1、基本内容:按照实验要求连接系统,编制程序并运行,说明如何利用仿真器验证程序的正确性。

      2、拓展内容:按照子程序模式修改程序,并通过程序调用实现对任意输入的二进制数据进行码制转换注:必做和选作的要求相同七、星研仿真系统基本操作步骤1)进入星研仿真软件2)建立项目文件——仿真头选择:PODPH51(DIP);CPU 选择:8051 类3)新建源文件——后缀为.ASM4)输入源程序——编译、链接、修改错误5)进入调试状态6)调试程序,查看运行结果7)退出星研仿真系给出要转换的二进制数将该数除以 100保存百位数将余数除以 10,得到十位数结束保存十位数余数为个位数,将其保存八、实验数据记录:1) 、单字节二进制到非压缩 BCDR2 R3 R4 R550H 00 08 0016H 00 02 028DH 01 04 012) 、双字节二进制到压缩 BCDR2 R3 R4 R5 R600H 96H 00 01 5088H 50H 03 48 96FFH 8DH 06 54 01数据分析:对于一个 8 位二进制码 bn-1bn-2……b1b0,,其在十进制编码方式下的值为式 1把上式写出套乘的形式:式 2式中的每项乘 2,相当于将寄存器中的二进制码左移 1 位,这就意味着利用移位寄存器可以完成二进制与 8421BCD 的转换。

      在移位的过程中,当现态 Sn=5 时,我们让 Sn 先加上 3,然后再左移 1 位,次态 Sn+1=2(Sn+3)=2Sn+6,正好补偿由于进位而减少的数值,并且向后一个变换单元送入一个进位信号, 再将待转换的二进制码从最高位开始左移 BCD 的寄存器(从高位到低位排列),每移一次,检查每一位 BCD 码是否大于 4,是则加上 3,否则不变左移 8 次后,即完成了转换需要注意的是第八次移位后不需要检查是否大于 5并检查每一个 BCD 码是否大于 4,因为如果大于 4(比如 5、6),下一步左移就要溢出了,所以加 3,等于左移后的加 6,起到十进制调节的作用。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.