单片机实验指导书——带答案
单片机实验指导书
目录实验一系统认识实验 (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的程序加注释。
Freescale单片机实验指导书2【2024版】
一般性实验实验一普通I/O口操作实验实验目的:1、熟悉SDIDE开发环境,熟悉GP32基本程序结构2、理解Freescale MCU的编程框架3、熟悉编程调试环境,编译、调试、下载运行第一个程序4、掌握I/O的基本编程方法范例程序:① A01_简单IO及程序框架\ FrmMain.ASM② C01_简单IO及程序框架\纯C\prgframe.prj③ C01_简单IO及程序框架\C&ASM混编\prgframe.prj实验要求:1、参看教材6.4节,熟悉实验板结构2、运行并读懂教材第7章的关于I/O口操作的LED灯控制程序3、按下列要求新建一程序:根据PB口低2位(PTB1和PTB0)的状态输出四种不同的LED显示效果,要求用最简洁的语句实现以下各效果。
(1)PTB1=0,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。
(效果1)(2)PTB1=0,PTB0=1时,效果为:8个LED中只有两个连在一起的灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。
(效果2)(3)PTB1=1,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约8秒。
(效果3)(4)PTB1=1,PTB0=1时,效果自定。
(效果4)实验二串行通信实验实验目的:1、理解串行通信基本原理,掌握MCU串行通信基本编程方法2、理解串行通信的查询方式和中断方式原理及其编程范例程序:1、C02_1串行通信查询方式\ H08SCI_1.prj2、C02_2串行通信中断方式\ H08SCI_2.prj3、A02_1串行通信查询方式\ SCIMain1.asm4、A02_2串行通信中断方式\ SCIMain2.asm5、以上四目录都有VB_SCI目录,该目录是对应Visual Basic6.0程序,运行在PC方,用来接收和发送数据。
单片机实验答案
实验一熟悉键盘操作及数传指令编程设计1.内部RAM数据传送1)寄存器寻址与立即寻址,需要查看的数据有A、PSW和不同寄存器区的Rn等单元的内容步数A变化PSW变化RN变化PC原值变值原值变值原值变值原值变值ORG 0000HMOV PSW,#00HMOV R0,#30H 00(RO) 30 0 3MOV A,R0 00 30 3 5MOV R6,A 00(R6) 30 5 6MOV PSW,#14H 00 14 30(R6、R0) 00 6 7 MOV R0,#30H 00(R0) 30 7 000A MOV A,R0 000A 000C MOV R6,A 00(R6) 30 000C 000D MOV PSW,#10H 14 10 000D 000E MOV R0,#30H 000E 11 MOV A,R0 11 13 MOV R6,A 13 14 MOV PSW,#08H 10 08 30(R0、R6) 00 14 15 MOV R0,#30H 00(RO) 30 15 18 MOV A,R0 18 001A MOV R6,A 00(R6) 30 001A 001B SJMP $ 001B 001C END `2) 直接寻址,需查看30H、31H、32H、40H、ACC、PSW等单元的内容。
步数30H 31H 32H 40H ACC PSW PC原值变值原值变值原值变值原值变值原值变值原值变值原值变值ORG 0100H 0 0 0 00X00X0MOV30H,#45H 0 0 0 00X00X00 ·MOV31H,#46H 0450 0 00X00X00000103MOV 02H,31H 45460 00X00X00 `0106MOV0E0H,30H 45460 00X00X001060109MOV 32H,ACC 45460 00X00X450X00X010109010CMOV ACC,PSW 4546450X450X01010C010FMOV 40H,ACC 454645 00X450X450X01010F0112SJMP $ 4546450X450X450X0101120115END3)寄存器间接寻址,需查看@R0、RO等的内容@RO RO PC原值变值原值变值原值变值 ORG 0200H 0 0X00MOV 30H,#66H 0 66 0X00MOV R0,#30H 66 0X00 0200 0203 MOV @R0,#30H 66 30 0X00 0X30 0203 0205SJMP $ 30 0X300205 0207END 30 0X302.外部数据传送需要查看的数据有外部数据存储器单元2000H,外部程序存储器单元2001H。
单片机原理与应用实验指导书(含参考程序)
单片机实验实验说明:实验一和二做一次实验三和四做一次实验五和六分别做一次实验一 P1口实验一一、实验目的:1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验设备:EL-MUT-II型实验箱,8051CPU板三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。
四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。
可以用第二个实验做一下实验。
先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。
现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH经计算得X=127。
单片机实验指导书
目录实验一P1口输入、输出实验 (2)实验二继电器控制实验 (8)实验三音频控制实验 (11)实验四程序调试 (14)实验五5LED静态串行显示实验 (16)实验六6LED动态扫描显示实验 (21)实验七查询式键盘实验 (28)实验八阵列式键盘实验 (36)实验九计数器实验 (47)实验十定时器实验 (49)实验十一外部中断实验 (54)实验一P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。
2、添加 P1_B.ASM源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。
向上拨为熄灭,向下拨为点亮。
四、流程图及源程序1.流程图2.源程序:(一)实验一ORG 0000HLJMP STARTORG 0030HSTART: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP STARTDELAY: MOV R6,#0MOV R7,#0DELAYLOOP:;延时程序DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND(二)实验二KEYLEFT BIT P1.0 ;定义KEYRIGHT BIT P1.1LEDLEFT BIT P1.2LEDRIGHT BIT P1.3ORG 0000HLJMP STARTORG 0030HSTART: SETB KEYLEFT ;欲读先置一SETB KEYRIGHTLOOP: MOV C,KEYLEFTMOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND五、思考题(1)对于本实验延时子程序Delay: MOV R6,0MOV R7, 0DelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET如使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
单片机实验指导手册
3.生成目标代码文件
通过菜单”Source” / “Build All” , 在”Program File ”栏中添加上面编译好的目标代码文件 DZC32.HEX。若编译失败,对程序修改调试至编译成功。
2.4.POTEUS 仿真 1.加载目标代码文件
打开单片机属性窗口,在”Program File” 栏中添加上面编译好的目标代码文件 DZC32.HEX;在”Clock Frequency” 栏中输入晶振频率 12MHZ。注意:时钟发生器中的晶 振要设置频率,单片机的晶振频率也要设置。
2.仿真
单击按钮 ,启动仿真。运行片段如图 2-2 所示。开关断开,输入引脚电平为高;
开关闭合,输入引脚电平为低。 若要更明白地看到引脚的电平高、低状态,可以单击菜单 ”Systm ”/”Set Animation Option…”,弹出如图 2-5 所示对话框,选中显示引脚逻辑状态(图中有√的项) 。此时的仿 真运行片段如图 2-2 所示。
④SW-SPST:带所存的单刀单掷开关,开关的合或断可单击向下或向上的知识箭头实现。
2.放置元器件、放置电源和地线、元器件属性设置、电气检测
所有操作都是在 ISIS 中进行,其设计与实验一相似,故不详述。 图 2-1 中的元器件 RN1、RN2 是 8 电阻的排阻。其中每个电阻的阻值都设置为 200 ,
脚 g 为高电平则不亮。
图 2-2 共阳数码管引脚布局及测试
注释:此时 p2=11110000 与后 A=0000 0000 调用子程序后 A=0000 0001 P1=1100 0000 即 C0 显示数字 0
图 2-3 共阳ቤተ መጻሕፍቲ ባይዱ码管引脚布局及测试
注释:此时 p2=11110001 与后 A=0000 0001 调用子程序后 A=0000 0010 P1=1111 1001 ⑤CAP、CAP-ELEC:电容,电解电容。 ⑥CRYSTAL:晶振。 即 F9 显示数字 1
单片机原理——实验指导书
《单片机原理》实验指导书张毅刚何谨孙震哈尔滨工业大学2005年4月目录序 ------------------------------------------------------------------------------------------------------------- 1实验1 单片机实验开发系统操作实验 ------------------------------------- 2实验2 单片机数据区传送程序设计------------------------------------------ 4实验3 数据排序实验 --------------------------------------------------------------------- 6实验4 查找相同数个数----------------------------------------------------------------- 8实验5 P1口转弯灯实验--------------------------------------------------------------- 10实验6 工业顺序控制 -------------------------------------------------------------------- 13实验7 8255控制交通灯--------------------------------------------------------------- 16实验8 A/D转换实验---------------------------------------------------------------------- 19实验9 D/A转换实验---------------------------------------------------------------------- 22实验10 电子时钟(定时器、中断综合实验) -------------------- 26附录1 DAIS-80958B单片机实验开发系统简介------------------- 36附录2 实验开发系统的字形/字位/键值表 --------------------------- 37序一、实验素养和一般知识1.实验前准备工作(1) 明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。
单片机实验指导书
实验一、输入输出接口编程一、实验目的1、掌握Keil软件的基本使用。
2、掌握单片机汇编语言基本编程。
二、实验内容1、学习用Keil软件进行51单片机的软件开发;学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。
(见参考程序一)2、霓虹灯控制程序设计用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。
将生成的HEX文件下载到实验板上验证。
(见参考程序二)三、实验原理1、Keil软件使用练习设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。
(见参考程序一)2、霓虹灯控制程序设计电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED图中用单片机的P1口作输出口接8个LED ,8个LED 按共阳极连接,端口逻辑值为0点亮LED ;P3口作输入口接2个SW-SPST 开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。
本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。
本实验中的延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。
输出表格确定发光模式,实验中定义表格如下:TAB1:DB 01H,02H,04H,08H,10H,20H,40H,80H (SW3,SW4为:00) TAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81H (SW3,SW4为:01) TAB3:DB 80H,40H,20H,10H,08H,04H,02H,01H (SW3,SW4为:10) TAB4: DB 用户自己定义(SW3,SW4为:11)输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。
单片机实验指导书
第一章DVCC-52196JH单片机仿真实验系统简介第一节DVCC系列单片机仿真实验系统性能§ 1 . 1 系统性能指标1.仿真、实验相结合。
2.实验模块化结构,互不影响,通过连线又可将各模块有机结合。
3.实验内容设置丰富、合理,满足教学大纲要求。
4.每项实验连线方便,既能满足学生动手能力愿望,又能充分发挥学生的创新能力,提高教学实验的质量和效率。
5.自带集成调试环境,Win9X/NT软件平台,含:源程序库、芯片资料库、原理图库、元器件位置图库、实验说明、动态调试工具库。
6.提供源程序编辑、汇编、链接。
7.电路具有过压保护,确保系统安全、可靠工作。
8.整机采用热风整平工艺基板、波峰焊接,实验连接接口采用圆孔插座,整机可靠性好。
9.自带EPROM写入器,可对27128、2764EPROM进行写入。
10.自带键盘显示器,进口键座,专用彩色键帽,决无按键不可靠现象。
11.系统用串行口、用户用串行口相互独立,在通过RS232与上位机联机状态下,同样可以调试用户串行口程序。
12.系统带有示波器功能,通过RS232口,可将测得的信号显示在上位机的屏幕上。
该系统通过RS232口可连各种上位机,在Win9X/NT软件平台进行仿真开发和实验。
同时系统自带键盘显示器,无须任何外设也能独立工作,支持因陋就简建立单片机实验室。
系统提供实验程序库,均放在系统光盘上,可直接使用。
同时全部实验程序机器码已固化在EPROM中,作为用户程序。
在进入实验前,需将该EPROM中的程序(在固化区)传送到仿真RAM区,以便以单步、断点、连续等方式运行程序。
§ 1.2 系统提供的主要实验项目如下:一、MCS—51部分软件实验1、清零程序实验 6、字符串查找并统计相同字符串个数2、拆字程序实验 7、双字节乘法程序3、拼字程序实验 8、多分支程序设计4、数据块传送实验 9、定时/计数器实验5、数据排序实验 10、电脑时钟实验二、MCS—51部分硬件实验1、8031单片机P3、P1口应用 11、步进电机控制2、工业顺序控制 12、直流电机控制3、并行I/O口8255应用 13、电子音响4、简单I/O口输入、输出扩展 14、继电器控制5、A/D转换0809应用 15、数据存贮器扩展和程序存贮器扩展6、D/A转换0832应用 16、8031串行口应用实验(一)—双机通信实验7、串并转换实验 17、8031串行口应用实验(二)—与PC机通信8、定时计数器8253A应用 18、温度测量实验(5G14433应用)9、可编程键盘显示8279A应用 19、压力测量实验10、打印机接口应用对DVCC—××JH+机型增加下列四个扩展实验一、128×64液晶显示实验二、16×16LED点阵显示实验三、语音录放实验四、IC卡读写实验§ 1.3 实验系统主要机型如下:DVCC—52JH(JH+) 51实验、仿真DVCC—52196JH(JH+) 51、196实验、仿真DVCC—5286JH(JH+) 51实验、仿真,8088实验DVCC—598JH(JH+) 51、196实验、仿真,8088实验第二节 MCS—51实验系统安装与启动§ 2.1 MCS51实验系统安装与启动1. DVCC系列实验系统在出厂时均为51状态对DVCC—52196JH机型:SK1位1—5置ON位置,位6—10置OFF对DVCC—5286JH和DVCC—598JH机型:a.SK1位1—5置ON,位6—10置OFF;b.SK2位1—2置ON;c.SK3置ON;d.SK4置OFFe.卧式KBB置51、96位置,立式KBB1开关置51、88位置(只对DVCC—598JH/JH+);f.DL1—DL4连1、22. 如果系统用于仿真外接用户系统,将40芯仿真电缆一头插入系统中J6插座,另一头插入用户系统的8051CPU位置,注意插入方向,仿真头上小红点表示第一脚,对应用户8051CPU 第一脚。
8051单片机实验报告(有答案).doc
第一章汽车总体设计1-1.在进行汽车总体布置是,使用五条基准线,是怎样确定的?答:在初步确定汽车的载客量(载质量)、驱动形式、车身形式、发动机形式等以后,要深入做更具体的工作,包括绘制总布置草图,并校核初步选定的各部件结构和尺寸是否符合整车尺寸和参数的要求,以寻求合理的总布置方案。
绘图前要确定画图的基准线(面)。
确定整车的零线(三维坐标面的交线)、正负方向及标注方式,均应在汽车满载状态下进行,并且绘图时应将汽车前部绘在左侧。
确定整车的零线、正负方向及标注方式,均应在汽车满载状态下进行,并且绘图时应将汽车前部绘在左侧。
1.车架上平面线;2.前轮中心线;3.汽车中心线;4.地面线;5.前轮垂直线。
1.车架上平面线纵梁上翼面较长的一段平面或承载式车身中部地板或边梁的上缘面在侧(前)视图上的投影线,称为车架上平面线。
它作为标注垂直尺寸的基准载(面),即z 坐标线,向上为“+”、向下为“-”,该线标记为0/Z。
2.前轮中心线通过左、右前轮中心,并垂直于车架平面线的平面,在侧视图和俯视图上的投影线,称为前轮中心线。
它作为标注纵向尺寸的基准线(面),即x 坐标线,向前为“-”、向后为“+”,该线标记为0/x。
3.汽车中心线汽车纵向垂直对称平面在俯视图和前视图上的投影线,称为汽车中心线。
用它作为标注横向尺寸的基准线(面),即y 坐标线,向左为“+”、向右为“—”,该线标记为0/y。
4.地面线地平面在侧视图和前视图上的投影线,称为地面线。
此线是标注汽车高度、接近角、离去角、离地间隙和货台高度等尺寸的基准线。
5.前轮垂直线通过左、右前轮中心,并垂直于地面的平面,在侧视图和俯视图上的投影线,称为前轮垂直线。
此线用来作为标注汽车轴距和前悬的基准线。
当车架与地面平行时,前轮垂直线与前轮中心线重合(如乘用车)。
1-2:发动机前置前驱布置形式,如今在乘用车上广泛应用的原因?发动机后置后驱布置形式在客车广泛应用原因?前置前驱优点:前桥轴荷大,有明显不足转向性能,越过障碍能力高,乘坐舒适性高,提高机动性,散热好(发动机的得到足够冷却),足够大行李箱空间(行李箱布置在汽车后),供暖效率高,操纵机构简单(发动机,离合器,变速器与驾驶员位置近),整车m小(省略传动轴装置),低制造难度。
《单片机原理及应用》实验指导书
《单片机原理及应用》102G05A实验指导书2016.02目录实验1 C语言编程 (3)实验2 Keil开发环境与编程 (5)实验3 数据排序 (18)实验4 数据搬运 (19)实验5 汇编程序实验 (20)实验6 流水灯实验 (21)实验7 C8051F020单片机基本配置方法 (21)实验8 外部中断实验 (25)实验9 按键接口与数码管输出 (26)实验10 定时器 (27)实验11 数字频率计设计 (28)实验12 串口通信实验 (30)实验13 数据采集系统设计 (31)实验14 函数信号发生器设计 (32)实验1 C语言编程一、实验目的1.复习C语言编程。
二、实验内容1.熟悉C语言编程。
软件调试一下题目:(1) 两数相加(2) 两数比大小(3) 1+2+3+……+10(4) 其他简单数学计算………三、实验步骤(简单操作可参见实验2中项目创建步骤)1.Keil软件,使用“Project”菜单中的“New μVision Project”选项来创建项目,放置到你指定的文件夹。
2.选择单片机型号AT89C513.编写源程序,并保存(扩展名用C),例程见图1-1。
4.将文件添加到工程中。
5.调试。
编写源程序注意:1.AT89C51为通用8051系列单片机2.头文件reg51.h用于51单片机特殊功能寄存器标识,stdio.h用于一些标准输入输出函数的调用如printf()。
3.因单片机没有PC机那样的显示器标准输出,printf()函数的输出通过单片机串口输出实现,所以要完成两件事:(1) printf()函数之前要执行“TI=1;”用于打开串口发送,只有执行“TI=0;”(2) 软件仿真调试时,信息在“串口输出”窗口中输出。
可在debug模式下使用菜单View-->Serial Windows-->UART #1打开“串口输出”4.使用单片机端口P0、P1、P2等输出,可在debug模式下使用菜单Peripherals—>I/O-Ports—>指定哪个端口5.调试界面如图1-2图1-1 C语言例程图1-2 C语言程序调试界面点击后进入调试模式串口输出从端口输出头文件实验2 Keil开发环境与编程一、实验目的1.熟悉基于KEIL下的实验环境。
- 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.你在实验中是否采用了示范程序?在做实验过程中遇到了哪些问题?如何解决的?采用了改示范程序,出现问题。