单片机实验指导书——带答案
单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
单片机实训指导书

实训项目一让单片机动起来1、实训目的及要求:1)掌握单片机开发板的使用方法(驱动识别,程序下载)2)掌握单片机程序开发软件KEIL的使用3)掌握单片机程序烧录软件STC-ISP下载软件的使用2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序一:#include "reg52.h"sbit LED=P1^0;void main(){LED=0;while(1);}实训程序二:#include "reg52.h"#define LED P1;void main(){LED=0xaa;while(1);}3)实训步骤①打开KEIL软件编写LED控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
3)实验现象记录实训程序一:。
实训程序二:。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
实训项目二LED的闪烁1、实训目的及要求:1)掌握单片机控制LED点亮和熄灭的方法。
2)了解单片机延时程序的原理及设计。
3)了解单片机中常用的变量类型及其定义方法。
2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序:#include "reg52.h"#define uchar unsigned char //定义uchar为定义字符型变量,范围#define uint unsigned int //定义uint为定义整型变量,范围sbit LED=P1^0;uint i;//定义整型变量ivoid main(){while(1){LED=0;for(i=0;i<20000;i++);LED=1;for(i=0;i<20000;i++);}}3)实训步骤①打开KEIL软件编写LED闪烁控制程序。
51单片机实验指导书

目录目录 0第一章实验装置 (1)一.伟福开发环境的使用 (1)二.LJD-SY-5100学习实验开发板的使用 (17)第二章微机原理及应用实验 (22)实验一开发环境的使用 (22)实验二数据传送 (23)实验三数码转换 (23)实验四数值运算 (24)实验五堆栈操作 (25)实验六查表操作 (25)实验七逻辑运算操作 (26)实验八中断及I/O口实验 (26)实验九串行通讯实验 (28)第一章实验装置一.伟福开发环境的使用1.菜单文件菜单选项●文件 | 打开文件打开用户程序,进行编辑。
如果文件已经在项目中,可以在项目窗口中双击相应文件名打开文件。
●文件 | 保存文件保存用户程序。
用户在修改程序后,如果进行编译,则在编译前,系统会自动将修改过的文件存盘。
●文件 | 新建文件建立一个新的用户程序,在存盘的时候,系统会要求用户输入文件名。
●文件 | 另存为将用户程序存成另外一个文件,原来的文件内容不会改变。
●文件 | 重新打开在重新打开的下拉菜单中有最近打开过的文件及项目,选择相应的文件名或项目名就可以重新打开文件或项目。
●文件 | 打开项目打开一个用户项目,在项目中,用户可以设置仿真类型。
加入用户程序,进行编译,调试。
系统中只允许打开一个项目,打开一个项目或新建一个项目时,前一项目将自动关闭。
伟福开发环境的项目文件包括仿真器设置,模块文件,包含文件。
仿真器设置包括仿真器类型,仿真头(POD)类型,CPU类型,显示格式和产生的目标文件类型,可以用以下几种方法设置仿真器。
✧在项目窗口中双击第一行,将打开仿真器设置窗口,对仿真器进行设置。
✧按鼠标右键,在弹出菜单中选择[仿真器设置]。
✧主菜单| 仿真器| 仿真器设置。
加入模块文件✧按鼠标右键,在弹出菜单中选择[加入模块文件]。
✧主菜单| 项目| 加入模块文件。
加入包含文件✧按鼠标右键,在弹出菜单中选择[加入包含文件]。
✧主菜单| 项目| 加入包含文件。
单片机实验指导书——带答案

《单片机原理及应用》实验指导书姓名:学号:专业班级:所在学院:成人教育学院2012年5月日单片机实验指导书目录实验一系统认识实验 (2)实验二程序调试 (4)实验三外部中断实验 (6)实验四串口实验 (8)实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件WAVE6000。
二、实验设备1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容P1端口接发光二极管,加1点亮。
四、连线方案:实验箱内部已连好五、实验步骤1.连接Lab51CPU板。
(已由实验师连好)2.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
(已由实验师连好)3.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。
4.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。
拆线时,应先回转一下,不要硬拨,以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开“WAVE6000集成调试环境”,界面如下图所示:7.建立新程序(如果程序已编好,直接跳到第9步)选择菜单[文件 | 新建文件]功能。
出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序ORG 0MOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND8.保存程序选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。
单片机实验指导书

实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。
(2)、培养程序编制及调试的方法。
(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。
二、实验要求:(1)、给出程序设计流程图。
(2)、设计数制转换实验程序。
(3)、记录单片机实验板晶体振荡器的波形图。
(4)、记录单片机实验板上电复位电路的波形图。
三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。
(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。
在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。
(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。
也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。
实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。
此时,如果系统工作正常,会在显示器上显示“HB--51”。
如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验实验指导书

目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
延时时间500ms。
2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。
四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。
单片机实验指导书——带答案

实验指导书姓名:学号:专业班级:所在学院:成人教育学院2012 年5 月日目录系统认识实验 错误 ! 程序调试 错误 ! 外部中断实验错误!实验一 实..................系统认识实验1.掌握SICElab-G2200 实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件WAVE600。
01 .G2200/2100 实验平台 1 台2 .仿真器/ 仿真板 1 台3.连线若干根 4 .计算机 1 台P1 端口接发光二极管,加 1 点亮。
实验箱1.连接L ab51CPU板。
(已由实验师连好)2.仿真器与实验平台的连接将Lab51 板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
(已由实3.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2 均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否4.实验连线按连线方案, 用随机配带的实验连线插入孔后, 轻轻转动一下锁紧插头, 保证良好接触。
拆线时,应先回转一下 ,不要硬拨, 以免损坏线路板。
不管是拆线还是插线,都应 在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开“WAVE6000集成调试环境” ,界面如下图所示:7.建立新程序(如果程序已编好,直接跳到第 9 步)NONAME 的源程序窗口,在此窗口中输入以下程序1ORG新建项目会自动分三步走。
(1) 加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件,按打开键。
如果 你是多模块项目,可以同时选择多个文件再打开。
(2) 加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选) 。
如选择菜单 [ 文件 | 新建文件 ] 功能。
出现一个文件名为 MOVP1,#0 ; 熄灭发光二极管 LOOP: INCP1 CALL Delay SJMPLOOPDelay: MOVR2,#3 ; 延时程序 DLP:MOV MOVDJNZ DJNZDJNZ R1,#0 R0,#0 R0,DLP R1,DLP R2,DLPRET END8.保存程序选择菜单 [ 文件 保存文件 ] 或 [ 文件 | 另存为 ] 功能。
单片机原理实验指导书

实验一仿真软件的使用,简单程序设计一.实验目的:1.掌握单片机仿真软件的基本操作方法;2.熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3.掌握简单程序编写的基本方法和技巧;二.实验内容:1. 将内部RAM的30H—33H四个存储单元內分别存放01H、02H、03H、04H 四个数;然后送至工作寄存器R0—R3。
2.将内部RAM的30H—33H四个存储单元內的数分别传送至外部RAM的2030H--2033H存储单元中。
3. 将内部RAM的30—32H的连续3个字节中的无符号数相加,结果的低位送33H 单元,高位送34H单元实用文档三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0—R3的内容;(3)单步运行程序,并检查运行结果:检査R0—R3的内容;(4)查看程序的机器码。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H—2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。
3.实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;实用文档(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码四.实验程序1.实验内容1的程序ORG 0000HMOV 30H,#00HMOV 31H,#01HMOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND实用文档2.实验內容2的程序ORG 0000HMOV 30H,#00HMOV 31H,#11HMOV 32H,#22HMOV 33H,#33HMOV DPTR,2030HMOV R0,#30HMOV R1,#04HLOOP:MOV A,·R0HMOVX ·DPTR,AINC R0INC DPTRDJNZ R1,LOOPSJMP $实用文档END3.实验内容3的程序ORG 0000HMOV 30H,#0F8HMOV 31H,#0C6HMOV 32H,#0D9HCLR CMOV A,30HADD A,31HJC NEXT1SJMP NEXT2NEXT1:INC R1NEXT2:ADD A,32HMOV 33H,AJC NEXT3实用文档SJMP NEXT4NEXT3:INC R1NEXT4:MOV 34H,R1SJMP $五.实验报告要求:1.对实验内容1和实验内容2的程序加注释。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》实验指导书姓名:学号:专业班级:所在学院:成人教育学院2012年5月日单片机实验指导书目录实验一系统认识实验 (3)实验二程序调试 (6)实验三外部中断实验 (6)实验四串口实验 (8)实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件WA VE6000。
二、实验设备1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容P1端口接发光二极管,加1点亮。
四、连线方案:五、实验步骤1.连接Lab51CPU板。
(已由实验师连好)2.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
(已由实验师连好)3.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。
4.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。
拆线时,应先回转一下,不要硬拨,以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开“WA VE6000集成调试环境”,界面如下图所示:7.建立新程序(如果程序已编好,直接跳到第9步)选择菜单[文件 | 新建文件]功能。
出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序ORG 0MOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND8.保存程序选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。
9.建立新的项目选择菜单[文件 | 新建项目]功能。
新建项目会自动分三步走。
(1)加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。
如果你是多模块项目,可以同时选择多个文件再打开。
(2)加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
如果没有包含文件,按取消键。
(3)保存项目。
在保存项目对话框中输入项目名称。
MY1无须加后缀。
软件会自动将后缀设成“.PRJ”。
按保存键将项目存在与你的源程序相同的文件夹下。
10.设置项目11.编译程序选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。
双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误后,就可以执行、调试程序了。
12.执行、调试程序有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。
(1)全速执行(2)程序单步跟踪选择[执行 | 跟踪]功能或按跟踪快捷图标或按F7键进行单步跟踪调试程序。
(3)执行到光标处(4)设置断点(5)观察各变量值的方法六、思考题1.改写实验程序实现流水灯功能。
写出源程序。
ORG 0MOV P1,#01HLOOP: MOV A, P1RL AMOV P1,ACALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND2.在执行调试程序过程中,遇到了哪些问题?你是如何解决的?(根据调试的实际情况填写:)(1)指令写错:MOV R1,#0 中的R1写成了字母Rl(2)程序编译不成功,没有加入源文件实验二程序调试一、实验目的1.学习WINDOWS平台下的编辑、编译、排错、调试方法。
2.学习修改和观察变量的方法;综合使用单步、断点调试的方法。
3.了解数据排序的简单算法。
二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将外部RAM(2040H—2049H)中10个单字节无符号数,按从大到小的次序重新排列,并把结果放在外部RAM(2050H—2059H)区域。
三、实验器材安装了WAVE6000集成调试环境软件的计算机1台。
四、实验说明本程序采用的是“冒泡排序”法。
算法是将一个数与后面的数相比较,如果比后面的数小,则交换,如此将所有的数比较一遍后,最小的数就会在数列的最后面。
再进行下一轮比较,找出第二小数据,直到全部数据有序。
五、程序框图(排序部分)六、实验步骤1.打开WAVE6000调试环境,打开“仿真器设置”对话框,选择好仿真器,并选择使用伟福软件模拟器。
2.根据流程图编写程序,并编译通过。
程序清单:ORG 0LJMP 0030HORG 0030HSTART:MOV DPTR, #2040HMOV R0,#40HMOV R7, #10LOOP0:MOVX A,@DPTR MOV @R0,AINC DPTRINC R0DJNZ R7,LOOP0MOV PSW,#00HMOV R2, #9LOOP1:MOV R0,#40HMOV R1,#41HMOV 03H,R2CLR 7FHLOOP2:MOV A,@R0MOV 30H,AMOV A,@R1CJNE A,30H,LOOP3 SJMP L1LOOP3:JC L1MOV @R0,AXCH A,30HMOV @R1,ASETB 7FHL1: INC R0INC R1DJNZ R3,LOOP2JNB 7FH,LOOP4DJNZ R2,LOOP1 LOOP4:MOV DPTR, #2050H MOV R0,#40HMOV R7, #10 LOOP5:MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R7, LOOP5 END3.打开XDATA数据窗口,在弹出的XDATA窗口中从2040H开始的单元中输入10个不同数。
4.打开DATA数据窗口,把打开的窗口进行并排,单步或跟踪运行程序,观察DATA数据窗口40H开始的单元和XDATA窗口2050H开始的单元内容的变化。
七、思考题1.补全程序。
2.在排序前,程序对片外数据做了什么工作?排序后,对结果又进行了什么处理?并在源程序中标明。
在排序前,程序将片外数据存储器2040H开始的10个地址中的数据读到片内40h~49h 地址中。
LOOP0子程序实现此功能。
排序后又将40h~49h地址中的输出送到片外2050H~2059H中。
LOOP4\LOOP5子程序实现此功能。
实验三外部中断实验一、实验目的:掌握MCS-51单片机中断原理及编程使用方法。
二、实验设备1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容:在实验一的基础上,增加中断功能。
如果中断请求得到响应,用L0-L7实现从右到左逐个点亮,直至中断请求撤消,中断返回。
四、连线方案五、实验源程序ORG 0LJMP 0030HORG 0013HLJMP INT10ORG 0030HMOV PSW,#00HORL IE, #84HORL IP,#04HMOV SP,#30HMOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRET INT10: PUSH PSWPUSH P1MOV PSW,#08HMOV P1,#0 ;熄灭发光二极管MOV A,#01HMOV R3,#16LOOP1:MOV P1,ARL ACALL DelayDJNZ R3,LOOP1POP P1POP PSWRETIEND六、实验步骤1.按连线方案连线。
注意:拨动开关K0置为高电位(打在上方)。
2.打开WAVE6000调试环境,打开“仿真器设置”对话框,设置好仿真器。
3.输入源程序,并编译通过。
4.执行程序。
在执行程序的过程中,将K0置为低电位(打在下方),表示有故障发生,再将K0置为高电位,观察现象。
七、思考题1.补全程序。
2.在执行中断服务程序过程中,如果K0没有及时返回高电平,观察到什么现象?如果K0及时返回高电平,又观察到什么现象?解释原因。
如果K0没有及时返回高电平,程序又一次进入中断,LED灯再次循环点亮16次,中断被多次触发。
如果K0及时返回高电平,只响应一次中断。
原因是,程序中中断设置为低电平触发方式。
3.如果希望用L0-L7实现从左到右逐个点亮,该改哪条指令,请写出原指令及更改后的指令。
将LOOP1子程序中的 RL A,改为RR A指令。
实验四串行口实验(基于PROTEUS软件)一、实验目的1.掌握MCS-51单片机串行口方式0、方式1的工作原理;2.了解方式0时的应用,即通过串行口扩展并行口,进行静态显示的方法;3.掌握串行移位寄存器芯片74LS164的工作原理;4.了解方式1时的应用,即10位UART,利用方式1实现双机通讯;5.熟悉并掌握PROTEUS软件的使用方法。
二、实验内容本实验包含两个小实验,可任选做一个。
1.利用串行口的工作方式0,将单片机的串口通过74LS164芯片转换成并口并驱动数码管循环依次显示0-9。
在PROTEUS软件中设计出相应的电路,并进行仿真。
2.利用串行口的工作方式1,实验两个单片机间的双机通讯。
其中单片机甲向单片机乙循环发送9-0(递减),同时单片机乙向单片机甲发送0-9(递增)。
三、实验器材装有PROTEUS软件的计算机一台。
四、实验原理图五、示范程序1.方式0示范程序MAIN:MOV SCON,#0MAIN1: MOV B,#0FFHMOV R0,#0AHLP: INC BLCALL DSPLYLCALL DL1SDJNZ R0,LPLJMP MAIN1DSPLY: MOV DPTR,#TABLEMOV A,BMOVC A,@A+DPTRMOV SBUF,ALP1: JNB TI,LP1CLR TIRETTABLE: DB 0C0H,0F9H,0A4HDB 0B0H,99H,92HDB 82H,0F8H,80H,90HDL1S: MOV R7,#10DL1: MOV R6,#200DL2: MOV R5,#250DL3: DJNZ R5,DL3DJNZ R6,DL2DJNZ R7,DL1RET思考题1.你在实验中是否采用了示范程序?在做实验过程中遇到了哪些问题?如何解决的?采用了改示范程序,出现问题。