西南科技大学
学生实验报告
实验课程名称 单片机原理及接口技术
开课实验室 CAD/CAM计算机实验室
学 院 制造学院 专业成型班级
学生姓名 学 号
开课时间 2012 至 20## 学年第 2 学期
制造科学与工程学院制
《 I/O接口技术实验 》实验报告
开课实验室: 2013 年 05月 10日
《 中断系统 》实验报告
开课实验室: 2013年 5月 23日
实验1 二进制到BCD转换
一、实验目的
学习星研Star16L仿真器系统的基本操作,
熟悉EL-Ⅱ型通用接口板实验电路,
掌握简单的数值转换算法。
二、实验仪器和设备
PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路。
三、实验内容
1)将给定的一个单字节二进制数(存放在R2中),转换成非压缩的二—十进制(BCD)码,并存放到R3R4R5中。
2)(选作)将给定的一个双字节二进制数(存放在R2R3中),转换成压缩的二—十进制(BCD)码,并存放到R4R5R6中。
四、实验方法
1、将星研仿真器与微机和目标板相互连接构成完整的硬件仿真系统
1)仿真器与仿真头的硬件连接:STAR16L仿真器与仿真头PODPH51(DIP)用两根40芯扁平电缆连接,注意电缆插头的方向。参见下图。
2)仿真头与EL-Ⅱ型通用接口板的硬件连接:将EL-Ⅱ型通用接口板的8051CPU芯片拔下,将仿真头PODPH51插入该CPU插座(40脚DIP),注意芯片的上下方向
3)仿真器与微机的连接:通过USB接口将微机与仿真器相连,打开仿真器电源。仿真器与微机的第一次连接将自动引导安装程序,在该驱动程序的安装过程中,请勿执行其它应用程序。
2 、单片机仿真系统运行调试
通过双击微机桌面的星研图标,或通过开始菜单,起动星研仿真系统程序,通过输入程序,编译通过后,进入调试状态,打相应的观察窗口,观测CPU内部各个寄存器,存储器以及外部存储器的状态,通过单步或断点运行,验证程序运行的正确性,并修正错误。
五、参考程序清单及框图
1)单字节二进制到非压缩BCD
;NAME T1_1_BCD
ORG 0000H ;0100H不能用,与星研软件冲突??
BCD1: MOV A, R2 ;二进制数送A
MOV B, #100 ;100作为除数送入B
DIV AB
MOV R3, A ;百位数送R3,余数在B中
MOV A, #10 ;分离十位和个位数
XCH A, B ;余数送A,除数10在B中
DIV AB ;分离出十位在A, 个位在B中
MOV R4, A ;十位送R3
MOV A, B
MOV R5, A ;个位送R4
NOP
LJMP BCD1
END
2)(选作)双字节二进制到压缩BCD
;NAME T1_2_BCD
ORG 0000H
BCD2: CLR A
MOV R4, A
MOV R5, A
MOV R6, A
MOV R7, #16
LOOP: CLR C
MOV A, R3
RLC A
MOV R3, A
MOV A, R2
RLC A
MOV R2, A
MOV A, R6
ADDC A, R6
DA A
MOV R6, A
MOV A, R5
ADDC A, R5
DA A
MOV R5, A
MOV A, R4
ADDC A, R4
DA A
MOV R4, A
DJNZ R7, LOOP
LJMP BCD2
END
参考程序框图
单字节二进制数转换成非压缩BCD码
六、实验要求
1、基本内容:按照实验要求连接系统,编制程序并运行,说明如何利用仿真器验证程序的正确性。
2、拓展内容:按照子程序模式修改程序,并通过程序调用实现对任意输入的二进制数据进行码制转换。
注:必做和选作的要求相同。
七、星研仿真系统基本操作步骤
1)进入星研仿真软件
2)建立项目文件——仿真头选择:PODPH51(DIP);CPU选择:8051类
3)新建源文件——后缀为.ASM
4)输入源程序——编译、链接、修改错误
5)进入调试状态
6)调试程序,查看运行结果
7)退出星研仿真系
八、实验数据记录:
1)、单字节二进制到非压缩BCD
2)、双字节二进制到压缩BCD
数据分析:
对于一个8位二进制码bn-1bn-2……b1b0,,其在十进制编码方式下的值为
式1
把上式写出套乘的形式:
式2
式中的每项乘2,相当于将寄存器中的二进制码左移1位,这就意味着利用移位寄存器可以完成二进制与8421BCD的转换。
在移位的过程中,当现态Sn<5时,次态不变。当现态Sn=5、6、7时,左移一次,其次态Sn+1将会超过9,对于一个BCD码来说,这样的状态属于禁用状态。而当Sn=8、9时,左移1位,则会向高1位的BCD码输入一个进位的信号 ,由于二进制和BCD码权不一致,当发生进位时,虽然码元只是左移1位,但次态Sn+1将减少6。基于上面这两种情况,在B/BCD转换时需要对转换结果加以校正。校正过程如下:当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,起到十进制调节的作用。
单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实…
通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日…
题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握K…
51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机…
海南大学届单片机实验报告4份论文题目学生姓名学号所在院系专业班级授课教师完成时间蜂鸣器实验实验目的1熟悉实验板中蜂鸣器工作原理掌握…
时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。在学习单片机这门课程之前,就早早的听各种任课老师和学长学…
单片机实验心得体会时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。在学习单片机这门课程之前,就早早的听各…
通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现…
通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断…
PIC单片机技术上机实验报告实验项目:定时/计数姓名:专业:班级:学号:学期:1314学年2学期20xx一、实验名称×××二、实验…
题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握K…