
姓名:赵苑珺
学号:090250129
实验一 熟悉菊阳JY2X00 仿真开发系统的使用
一、实验目的
1、 了解单片机开发系统的作用、功能;
2、 了解、掌握单片机开发系统的窗口结构及菜单命令的使用;
3、 观察 P1 口的锁存功能。
二、实验内容
1、 了解主菜单的结构及使用
2、 观察、修改内部/外部数据存储器、工作寄存器、特殊功能寄存器的内容
3、 观察 P1 口的锁存功能
三、实验步骤
1、启动菊阳开发系统
运行应用程序 JY2X00 IDE,在仿真器设置中选择‘使用软件仿真’ 。进入菊阳单片机集
成开发环境界面,该界面包括:主菜单、主窗口及观察窗口等。
2、观察、修改内部数据存储器的内容
① 观察内部数据存储器的内容
主窗口左侧的观察窗口中,点击 Idata 选项,显示内部数据存储器单元的内容。点击其
它选项,可观察通用寄存器,特殊功能寄存器,外部存储器,可位寻址位等内容。
② 修改内部数据存储器、工作寄存器、部分特殊功能寄存器。将光标移至要修改的单元,可以在选中的数据上直接修改设置某地址的数据值(十六进制)。用同样的方法可以修改工作寄存器、特殊功能寄存器。
3、进入菊阳单片机集成开发环境界面,在仿真器设置中选择‘使用硬件仿真’。改变 P1口寄存器的内容,观察发光二极管显示变化。以其为例熟悉在菊阳JY2X00中一段小程序的开发过程。其程序如下:
单步、连续运行程序,仔细观察现象,做好记录,并尝试解释观察到的现象。
四、 实验设备及仪器
1、单片机实验装置及开发系统一套;
2、PC 机一台。
五、思考题
1.怎样修改内部数据存储器单元的内容?
答:可以直接在Idata中双击想要修改的地方修改,也可以使用查表的方法逐个单元写值。
2.菊阳集成开发软件有几种程序运行方式,F7和 F8两种快捷键命令有何不同?
答:直接运行、步入、步越、运行到光标和断点。F7为步入,即单步运行可以一次执行一条指令;F8为步越,即单步运行时,如果不想进入“DELAY”延时子程序里,在“DELAY”子程序调用处,按F8 键单步执行就可以全速执行子程序调用(即单步越过子程序),从而真实反映子程序延时情况。
3.在运行程序时屏幕最下方的参数有什么变化?
答:屏幕下方显示了PC、DPTR、累加器A、累加器B的变化。
4.CPU窗口中常列了那几种特殊功能寄存器?
5.本实验中的程序的运行结果是什么?
答:实现了八位流水灯闪烁。
实验二 程序设计(一)
一、 实验目的
1、 进一步了解开发系统的功能和使用;
2、 了解程序设计与调试的基本过程;
3、 了解简单程序和分支程序程序的特点和设计。
二、 实验内容
1、 简单程序的设计、输入、调试和运行;
2、 分支程序的设计、输入、调试和运行;
三、 实验步骤
1、 设计、调试双字节乘法程序
功能为: (R2R3)*(R6R7)→R4R5R6R7
编程如下:
寄存器观察:通过观察R0~R7寄存器的值确认实现了16位乘法
2、 求符号函数
设:X→30H,Y→31H,
程序如下:
寄存器观察:给30H不同的x值,通过观察31H的输出值,与符号函数相符。
3、 将 ASCII 码转换十六进制数
设 ASCII码放在累加器 A中,结果放回到 A中,如果 A中的内容不是十六进制的数的ASCII 码,用户标志位 F0 置1。
程序为:
在A中给入不同的数值,运行程序后,观察A中的数值,经过与ASCII表比对可知程序运行正确。
四、实验设备及仪器
1、单片机实验装置及开发系统一套;
2、PC 机一台。
五、思考题
1. 下列程序是否正确?为什么?
答:不正确。因为C不是八位数据的最高位,不能作为符号位。
2. 用程序运算 3bh×660dh=?
答:使用第一段程序中R2=#3BH,R3=#H,R6=66H,R7=0DH,输出为:
3. MCS-51 有几条条件转移语句?它们是什么?
答:JZ rel;如果累加器A为“0”则转移
JNZ rel;如果累加器A非“0”则转移。
