单片机实验指导书.

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

单片机实验指导书

白城师范学院

机械电子工程系

目录

实验一实验板使用,简单程序设计 (3)

实验二汇编语言程序设计 (4)

实验三中断系统应用实验 (7)

实验四定时器计数器使用 (9)

实验五8255 I/O扩展实验 (12)

实验六查询式键盘、显示实验 (15)

实验七DAC0832并行D/A转换实验 (18)

实验八 ADC0809并行A/D转换实验 (20)

实验一实验板使用,简单程序设计

一、实验目的

1. 熟悉单片机实验版、Keil C51软件使用

2. 学习简单程序的调试方法

3. 掌握存储器读写方法

二、实验说明

本实验指定某块存储器的起始地址和长度,要求能将其内容置1。通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。

三、实验内容及步骤

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

2.启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。(KEIL软件使用详见附录)

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

四、流程图及参考程序

1.参考程序

ORG 0000H

START EQU 30H

MOV R0, #START ;起始地址

MOV R2, #10 ;设置10字节计数值

mov a,#01h

Loop:

MOV @R0,A

INC R0

DJNZ R2,Loop

NOP

END

2.流程图

五、思考题

实验二汇编语言程序设计

一、实验目的

1.进一步熟悉汇编语言编程和程序调试

2.学习P1口的使用方法

3.学习延时子程序的编写和使用

二、实验说明

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

三、实验内容及步骤

实验(一):

本实验需要用到单片机最小应用系统(F1区)和十六位逻辑电平显示模块(I4区)。

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

1.使用单片机最小应用系统。用扁平数据线连接单片机P1口JD1F与十六位逻辑电平显示模块JD2I,打开相关模块电源。

2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,输入源程序(实验(一)),进行编译,直到编译无误。

4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

5.打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。发光二极管单只从右到左轮流循环点亮。

实验(二):

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

本实验需要用到单片机最小应用系统(F1区)、十六位逻辑电平显示模块(I4区)以及八位逻辑电平输出模块(B1区)。

1.用导线分别把单片机最小应用系统的 P1.0、P1.1连接到两个拨断开关(B1区)K0、K1,P1.2、P1.3连接到两个发光二极管(I4区)L0、L1。

2. 输入源程序(实验(二)),编译无误后,全速运行程序,拨动拨断开关,观察发光二极管的亮灭情况。向上拨为熄灭,向下拨为点亮。

3.也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)

注:在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原来的位置!以下将不再重述。

四、流程图及参考程序

2

实验(一) 实验(二)

ORG 0000H

LJMP START

ORG 0030H

START: MOV A, #0FEH

MOV R5, #8

OUTPUT:MOV P1, A

RL A

CALL DELAY

DJNZ R5, OUTPUT

LJMP START

DELAY:

MOV R6, #0

MOV R7, #0

DELAYLOOP:

DJNZ R7, DELAYLOOP

DJNZ R6, DELAYLOOP

RET

END

KEYLEFT BIT P1.0

KEYRIGHT BIT P1.1

LEDLEFT BIT P1.2

LEDRIGHT BIT P1.3

ORG 0000H

LJMP START

ORG 0030H

START:SETB KEYLEFT

SETB KEYRIGHT

LOOP: MOV C,KEYLEFT

MOV LEDLEFT,C

MOV C,KEYRIGHT

MOV LEDRIGHT,C

LJMP LOOP

END

注:BIT为定义位名称伪指令。

五、思考题

(1)对于本实验延时子程序

Delay: MOV R6,0

MOV R7, 0

DelayLoop:DJNZ R6,DelayLoop

DJNZ R7,DelayLoop

RET

相关文档
最新文档