单片机原理及应用实验指导书.docx

上传人:b****8 文档编号:11453931 上传时间:2023-03-01 格式:DOCX 页数:40 大小:310.76KB
下载 相关 举报
单片机原理及应用实验指导书.docx_第1页
第1页 / 共40页
单片机原理及应用实验指导书.docx_第2页
第2页 / 共40页
单片机原理及应用实验指导书.docx_第3页
第3页 / 共40页
单片机原理及应用实验指导书.docx_第4页
第4页 / 共40页
单片机原理及应用实验指导书.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

单片机原理及应用实验指导书.docx

《单片机原理及应用实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用实验指导书.docx(40页珍藏版)》请在冰豆网上搜索。

单片机原理及应用实验指导书.docx

单片机原理及应用实验指导书

 

实验指导书

 

单片机原理及应用

 

 

邵阳学院

2008年10月

目录

一、单片机实验室3

1.基于“电子通信与自动化创新实验系统”的单片机实验平台3

2.基于“电子技术综合实验系统”的单片机实验平台3

二.实验项目6

实验一:

P1口输入输出实验6

实验二:

定时计数器实验8

实验三.分支程序实验10

实验四:

循环程序实验12

实验五:

外部中断实验13

实验六:

子程序实验17

实验七:

串行通信实验18

实验八:

数码显示接口电路设计20

实验九:

A/D转换实验21

实验十:

数据存储器扩展实验23

实验十一:

电子时钟设计25

实验十二:

波形发生器设计26

 

《单片机原理及应用》课程实验指导书

一、单片机实验室

单片机实验室由“电子通信与自动化创新实验系统”和“电子技术综合实验系统”组成,配有PROTEUS、keil-c51、WAV6000、MCS51、MCS8086等电子设计软件。

承担《单片机原理及应用》、《微机原理与接口技术》课程实验、课程设计及专业综合实验等实践教学任务。

1.基于“电子通信与自动化创新实验系统”的单片机实验平台

基于“电子通信与自动化创新实验系统”的单片机实验平台,8051的P0、P1、P2、P3口对用户开放。

MCS-51为编辑软件,支持汇编语言和C语言编辑和调试。

程序存储器的地址从4000H到5FFFH(用户在编程时应注意这一点),中断入口地址如表1,片选信号CS提供的外部数据区地址如表2。

表1:

中断入口地址表2:

外部数据存储器地址分配

中断源

中断入口地址

片选信号

外部RAM地址区域

外部中断0

4003H

CS0

CFA0H-CFA7H

定时器0

400BH

CS1

CFA8H-CFAFH

外部中断1

4013H

CS2

CFB0H-CFB7H

定时器1

401BH

CS3

CFB8H-CFBFH

串行中断

4023H

CS4

CFC0H-CFC7H

CS5

CFC8H-CFCFH

在编程时使用CSEGATADRE来确定地址,如:

CSEGAT0000H;程序复位时从0000H地址开始

LJMPSTART

CSEGAT4100H;表示以下的程序从4100H开始

2.基于“电子技术综合实验系统”的单片机实验平台

基于“电子技术综合实验系统”的单片机实验平台,以PROTEUS为电子设计软件,以综合实验系统为硬件验证,配有表3所示模块,学生在PROTEUS电子设计软件上实现电子电路的设计与仿真,再在综合实验系统中选用模块,实现电路功能的验证。

下面以一个实例来说明如何操作:

(1)设计任务

编码开关接P2口,P0口接8只发光二极管,编程实现将开关状态显示在P0口上。

(2)电路设计

从PROTEUS中选取元器件如下:

①AT89C51:

单片机、②RES、RX8、RESPACK-8:

电阻、8排阻、8上拉电阻、③CRYSTAL:

晶振、④CAP、CAP-ELEC:

电容、电解电容、⑤LED-YELLOW:

发光二极管(黄色)、⑥DIPSW_3:

拨码开关。

放置元器件、放置电源和地、连线,得到下图所示的开关状态显示电路,最后进行电气检测。

 

(3)程序设计

点菜单“Source→Add/RemovesourceFiles”在出现的对话框中,选择ASEM51编辑器,将汇编源程序XXX.asm输入到文本,然后保存文件。

再点菜单Source→BuildALL编译汇编源程序,生成目标代码文件XXX.HEX。

ORG0000H

SJMPMAIN

MAIN:

MOVDPTR,#TABH

MOVP2,#0FFH

MOVA,P2

ANLA,#07H

MOVCA,@A+DPTR

MOVP0,A

LJMPMAIN

TABH:

DB0FEH,0FDH,0FBH

DB0F7H,0EFH,0DFH

DB0BFH,7FH

END

(4)程序加载

在编辑环境,点右键,在弹出对话框中选择编辑属性,加载XXX.HEX文件。

(5)系统仿真

启动仿真,如果系统设计没有问题,将出现仿真结果。

本例的仿真结果如下:

 

表3单片机实验模块

类别

模块名称

类别

模块名称

类别

模块名称

C

P

U

AT89S51模块

转换模块

12位并行A/D高速A/D

IC卡

推拉接触式IC卡读卡器及驱动

C8051F021

12位串行AD/DA

简单接触式IC卡读卡器及驱动

U-EC2

8位并行AD/DA模块

非接触式IC卡读卡器及驱动

CPLD

四位半双斜率积分A/D

显示

32*128点阵LCD及驱动

线

USB模块

电机驱动模块

2相4拍混合式步进电机及驱动

4个LED8*8点阵及驱动

CAN模块

3相6拍步进电机及驱动

8个LED7段数码管及4*4键盘

232模块

3相步进电机

键盘模块

7279键盘

485模块

微型PWM调速电机及驱动

8253模块

GPS模块

PWM模块

8251/8255模块

GSM模块

微型直流调压调速电机及驱动

7279串行I/O

以太网总线

红外线模块

红外传感器模块

8259中断/8279键盘中断扩展

MODEM模块

霍尔、气体传感器

其它

无线传送模块

输入输出

12入12出光藕隔离

湿敏、压力传感器模块

V/F、F/V转换模块

LED电平输入输出

温度控制模块

微型打印机及驱动

八路继电器

小温控模块

8入8出增益1/2/4/8/10倍调节

超声波、光电传感器模块

SRAM、EEPROM模块

热电偶、半导体温度传感器模块

热敏电阻、温度开关、数字温度传感器

二.实验项目

实验一:

P1口输入输出实验

1.实验目的

(1)掌握P1口同时做输入/输出口使用方法。

(2)学习数据输入、输出程序的设计方法。

2.实验内容

P1.0、P1.1作输入,P1.2、P1.3、P1.4、P1.5作输出,编程实现下表功能

输入

输出

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

0

0

0

1

1

1

0

1

1

0

1

1

1

0

1

1

0

1

1

1

1

1

1

0

3.实验原理图与方法

采用右图所示电路,用MOVA,P1指令先读出P1口的状态,然后用ANLA,#03H屏蔽高六位,保留低两位。

根据A的值,用CJNEA,#DATA,LP指令,进行判断,从而确定赋给P1口的值。

也可把开关状态和输出数据建立一个表,用指令MOVCA,@A+DPTR来查出P1的值。

4.实验设备

电子通信与自动化创新实验系统,选用8051CPU模块。

5.实验步骤

(1)按实验电路进行线路连接

(2)在MCS-51编辑环境,进行程序设计和编译

(3)下载实验程序

(4)点全速运行,改变P1.0、P1.1的状态,观察实验现象,并以表格的形式填写实验数据

(5)分析实验数据,得出实验结论,撰写实验报告。

6.程序设计

方法一:

用CJNEA,#DATA,LP指令实现

CSEGAT0000H

LJMPSTART

CSEGAT4100H

START:

MOVP1,#0FFH

LP:

MOVA,P1

ANLA,#00000011B

CJNEA,#00,LP0

SETBP1.2

CJNEA,#01,LP1

SETBP1.3

CJNEA,#02,LP2

SETBP1.4

CJNEA,#03,LP3

SETBP1.5

LJMPLP

LP0:

CLRP1.2

LJMPLP

LP1:

CLRP1.2

LJMPLP

LP2:

CLRP1.2

LJMPLP

LP3:

CLRP1.2

LJMPLP

END

方法二:

用MOVCA,@A+DPTR指令实现

CSEGAT0000H

LJMPSTART

CSEGAT4100H

START:

MOVP1,#0FFH

LP:

MOVA,P1

MOVDPTR,#4200H

ANLA,#00000011B

MOVCA,@A+DPTR

MOVP1,A

LJMPLP

CSEGAT4200H

DB0FBH,0F7H,0EFH,0DFH

END

实验二:

定时计数器实验

1.实验目的

(1)了解8051定时/计数器的结构和原理。

(2)掌握定时/计数器的设置和编程方法。

2.实验内容

P1.0~P1.7分别接发光二极管L1~L8,利用8051定时器定时,编程实现L1~L8循环点灯。

3.实验原理与方法

(1)先给A一个初值(0FEH),然后将A送住P1,则L1点亮,然后开定时器,利用查询的方法,当定时时间到,重装初值,A移位,再送P1,这样不断循环就能实现L1~L8循环点亮。

(2)定时常数的确定

设定时器工作在方式1,定时时间为0.1s

机器周期=12÷晶振频率=12/(6×10⁶)=1us

设计数初值为X,则(216-X)×1×

=0.1,可求得X=55536

化为十六进制则X=D8F0H,故初始值为TH1=D8H,TL1=F0H

(3)初始化程序

定时器初始化包括TMOD和TH、TL赋值。

定时/计数器的开关由TR决定。

4.实验设备

电子通信与自动化创新实验系统,选用8051CPU模块和实验连线。

5.实验步骤

(1)按实验电路进行线路连接

(2)在MCS-51编辑环境,进行程序设计和编译

(3)下载实验程序

(4)运行程序,观察实验现象,改变定时器初值,重新进行上述实验

(5)记录不同定时计数初值时的实验现象,并加以分析,撰写实验报告。

6.程序设计

用定时器延时,实现L1~L8循环点亮的方法主要有:

查询,中断,及查表。

下面以查询为例进行介绍。

CSEGAT0000H

LJMPSTART

CSEGAT4100H

START:

MOVA,#0FFH

CLRC

MOVTMOD,#00H

MOVTH0,#D8H

MOVTL0,#0F0H

SETBTR0

LP1:

RRCA

MOVP1,A

LP2:

JBCTR0,LP2程序流程图

MOVTH0,#D8H

MOVTL0,#0F0H

LJMPLP1

END

采用中断、查表法,学生自行研究。

 

实验三.分支程序实验

1.实验目的

(1)熟悉分支程序的类型及结构

(2)掌握分支程序的设计方法

2.实验内容

设变量X存放在R2中,函数值Y为R3,按照下式求Y:

X+1;X﹥20

Y=0;10≤X≤20

-1;X﹤10

3.实验原理

分支程序有下面几种类型:

 

分支程序以条件判断语句,决定程序的转向。

根据题目要求,先分X=10,X>10和X<10三种情况进行分析,然后再对10<X<20,X=20,X>20进行计算。

电子通信与自动化创新实验系统,选用8051CPU模块和实验连线。

4.实验步骤

(1)按实验电路进行线路连接

(2)在MCS-51编辑环境,进行程序设计和编译

(3)下载实验程序

(4)运行程序,观察实验现象,改变定时器初值,重新进行上述实验

(5)记录不同定时计数初值时的实验现象,并加以分析,撰写实验报告。

5.实验设备

电子通信与自动化创新实验系统,选用8051CPU模块和实验连线。

6.程序设计

CSEGAT0000H

LJMPSTART

CSEGAT4100H

START:

MOVA,R2

CLRC

SUBBA,#10

JCL1

MOVA,R2

CLRC

SUBBA,#21

JNCL2

MOVA,#0

SJMPL3

L1:

MOVA,#0FFH

SJMPL3

L2:

MOVA,R2

ADDA,#1

L3:

MOVR3,A

SJMP$

END

在实验过程中,改变R2的值,观察R3的变化。

 

实验四:

循环程序实验

1.实验目的

⑴熟悉循环程序的类型及结构

⑵掌握循环程序设计方法

2.实验内容

已知80C51单片机晶振的12MHZ,设计一个软件延时程序,延时时间为200ms

3.实验原理与方法

晶振为12MHZ的单片机一个机器周期为1us,如果采用循环方法,控制程序循环次数,就可以实现定时功能。

1ms的MT值:

(1+1+2)×1us×MT=1000usDL2:

MOVR1,#MT;1个机器周期

MT=250DL1:

NOP;1个机器周期

NOP;1个机器周期

DJNZR1,DL1;2个机器周期

4.实验步骤

(1)设计实验电路,连接实验线路

(2)在MCS-51编辑环境,进行程序设计和编译

(3)下载实验程序

(4)运行程序,观察实验现象,改变循环值,重复上述实验

(5)记录不同循环值时的实验现象,并加以分析,撰写实验报告。

5.实验设备

电子通信与自动化创新实验系统,选用8051CPU模块和实验连线

6.程序设计

程序流程如图所示,程序如下:

ORG2000H

START:

CPLP1.0

MOVR0,#200;毫秒数

DL2:

MOVR1,#MT;1个机器周期

DL1:

NOP;1个机器周期

NOP;1个机器周期

DJNZR1,DL1;2个机器周期

DJNZR0,DL2;2个机器周期

LJMPSTART

END

实验五:

外部中断实验

1.实验目的

(1)学习中断应用技术,理解中断产生的原因、中断响应、中断处理。

(2)掌握中断处理程序的编程方法。

2.实验内容

十字路口的交通指示灯,在正常情况下,按表中要求进行点亮。

当急救车到达时,两方向红灯亮10秒后,交通灯恢复以前的状态。

交通灯

开始

正常情况下交通灯运行规律

东西方向

红灯(3S)

绿灯(10S)

黄灯闪

5次

红灯

(0.2S)

红灯(10S)

黄灯闪

5次

红灯

(0.2S)

南北方向

红灯(3S)

红灯(10S)

绿灯(10S)

3.实验设备

电子通信与自动化创新实验系统,选用8051CPU模块和实验连线

4.实验原理

(1)实验线路:

用P1口接LED来模拟交通路口的红绿黄灯,用按键来模拟有急救车到来的情况。

(2)实验原理:

正常情况下,交通灯按交通规则进行显示,当有急救车通过时,将产生外部中断。

单片机响应中断后,将程序转向中断服务,等中断服务完成后再恢复原来的运行状态。

5.实验步骤

(1)设计实验电路,连接实验线路

(2)在MCS-51编辑环境,进行程序设计和编译

(3)下载实验程序

(4)运行程序,观察实验现象,改变循环值,重复上述实验

(5)记录不同循环值时的实验现象,并加以分析,撰写实验报告。

7.参考程序

NAMET5;中断控制实验

OUTPORTEQU0CFB0H;端口地址

SAVEEQU55H;save保存从端口cfa0输出的数据

CSEGAT0000H

LJMPSTART

CSEGAT4003H

LJMPINT

CSEGAT4100H

START:

SETBIT0

SETBEX0

SETBEA

MOVA,#11H;置首显示码

MOVSAVE,A;保存

ACALLDISP;显示输出

ACALLDE3S;延时3秒

LLL:

MOVA,#12H;东西路口

MOVSAVE,A

ACALLDISP

ACALLDE10S;延时10秒

MOVA,#10H;东西路口绿灯灭

MOVSAVE,A

ACALLDISP

MOVR2,#05H;东西路口黄灯闪烁5次

TTT:

MOVA,#14H

MOVSAVE,A

ACALLDISP

ACALLDE02S

MOVA,#10H

MOVSAVE,A

ACALLDISP

ACALLDE02S

DJNZR2,TTT

MOVA,#11H;红灯全亮

MOVSAVE,A

ACALLDISP

ACALLDE02S;延时0.2秒

MOVA,#21H;东西路口红灯亮,南北路口绿灯亮

MOVSAVE,A

ACALLDISP

ACALLDE10S;延时10秒

MOVA,#01H;南北路口绿灯灭

MOVSAVE,A

ACALLDISP

MOVR2,#05H;南北路口黄灯闪烁5次

GGG:

MOVA,#41H

MOVSAVE,A

ACALLDISP

ACALLDE02S

MOVA,#01H

MOVSAVE,A

ACALLDISP

ACALLDE02S

DJNZR2,GGG

MOVA,#11H;红灯全亮

MOVSAVE,A

ACALLDISP

ACALLDE02S;延时0.2秒

JMPLLL;转LLL循环

DE10S:

MOVR5,#100;延时10秒

JMPDE1

DE3S:

MOVR5,#30;延时3秒

JMPDE1

DE02S:

MOVR5,#02;延时0.2秒

DE1:

MOVR6,#200

DE2:

MOVR7,#126

DE3:

DJNZR7,DE3

DJNZR6,DE2

DJNZR5,DE1

RET

INT:

CLREA

PUSHACC;中断处理

PUSHPSW

MOVA,R5

PUSHACC

MOVA,#11H;红灯全亮,绿、黄灯全灭

ACALLDISP

DEL10S:

MOVR3,#100;延时10秒

DEL1:

MOVR2,#200

DEL2:

MOVR5,#126

DEL3:

DJNZR5,DEL3

DJNZR4,DEL2

DJNZR3,DEL1

MOVA,SAVE;取SAVE中保存数据输出到cfa0端口

ACALLDISP

POPACC;出栈

MOVR5,A

POPPSW

POPACC

SETBEA;允许外部中断

RETI

DISP:

MOVDPTR,#OUTPORT

CPLA

MOVX@DPTR,A

RET

END

 

实验六:

子程序实验

1.实验目的

(1)掌握主程序和子程序之间的调用、参数传递方法

(2)掌握主程序和子程序编程方法

(3)学习PROTEUS软件的使用方法

2.实验内容

在PROTEUS电子设计环境,实现直流电机的控制(要求有正、反转控制,启、停控制)。

3.实验原理

电机采用H型控制电路,单片机在程序控制下实现对H型电路的控制。

单片机不断对按键状态进行查询,当发现有键按下时,对相应的位进行置位。

系统程序通过判断位状态后决定程序走向。

正、反转,起、停均为子程序,供系统调用。

4.实验设备

PROTUES电子设计软件,电子综合实训系统,PWM直流电机模块

5.实验步骤

(1)在PROTEUS中选用元器件,设计实验电路。

(2)在PROTEUS的编程环境,进行程序设计和编译,生成HEX文件。

(3)加载HEX文件

(4)点启动,运行仿真,按不同的控制键,观察实验现象。

(5)记录实验现象,并加以分析,撰写实验报告。

6.H型实验电路

 

实验七:

串行通信实验

1.实验目的:

(1)掌握串行口工作方式的程序设计,掌握单片机通讯程序的编制

(2)了解实现串行通讯的硬件环境,数据格式、数据交换的协议

(3)应用PROTEUS设计软件实现串行通信的仿真

2.实验内容

在PROTEUS环境实现两块单片机之间的数据传送。

两片AT89C51单片机,工作在方式1,处于收发状态,波特率为1200,数据从P1口通过数字开关元件输入,从串行口发送。

接收数据从串行口入,通过处理后,由P2口输数码管进行显示。

编程实现A机发B机收,B机发A机收。

3.实验设备:

硬件:

电子电气技术综合实验台、80C31CPU模块、导线、个人计算机

软件:

MCS51集成开发环境、Proteus、Wave、Keil

4.实验原理

数据发送:

当数据写入发送缓冲器SUBF,发送器自动启动,数据由TXD线输出。

发送完一帧数据后,将TI标志置1,可通过查询或中断方式,来了解TI的状态,TI只能由软件复位。

数据接收:

当REN=1,单片机串口允许接收数据,串行口采样引脚RXD(P3.0)采样到引脚从1跳变到0,并得到确认为起始位后,就开始接收一帧数据。

等接收完一帧数据RI置1,可通过查询或中断方式,来了解RI的状态,RI也只能由软件复位。

5.实验电路

P1口接发送数据,数据显示接收到的数据。

6.实验步骤

(1)在PROTEUS中选用元器件,设计实验电路。

(2)在PROTEUS的编程环境,进行程序设计和编译,生成HEX文件。

(3)加载HEX文件

(4)点启动,运行仿真,改变P1的值,观察实验现象。

(5)记录实验现象,并加以分析,撰写实验报告。

7.程序框图

ORG0000H

LJMPMAIN

ORG0023H

LJMPINS

ORG0030H

MAIN:

MOVSP,#60H

MOVSCON,#50H

MOVTMOD,#20H

MOVTL1,#0E6H

MOVTH1,#0E6H

SETBEA

SETBES

SETBTR1

MOVP1,#0FFH

LP0:

MOVA,P1

MOVSBUF,A

LP:

JNBTI,LP

CLRTI

LJMPLP0

INS:

CLREA

JNBTI,LP1

CLRTI

LJMPEXIT

LP1:

CLRRI

MOVA,SBUF

MOVP2,A

EXIT:

SETBEA

RETI

END

实验八:

数码显示接口电路设计

1.实验目的

(1)了解LED数码显示原理和电路仿真技术

(2)设计数码显示接口电路

2.实验内容

设计具有6位数码显示的接口电路,显示存放在6个连续单元中的BCD码数字,并在Proteus电子设计平台中完成仿真。

3.实验设备

硬件:

电子电气技术综合实验台、80C31CPU模块、导线、个人计算机

软件:

MCS51集成开发环境、Proteus、Wave、Keil

4.实验原理

七段LED数码管是由七段发光二极管构成,每个数码管分段码和位码,段码决定要显示的字形,位码决定该位是否显示。

6位数码管采用动态扫描方式,让数码管轮流导通,利用人眼的视觉暂留效应,实现6位数码管的显示。

6.实验电路

实验电

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1