单片机实验指导书

合集下载

单片机实验指导书

单片机实验指导书

目录实验一系统认识实验 (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其他点亮功能。

单片机实验指导书(6个实验)

单片机实验指导书(6个实验)

单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。

2)编写实验所要用到的程序,将其放在U盘上。

3)写出预习报告。

2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。

2)对程序进行调试,修改错误,获得要求的结果。

3)保存调试后的程序。

3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。

实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。

流程图也可不画。

5.程序清单本实验使用的完整程序。

如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。

6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。

此项为实验成绩评定的重要依据。

实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。

实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。

实验原理及环境:在计算机上已安装Keil C51软件。

这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。

如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。

实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。

2)加入C 源文件或汇编源文件。

3)用项目管理器生成各种使用文件。

4)检查并修改源文件中的错误。

5)编译连接通过后进行软件模拟仿真。

6)编译连接通过后进行硬件仿真。

7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。

单片机实验指导书

单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。

本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。

在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。

二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。

- 通过适配器给单片机开发板供电。

- 检查驱动程序是否正确安装。

2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。

- 选择适当的单片机型号和编程语言。

- 编写程序代码,实现所需功能。

- 编译程序并下载到单片机开发板。

3. 实验操作:- 根据实验要求连接相应的电路元件。

- 调试程序,确保程序能正确运行。

- 运行实验并观察结果。

四、实验注意事项1. 请确保您具备基本的电路和编程知识。

2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。

3. 如果遇到问题,请及时咨询实验指导人员或相关专家。

五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。

程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。

单片机部分实验指导书

单片机部分实验指导书

目录1、实验一多路开关实验 (3)2、实验二可编程增益放大器实验 (5)3、实验三A/D转换实验 (7)4、实验四D/A转换实验 (11)5、实验五静态显示实验 (13)6、实验六动态扫描显示实验 (15)7、实验七液晶显示实验 (18)8、实验八矩阵式键盘实验 (23)9、实验九开关量输入输出实验 (28)10、实验十24WC02串行E2PROM的读写实验 (30)11、实验十一PCF8563时钟/日历芯片的应用实验 (37)12、实验十二外部程序存储器EPROM的扩展实验 (45)13、实验十三 SRAM外部数据存储器扩展实验 (47)14、实验十四单片机与PC机的RS232串行通信实验 (50)15、实验十五单片机与PC机的MAX485串行通信实验 (52)16、实验十六打印机实验 (54)17、实验十七 USB通信实验 (57)18、实验十八网络控制器实验 (102)实验一多路开关实验一.实验目的1.掌握多路开关与单片机的接口方法。

了解按键识别的编程方法。

2.通过实验了解单片机如何进行多路开关实验。

二.实验内容利用线路板DSC-SCM01提供CPU处理器,利用线路板DCP-SCM02上的发光二级管显示及查询式键盘完成多路开关实验。

当对应的按键按下时,相应的发光二极管亮。

三.实验器材1.主控屏+5V电源2. DCP-SCM01 单片机电路3. DCP-SCM02 键盘及显示电路四.实验原理图五.实验说明该实验通过线路板DCP-SCM01及线路板DCP-SCM02完成,线路板DCP-SCM02上发光二极管的阳极接正5V电源,所以要使某个发光二极管亮,只要使对应的发光二极管的阴极为低电平即可。

六.实验步骤1.利用导线按表格中的对应关系将DCP-SCM01对应的端口与DCP-SCM02对应的端口连接起来即可DCP-SCM02 DCP-SCM01发光二极管显示单元的插座U3 P0查询式键盘区域的插座U4 P1EA脚接+5VD_SWITCH.C3.输入并编辑D_SWITCH.C文件,并且编译生成HEX文件。

单片机实验指导书

单片机实验指导书

单片机实验指导书一、硬件实验系统介绍(一)电路原理实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。

详细的电路原理图见附件(二)各模块开关控制简表二、单片机实验板使用说明(一)程序下载1、下载软件为STC-ISP V3.X,建议使用V3.5版本。

2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。

3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。

(二)程序运行1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。

2、各元件的电源开关均靠近本元件。

(三)注意事项由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。

2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。

使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。

3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零三、Keil软件使用简要说明1、建立工程文件:单击“工程”菜单中的“新工程”命令。

选择路径、输入项目名称,不需要扩展名。

在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。

2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。

单片机实验指导书

单片机实验指导书

单片机实验指导书实验一拆字程序实验一、实验目的:掌握汇编语言程序设计方法。

二、实验内容:把8000H地址的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清0。

本程序通常把数据送显示缓冲区时使用。

三、实验器材:计算机1台。

四、实验步骤:1、按流程图编写程序,以下是通过计算机交叉汇编得到的LST文件清单,供参考。

2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。

3、设置观察窗口:(1)用鼠标点击[视图/存储器窗口],在地址栏中输入:[x:0x8000];(2)在8000H写入任意数据:在地址栏内选定任意数据,[如:0x008000:00 00 00 00……](注:初始数据均为“00”)。

右键点击一初始数据“00”,在出现的对话框中点击“修改位于X:0x008000的内存”,在新弹出的对话框:[输入字节于X:0x008000]内输入任意数据,确定即完成数据的写入。

(3)单步执行观察寄存器8000H-8002H的变化。

六、实验程序:(51ASM\A8051.asm);把指定字节的高低位拆开分别存放,多用于显示字程序ORG 0000HMOV DPTR,#8000H ;指定的字节MOVX A,@DPTRMOV B,A ;暂存SW AP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,AINC DPTRMOV A,BANL A,#0FH ;指定字节的内容屏蔽高位MOVX @DPTR,ALOOP: SJMP LOOPEND ;结束汇编实验二拼字程序实验一、实验目的:1、进一步掌握汇编语言设计。

2、熟悉软件调试方法。

二、实验内容:把8000H、8001H两个字节的低位分别送入8002H的高位和低位。

本程序一般用于把显示缓冲区数据取出拼装成一个字节。

单片机实验指导书

单片机实验指导书

实验一数制转换实验一、实验目的:(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”,则说明系统上电复位过程不正常。

此时按一下红色的手动复位按钮,系统就应当正常工作了。

如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。

单片机实验指导书

单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。

通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。

第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。

3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。

设置工程的名称和保存位置,确定后点击“保存”。

3.3 编写程序在Keil C51开发环境中,编写单片机程序。

首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。

3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。

编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。

3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。

第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。

4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。

4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。

第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。

通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。

本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。

在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。

通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。

在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。

单片机实验指导书(2)

单片机实验指导书(2)

实验四数据排序实验1.实验目的:(1)学习KEIL Uv2/Uv3集成调试环境下的编辑、编译、排错、调试方法。

(2)学习修改和观察变量的方法;综合使用单步、断点调试的方法。

2.实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号正整数,按从小到大的次序重新排列。

3.实验器材:(1)G2010+实验箱 1 台4.程序框图:6.思考问题:编一程序把50H-5AH中内容按从大到小排列。

7.软件清单:(实验例程\实验4\ASM51\EX4.ASM)(实验例程\实验4\C51\EX4.C)实验六 P1口输入输出实验1.实验目的:(1)掌握P1口作为IO口时的使用方法。

(2)理解读引脚和读锁存器的区别。

2.实验内容:P1.3脚的状态来控制P1.2的LED亮灭。

3.实验器材:(1)G2010+实验箱 1 台(2)连线若干根4.实验原理:由8051组成的单片机系统通常情况下,P0口分时复用作为地址、数据总线,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。

P1口是8位准双向口,它的每一位都可独立地定义为输入或输出,因此既可作为8位的并行I/O 口,也可作为8位的输入输出端。

当工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。

每个I/0端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以I/0端口为源操作数的指令,如MOV C,P1.3,而读锁存器指令一般为“读-修改-写”指令,如ANL P1.3,C指令,请同学们在实验中体会。

图示中,P1.2作为输出口,P1.3作为输入口。

5.接线图案:“总线插孔”框中P1.2孔连“发光二极管组”的L0孔,P1.3孔连“开关量发生器”的K0孔。

6.程序框图:7.实验步骤:(1) 编写程序实现当P1.3为低电平时,发光管高;P1.3为高电平时,发光管灭。

单片机实验实验指导书

单片机实验实验指导书

目录实验一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文件,在程序窗口中输入已编好的程序,保存。

单片机实训指导书

单片机实训指导书

单片机实训指导书一、实训目的单片机实训是一门重要的实践课程,旨在通过实际操作和项目实践,让学生深入了解单片机的工作原理、编程方法和应用开发。

通过本次实训,学生将能够掌握单片机系统的设计、调试和维护技能,提高解决实际问题的能力,为今后从事相关领域的工作打下坚实的基础。

二、实训设备1、计算机:用于编写和调试单片机程序。

2、单片机开发板:包含单片机芯片、外围电路和接口,如STC89C52 开发板。

3、编程器:用于将编写好的程序下载到单片机中。

4、示波器:用于观察电路中的信号波形。

5、万用表:用于测量电路中的电压、电流等参数。

三、实训要求1、学生应提前预习相关的理论知识,熟悉单片机的基本结构和编程方法。

2、实训过程中,要严格遵守实验室的规章制度,注意安全,爱护实验设备。

3、认真完成每个实训项目,按时提交实训报告。

4、培养团队合作精神,积极参与小组讨论和项目开发。

四、实训内容(一)单片机基础知识1、了解单片机的发展历程、应用领域和特点。

2、熟悉单片机的内部结构,包括中央处理器(CPU)、存储器(ROM、RAM)、输入输出端口(I/O 口)、定时器/计数器、中断系统等。

3、掌握单片机的指令系统和编程方法,能够使用汇编语言或 C 语言进行简单的程序编写。

(二)单片机开发环境搭建1、安装单片机编程软件,如 Keil C51。

2、学习编程软件的使用方法,包括创建工程、编写代码、编译调试等。

3、安装并使用下载软件,将编写好的程序下载到单片机开发板中。

(三)单片机 I/O 口控制实验1、学习单片机 I/O 口的工作原理和控制方法。

2、编写程序实现对单个 I/O 口的输出控制,如点亮 LED 灯。

3、实现对多个 I/O 口的组合控制,如流水灯效果。

(四)定时器/计数器实验1、了解单片机定时器/计数器的工作原理和计数模式。

2、利用定时器/计数器实现定时功能,如控制LED 灯闪烁的频率。

3、实现计数器功能,如对外部脉冲进行计数。

单片机实验指导书

单片机实验指导书

目录实验一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

单片机实验指导书

单片机实验指导书

目录第一章开发流程、硬件设定一、软件开发流程--------------------------------------------------------2二、硬件接口及开关设置-----------------------------------------------3三、系统地址分配--------------------------------------------------------4 第二章软件实验实验一数据区传送子程序--------------------------------------------5 实验二数据排序实验-------------------------------------------------6实验三查找相同数个数----------------------------------------------7实验四脉冲计数(定时/计数器实验)--------------------------8第三章硬件实验实验一P1口亮灯实验--------------------------------------------------11实验二 P3口输入,P1口输出-----------------------------------------12实验三8255 PA口控制PB口---------------------------------------13实验四8255控制交通灯-----------------------------------------------14 实验五简单I/O口扩展------------------------------------------------17实验六A/D转换实验----------------------------------------------------18 实验七D/A转换----------------------------------------------------------21 实验八8279键盘显示实验--------------------------------------------23 第四章综合性设计实验实验一步进电机控制---------------------------------------------------27实验二128*64 LCD液晶显示----------------------------------------34第一章开发流程、硬件设定一、软件开发流程对于刚刚使用keil 的用户来讲,一般按照以下流程来完成开发任务。

单片机试验指导书

单片机试验指导书

第一章初级软件实验部分实验一二进制转换成十进制实验一、实验设备1.THGQC-1型嵌入式单片机实验开发系统-套。

2.PC机一台。

注:其它实验与此相同,此项以后不再重述。

二、实验目的掌握汇编语言设计和实验步骤,熟悉在KEIL环境下观察内部RAM 的方法。

三、实验内容单片机中的数值有各种表达方式,这是单片机的基础。

掌握各种数制之间的转换是一种基本功。

本实验内容是将一个给定的一字节二进制数,通过编程将其转换成十进制码。

四、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。

在所建的Project文件中添加TOBCD.ASM文件,打开TOBCD.ASM文件,阅读、分析、理解程序,编译程序进行调试。

(如何建立工程请看附录说明)2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序。

程序具体功能是将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#0ffh。

打开MEMORY WINDOW数据窗口,(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、32H的数据变化,30H更新为02,31H更新为05,32H更新为05。

3)修改源程序中给累加器A的赋值,重复实验,观察实验效果。

4)打开CPU寄存器窗口,选择单步或跟踪执行方式运行程序,观察各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

五、实验程序参考框图六、实验参考程序RESULT EQU 30HORG 0000HJMP STARTORG 0100HSTART:MOV SP,#40HMOV A,#0FFHCALL BINTOBCDNOP ;此处设置断点,察看RAM 30H,31H,32HLJMP $BINTOBCD:MOV B,#100DIV ABMOV RESULT,A;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETEND实验二无符号数十进制加法实验一、实验目的掌握无符号数、十进制加法,熟悉在KEIL环境下观察内部RAM 的方法。

单片机实验指导书

单片机实验指导书

前言 (3)实验一熟悉µ’nSP™ IDE环境下的汇编程序的编写 (4)【实验目的】 (4)【实验设备】 (4)【实验步骤】 (4)【程序流程图】 (5)【程序范例】 (5)【程序练习】 (5)实验二熟悉µ’nSP™ IDE环境下的C语言的编写 (6)【实验目的】 (6)【实验设备】 (6)【实验步骤】 (6)【程序范例】 (6)【程序练习】 (6)实验三使用汇编语言实现A口的输出实验 (7)【实验目的】 (7)【实验设备】 (7)【实验原理】 (7)【实验步骤】 (7)【硬件连接图】 (7)【程序练习】 (8)实验四 FIQ中断实验 (9)【实验目的】 (9)【实验设备】 (9)【实验原理】 (9)【实验步骤】 (9)【程序流程图】 (9)【程序练习】 (10)实验五 A/D转换 (11)【实验目的】 (11)【实验设备】 (11)【实验原理】 (11)【实验步骤】 (11)【硬件连接图】 (12)【程序流程图】 (12)【程序练习】 (13)实验六双通道D/A (14)【实验目的】 (14)【实验设备】 (14)【实验原理】 (14)【实验步骤】 (14)【程序流程图】 (15)【程序练习】 (15)实验七一路输入的录音 (16)【实验目的】 (16)【实验设备】 (16)【实验原理】 (16)【实验步骤】 (16)【程序练习】 (16)实验八 32K Flash 读/写 (17)【实验目的】 (19)【实验设备】 (19)【实验原理】 (19)【硬件连接图】 (19)【实验步骤】 (19)【程序练习】 (20)实验九 0.5S定时刷新数码管显示 (21)【实验目的】 (21)【实验设备】 (21)【实验原理】 (21)【硬件连接图】 (22)【实验步骤】 (22)【程序练习】 (23)前言本教材是结合《µ’nSP™系列SPCE061A单片机基础与应用技术》一书而设计实验,与课堂教学内容结合紧密。

单片机实验指导书

单片机实验指导书

实验一、输入输出接口编程一、实验目的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 第一脚。

单片机实验指导书

单片机实验指导书

目录1、keil μVision2基本操作实验2、汇编程序设计实验3、在线编程脱机运行实验4、定时/计数器的应用实验5、中断应用实验6、I2C系统总线实验(E2PROM24C02 )7、串行AD转换实验(ADC0832)8、C51 简单程序设计实验9、C51综合程序设计实验附录 S51E单片机用户板介绍实验一 KeilμVision2基本操作实验一、实验目的1、熟悉KeilμVision2 集成开发环境2、初步掌握KeilμVision2的使用方法二、KeilμVision2使用方法介绍1、KeilμVision2启动从桌面上直接双击KeilμVision2的图标来启动软件。

KeilμVision2启动后,在程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这三个标签分别显示当前项目的文件结构、CPU寄存器和部分特殊功能寄存器的值(只有在调试的时候才出现)和所选CPU的附加说明文件,如果是第一次启动KeilμVision2,这三个标签都是空的。

2、源文件的建立使用菜单“File→New”或点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入以下汇编语言源程序,ORG 0000HMOV A,#0FEHMAIN: MOV P1, ARL ALCALL DELAYAJMP MAINDELAY: MOV R7,#255DL: MOV R6,#255DJNZ R6,$DJNZ R7,DLRETEND保存该文件,注意必须加上扩展名(汇编语言源程序一般使用asm或a51为扩展名,假如是C语言源程序,扩展名为*.c),这里假定文件保存为text1.asm,3、新建一个工程在项目开发中,不仅有一个源程序就可以了,还要为这个项目选择CPU,确定编译、汇编、连接的参数,指定调试的方式,有些项目会友多个文件组成,为了管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一8051简单编程与调试实验目的通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。

学会Proteus与Keil的整合调试。

实验基本要求建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。

画出实验程序的流程框图。

实验步骤采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤:1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。

在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。

在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。

如图所示。

点击“确定”按钮后,弹出如下的对话框如果是进行汇编语言编程选择“否”。

2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。

一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。

在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。

单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。

程序编写完后,再次保存。

在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。

在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group 中,此时“Project Workspace”子窗口如图所示。

3、通过μVision2的各种选项,配置Cx51编译器、Ax51宏汇编器、BL51/.Lx51连接定位器以及Debug调试器。

在“Project Workspace”窗口中的“Target 1”文件夹上单击鼠标右键,在弹出的右键菜单中选择“Option for Target”选项,这时会弹出“Options for Target”对话窗口,在此对话窗口中选择“Output”选项卡,选中“Create HEX File”选项,如图所示。

4、利用μVision2的构造(Buid)功能对项目中的源程序文件进行编译连接,生成绝对代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源程序中的错误后重新构造整个项目。

在Keil的菜单栏中选择“Project”→“Build Target”命令,编译汇编源文件。

如果编译成功,则在“Output Window”子窗口中会显示如图所示的信息;如果编译不成功,双击“OutputWindow”窗口中的错误信息,则会在编辑窗口中指示错误语句。

5、将没有错误的绝对代码装入 Vision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中。

在Keil的菜单栏中,选择“Debug”→“Start/Stop Debug Session”选项,进入程序调试环境,如图所示。

按“F11”键,单步运行程序。

在“Project Workspace”窗口中,可以查看累加器、通用寄存器及特殊功能寄存器的变化。

在“Memory”窗口中,可以看到每执行一条语句后存储空间的变化。

在“Address”栏中,输入“D: 30H”,查看AT89C51的片内直接寻址空间。

程序调试完毕后,再次在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,退出调试环境。

在Proteus中调试程序打开Proteus ISIS编辑环境,在菜单栏中选择“File”→“Load Design”弹出“Load ISIS Design File”对话窗口,选择要打开的Proteus的.DSN设计文件。

在本实验中,设计文件为本实验子目录下的Basic.DSN单击鼠标右键选中AT89C51并单击鼠标左键,打开“Edit Component”对话窗口,在此窗口中的“Program File”栏中,选择先前用Keil生成的.HEX文件,如图所示。

单击Proteus ISIS界面左下角的按钮,进入程序调试状态,并在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal (IDATA) Memory”及“8051 CPU SFR Memory”三个观察窗口,按“F11”键,单步运行程序。

在程序运行过程中,可以在这三个窗口中看到各寄存器及存储单元的动态变化。

Proteus 与Keil整合调试及电路仿真在Proteus的“Debug”菜单中选择“Use Remote Debug Monitor”选项,如图所示。

选择Keil的“Project”→“Options for Target ‘Target 1’”,在弹出的对话框中,单击Debug 选项卡,单击右上部的下三角按钮选择“Proteus VSM Monitor-51 Driver”如图所示。

单击“Setting”进入对话框填写如图所示的IP地址和端口号。

在Keil中,在菜单栏中选择“Debug”→“Start/Stop Debug Session”选项,Keil系统进入调试状态。

同时Proteus也进入调试状态。

这时可以调整这两个软件窗口的大小,使它们同时出现在桌面上,这样就可以同时观察这两个软件运行的情况了。

在Proteus的调试状态下,在“Debug”菜单中打开“8051 CPU Registers”、“8051 CPU Internal(IDATA) Memory”、“8051 CPU SFR Memory”三个观察窗口,在单步运行程序的过程中,可以在这三个窗口中看到各寄存器以及存储单元的动态变化。

实验内容1Porteus模型为BASIC.DSN如下图所示。

一、存储块置全“1”源代码:汇编语言源程序:ORG 00HSTART EQU 30HMOV R1,#START ;起始地址;Rn中设置32字节计数值MOV A,#0FFHLOOP: MOV @R1,A;指向下一个地址;计数值减1,不为零继续SJMP $END在下划线处填入适当指令。

输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。

解释START EQU 30H。

二、二进制BCD码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HLJMP STARTSTART: ;堆栈指针指向40HMOV A,#123LCALL BINTOBACSJMP $BINTOBAC:;除以100得百位数MOV RESULT,AMOV A,BMOV B,#10DIV AB ;余数除以10得十位数MOV RESULT+1,AMOV RESULT+2,B ;余数为个位数RETEND在下划线处填入适当指令。

用单步执行的方法,观察子程序调用过程中堆栈指针的变化。

三、二进制ASCII码转换源代码:汇编语言源程序:RESULT EQU 30HORG 00HSTART:MOV A,#1AH;调用BINTOHEX子程序LJMP $BINTOHEX:;表的首址ASCIITAB送DPTR MOV B,A ;暂存ASWAP A;取A的高四位;查ASCII表MOV RESULT, AMOV A,B ;恢复AANL A,#0FH ;取低四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT+1,ARETASCIITAB:DB '0123456789ABCDEF' ;定义数字对应的ASCII表END在下划线处填入适当指令。

单步运行程序观察查表指令的执行过程。

把LJMP $这条指令注释掉,然后全速运行该程序,然后让其停止观察程序执行到哪里?实验内容2输入、汇编、调试下列四个程序,通过信息窗口观察并回答问题。

1、程序a.asmORG 0000HMOV 30H,#87HMOV A,#69HADD A,30HNOPEND问:CY= ,(A)= ,OV= ,P=将程序中的指令NOP改为指令DA A后问:CY=,(A)= ,OV= ,P=2、程序b.asmORG 0000HMOV SP,#60HMOV DPTR,#0A679HPUSH DPHPUSH DPLMOV A,#80HPUSH ACCPOP BPOP 30HPOP 31HNOPEND问:(SP)= ,(A)= ,(30H)= ,(31H)=,(B)=,(DPH)=,(DPL)=3、程序c.asmORG 0000HMOV DPTR,#TABMOV A,#05HMOVC A,@A+DPTRNOPORG 1000HTAB: DB 6FH,30H,96H,75H,0A8H,0FEHDB 49H,8AH,5FH,0B6H,7FH,0C4HEND问:执行完MOVC A,@A+DPTR以后,(A)=4、程序d.asmORG 0000HMOV A,#02HMOV B,ARL AADD A,BMOV DPTR,#TABJMP @A+DPTRNOPORG 0800HTAB: LJMP 1000HLJMP 2000HLJMP 3000HLJMP 4000HEND问:执行完JMP @A+DPTR以后,PC=实验二汇编语言程序设计实验目的通过上机实验掌握单片机汇编语言程序的编写和调试。

实验基本要求按实验内容上机输入并调试实验程序。

画出实验程序的流程框图。

实验内容Proteus模型为BASIC.DSN。

一、内存块移动汇编语言源程序:ORG 00HSTART: MOV R0, #30HMOV R1, #00H ;设置源地址MOV R2, #40HMOV R3, #00H ;设置目标地址MOV R7, #0 ;设置计数值LOOP: MOV DPH, R0MOV DPL, R1 ;将源地址(3000H)赋DPTRMOVX A, @DPTR ;取源地址中的数据MOV DPH, R2MOV DPL, R3 ;将目标地址(4000H)赋DPTRMOVX @DPTR, A ;将源地址中的数据送到目标地址INC R1 ;源地址加1INC R3 ;目标地址加1DJNZ R7, LOOPLJMP $END输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。

相关文档
最新文档