单片机实验教案.docx

上传人:b****4 文档编号:3445015 上传时间:2022-11-23 格式:DOCX 页数:46 大小:454.78KB
下载 相关 举报
单片机实验教案.docx_第1页
第1页 / 共46页
单片机实验教案.docx_第2页
第2页 / 共46页
单片机实验教案.docx_第3页
第3页 / 共46页
单片机实验教案.docx_第4页
第4页 / 共46页
单片机实验教案.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

单片机实验教案.docx

《单片机实验教案.docx》由会员分享,可在线阅读,更多相关《单片机实验教案.docx(46页珍藏版)》请在冰豆网上搜索。

单片机实验教案.docx

单片机实验教案

 

单片机技术实验

 

教案

 

冯杰

 

第一章系统概述

1.1系统组成

Dais系列单片机微机仿真实验系统的51单片机实验与仿真由管理CPU、目标CPU和通用电路、接口实验电路及稳压电源组成,通过RS232C串行接口与PC微机相连,系统硬件主要内容如下:

CPU

管理CPU、目标CPU8032/78E438/STC系列单片机

系统存储器

监控管理程序在管理CPU的FLASH中、RAM61256二片(64K)、BPRAM61256(32K)。

接口芯片

及单元实验

8251、8253、8255、8259、ADC0809、DAC0832、164、74LS273、74LS244、电子发声单元,电机控制单元,开关及发光二极管、单脉冲触发器、继电器控制等

外设接口

打印接口,RS232C串口、51仿真接口

显示器

6位LED、二路双踪示波器

键盘

32键自定义键盘

EPROM编程器

对EPROM2764/27128快速读出

系统电源

+5V/2A,±12V/0.5A

1.2系统功能与特点

⑴自带键盘、显示器,能独立运行,也可以PC机为操作平台。

两种工作方式任意选择,均全面支持《单片机原理与应用》等课程的实验教学。

⑵系统采用紧耦合多CPU技术,用STC89C58作为系统管理CPU,8032/78E438/STC系列单片机作为目标机仿真与实验CPU,其软硬件资源100%出借。

⑶目标CPU采用主频为11.0592MHz,支持扩展仿真(即RAM仿真),亦支持ROM仿真(即FLASH下载式仿真)。

在ROM仿真模式下,可实现对P0、P2的I/O口功能。

⑷配有二片61C256静态存储器构成系统的64K程序空间,地址范围为0000H~0FFFFH,还配一片61C256(32K)作为用户设置的断点区(BPRAM)。

⑸实验项目完整丰富,与课程教学紧密结合,同时配有直流电机、步进电机、音响等实验对象,可支持控制应用类综合实验。

⑹系统接口实验电路为单元电路方式,电路简捷明快,一体机的8位数据总线以扁平线或排线形式引出,这样既减轻繁琐的连线工作,又提高学生的实验工作能力。

⑺通过RS232通信接口,在Windows集成软件的支持下,利用上位机丰富的软件硬件资源,实现用户程序的编辑、编译、调试运行,提高实验效率。

⑻具有最丰富的调试手段,系统全面支持硬件断点,可无限制设置断点,同时具有单步、宏单步、连续运行及无限制暂停等功能,100%保护用户现场,返回监控。

⑼向用户提供ISA总线接口及PARK板接口,为研发与创新实验的实施创造了必备的拓展环境。

⑽向用户提供KEIL驱动程序,将Dais驱动程序加入KEIL的配置文件,即可实现Dais仿真实验系统与最优秀的KEIL无缝连接。

1.3系统资源分配

实验系统寻址范围定义如下:

空间地址

器件选用

用途与说明

0000H~7FFFH

6116

监控程序空间

0000H~0FFFFH

PROM

目标机程序空间

0000H~0FFFFH

实验接口电路

数据及IO空间

系统已定义的I/O地址如下:

接口芯片

口地址

用途

74LS273

0FFDDH

字位口

74LS273

0FFDCH

字形口

74LS245

0FFDEH

键入口

8255A口

0FFD8H

EP总线

8255B口

0FFD9H

EP地址

8255C口

0FFDAH

EP控制

8255口

0FFDBH

控制字

 

第二章MCS-51单片机实验指导

本实验指导是为适应各大、中专院校开设单片机原理与应用方面的课程设置需要而编写,供学生编程用。

完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、程序框图和实验步骤。

免除了主讲教师和实验辅导老师为设计、准备调试实验线路和实验程序所需的工作量,节约宝贵的时间。

一、实验指导书中所列的实验程序已经固化到系统管理CPU中,在“P.”状态下,按动“0”键→再按“EV/UN”键,将程序传送到以0000H为起始地址的RAM中。

因实验程序中采用子程序形式较多,要互相调用,所以必须把程序全部传送到实验系统中,对中断入口等地址的指令按照实验要求输入。

其中MCS-51实验程序地址范围:

0000~1FFFH,您可以通过系统自带的键盘显示输入各种命令运行系统RAM中的实验程序,显示实验结果完成各个实验项目。

二、实验接线图上的粗实线表示用户在实验时要用导线连接起来。

三、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据贵校(院)的教学要求,选择相应实验。

四、对同一问题的解决办法往往不是唯一的欢迎用户在使用本书过程中提出最为优秀的实验方案,指示错误和不足,希望用户反馈给我们,以便及时修改。

五、每个实验程序的序号、实验名称、入口地址见下表。

软件部分实验

实验序号

软件实验名称

入口地址

实验一

清零程序

0640H

实验二

拆字程序

0660H

实验三

拼字程序

0680H

实验四

数据区传送子程序

07B0H

实验五

数据排序实验

09B0H

实验六

查找相同数个数

0AA0H

实验七

无符号双字节快速乘法子程序

0970H

实验八

多分支程序

0A10H

实验九

脉冲计数(定时/计数器实验)

06E0H

实验十

电脑时钟(定时器、中断综合实验)

0030H

实验十一

二进制到BCD转换

联机操作

实验十二

二进制到ASCII转换

联机操作

实验十三

八段数码管显示程序

联机操作

实验十四

键盘扫描显示实验

联机操作

硬件部分实验

实验序号

硬件实验名称

入口地址

实验一

P1口亮灯实验

0790H

实验二

P1口转弯灯灯实验

0C30H

实验三

P3口输入P1口输出

0810H

实验四

工业顺序控制实验

0190H

实验五

8255ABC口输出方波

0580H

实验六

PA口控制PB口实验

0770H

实验七

8255控制交通灯

0BB0H

实验八

简单I/O扩展实验

0B80H

实验九

0809A/D转换实验

05A0H

实验十

0832D/A输出方波实验

调零0617H,方波061FH

实验十一

电子音响实验

music.bin

实验十二

继电器控制实验

0F00H

实验十三

步进电机实验

0CA0H

实验十四

8253方波实验

0EC0H

实验十五

串并转换实验

0F30H

实验十六

外部数据存储器扩展

0F50H

实验十七

8032串行口应用实验

(一)—双机通信

发送0F80H、接收_0FC0H

实验十八

8032串行口应用实验

(二)—与PC机通信

发送0F80H、接收_0FC0H

实验十九

小直流电机调速实验

05E0H

实验二十

LED16×16点阵显示实验

0188H

实验二十一

2×16LCD液晶显示接口实验

0FFCH

实验二十二

红外收发实验

1000H

实验二十三

数字温度传感实验

1003H

实验二十四

外部中断处理(急救车与交通灯实验)

联机操作

多CPU系列教学实验系统状态设置

Dais-多CPU实验系统有多种工作模式,系统对各模式的状态设置定义如下:

1.接口实验模式:

上电或复位系统无条件进入接口实验模式,显示闪动的“P.”。

2.串口出借模式:

在“P.”状态按F2功能键,系统进入串口出借模式,显示“P......”,该状态用户可以自行定义串行口。

按F1功能键或按复位按钮,均使系统返回初始状态“P.”。

3.下载仿真模式:

在“P.”状态按F1功能键,系统进入下载式仿真模式,显示“H.”,在该状态只有按F2功能键才能返回状态“P.”。

在联机状态下,通过菜单栏“设置→仿真模式”,在对话框中设置:

1.接口实验模式:

片外RAM=系统,片外ROM=系统

2.串口出借模式:

片外RAM=用户,片外ROM=系统

3.下载仿真模式:

片外RAM=系统,片外ROM=用户

 

实验一顺序结构程序设计

一、实验目的

掌握汇编语言设计和调试方法。

二、实验内容

把外部RAM中2000h单元的内容拆开,高位送2001h单元,低位送2002h单元,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。

三、程序流程

四、实验步骤

1、LED环境

⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵在“P.”状态下键入0000,然后按“STEP”或“EXEC”进入实验项目的调试与运行。

2、PC环境

在与PC联机状态下,编译、连接、下载PH51\se02.asm,用连续或单步方式运行程序。

3、运行结果检查

⑴在单步运行时每走一步可观察其运行结果。

⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~2002h中内容变化情况。

五、思考

如何用断点方式调试本程序。

ORG0000H

LJMPSTART

ORG0030H

START:

MOVDPTR,#2000H

MOVXA,@DPTR

ANLA,#0F0H

SWAPA

MOVDPTR,#2001H

MOVX@DPTR,A

MOVDPTR,#2000H

MOVXA,@DPTR

ANLA,0FH

MOVDPTR,#2002H

MOVX@DPTR,A

SJMP$

END

 

实验二循环结构程序设计

一、实验目的

熟悉MCS-51指令系统,掌握程序设计方法。

二、实验内容

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

三、程序框图

四、实验步骤

1、LED环境

⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵对片内RAM地址50h~5AH进行不规则置数。

⑶在“P.”状态下键入0000,然后按“STEP”或“EXEC”进入实验项目的调试与运行。

2、PC环境

在与PC联机状态下,编译、连接、下载PH51\se05.asm,用连续或单步方式运行程序。

3、运行结果检查

⑴在单步运行时每走一步可观察其运行结果。

⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查片内50~5Ah中内容是否按从小到大排列。

五、思考:

修改程序把50~5Ah中内容按从小到大排列。

ORG0000H

LJMPSTART

ORG0030H

START:

MOVR7,#09H

MOVR0,#50H

MOVR6,#00H;清除标志

START1:

CLRC

MOVA,@R0

INCR0

SUBBA,@R0

JCLOOP1

MOVR6,#01H

DECR0

MOVA,@R0

INCR0

XCHA,@R0

DECR0

MOV@R0,A

INCR0

LOOP1:

DJNZR7,START1

CJNER6,#00H,START

SJMP$

END

实验三选择结构程序设计

一、实验目的

掌握汇编语言的编程。

二、实验内容

编写程序,根据送入的数据转移运行。

三、程序框图

四、实验步骤

1、LED环境

⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵在20H中分次送入00、01、02、03。

⑶在“P.”状态下键入0A10,然后按“STEP”或“EXEC”进入实验项目的调试与运行。

2、PC环境

在与PC联机状态下,编译、连接、下载PH51\se08.asm,用连续或单步方式运行程序。

3、运行结果检查

(1)在单步运行时每走一步可观察其运行结果。

(2)在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后观察每次运行程序后,数码管上数字循环情况。

ORG0000H

LJMPSTART

ORG0030H

START:

MOV20H,#00H

MOVA,20H

MOVB,#03H

MULAB

MOVDPTR,#TAB

JMP@A+DPTR

SJMP$

ORG3000H

TAB:

LJMPLOOPA

LJMPLOOPB

LJMPLOOPC

LOOPA:

MOVA,#01H

LOOPA1:

MOVP1,A

LCALLDELAY1S

RLA

LJMPLOOPA1

LOOPB:

MOVA,#03H

LOOPB1:

MOVP1,A

LCALLDELAY1S

RLA

LJMPLOOPB1

LOOPC:

MOVA,#05H

LOOPC1:

MOVP1,A

LCALLDELAY1S

RLA

LJMPLOOPC1

DELAY1S:

MOVR7,#10

DELAY1S3:

MOVR6,#200

DELAY1S2:

MOVR5,#250

DELAY1S1:

DJNZR5,DELAY1S1

DJNZR6,DELAY1S2

DJNZR7,DELAY1S3

RET

END

实验四中断实验

一、实验目的

熟悉单片机中断概念及中断编程方法。

二、实验内容

编写程序,从P3.3输入脉冲,记录输入脉冲个数,并用P1口外部链接的发光二极管显示技术结果。

二、参考程序

ORG0000H

LJMPSTART

ORG0013H

LJMPINT1_COUNT

ORG0030H

START:

MOVSP,#60H

MOVA,#00H

SETBIT1;下降边沿触发方式

SETBEX1;开启INT1中断

SETBEA

SJMP$

INT1_COUNT:

INCA

MOVP1,A

RETI

END

实验五LED显示实验

一、实验要求

利用实验系统提供的显示设备,动态显示一行数据。

二、实验目的

⑴了解数码管动态显示的原理;

⑵了解用总线方式控制数码管显示。

三、实验说明

本实验系统提供了8位七段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。

四、程序框图

 

ORG0000H

LJMPSTART

ORG0030H

START:

MOVSP,#60H

MOV50H,#8CH;显示字符P.

MOV51H,#40H

MOV52H,#79H

MOV53H,#24H

MOV54H,#30H

MOV55H,#19H

MOV56H,#12H

MOV57H,#02H

LOOP1:

LCALLDISPLAY

LJMPLOOP1

DISPLAY:

MOVP2,#0FH

MOVP0,50H

LCALLDELAY20MS

MOVP2,#1FH

MOVP0,51H

LCALLDELAY20MS

MOVP2,#2FH

MOVP0,52H

LCALLDELAY20MS

MOVP2,#3FH

MOVP0,53H

LCALLDELAY20MS

MOVP2,#4FH

MOVP0,54H

LCALLDELAY20MS

MOVP2,#5FH

MOVP0,55H

LCALLDELAY20MS

MOVP2,#6FH

MOVP0,56H

LCALLDELAY20MS

MOVP2,#7FH

MOVP0,57H

LCALLDELAY20MS

LJMPDISPLAY

DELAY20MS:

MOVR7,#20

DELAY1:

MOVR6,#100

DELAY2:

DJNZR6,DELAY2

DJNZR7,DELAY1

RET

TAB:

DB40H,79H,24H,30H,19H,12H,02H;0123456的字符码

DB78H,00H,10H,08H,03H,46H,21H,06H,0EH;789ABCDEF的字符码

TAB1:

DB8CH;P.的字符码

TAB2:

DB7FH;空,不显示的字符

END

 

键盘电路实验

电路图:

程序:

;用int1中断实现按键功能,键值存放在4fh单元中

;通过P1口输出按键值,用发光二极管显示按键值

;通过P2.4--P2.6和三八译码器输出八列按键扫描码

;通过P2.0---P2.3读入按键的行值

;行列值组合,就是按键的键值

ORG0000H

LJMPSTART

ORG0013H

LJMPkey_value

ORG0030H

START:

MOV4fH,#00h;存放按键键值单元

MOVP1,#00H

MOVP2,#0FFH

setbex1

setbit1

setbea

KEY_SCAN:

MOVP2,#0FH

LCALLDELAY5MS

MOVP2,#1FH

LCALLDELAY5MS

MOVP2,#2FH

LCALLDELAY5MS

MOVP2,#3FH

LCALLDELAY5MS

MOVP2,#4FH

LCALLDELAY5MS

MOVP2,#5FH

LCALLDELAY5MS

MOVP2,#6FH

LCALLDELAY5MS

MOVP2,#7FH

LCALLDELAY5MS

LJMPKEY_SCAN

DELAY5MS:

MOVR7,#40

DELAY1:

MOVR6,#100

DELAY2:

DJNZR6,DELAY2

DJNZR7,DELAY1

RET

KEY_VALUE:

PUSHACC

PUSHPSW

MOVA,P2

MOV4FH,A

MOVP1,A

POPPSW

POPACC

RETI

END

 

LED和键盘综合实验

电路图:

参考程序:

ORG0000H

LJMPSTART

ORG0013H

LJMPKEY_VALUE

ORG0030H

START:

MOVSP,#60H

MOV4fH,#00h;存放按键键值单元

MOVP2,#0FFH

setbex1

setbit1

setbea

MOV50H,#0CH;显示字符P.

MOV51H,#0CH

MOV52H,#7FH

MOV53H,#7FH

MOV54H,#7FH

MOV55H,#7FH

MOV56H,#7FH

MOV57H,#0CH

LOOP1:

LCALLDISPLAY

LJMPLOOP1

DISPLAY:

MOVP2,#0FH

MOVP0,50H

LCALLDELAY20MS

MOVP2,#1FH

MOVP0,51H

LCALLDELAY20MS

MOVP2,#2FH

MOVP0,52H

LCALLDELAY20MS

MOVP2,#3FH

MOVP0,53H

LCALLDELAY20MS

MOVP2,#4FH

MOVP0,54H

LCALLDELAY20MS

MOVP2,#5FH

MOVP0,55H

LCALLDELAY20MS

MOVP2,#6FH

MOVP0,56H

LCALLDELAY20MS

MOVP2,#7FH

MOVP0,57H

LCALLDELAY20MS

LJMPDISPLAY

DELAY20MS:

MOVR7,#20

DELAY1:

MOVR6,#100

DELAY2:

DJNZR6,DELAY2

DJNZR7,DELAY1

RET

KEY_VALUE:

PUSHACC

PUSHPSW

MOV4FH,P2

LCALLKEY_VALUE_DISP

POPPSW

POPACC

RETI

KEY_VALUE_DISP:

MOVA,4FH

ANLA,#0F0H

SWAPA

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV56H,A

MOVA,4FH

ANLA,#0FH

MOVCA,@A+DPTR

MOV57H,A

RET

TAB:

DB40H,79H,24H,30H,19H,12H,02H;0123456的字符码

DB78H,00H,10H,08H,03H,46H,21H,06H,0EH;789ABCDEF的字符码

TAB1:

DB8CH;P.的字符码

TAB2:

DB7FH;空,不显示的字符

END

实验六电脑时钟(定时器、中断综合实验)

一、实验目的

熟悉MCS-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。

二、实验内容

编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。

三、程序框图

四、实验步骤

连续运行程序,在键盘上输入时间初值,按执行键EXEC执行,数码管上实时显示时间值。

五、思考

 

(1)电子钟走时精度和程序中那些常数有关?

  

(2)修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。

六、参考程序

ORG0000H

LJMPSTART

ORG000BH

LJMPT0_INT

ORG0013H

LJMPKEY_VALUE

ORG0030H

START:

MOVSP,#60H;设置堆栈指针

MOV4fH,#00h;存放按键键值单元

MOVP2,#0FFH

mov58h,#00h;存放T0中断次数,每次20ms,50次为1秒

mov59h,#56;存放“秒”的单元

mov5ah,#34;存放“分”的单元

mov5bh,#12;存放“时”的单元

MOVTH0,#HIGH(-50000);设置T0定时器初值

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

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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