单片机原理与应用实验指导.docx
- 文档编号:26293062
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:40
- 大小:213.25KB
单片机原理与应用实验指导.docx
《单片机原理与应用实验指导.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用实验指导.docx(40页珍藏版)》请在冰豆网上搜索。
单片机原理与应用实验指导
HarbinInstituteofTechnology
单片机原理与应用
实验指导
授课教师:
哈尔滨工业大学
电子工程系
2013
本实验指导是为哈工大电子与信息工程学院本科生开设《单片机原理与应用》方课程设置需要而编写,供学生编程用。
完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、程序框图和实验步骤。
实验须知
1学生进行实验前请详细阅读本实验指导的全部内容。
并提前打印附件1以备进入实验室使用。
2软件实验部分的实验十一需提前参考相关资料编写程序,并在实验课上交程序手写版。
3进入实验室后请首先耐心听从助教关于实验仪器和相关操作的介绍。
4严格按照操作流程进行实验操作,保证自身安全和实验设备的完好无损。
5实验分为观察实验、问答实验和验收实验。
对于问答实验请在实验过程中填写答案在附件1实验考核清单之中,对于验收实验请在运行出结果后找助教进行检查。
第一章系统概述
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=用户
软件实验
本节共选取了实验设备中的十个进行软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
本节提供的软件实验,涉及外部数据存储器扩展寻址操作,因此需按下图扩展外部数据存储器。
外部数据存储器电路图
⑴将DMA单元的D0~D7总线接口用8芯扁平线与数据总线单元D0~D7的任一接口相连,DMA单元的A0~A7地址接口与地址总线单元(低八位)A0~A7的任一接口相连,DMA单元的A8~A12地址接口与地址总线单元(高八位)A8~A12的任一接口相连。
⑵DMA单元的MWR插孔与六位LED左下方的IOW插孔相连。
⑶DMA单元的MRD插孔连到六位LED左下方的IOR插孔。
⑷DMA单元的MACS插孔连到六位LED右下方的A15插孔。
实验一 清零程序
一、实验目的
掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容
把2000~20FFh的内容清零。
三、程序框图
四、实验步骤
1、LED环境
⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵在“P.”状态下键入0640,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se01.asm,用连续或单步方式运行程序。
3、运行结果检查
⑴在单步运行时,每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~20FFH中执行程序前后的内容变化。
五、实验问答
1、2000H~20FFh中的内容是什么?
实验二 拆字程序
一、实验目的
掌握汇编语言设计和调试方法。
二、实验内容
把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序流程
四、实验步骤
1、LED环境
⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵在“P.”状态下键入0660,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se02.asm,用连续或单步方式运行程序。
3、运行结果检查
⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2000~2002h中内容变化情况。
五、实验问答
1、如果将2001h、2002h高位置1,程序该如何修改?
实验三 拼字程序
一、实验目的
进一步掌握汇编语言设计和调试方法。
二、实验内容
把2000h、2001h的低位分别送入2002h高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
三、程序流程
四、实验步骤
1、LED环境
⑴在“P.”状态下按"0→EV/UN",装载实验所需的代码程序。
⑵在“P.”状态下键入0680,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se03.asm,用连续或单步方式运行程序。
3、运行结果检查
⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2002h内容变化情况。
五、实验问答
1、运行程序后2002h的最终内容是?
实验四 数据区传送子程序
一、实验目的
掌握RAM中的数据操作。
二、实验内容
把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
三、程序流程
四、实验步骤
1、LED环境
⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵对R2、R3所定义的源地址单元从首址开始依次写入00、11、22、……、0FF。
⑶在“P.”状态下键入07B0,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se04.asm,用连续或单步方式运行程序。
3、运行结果检查
⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查由R4、R5所定义的目的地址单元。
五、实验问答
1、R4、R5所定义的目的地址单元内容是什么?
实验六 查找相同数个数
一、实验目的
熟悉汇编语言编程。
二、实验内容
在2000~200Fh中查出有几个字节是零,把个数放在2100h中。
三、程序框图
四、实验步骤
1、LED环境
⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵在2000~200Fh的若干单元中填入零
⑶在“P.”状态下键入0AA0,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se06.asm,用连续或单步方式运行程序。
3、运行结果检查
⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查2100h中是几个单元数。
五、实验问答
1、如需查找0FF,需修改程序哪个语句,如何修改?
实验七 无符号双字节快速乘法子程序
一、实验目的
掌握MCS-51汇编语言程序设计方法。
二、预备知识
本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的:
(R2R3)×(R6R7)
=((R2)×28+(R3))×((R6)×28+(R7))
=(R2)×(R6)×216+(R2)×(R7)+(R3)×(R6)×28+(R3)*(R7)
三、实验内容
将(R2R3)和(R6R7)中双字节无符号整数相乘,积送R4R5R6R7中。
四、程序框图
五、实验步骤
1、LED环境
⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵对R2、R3所定义的源地址单元从首址开始输入无符号整数。
⑶在“P.”状态下键入0970,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se07.asm,用连续或单步方式运行程序。
3、运行结果检查
⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查R4R5R6R7中内容。
六、实验问答
1、寄存器R2、R3、R6、R7分别输入01、10、11、10,运行程序,R4、R6中的内容是什么?
实验八 多分支程序
一、实验目的
掌握汇编语言的编程。
二、实验内容
编写程序,根据送入的数据转移运行。
三、程序框图
四、实验步骤
1、LED环境
⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵在20H中分次送入00、01、02、03。
⑶在“P.”状态下键入0A10,然后按“STEP”或“EXEC”进入实验项目的调试与运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se08.asm,用连续或单步方式运行程序。
3、运行结果检查
(1)在单步运行时每走一步可观察其运行结果。
(2)在连续运行状态下,应按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后观察每次运行程序后,数码管上数字循环情况。
五、实验问答
1、如何修改程序使数据循环变慢,同时将0字循环改为4字循环?
实验十 电脑时钟(定时器、中断器综合实验)
一、实验目的
熟悉MCS-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。
二、实验内容
编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。
三、程序框图
四、实验步骤
1、LED环境
⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
⑵在“P.”状态下键入0030,然后按“EXEC”进入该实验项目的运行。
2、PC环境
在与PC联机状态下,编译、连接、下载PH51\se10.asm,用连续方式运行该程序。
3、在键盘上输入时间初值,按执行键EXEC执行,数码管上实时显示时间值。
4、按“暂停图标”或实验箱上的“暂停按钮”,系统无条件退出该程序运行返回监控状态。
五、实验问答
1、如何修改程序使定时器工作方式改变(实现12小时制)?
实验十一 二进制转换到BCD
一、实验要求
将给定的一个二进制数,转换成二进制编码的十进制(BCD)码。
二、实验目的
掌握简单的数值转换算法,基本了解数值的各种表达方法。
三、实验说明
计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
四、程序框图
五、实验步骤
1、在实验系统与PC联机状态下,编译、连接、下载、运行PH51\se11.asm,将ACC拆为三个BCD码。
2、运行结果检查
⑴在单步运行时每走一步可观察其运行结果。
⑵在连续运行状态下,应按“暂停图标”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键检查存入20H开始的三个片内RAM单元。
六、实验问答
编写程序实现,实验要求。
实验十四 键盘扫描显示实验
一、实验要求
在上一个实验的基础上,利用实验系统提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。
实验程序可分成三个模块。
①键输入模块:
扫描键盘、读取一次键盘并将键值存入键值缓冲单元。
②显示模块:
将显示单元的内容在显示器上动态显示。
③主程序:
调用键输入模块和显示模块。
二、实验目的
⑴掌握键盘和显示器的接口方法和编程方法。
⑵掌握键盘扫描和LED八段码显示器的工作原理。
三、实验说明
本实验系统自带一个8×4的键盘,在判断有键按下后,要有一定的延时,防止键盘抖动。
四、程序框图
五、实验步骤
1、在联机状态下,编译、连接、下载、连续运行PH51\se14.asm,利用实验系统的显示设备、键盘实现按键的输入并送至显示设备输出。
2、按“暂停图标”,系统无条件退出该程序运行返回监控状态。
六、思考
理解程序,观察实验现象。
硬件实验
硬件实验可使学生能进一步掌握单片机系统扩展和输入输出程序的设计方法,熟悉对扩展系统的软件、硬件设计,调试方法和技巧。
实验一P1口亮灯实验
一、实验目的
(1)学习P1口的使用方法;
(2)学习延时子程序的编写。
二、实验预备知识
(1)P1口对准双向口,每一位都可独立地定义为输出或输入。
(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
三、实验内容
P1口作为输出口,接八个发光二极管,编写程序,使发光二极管循环点亮。
四、程序框图
五、实验电路
六、实验步骤
1、实验连线
P1.0~P1.7用插针连至L1~L8。
2、LED环境
(1)在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
(2)在“P.”状态下键入0790,然后按“EXEC”进入实验项目的运行。
3、PC环境
在与PC联机状态下,编译、连接、下载PH51\he01.asm,用连续方式运行程序。
4、观察运行结果
在连续运行状态下,观察发光二极管闪亮移位情况。
5、终止运行
按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出该程序的运行返回监控状态。
七、实验问答
1、改变延时常数使闪亮时间延长,同时移位方向改变。
实验二P1口转弯灯实验
一、实验目的
进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。
二、实验内容
P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左移弯灯闪亮,
P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。
三、程序框图
四、实验电路
五、实验步骤
1、实验连线
P1.0接K1、P1.1接K2、P1.4~P1.7接L1、L4、L7、L10。
2、LED环境
(1)在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。
(2)在“P.”状态下键入0C30,然后按“EXEC”进入实验项目的运行。
3、PC环境
在与PC联机状态下,编译、连接、下载PH51\he02.asm,用连续方式运行程序。
4、观察运行结果
在连续运行状态下,观察转弯灯正确闪亮。
5、终止运行
按“暂停图标”或实验箱上的“暂停按钮”,使系统无条件退出该程序的运行返回监控状态。
实验三P3.3口输入.P1口输出
一、实验目的
1.掌握P3口、P1口简单使用。
2.学习延时程序的编写和使用。
二、实验内容
1.P3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。
2.P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。
三、实验说明
1.P3口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:
当P3口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题
对于延时程序DELAY:
MOVR6,#00H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 实验 指导