51单片机实验一实验报告

合集下载

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对汇编语言有了更深的认识。

当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

希望这次的经历能让我在以后学习中激励我继续进步。

【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。

LED显示器:LED显示器是由发光二管组成显示字段的器件。

通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。

有段选码和和位选码。

当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。

LED显示器的显示方式有动态和静态两种。

7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。

51单片机实验报告(共五则)

51单片机实验报告(共五则)

51单片机实验报告(共五则)第一篇:51单片机实验报告51单片机实验报告实验一点亮流水灯实验现象 Led灯交替亮,间隔大约10ms。

实验代码#include 〈reg51、h> void Delay10ms(unsigned int c);voidmain(){)1(elihwﻩ{ ﻩP0= 0x00;Delay10ms(50);;ffx0 =0Pﻩﻩ;)05(sm01yaleDﻩ } } void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}} 实验原理W W hi i le(1)表示一直循环。

循环体内首先将P0 得所有位都置于零,然后延时约5 5 0*10=500ms,接着 0 P0 位全置于 1 1,于就是 D LED 全亮了。

接着循环,直至关掉电源..延迟函数就是通过多个for r 循环实现得。

实验 2 流水灯(不运用库函数)实验现象起初 led 只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后 led 除最后一个都亮,接着上述过程 #includemain(){unsigned char LED;LED = 0xfe;while(1){ ﻩ;DEL = 0PﻩDelay10ms(50);00x0 == 0P(fiﻩ {;1〈〈 DEL = DELﻩ)ﻩ;efx0 = DELﻩ} ﻩ}ﻩ} void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)—-b;0〉b;83=b(rofﻩ{ ﻩﻩﻩ;)--a;0>a;031=a(rofﻩ} ﻩ} ﻩ} 实验原理这里运用了C语言中得位运算符, , 位运算符左移, , 初始值得二进制为1111 1 110, 之后左移一次变成1111 1 100 0,当变成00000 0000 时通过 f if 语句重置 1 1 11 1 11110、延迟函数在第一个报告已经说出了,不再多说..实验 3 流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include 〈reg51、h> #include 〈intrins、h〉void Delay10ms(unsigned int c); void main(void){unsigned char LED;;EFx0 = DELﻩ)1(elihwﻩ{ ﻩP0 = LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_ = DELﻩ} ﻩ} void Delay10ms(unsigned in t c){unsigned chara, b;for(;c〉0;c——){ ﻩfor(b=38;b〉0;b—-){ ﻩﻩ;)-—a;0〉a;031=a(rofﻩ} ﻩ}}实验原理利用头文件中得函数,_cro l_(,), 可以比位操作符更方便得进行 2 2 进制得移位操作, , 比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据, , 由此比前一个例子不需要f if 语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与 A-F。

单片机实训报告总结

单片机实训报告总结

单片机实训报告总结篇一:51单片机实训报告“51单片机”精简开发板的组装及调试实训报告为期一周的单片机实习已经结束了。

通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。

同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。

此次实训主要有以下几个方面:一、实训目的1.了解“51”精简开发板的工作原理及其结构。

2.了解复杂电子产品生产制造的全过程。

3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。

4.能运用51单片机进行简单的单片机应用系统的硬件设计。

5.掌握单片机应用系统的硬件、软件调试方法二、实验原理流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。

它的电气性能指标:输入电压:~6V,典型值为5V。

可用干电池组供电,也可用直流稳压电源供电。

如图所示:本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。

三、硬件组成1、晶振电路部分单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。

他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。

2、复位端、复位电路给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。

实验一51单片机流水灯实验实验报告

实验一51单片机流水灯实验实验报告
如果使用带进位的位移运算指令rlc和rrc则需要定期把cy置0否则会出现同时亮起两个发光二极管的情况
实验一 51单片机流水灯实验实验报告
“流水灯”实验报告 一、实验目的 1.了解单片机I/O口的工作原理。 2.掌握51单片机的汇编指令。 3.熟悉汇编程序开发,调试以及仿真环境。 二、实验内容 通过汇编指令对单片机I/O进行编程(本实验使用P0口),以控制八个发光二极管以一定顺序亮灭。(即流水灯效果) 三、实验原理 通过更改P0口8位的高低电平,分别控制8个发光二极管的亮灭。具体的亮灭情况如下表:
要实现“流水灯”效果,也就是需要将P0口的输出值发生以下变化: FE→FD→FB→F7→EF→DF→BF→7F→BF→DF→EF→F7→FB→FD→FE→...... 可以使用一个循环,不断对数据进行移位运算实现。这里的移位指令采用RL和RR,即不带进位的位移运算指令。如果使用带 进位的位移运算指令(RLC和RRC),则需要定期把CY置0,否则会出现同时亮起两个发光二极管的情况。 四、实验过程 1.在仿真系统中绘制RG 0000H Delay: MOV R0, #0FFH SJMP Start Delay1: MOV R1, #0FFH Start: MOV A, #0FEH Delay2: NOP MOV P0, A DJNZ R1, Delay2 CLR P2.7 DJNZ R0, Delay1 CLR P3.7 RET Move: MOV R2, #7H END MOV R3, #7H RMove: RL A MOV P0, A CALL Delay DJNZ R2, RMove LMove: RR A MOV P0, A CALL Delay DJNZ R3, LMove SJMP Move 五、实验结果 为了便于实验结果的描述,下面分别把P0.0, P0.1…, P0.7对应的发光二极管编号为1, 2, …, 8号二极管。 在仿真系统中,先从1号二极管下面是在仿真系统中的实验结果:

51单片机实验报告

51单片机实验报告

51单片机实验报告
实验目的:
本实验旨在让学生熟悉并掌握51单片机的基本知识和编程能力,进一步了解单片机的原理和应用。

实验内容:
本次实验主要包括以下几个内容:
1.熟悉51单片机的基本原理和结构;
2.学习51单片机的汇编语言编程;
3.使用51单片机进行简单的I/O控制;
4.学习串口通信的原理和编码。

实验步骤:
1. 配置开发环境:安装Keil C编译器和Proteus电路仿真软件;
2.学习汇编语言编程基础知识,包括寄存器的使用、指令的执行等;
3.编写第一个程序:实现将一个数字显示在数码管上;
4.学习I/O控制:通过按键来控制LED灯的亮灭;
5.学习串口通信:通过串口与计算机进行通信,实现数据的发送与接收。

实验结果:
在实验过程中,我成功编写了几个基本的程序,并在Proteus中进行
了仿真。

通过按键来控制LED灯的亮灭,也成功地使用串口进行了数据的
发送和接收。

通过实验,我更深入地理解了51单片机的工作原理和编程
方法。

实验总结:
通过本次实验,我对51单片机有了更深的理解,并掌握了一些基本
的编程技巧。

通过实际操作,我培养了自己的动手能力和问题解决能力。

作为一门基础课程,51单片机为我今后的学习打下了坚实的基础。

我相信,在今后的学习和实践中,我能够更加熟练地运用51单片机进行各种
应用和项目的设计。

该报告共计1200字。

参考资料:
[1]《单片机技术与应用》.吕春阳、吕立民、钱锋.电子工业出版社,2024年。

51单片机实训报告

51单片机实训报告

51单片机实训报告一、引言51单片机是一种常用的微控制器,具有体积小、功耗低、功能强大等优点,广泛应用于各种电子设备中。

本文将介绍本次实训的目标、实验步骤、实验结果以及实训中遇到的问题及解决方案。

二、实训目标本次实训的目标是通过51单片机的学习和实践,掌握单片机的基本原理和编程技巧。

具体来说,我们需要实现以下几个功能:1. 熟悉51单片机的硬件组成和工作原理;2. 学习使用Keil C编译器进行单片机程序的编写和调试;3. 掌握基本的输入输出控制方法,如LED灯的控制、数码管的显示等;4. 学习使用定时器、中断等功能模块,实现一些实际应用,如蜂鸣器的发声、电机的控制等。

三、实验步骤1. 硬件准备:将51单片机与外围电路进行连接,如连接LED灯、数码管、蜂鸣器等;2. 编写程序:使用Keil C编译器编写相应的程序,包括引入头文件、定义宏、声明变量、编写主函数等;3. 调试程序:将程序下载到51单片机中,通过单片机的调试功能进行程序的调试,排除可能存在的错误;4. 运行程序:将调试好的程序运行在51单片机上,观察实验结果是否符合预期。

四、实验结果在本次实训中,我们顺利完成了以下几个实验:1. LED灯闪烁:通过控制51单片机的输出口,使LED灯以一定频率进行闪烁;2. 数码管显示:通过控制51单片机的输出口,使数码管显示指定的数字或字符;3. 蜂鸣器发声:通过控制51单片机的输出口,产生一定频率的方波信号,使蜂鸣器发出相应的声音;4. 电机控制:通过控制51单片机的输出口,控制电机的转动方向和速度。

五、实训中遇到的问题及解决方案在实训过程中,我们遇到了一些问题,但通过团队的共同努力和老师的指导,最终都得到了解决。

下面列举了其中的几个问题及解决方案:1. 问题:LED灯无法闪烁;解决方案:检查LED灯的连接是否正确,确认是否存在接触不良或短路等问题。

2. 问题:数码管无法正常显示;解决方案:检查数码管的连接是否正确,确认是否存在引脚连接错误或接触不良等问题。

51单片机实验报告

51单片机实验报告

51单片机实验报告51单片机是一款非常流行的单片机芯片,被广泛应用于各种电子产品中。

在这篇文章中,我们来探讨一下51单片机的一些实验,以及对于这些实验的理解和体会。

第一部分:实验内容我们进行的51单片机实验主要包括以下几个方面:1. 闪烁LED灯实验:这个实验是入门级别的,主要是为了熟悉51单片机的基本操作和编程方法。

在这个实验中,我们使用了一块51单片机开发板和几个LED灯,通过控制单片机的IO口信号来实现LED灯的闪烁。

2. 按键控制LED实验:这个实验是在闪烁LED实验的基础上进一步延伸的,主要是为了了解如何通过外部按键来控制单片机的输出。

在这个实验中,我们运用了单片机的外部中断和定时器等功能,实现了按键控制LED灯的亮灭。

3. LCD1602显示屏实验:这个实验是为了让我们熟悉如何在51单片机中使用LCD1602液晶显示屏。

在这个实验中,我们使用了I2C总线来与LCD1602进行通信,通过向LCD1602发送命令和数据来实现字符的显示。

4. 电机驱动实验:这个实验是让我们了解如何使用51单片机来控制电机的运转。

在这个实验中,我们运用了单片机的PWM控制功能,通过改变PWM波的占空比来控制电机的转速和方向。

第二部分:实验体会通过这些实验,我对于51单片机有了更深刻的理解和体会。

在这里,我想分享一下我的一些体会。

首先,我认为51单片机具有非常强大的控制能力和灵活性。

通过编写程序,我们可以控制单片机的各种IO口、定时器、PWM输出等功能,从而实现各种复杂的控制任务。

同时,由于其能够直接操作硬件,所以可以快速响应各种外部事件,对实时性要求较高的应用场景有很好的适应性。

其次,我发现在51单片机开发中,良好的软硬件结合非常重要。

由于51单片机具有丰富的外部中断、定时器等功能,因此我们可以很好地利用这些硬件资源来实现各种功能。

同时,在编写程序时,我们也需要充分发挥51单片机的硬件优势,例如使用定时器来完成计时任务,使用外部中断来完成输入检测等等。

51单片机实验报告

51单片机实验报告

51单片机实验报告
根据所提供的信息,我可以为您提供一个基本的51单片机实验报告的样例。

以下是一个可能的实验报告结构:
实验名称:51单片机的基本使用
实验目的:掌握51单片机的基本使用方法和功能。

实验器材:51单片机开发板、USB接口线、计算机、电源。

实验步骤:
1. 连接电源,将开发板与计算机连接。

2. 打开软件IDE,新建一个工程。

3. 在工程中编写代码,实现将LED灯进行亮灭交替的功能。

4. 将编写好的代码下载到51单片机开发板中。

5. 检查电路连接是否正确,确保没有问题。

6. 启动51单片机开发板,观察LED灯的亮灭情况。

7. 记录实验结果。

8. 关闭开发板和计算机。

实验结果:
通过编写的代码,成功地实现了LED灯的亮灭交替功能。

LED灯每隔一段时间亮起,然后又灭掉,不断循环。

实验分析:
实验结果表明,51单片机因其高性价比和广泛应用领域,可以使用简单的代码实现一些基本功能。

在这个实验中,我们使
用了51单片机的GPIO口控制LED灯的亮灭,通过不断循环的方式实现了交替闪烁的效果。

实验总结:
通过这次实验,我了解了51单片机的基本使用方法,学会了如何编写简单的代码来控制外部设备。

这对于我以后的学习和应用起到了很好的基础作用。

51单片机实验报告

51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。

本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。

二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。

为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。

然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。

三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。

本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。

通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。

四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。

本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。

通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。

五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。

本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。

通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。

六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。

本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。

通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。

七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。

本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。

通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。

八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。

C51单片机实验总结报告

C51单片机实验总结报告

C51单片机实验总结报告HEFEI UNIVERSITY单片机实验报告系别电子信息与电气工程系专业班级学号姓名指导老师完成时间实验一构建单片机最小系统和实验环境熟悉一、预习要求1.构建单片机最小系统,熟悉51单片机的结构及编程方法2.按照程序流程图编写出程序二、实验目的1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。

2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。

三、实验内容单片机最小系统实验:1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。

2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。

存储单元数据传输实验1、熟悉MCS51汇编指令。

2、进行存储单元数据传输实验,编写程序。

3、运行程序,验证译码的正确性。

四、实验原理1、作出单片机最小系统的组成原理图12.最小系统版的组成:时钟电路,复位电路,电源电路。

3.软件编译环境的熟悉实验中我们使用keilC环境编译程序。

其窗口界面如下:4.测试程序;将从外部RAM3000H单元开始连续存放的;50个单字节数据传送到内部RAM30H单元的50个单元中。

ORG 0000HMOV R0,#32H ;计数初值50MOV A,#78H ;(A)=78H送外部3000H--3050HMOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTRLOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H INC DPTR ;外部数据存储区地址增一DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0SETB P1.2CLR P1.3CLR P1.4 ;74HC138输入为100,使CS2=0选中62256 MOV R0,#32H ;循环次数50送R0MOV R1,#30H ;内部数据存储区首址30H送R1MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTR2LOOP: MOVX A,@DPTR ;读外部数据存储区3000H内容送AMOV @R1,A ;累加器A的内容送内部数据存储区30HINC DPTR ;外部数据存储区地址增一INC DPTR ;内部数据存储区地址增一INC R1DJNZ R0,LOOPSJMP $END五、实验仪器、设备1、单片机最小系统2、Keil C51集成环境软件六、实验注意事项1.注意在星研集成环境下如何进行程序调试2.注意保护实验箱七、实验方法及步骤1、调试单片机最小系统板。

51单片机实验报告

51单片机实验报告

51单片机实验报告51单片机是一种广泛应用于控制领域的微型处理器。

本文将介绍我所进行的两个基础实验,包括实验目的、实验内容、实验原理和实验结果。

实验一——点亮LED灯实验目的:了解51单片机的基本接口和编程方法;学会使用单片机的开发工具和调试器;掌握51单片机控制LED灯的方法。

实验内容:将LED灯连接至51单片机的P1.0引脚,并进行控制。

编写程序,使得LED灯能稳定地点亮。

实验原理:单片机可通过其IO口控制外部设备,使用高低电平来控制LED灯的开关。

P1.0是51单片机的一个输出端口,可通过赋予其电平状态从而控制LED的点灯与熄灭。

当单片机输出高电平时,LED灯会点亮,否则会熄灭。

实验结果:经过编写程序和调试后,成功实现了LED灯的点亮和熄灭。

按下按键即可改变LED的状态。

实验二——数码管计数器实验目的:了解51单片机的数字口和中断响应机制;掌握编写定时器中断程序的方法;学会使用键盘进行输入和外接数码管进行输出。

实验内容:通过对8位数码管控制台的编程,实现对数字的控制,使用定时器中断实现计数器功能,加深对51单片机中断响应机制的理解。

实验原理:单片机中断请求源包括外部中断源、定时器/计数器中断源以及串口中断源。

本次实验使用定时器中断,可实现一定时间间隔内数字的加减;使用键盘进行输入,采用P3口中断请求源实现按键响应,输出则通过数码管接口外设实现。

实验结果:通过定时器计数器、中断响应和数码管接口外设,成功实现一组数字的计数。

按下按键即可进行数字的加减,并通过数码管显示出来。

结语:本文所述实验为51单片机的基础操作,相信可以为读者提供实用的参考和帮助,帮助大家更加深入地理解51单片机的基础知识和使用方法。

51单片机实训实验报告

51单片机实训实验报告

课设实习报告题目:步进电机姓名:杨帅班级: 3100303专业:机电一体化学号: 23号一、目的设计一个可以用单片机控制的步进电机正反转。

二、内容1、单片机采用AT89C51。

2、步进电机。

3、要求电路设计合理,系统功能可靠、稳定。

三、功能介绍按下开始按钮后,步进电机正转后自动反转。

四、步进电机的工作原理步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。

通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。

控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。

控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。

同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

五、硬件结构图六、硬件电路图七、程序流程图八、程序编程#include <at89x51.h>#define TIME0H 0xfc#define TIME0L 0xff //定时器0溢出时间:1ms//********************************************************* ****************************************//**//*******************************全局变量**********************************//**//********************************************************* ****************************************unsigned char uc_StepSelect=0; //励磁电流选择序号。

“51”单片机实习报告

“51”单片机实习报告

“51”单片机实习报告学院:电气与控制工程学院专业:班级:姓名:学号:目录一.前言二.实训的目的及要求三.实训原理四.硬件的安装与调试五.软件部分六.系统测试七.元器件清单八.心得体会九.参考文献前言51精简开发板是一款以8051系列单片机为核心的精简开发板。

8051系列单片机是一款应用非常广泛的8位微处理芯片,由于其功能齐全,产品技术成熟,资料广泛,又是学习其他很多单片机的基础。

单片机具有成本低、体积小、可靠性高、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。

因此拥有一块单片机开发板对单片机学习具有着极其重要的意义。

本课题设计的单片机开发板,具有一般开发板通用结构,并基于硬件进行相关软件设计。

利用程序开发语言开发程序并实现ISP在线下载到单片机,无需配置单独的下载器。

单片机使用ISP在线下载程序,加快了程序设计者调试的进度,使设计者所设计的程序尽快得到验证。

通过对开发板上的模块进行实验,可以提高针对不同硬件进行编程的能力,同时通过实验现象对所用的硬件也有了更深一步的认识,因此该开发板具有一定的实用价值和现实意义。

实训的目的及要求1.了解“51”精简开发板的工作原理及其结构;2.了解复杂电子产品生产制造的全过程;3.熟练掌握电子元器件的焊接方法与技巧,训练动手能力,培养工程实践观念。

实训原理1.主要性能指标输入电压:DC 4.5V~5V;典型值:5V2.功能分区与模块简介[1] 单片机单片机也称单片微控制器(Single Chip Microcontroller),它集成度高、运算快、体积小、运行可靠、价格低廉,在过程控制、数据采集、机电一体化、智能仪器仪表、家用电器以及网络技术等方面得到广泛应用。

[2] 电源部分电源部分由开关、稳压集成、电源指示灯几部分组成,本款51板输入电压4.5V~5V,典型输入电压为5V,也可通过板上的稳压集成芯片78M05给单片机提供5V电压,可使单片机正常工作。

实验一-51单片机流水灯实验-实验报告5页

实验一-51单片机流水灯实验-实验报告5页

实验一-51单片机流水灯实验-实验报告5页实验目的:通过51单片机控制LED流水灯的实验,提高学生对于51单片机I/O端口控制的掌握程度,并加深对于“流水灯原理”的理解,在此基础之上,提高同学们对于算法的理解与启发式思路。

实验器材:1. 计算机及Keil C51开发软件。

2. STC89C52单片机开发板一块。

3. LED灯若干(使用的LED有红、黄、绿、蓝、紫共5种,将每种颜色灯各6枚组合成一共30颗灯)。

4. 单片机烧录器。

实验原理:数码管实验就是在P0口中,以位选方式驱动数码管,以位选控制器件的组成电路。

流水灯实验就是在P1口中,以位移方式驱动LED灯,以主控程序的组成电路。

实验内容:实验中使用Keil C51软件编写程序,由程序控制单片机的P1口输出电平,从而控制LED的灯光闪烁。

LED灯的控制方式为从左到右控制LED逐层点亮或逐层熄灭,或者从左到右逐层递增亮度或递增颜色。

另外,LED灯的控制还可以从中间开始点亮或者点熄,并在两边逐层变化。

实验时,需要先理清楚流水灯的控制原理,明确各个控制变量的功能,并制定出相应的算法,在程序中进行实现。

实验步骤:1. 将30个LED灯按照左到右的次序排列好,将其中一个LED固定在开发板上的对应P1口位置上。

2. 根据实验要求,编写一个程序,对于LED的灯光状态进行控制,使LED灯从左到右依次变亮或变暗。

编写程序时可以采用多种实现方式,如如果使用循环语句,可以循环控制LED序列中的每个灯的亮度状态,使得程序能够不断运行直到停止。

3. 编写完成程序后,通过单片机烧录器,将程序烧录到开发板上,并将开发板上的电源连接上。

4. 开发板接通电源后,可以看到电路中的LED发出不同的亮光信号,如果控制程序设计得好,可以实现一些比较有意思的效果,如从起始位置到中间逐渐点亮,或者从中间到两侧依次点亮,等等。

实验结果:通过程序的编写和烧录,可以实现对于LED流水灯的控制。

程序运行期间会通过P1口输出电平信号,控制LED灯的点亮和熄灭,从而实现LED的流水灯效果。

51单片机实验报告总结

51单片机实验报告总结

51单片机实验报告总结51单片机实验是必修课程之一,目的是让学生了解和掌握嵌入式系统开发的基本原理和方法。

本次实验涵盖了单片机的基本操作、输入输出控制、时序控制、通信技术、中断处理、PWM技术等内容,让我们一步步进入嵌入式系统的世界。

通过这些实验,我们深刻体会到嵌入式系统开发的艰辛和复杂程度。

在每个实验中,我们需要认真思考实验目的,设计符合要求的电路,编写精确并且有效的程序。

我们还要学会阅读芯片数据手册,并对不同的芯片进行适配,合理利用芯片的资源。

这些实战经验对我们今后从事嵌入式系统开发会有很大帮助。

在这些实验中,我们学会了使用单片机进行输入输出控制。

通过外部电路(比如数码管、LED灯、按键等),让单片机可以感知外界的状态变化,并根据程序控制输出对应的信号。

我们实现了按键控制LED灯亮灭、数码管显示数字和摆动等功能。

在实验中我们还学习了流水灯和矩阵键盘控制的实现方法,这给我们后续实验和项目提供了很好的思路和解决方案。

在时序控制实验中,我们掌握了计时器和定时器的基本原理和使用方法。

它们可以精确地生成特定频率和宽度的高低电平,也能间歇性地输出脉冲信号,这为摆线电机的控制和PWM驱动电机等实际应用打下了基础。

通过这些实验,我们更加深入地了解到计时器、定时器和中断的运作原理和使用方法。

在串口通信和I2C通信实验中,我们还学习了如何使用串口和I2C通信实现数据传输,可以将单片机与其他设备进行沟通和交流。

在日常工程开发中,这样的应用场景非常广泛,例如单片机与PC的数据传输、I2C总线上多个设备之间的通信等。

在PWM技术实验中,我们学习了如何使用定时器和PWM输出控制电机转速,这些技术可以实现高精度的电机控制和驱动,这是在机器人控制、智能家居等应用中必不可少的技术。

在这些实验中,我们不仅学会了单片机的基本原理和使用方法,而且也经历了从理论到实践的探索和体验。

这些实验的收获在于训练我们的动手实践能力,增强我们的团队合作精神,提高我们的问题解决能力,也让我们更加深入地了解嵌入式系统的精髓。

51单片机实验报告

51单片机实验报告

实验一数据传送实验实验内容:将8031内部RAM 40H—4FH单元置初值A0H—AFH, 然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。

将程序经模拟调试通过后, 运行程序, 检查相应的存储单元的内容。

源程序清单:ORG 0000HRESET: AJMP MAINORG 003FHMAIN: MOV R0, #40HMOV R2, #10HMOV A, #0A0HA1:MOV @R0, AINC R0INC ADJNZ R2, A1MOV R1,#40HMOV R0, #50HMOV R2, #10HA3: MOV A, @R1MOV @R0, AINC R0INC R1DJNZ R2, A3LJMP 0000H思考题:1.按照实验内容补全程序.2.CP.对8031内部RAM存储器有哪些寻址方式?直接寻址, 立即寻址, 寄存器寻址, 寄存器间接寻址。

3.执行程序后下列各单元的内容是什么?内部RAM 40H~4FH ___0A0H~0AFH______________________内部RAM 50H~5FH___0A0H~0AFH_______________________实验二多字节十进制加法实验实验内容:多字节十进制加法。

加数首地址由R0 指出, 被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。

将程序经模拟调试通过后, 运行程序, 检查相应的存储单元的内容。

源程序清单: ORG 0000HRESET: AJMP MAINORG 0100HMAIN: MOV SP, #60HMOV R0, #31HMOV @R0, #22HDEC R0MOV @R0, #33HMOV R1, #21HMOV @R1, #44HDEC R1MOV @R1, #55HMOV R2, #02HACALL DACNHERE: AJMP HEREDACN: CLR CDAL: MOV A, @R0ADDC A, @R1DA AMOV @R1, AINC R0INC R1DJNZ R2, DALCLR AMOV ACC.0 , CRET思考题:1.按照实验内容补全程序。

51单片机实验报告

51单片机实验报告

51单片机实验报告
摘要
本实验为51单片机模拟实验,在实验中,用单片机程序控制使得
LED灯按一定程序闪烁,以达到模拟的目的。

本实验利用单片机采用闪烁
程序编写实现LED灯和蜂鸣器的模拟输出,实现LED灯按照一定规律闪烁,蜂鸣器产生指定频率。

关键词:51单片机;LED;蜂鸣器;模拟
1实验目的
本实验旨在利用51单片机模拟LED灯和蜂鸣器的闪烁,利用串口助
手模拟输出。

2实验原理
本实验的实验原理主要是利用51单片机程序实现LED的模拟输出,
利用定时器控制LED灯的闪烁,实现LED按规律闪烁;利用PWM控制蜂鸣器,设置频率实现蜂鸣器的模拟输出。

3实验设备
(1)51单片机开发全套组件,包括51单片机主板、串口助手、编
程器;
(2)LED灯;(3)蜂鸣器。

4实验过程
(1)硬件接线:
将51单片机主板的LED0、LED1、LED2和蜂鸣器接到P2口,符合接线图的要求。

(2)编写并烧写程序:
编写程序完成LED灯和蜂鸣器的模拟输出,将程序烧写到51单片机中,实现输出模拟过程。

5实验结果
实验结果表明,实验中所编写的51单片机程序能够正确地控制LED 灯和器的输出,LED灯按一定程序闪烁。

51单片机实训报告完整版

51单片机实训报告完整版

51 单片机实训报告完整版一、设计目标1. 完成温度显示系统的设计,即以单片机位核心微处理器,完成接收处理温度信号和控制八段数码管显示两部分功能电路的设计;2. 使用Protel绘制电路原理图和PCB版图3. 通过使用凌阳单片机开发系统掌握单片机系统的基本开发方法,系统配置方法,IO口的读写方式以及数据处理方法。

4. 掌握基于C语言编程的单片机控制技术,完成实现温度采集、显示系统功能的控制程序设计(信号的接收、信息的处理及八段数码管显示控制程序);5. 软硬件联调,完成系统的最终功能。

二、设计任务1. 完成基于单片机的温度检测显示系统设计,利用自己设计的温度传感电路输出模拟信号,选用相应的A/D 转换芯片将模拟信号转换成数字信号送入单片机,单片机对接收的信号进行处理; 单片机输出经译码电路连接至八段数码管显示温度值。

2. 具体要求完成内容:1)传感器模块学习及信号输入设计2) LED数码管显示部分设计3)绘制电路原理图和PCB版图3)数据处理转换(使用C语言进行)4)软硬件联调实现完整系统设计要求;5)撰写实训报告。

第一部分:原理图及PBC版图制作制作原理图,我们选用的软件是proteldxp2004 ,我们选用这个软件是因为Protel DXP 在前版本的基础上增加了许多新的功能。

新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。

Protel DXP 是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。

Protel DXP 运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。

通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP 提供了全面的设计解决方案。

与较早的版本——Protel99 相比,Protel DXP 2004 不仅在外观上显得更加豪华、人性化,而且极大地强化了电路设计的同步化,同时整合了VHDL和FPGA设计系统,其功能大大加强了。

51单片机实验报告

51单片机实验报告

开放性实验报告智能实验室姓名:***学号: ********班级:***专业:***********指导老师:****目录实验一IO口的输出应用 (3)一.实验目的 (3)二.实验内容 (3)三.实验器材 (3)四.实验步骤 (3)五.实验结果 (3)六.实验结果分析 (4)程序附录: (4)实验二用STM32驱动小车 (5)一.实验目的 (5)二.实验内容 (5)三.实验器材 (5)四.实验步骤 (5)五.实验结果 (5)六.实验结果分析 (6)程序附录 (6)实验三STM32循迹小车 (7)一.实验目的 (7)二.实验内容 (7)三.实验器材 (7)四.实验步骤 (7)五.实验结果 (7)六.实验结果分析 (8)程序附录: (8)实验四 STM32循迹小车加蜂鸣器 (12)一.实验目的 (12)二.实验内容 (12)三.实验器材 (12)四.实验步骤 (12)五.实验结果 (12)六.实验结果分析 (13)程序附录 (13)实验五 OLED显示 (16)一.实验目的 (16)二.实验内容 (16)三.实验器材 (16)四.实验步骤 (16)五.实验结果 (16)六.实验结果分析 (17)程序附录 (17)总结 (28)实验一IO口的输出应用一.实验目的通过此次实验学习普通IO口作为输出口的应用。

二.实验内容我们通过普通IO口驱动一个LED灯闪烁。

三.实验器材STM32FI03C8T6单片机、LED灯或实验箱。

四.实验步骤1.在MDK开发环境下建立一个工程。

2.程序的编写。

3.程序下载调试五.实验结果本实验的焊接结果如图1所示。

图1 IO口输出实物图六.实验结果分析现象:给单片机供电,LED灯闪烁;原因:LED灯通电,电路连接正确,LED灯一端连接电源,一端连接PC13,P1C13电平由高电平变为低电平,灯亮;反之,灯灭。

程序附录:#include "stm32f10x.h"#include "led.h"#include "delay.h"int main(void){delay_init();LED_Init();while(1){GPIO_SetBits(GPIOC,GPIO_Pin_13);delay_ms(500);GPIO_ResetBits(GPIOC,GPIO_Pin_13);delay_ms(1000);}}实验二用STM32驱动小车一.实验目的通过此次实验熟练掌握STM32的使用二.实验内容通过STM32、驱动模块实现小车直行三.实验器材STM32FI03C8T6单片机、LM298N小车、电池。

51单片机实验报告册

51单片机实验报告册

《单片机原理及接口技术》实验报告册系部班级姓名学号鄂尔多斯学院电子信息工程系二零一二年三月实验一单片机I/O口应用实验(流水灯)一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论指导老师签字:实验二继电器控制实验一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论指导老师签字:实验三步进电机控制实验一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论指导老师签字:实验四单片机控制数码管实现简单秒表一、实验目的二、实验原理三、实验内容和步骤四、实验程序五、实验现象与结论在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。

3.硬件电路连线(1).把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2).把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;4.程序设计内容(1).8X8 点阵LED工作原理说明8X8点阵LED结构如下图所示从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。

一根横柱:对应的行置0,而列则采用扫描的方法来实现。

5.汇编源程序ORG 00HSTART: NOPMOV R3,#3LOP2: MOV R4,#8MOV R2,#0LOP1: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,AINC R2LCALL DELAYDJNZ R4,LOP1DJNZ R3,LOP2MOV R3,#3LOP4: MOV R4,#8MOV R2,#7LOP3: MOV P1,#0FFHMOV DPTR,#TABAMOV A,R2MOVC A,@A+DPTRMOV P3,ADEC R2LCALL DELAYDJNZ R4,LOP3DJNZ R3,LOP4MOV R3,#3LOP6: MOV R4,#8MOV R2,#0LOP5: MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,@A+DPTRMOV P1,AINC R2LCALL DELAYDJNZ R4,LOP5DJNZ R3,LOP6MOV R3,#3LOP8: MOV R4,#8MOV R2,#7LOP7: MOV P3,#00HMOV DPTR,#TABBMOV A,R2MOVC A,@A+DPTRMOV P1,ADEC R2LCALL DELAYDJNZ R4,LOP7DJNZ R3,LOP8LJMP START DELAY: MOV R5,#10D2: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHTABB: DB 01H,02H,04H,08H,10H,20H,40H,80HEND6.C语言源程序#includeunsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void delay(void){unsigned char i,j;for(i=10;i>0;i--)for(j=248;j>0;j--);}void delay1(void){unsigned char i,j,k;for(k=10;k>0;k--)for(i=20;i>0;i--)for(j=248;j>0;j--);}void main(void){unsigned char i,j;while(1){for(j=0;j<3;j++) //from left to right 3 time{for(i=0;i<8;i++){P3=taba[i];P1=0xff;delay1();}}for(j=0;j<3;j++) //from right to left 3 time{for(i=0;i<8;i++){P3=taba[7-i];P1=0xff;delay1();}}for(j=0;j<3;j++) //from top to bottom 3 time{for(i=0;i<8;i++){P3=0x00;P1=tabb[7-i];delay1();}}for(j=0;j<3;j++) //from bottom to top 3 time{for(i=0;i<8;i++){P3=0x00;P1=tabb[i];delay1();}}}}指导老师签字:。

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

实验报告
班级:姓名:学号:组别:
课程名称:单片机原理及应用实验室:实验时间:
实验项目名称:
实验一 MCS-51单片机及其开发系统(仿真器)的认识
一、实验目的:
学习并掌握单片机仿真系统的操作方法,熟悉系统功能及用法。

(1) 了解MCS-51单片机开发常用工具。

(2) 了解仿真器构成、功能及连接。

(3) 掌握MCS-51开发软件(汇编器)安装、功能及基本操作。

(4) 掌握源程序的编辑、汇编、运行(包括连续执行、单步执行和跟踪执行)。

(5) 掌握汇编语言指令与机器语言指令之间的对应关系。

(6) 掌握ORG、DATA、BIT等伪指令的作用。

(7) 掌握在仿真开发系统下浏览、修改特殊功能寄存器、内部RAM、外部RAM单元的方法。

(8) 理解MCS-51单片机在复位期间及复位后有关引脚的状态、特殊功能寄存器的初值。

二、实验内容及原理:
MdeWin单片机仿真系统的安装、设置、主要功能操作练习。

三、实验器材:
MdeWin单片机仿真系统一套、PC机一台。

四、实验步骤及实验结果分析:
一、程序输入练习:
首先在Medwin下新建一项目,并新建一后缀名为asm的文件(汇编源文件),并添加入项目中。

按规定的格式输入以上程序(只输源程序部分)。

二、程序运行和控制:
1.程序的编译、产生代码并装入:
输入源程序完毕后,可在“项目管理”窗口中点击“编译/汇编”选项,如程序无输入错误、语法错误等,编译完成。

在消息窗口中,产生编译成功信息。

如有错误,则消息窗口中指出错误所在行及错误类型,请重新修改源程序。

编译成功后,在“项目管理”窗口中点击“产生代码并装入”选项,对编译无误后产生的OBJ文件进行连接,并把代码装入仿真器。

代码装入仿真器后,即可实行仿真。

可在反汇编窗口中查看编译产生的机器码,并与上述程序中对照。

记录你认为能说明问题的检查结果。

2.程序的全速、断点、单步等执行方式:
为提高调试程序的运行速度,程序采用全速断点运行方式。

练习设置及取消设置程序断点。

比较单步及跟踪两种程序运行方式的不同。

3.查看单片机各种资源状态及内容:
在“察看”窗口中可以查看单片机内部及程序变量等各种资源,在单步或程序断点运行中可以实时观察单片机SFR、内外RAM、程序变量等内容,可以很方便的观测程序的运行状况。

将观测的结果记录下来以便和程序分析结果相比较。

三.程序输入补充练习
1.汇编语言源程序编辑、运行及调试,输入、编辑、汇编、运行(连续、单步执行)如下程序段:
; 变量定义区
XVAR DATA 30H ;定义变量 X,Y地址
YVAR DATA 38H
P10 BIT P1.0 ;位定义P1.0定义为P10
ORG 0000H ;伪指令定义PC开始位置
LJMP MAIN ;长跳转到主程序位置
ORG 0100H ;伪指令主程序开始位置
MAIN: MOV SP, #9FH ;设置堆栈地址
MOV XVAR, A ;XVAR(30H)=55H
MOV R0, #XVAR ;R0=30H
MOV @R0, #01H ;(30H)=01H
INC R0 ;R0=31H
MOV @R0, #02H ;(31H)=02H
MOV R1, #YVAR ;R1=38H
MOV A, @R0 ;A=02H
MOV @R1, A ;(38H)=02H
PUSH Acc ;压栈操作A0,A1存储acc和psw PUSH PSW ;
MOV A, #0AAH ;A=AAH
SETB RS0 ;01 选用第一区寄存器
CLR RS1
MOV R0, #5AH ;R0=5AH
MOV R1, #0A5H ;R1=A5H
POP PSW ;出栈操作释放acc和psw
POP ACC
INC R1 ;R1=39H
DEC R0 ;R0=30H
MOV A, @R0 ;A=01H
MOV @R1, A ;(39H)=01H
CLR P1.0
SETB P1.0 ;置位P1.0
MOV 90H, #00H ;(90H)=00H
MOV 90H, #55H ;(90H)=55H
MOV 90H, #0FFH ;(90H)=FFH
MOV P1, #00H ;P1=00H
MOV P1, #55H ;P1=55H
SJMP $
END
(1) 找出每条指令的机器码,并与第3章指令码表对照,指出每一指令的功能、寻址方式、操作数书写形式。

地址机器码指令目的操作数/源操作数
MOV SP, #9FH 目的操作数:直接寻址;源操作数:立即寻址MOV A, #55H 目的操作数:寄存器寻址;源操作数:立即寻址;MOV XVAR, A 目的操作数:直接寻址;源操作数:寄存器寻址;MOV R0, #XVAR 目的操作数:寄存器寻址;源操作数:立即寻址;
址;
INC R0 寄存器寻址
MOV @R0, #02H 目的操作数:寄存器间接寻址;源操作数:立即寻址;
MOV R1, #YVAR 目的操作数:寄存器寻址;源操作数:立即寻址;MOV A, @R0 目的操作数:寄存器寻址;源操作数:寄存器间接寻址;MOV @R1, A 目的操作数:寄存器间接寻址;源操作数:寄存器寻址;PUSH Acc ; 将Acc中的内容压入堆栈;直接寻址
PUSH PSW 将PSW压入堆栈;直接寻址
MOV A, #0AAH 目的操作数:寄存器寻址;源操作数:立即寻址;SETB RS0 位寻址
CLR RS1 位寻址
MOV R0, #5AH 目的操作数:寄存器寻址;源操作数:立即寻址;MOV R1, #0A5H 目的操作数:寄存器寻址;源操作数:立即寻址;POP PSW 按压栈顺序放入PSW;直接寻址
POP ACC 按压栈顺序放入Acc;直接寻址
INC R1 寄存器寻址
DEC R0 寄存器寻址
MOV A, @R0 目的操作数:寄存器寻址;源操作数:寄存器间接寻址;MOV @R1, A
机器码:F7;R1=A;目的操作数:寄存器间接寻址;源操作数:立即寻址;CLR P1.0 将p10口清零
SETB P1.0 将P10口置一;位寻址
MOV 90H, #00H
机器码:759000;(90H)=00H;目的操作数:直接寻址;源操作数:立即寻址;MOV 90H, #55H 目的操作数:直接寻址;源操作数:立即寻址;MOV 90H, #0FFH 目的操作数:直接寻址;源操作数:立即寻址;
MOV P1, #00H 目的操作数:直接寻址;源操作数:立即寻址;
MOV 90H, #0FFH 目的操作数:直接寻址;源操作数:立即寻址;
SJMP $
(2) 在单步执行过程中,每执行一条命令后,观察并记录有关寄存器、内存单元的变化情况。

设置断点后,再连续执行,记录30H、31H、38H单元内容,与复位后的内容进行比较,由此得出什么结论?
全速执行全速执行后复位
执行至断点处全速执行到结束
由上图可见,全速执行后并不会输出结果,只有当程序复位之后才会将结果显示出来,但是设置断点后,运行至断点就会显示已运行的结果,由此我得出结论:当全速运行到最后时,系统处于原地跳转状态,只要系统不停下就不显示结果,而设置断点后,到达断点就会停止运行,从而显示运算结果。

而单步执行在每一步执行之后,对应地址的数值就会立刻改改变。

(3) 修改ORG 100H指令后的地址,重新汇编,观察程序代码在程序存储器中存放位置的变化情况。

记录你认为能说明问题的检查结果。

ORG 300H
ORG 1000H
五、在实验过程中遇到的问题及解决方法
(1)软件安装出错
解决:删除注册表,在注册表的删除过程中,必须要删干净,然后换安装包重装。

(2)出栈时,寄存器的数值改编
解决:psw出栈时,改变了rs0,rs1的值,也就是换回了0区寄存器。

因此个寄存器的数值均为压栈前的数值。

六、实验结论
本次实验,较为简单,基本上是验证性实验,在学习了理论知识后,通过实践,简单明了的看到了各个地址的数值,并了解到程序的运行过程,单步运行更容易让我们了解到每一步指令的操作效果。

另外,在实验过程中,调用各个查看窗口进行实验过程跟踪,能更加直观的认识到指令的作用。

相关文档
最新文档