单片机6个必做实验

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

第一部分软件实验

实验一二进制到BCD码转换

一、实验目的 123 1 2 3 0000001 00000010 00000011

1、掌握简单的数值转换算法

2、基本了解数值的各种表达方法

二、实验说明

单片机中的数值有各种表达方式,这是单片机的基础。掌握各种数制之间的转换是一种基本功。我们将给定的一个二进制数,转换成二十进制(BCD)码。将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A 赋值#123。

三、实验内容及步骤

1、启动计算机,打开伟福仿真软件,进入仿真环境。首先进行仿真器的设置,选择使用伟福软件模拟器。

2、打开TH2.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H的数据变化,30H更新为01,31H更新为02,32H更新为03。用键盘输入改变地址30H、31H、32H 的值,点击复位按钮后,可再次运行程序,观察其实验效果。修改源程序中给累加器A的赋值,重复实验,观察实验效果。

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

四、流程图及源程序

1.源程序

RESULT EQU 30H

ORG 0000H

LJMP START

BINTOBCD:

MOV B,#100

DIV AB

MOV RESULT,A ;除以100得百位数 MOV A,B

MOV B,#10

DIV AB

MOV RESULT+1,A ;余数除以10得十位数 MOV RESULT+2,B ;余数为个位数

RET

START:

MOV SP,#40H

MOV A,#123

CALL BINTOBCD

LJMP $

END

2.流程图

实验四程序跳转表

一、实验目的

1、了解程序的多分支结构

2、掌握多分支结构程序的编程方法

二、实验说明

多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

三、实验内容及步骤

1、启动计算机,打开伟福仿真软件,进入仿真环境。首先进行仿真器的设置,选择使用伟福软件模拟器。

2、打开TH4.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H、33H的数据变化,30H更新为0,31H更新为1,32H更新为2,33H更新为3。用键盘输入改变地址30H、31H、32H、33H的值,点击复位按钮后,可再次运行程序,观察其实验效果。修改源程序中给30H~33H的赋值,重复实验,观察实验效果。

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

四、流程图及源程序

1、流程图

2.源程序

ORG 0

LJMP START

FUNC0: MOV 30H,#1

RET

FUNC1: MOV 31H,#2

RET

FUNC2: MOV 32H,#3

RET

FUNC3: MOV 33H,#4

RET

FUNCENTER:

ADD A,ACC ;AJMP为二字节指令,调用号×2 MOV DPTR,#FUNCTAB

JMP @A+DPTR

FUNCTAB:

AJMP FUNC0

AJMP FUNC1

AJMP FUNC2

AJMP FUNC3

START:

MOV A,#0

CALL FUNCENTER

MOV A,#1

CALL FUNCENTER

MOV A,#2

CALL FUNCENTER

MOV A,#3

CALL FUNCENTER

LJMP $

END

第二部分硬件基础实验

实验七P1口输入、输出实验

一、实验目的

1、学习P1口的使用方法

2、学习延时子程序的编写和使用

二、实验说明

P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。

三、实验内容及步骤

实验(一):

用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。

1、使用单片机最小应用系统1模块。关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。

2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,打开仿真器电源。

3、启动计算机,打开伟福仿真软件,进入仿真环境。首先进行仿真器的设置,选择仿真器型号、仿真头型号、CPU类型。选择通信端口,点击测试串行口,通信成功既可退出设置,进行仿真。

4、打开TH7A.ASM源程序,进行编译。编译无误后,点击全速执行按钮运行程序,观察发光二极管显示情况。发光二极管单只从右到左轮流循环点亮。

5、把源程序编译成OBJ文件,再烧录到89C51芯片中。

实验(二):

用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。程序读取开关状态,并在发光二极管上显示出来。

1、用导线连接P1.0、P1.1到两个拨断开关,P1.

2、P1.3到两个发光二极管。

相关文档
最新文档