单片机实验指导书.docx
《单片机实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书.docx(153页珍藏版)》请在冰点文库上搜索。
![单片机实验指导书.docx](https://file1.bingdoc.com/fileroot1/2023-6/5/bac74256-e986-4943-9c90-556e9b45185b/bac74256-e986-4943-9c90-556e9b45185b1.gif)
单片机实验指导书
DTHS-A
互动式实验教学平台
单片机实验指导书
山东工商学院
信息与电子工程学院
前言
单片机原理及应用实验指导书,是针对自动化、电气工程及其自动化、电子信息科学与技术、电子信息工程、计算机科学与技术及通信工程等专业的学生学习《单片机原理及应用课程》而编写的,主要用于互动式单片机教学中实践环节的参考教材。
单片机及相关的应用技术是近代超大规模集成电路技术与计算机技术发展的产物,已经深入到国民经济与人民生活的各个领域。
《单片机原理及应用》课程已经被几乎所有工科院校中仪器仪表、测控技术、光机电一体化、电子、通信、计算机等类专业列为本科主干专业课程,是培养现代电子技术应用类专业人才的重要技术课程之一。
单片机实践是学习单片机理论的重要实践环节。
通过边学习理论课边实践的教学模式,使学生在课堂理论课学习的基础上,进一步加深对理论知识的理解,学习、掌握单片机的硬件扩展技术、软件编程技术、以及小型应用系统设计技术等相关的技能,增强感性认识,促进认识的深化,培养学生科学的分析能力,使学生掌握单片机应用系统开发的基本方法与基本技能,培养学生严肃认真和实事求是的科学作风,锻炼科学实验的能力。
为今后在相关领域中从事与单片机有关的设计、开发、应用等工作打下良好的基础。
本实验指导书是根据《单片机原理及应用》课程实验教学大纲的要求,以及我校单片机实验开发系统的情况由张鑫、张岩老师编写。
目 录
第一章 系统概述1
1.1 上部扩充区(简称上板)1
1.2 中部核心控制区(简称中板)2
1.3 下部常规实验区(简称下板)3
1.4MCS-51集成开发环境7
第二章 单片机及其接口实验12
实验一 系统认识实验12
实验二 程序设计实验14
实验三 74LS138译码实验15
实验四 P1口输入/输出实验1(控制发光二极管亮灭)17
实验五 P1口输入/输出实验2(控制转向灯)19
实验六 P3.3口输入/P1口输出实验22
实验七 MCS-51单片机中断系统实验25
实验八 MCS-51单片机内部定时器/计数器实验27
实验九 MCS-51单片机串行口并/串、串/并转换实验29
实验十 MCS-51单片机串行口双机通信实验31
实验十一 MCS-51单片机与PC通信实验33
实验十二 外部数据存储器扩展实验39
实验十三 外部I/O口扩展实验41
实验十四 工业顺序控制实验43
实验十五 8255并行口输出方波实验47
实验十六 8255并行口输入/输出实验49
实验十七 8255并行口模拟交通灯实验51
实验十八 8259中断控制实验54
实验十九 8253定时器/计数器实验56
实验二十 DS1302实时时钟实验58
实验二十一 X5045P看门狗实验67
实验二十二 D/A数模转换实验69
实验二十三 A/D模数转换实验71
实验二十四 8255键盘显示实验75
实验二十五 LCD128×64液晶显示实验81
实验二十六 微型打印机实验88
实验二十七 继电器控制实验90
实验二十八 步进电机控制实验92
实验二十九 直流电机调速实验94
实验三十 DS18B20温度闭环实验96
第一章 系统概述
DTHS-A是由耐思(NICE)科技有限公司设计制造的MCS-51单片机系统通用型实验台,它以常规实验设备的开放式实验环境为基础,增加了在线检测模式,在自定义环节融入轨迹捕捉,影射和展现实验电路搭接的全过程,为互动教学活动的展开创造了一个较为完整与规范的实践平台。
DTHS-A实验台由三个部分组成:
上部为实验台扩充区,适用于课程设计及实验电路与模块的扩展;中部为实验台核心控制区,主要由通用仿真器、在线控制器、轨迹捕捉器及机电与单总线等实验模块组成;下部为实验台常规实验区,适用于基础性教学实践活动。
DTHS-A实验台支持NICE自主研发的集成开发环境,并与KEIL/MPLAB/AVRStudio等主流开发环境无缝结合。
1.1 上部扩充区(简称上板)
1)直流电压表
上板右上角配有数字式直流电压表,其量程为±20V;电压表左测的钮子开关用于选择电压表的检测来源。
①信号源测量
该钮子开关拨向“外”方向时,位于电压表下方的红孔为电压表输入端(+20V~-20V),其黑孔为电压表直流地端(非负极性输入端),该端与本工位的“GND”己连接互通,仅适用于实验台二工位之间GND的并端,不允许加载负极性或与“GND”相冲突的信号源;
②内置源监视
该钮子开关拨向“内”方向时,由位于钮子开关上方的2×3波段开关选择与确认当前监视源。
我们强调监视源的选择应在掉电方式下进行,即在关闭直流源的前提下才能拨动波段开关选择当前监视源,否则会引发+5V、+12V、-12V之间的瞬间短接,对低压供电器件的损伤率极高,亦危及开关电源的寿命。
2)微型打印机
上板偏左上方配有智能窗式针型打印机,位于钮子开关下方的双排八芯座为它的总线口,“STB”孔为打印命令控制端,“BUSY”为打印机忙闲标志,“ERR”为打印机出错标志。
3)逻辑加密存储卡
存储卡正下方为该卡读写加密控制端,该卡左边为插卡口,该卡右边定义状态标志指示。
4)FPGA扩展
上板右下方为FPGA逻辑控制器设计与实践区域,选用AlteraEPF10K10LC84-4为硬布线控制器,配有下载口,用符合Xilinx标准的下载电缆即可实现针对EPF10K10LC84-4的逻辑设计与编程。
5)扩充区
上板左下方为自行设计区域,该区域正下方为阻容件、晶体、三极管、二极管扩充区,该区域左上方为门电路、运放等IC-14以下芯片及集成电阻的扩充区,该区域右上方为IC-40以下集成器件扩充区。
1.2 中部核心控制区(简称中板)
1)CPU单元
中板左上方为实验台CPU选择单元,目前可适配的CPU类型有MCS-51/PIC单片机、以8088为内核的微机接口。
2)总线接口
①数据总线:
双向,来源于仿真器。
当CPU单元挂51时,它是由P0口隔离驱动后形成双向总线。
②地址总线:
输出,来源于仿真器。
当CPU单元挂51时,它的低八位由P0口驱动锁存输出;它的高八位由P2口隔离驱动输出。
③控制总线
●RD:
输出,来源于仿真器。
当CPU单元挂51时为外部数据读,受P3.7控制。
●WD:
输出,来源于仿真器。
当CPU单元挂51时为外部数据写,受P3.6控制。
●ALE:
输出,来源于仿真器。
当CPU单元挂51时为地址锁存,受51_ALE控制。
●RESET:
复位输出,高电平有效,受仿真器复位电路控制。
●MER:
输出,来源于仿真器。
当CPU单元挂88时为内存读,受8088CPU控制。
●MEW:
输出,来源于仿真器。
当CPU单元挂88时为内存写,受8088CPU控制。
●AEN:
输入,总线出借控制。
当CPU单元挂88时为DMA操作,受8237_AEN控制。
●φ:
时钟输出,当CPU单元挂51时,由51CPU第18脚提供。
3)并行模块
①LCD液晶显示
其数据线与总线接口中的D7~D0己连接互通,总线连接定义为省缺项。
位于LCD正下方的使能控制端“E”,命令与数据选择端“R/S”及读写选择端“R/W”在自行设计状态定义为实验连接项。
②8255并行口
其数据线与仿真器中的D7~D0己连接互通。
位于8255正右测的“CS”为8255选通控制端。
位于LCD正下方的add1~add0为8255地址端A1~A0,位于下板“直流源指示”上方的RD、WR为8255读写控制端,在自行定义状态它们为实验连接项。
4)单总线模块
单总线模块超越并行总线的寻址规则,局限于I/O端口寻址,不宜在线掌控,只能工作在自定义状态,因此在单总线模块的设计与实现中实验连接项不可省缺。
5)闭环控制
①直流电机
直流电机控制单元定义了“调速”与“测速”两个端口,其中调速端为电机启停。
正反转及转速控制端,它加载的模拟量范围是0~5V,2.5V时电机处停止状态,大于2.5V启动电机正转,小于2.5V启动电机反转,该端达5V或0V时电机处正转或反转最高速。
至于测速端是电机当前状态与转速的反馈端,为电机按设置的参数恒定运作提供依据。
在自行设计状态该两个端口定义为实验连接项。
②温度控制
温度控制单元定义了“调温”与“测温”两个端口,其中调温端口由5V电源控制,至于测温端口是当前温度传递端口,反馈温度参数,为加温与恒温提供依据。
在自行设计状态该两个端口定义为实验连接项。
6)步进电机
步进电机控制单元设有四拍控制端口,在自行设计状态该四端口定义为实验连接项。
7)虚拟示波器
实验台提供了一个双通道简易示波器,适用于电位及赫兹级低频信号的测量与观察。
8)扁平链接口
中板下方设有五个扁平链接口,其中二个20芯扁平口为检测口,其余三个8芯扁平口为地址与数据总线延伸接口。
1.3 下部常规实验区(简称下板)
1)下板接口
①检测接口
下板上方二个20芯扁平口为检测口,“在线”态它为控制口,输出常规实验模块的控制信号。
在自定义状态它为状态口,反馈常规实验模块的控制信号。
②总线接口
下板上方三个8芯扁平口为地址与数据总线链接口,该三个接口是主控区(中板)扩展寻址的桥梁,面向下板实验时必须连接。
2)下板总线
①控制线
位于“直流源指示”上方的为下板自定义状态的公共控制总线,以下为它们的定义:
●CLR下板区域淸除控制,在自定义实验中连接中板RESET复位信号。
●WR下板区域写控制,在自定义实验中连接中板控制总线单元WR写信号。
●RD下板区域读控制,在自定义实验中连接中板控制总线单元RD读信号。
●CLK下板区域锁存控制,在自定义实验中连接中板ALE信号。
②地址线
位于“存储器扩展单元”左下测的ADD2~ADD0为下板区域公共地址线,在自定义实验中通常连接中板A2~A0。
遇单模块实验可另行定义,例如0809A/D转换中ADD2~ADD0用于选择通道,可改接中板地址总线单元A2~A0。
③译码器
位于“发光二极管显示单元”正下方的138译码器亦有二种定义途径,“在线”态实验台赋于的定义是译码端口CBA与A5~A3相连,选通控制端口G2A(低电平有效)由A14控制,当A14为零时,138输出端Y7~Y0八中选一,有一个输出端为“0”,其余输出端为“1”。
它的寻址范围为0~3FFFh,8000h~BFFFh。
在自定义方式其选通与译码端口呈悬浮态,属译码控制不可省缺的连接项。
3)存储器扩展
位于下板右上角为“存储器扩展单元”,它的地址与数据总线通过其上方的三个8芯扁平接口融入中板主控CPU的寻址范围,位于该单元左上测的MR、MW及MCS分别为存储器读、写和选通控制端。
自定义态属实验不可省缺的连接项。
在线态由在线控制器掌控,寻址范围为0~0FFFh。
存储器与I/O口处同一寻址空间,用相同的控制信号,通常采用译码法分享数据寻址空间。
4)I/O口扩展
①16×16点阵
16×16点阵位于“存储器扩展单元”正下方,它的数据总线通过8芯扁平接口(下板上右一)与中板总线单元的D7~D0连接互通,“存储器扩展单元”左下测的ADD1~ADD0定义行与列口地址。
16×16S为点阵写选通控制,自定义态属实验不可省缺的连接项。
在线态由在线控制器掌控,寻址范围为0ECH~0EFH。
②键盘与LED显示器
实验台选用8255为并行键盘与LED显示接口,定义其A口为字形口,B口为字位与键扫口,PC2~PC0为键入口。
位于并行键盘与显示扩展板左则的8255CS为8255选通控制,它的数据总线通过8芯扁平接口(下板上右一)与中板总线单元的D7~D0连接互通,“存储器扩展单元”左下测的ADD1~ADD0定义其地址线A1~A0,“串并转换单元”右边的RD、WR定义其读写控制信号,自定义态属实验不可省缺的连接项。
在线态由在线控制器掌控,寻址范围为0DCH~0DFH。
③简易I/O口
实验台选用244为简易I/O口缓冲输入器件,该单元“G”为读选通控制,自定义态属实验不可省缺的连接项。
该单元“PI7~PI0”为八位缓冲输入端口。
实验台选用273为简易I/O口锁存输出器件,该单元“CLK”为锁存触发端,自定义态属实验不可省缺的连接项。
该单元“PO7~PO0”为八位锁存输出端口。
④A/D与D/A
并行A/D转换器ADC0809位于“调模拟电压电位器”正下方,“SC/ALE”为锁通道地址与启动A/D转换,“CLK”为A/D转换时钟,“OE”为A/D采样(读)选通,ADD1~ADD0定义当前通道地址,“自定义”态属实验不可省缺的连接项,“在线”态由在线控制器掌控,寻址范围为0E0H~0E7H,另外“EOC”为A/D转换结束标志,IN7~IN0为A/D转换通道。
并行D/A转换器DAC0832位于“A/D转换单元”左边,“CS”为D/A转换器选通控制,“WR”为D/A转换器启动控制,“自定义”态属实验不可省缺的连接项,“AOUT”为D/A转换器输岀端。
⑤串并转换
并转串165位于下板左上角,它的并行输入端口通过8芯扁平接口(下板上右一)与中板总线单元的D7~D0连接互通,“SERI”与“QH”分别定义串行输岀8位移位寄存器移入与移岀位,“LOAD”为并行输入端口数据装载控制,“LOCK”为串行移位输岀控制。
串转并164位于165正下方,“DATA”为串行数据输入端,“LOCK”为并行移位输岀控制,位于164下方以H~A顺序排列的“8芯单排针”为164的并行输岀口。
⑥定时计数器
8253定时计数单元位于“串并转换”下方,它的总线口通过8芯扁平接口(下板上右一)与中板总线单元的D7~D0连接互通,“CLK2~CLK0”为定时计数时钟输入端,“OUT2~OUT0”为可编程定时计数输岀端。
由“ADD1~ADD0”定义地址线A1~A0,RD、WR定义读写控制线,“8253CS”定义它的片选端。
⑦串行通信
8251串行通信单元位于“8253定时计数单元”右测,它的总线口通过8芯扁平接口(下板上右一)与中板总线单元的D7~D0连接互通,“CLK”与“T/RXC”为它的时钟输入端,“RXD”与“TXD”为它的串行接收与发送端,由“ADD0”定义地址线A0,RD、WR定义读写控制线,“8251CS”定义它的片选端。
⑧中断控制
8259中断控制单元位于“8253定时计数单元”下方,它的总线口通过8芯扁平接口(下板上右一)与中板总线单元的D7~D0连接互通,IRQ7~IRQ0为中断向量输入端,位于“8251串行通信单元”下测的“INT”与“INTA”分别为8259中断请求与中断向量读控制,由“ADD0”定义地址线A0,RD、WR定义读写控制线,位于“8253CS”右边的“8259CS”为它的片选端。
⑨PACK扩展
“PACK扩展单元”位于下板左上方,可选配USB1.1、USB2.0、以太网TCP/IP、CAN-BUS等接口扩展,本实验台把“RS485远程通信”列为PACK扩展的标配模块。
5)通用电路
①12位电平指示
“12位电平指示”位于下板中上方,L11~L0为12个发光二极管驱动器输入端。
低电平点亮,高电平熄灭。
②9位电平开关
“9位电平开关”位于下板中下方,K8~K0为逻辑电平开关输出端。
开关处上方吋其对应的孔端输出低电平“0”,开关处下方时与其对应的孔端输出高电平“H”。
③单脉冲电路
“单脉冲电路”位于138译码器右测,由AN按钮与RS触发器构成单脉冲电路,毎按一次AN按钮,即可从两个插座上分别输出一个正脉冲“SP”及负脉冲“/SP”,供中断、清零、计数等实验使用。
其电路如图1.3.1所示。
图1.3.1单脉冲电路原理图
④音频驱动电路
位于AN按钮左边的LM386为音频信号驱动器,其下方为自锁式音频输出控制开关,上方“VIN”为音频信号输入端,音频发生器位于“存储器扩展单元”6264左边。
⑤393分频器
“393分频器”位于“8251串行通信单元”右边,该分频器淸零端受下板CLR控制,其输入频率由4.9152MHz晶体振荡源供给,分频器输岀端T0~T7的频率分别为2.4567MHz、1.2288MHz、614.4KHz、307.2KHz、153.6KHz、76.8KHz、38.4Hz、19.0Hz。
其电路如图1.3.2所示。
图1.3.2分频器电路原理图
⑥继电器控制
“继电器控制”位于D/A转换器左上方,它的输入端“JIN”加载低电平“0”时,继电器吸合,常开触点“JK”闭合,常闭触点“JB”断开,“JZ”为控制信号输入端。
⑦RS232串行口
位于138译码器左测的是实验用RS232串行口,它的“TXD”和“RXD”分别为TTL电平级的串行发送与串行接收端。
⑧电压调节器
在下板A/D转换上方。
实验台提供二路0~5V模拟电压调节器,适用于A/D与V/F转换等对电压有调节需求的实验。
⑨逻辑门电路
在下板138译码器下方左右两测提供了“与”、“或”、“非”三种基本门电路,它们之间的相互串接可形成自定义态实验所需的控制电路。
6)实验扩充
①锁式扩展
在下板逻辑电平开关上方设有一个IC-40芯以下可编程器件的扩展单元,它既适用于I/O接口器件的扩展,亦可作为CPU的扩展区,让学生设计一个简易的单片机控制器。
②转接单元
在下板逻辑电平开关上方左右两测设有两个“转接单元”,构造了一个扁平八芯、单排八芯及八位插孔之间的并行互通电路,以实现不同接口之间的相互转接。
1.4MCS-51集成开发环境
DTHS-A实验台支持NICE自主研发的集成开发环境(IDE)。
(1)打开实验设备后面的蓝色空气开关;
(2)打开实验设备中板的直流电源开关;
(3)进入NICE集成开发环境进行程序输入与调试。
NICE集成开发环境使用简介:
(1)进入NICE集成开发环境
双击桌面上的集成开发环境图标,如图1.4.1所示。
图1.4.1IDE图标
(2)设置串行通信口
双击桌面上的集成开发环境图标后,出现串行通信口设置界面。
串行口默认为“串口1”,波特率设置为57600,如图1.4.2所示。
点击确认按钮。
进入IDE主界面,如图1.4.3所示。
图1.4.2串行通信口设置
图1.4.3IDE主界面
(3)新建、保存文件
文件→新建,如图1.4.4所示。
输入汇编语言程序文件,保存文件,保存文件类型为汇编文件(*.ASM)。
保存文件路径为:
E:
\A51\。
(在E盘应建立A51文件夹)
图1.4.4新建、保存文件设置界面
(4)编辑
图1.4.5编辑界面
(5)编译、连结源程序。
编译无误后,装载程序运行。
1.4.6编译、连结、装载程图序界面
编译、连结、装载程序也可通过工具栏中的快捷图标实现。
如图1.4.7所示。
图1.4.7编译、连结、装载程序快捷图标
(6)调试运行程序
图1.4.8调试运行界面
(7)建立、打开、编辑工程界面
图1.4.9建立、打开、编辑工程界面
(8)设置仿真模式、串行通信口界面
仿真模式包括硬件仿真、软件方针;串行通信口包括选择硬件串行通信口、设置串行通信口波特率、重新连结等。
如图1.4.10所示。
图1.4.10设置仿真模式、串行通信口界面
(9)调试窗口、查看存储器内容、查看编译连结信息、示波器界面
视图菜单中包括调试窗口,可以查看变量、寄存器、存储器内容,事件跟踪窗口,查看编译连结信息,逻辑示波器。
如图1.4.11所示。
调试窗口可在汇编环境下,产生反汇编代码,在C51环境下,产生汇编与反汇编代码。
图1.4.11调试窗口、查看存储器内容、查看编译连结信息、示波器界面
(10)窗口设置
窗口设置中可实现窗口的层叠、平铺(横、竖),查看前一个窗口、后一个窗口,关闭窗口等功能。
如图1.4.12所示。
图1.4.12窗口设置
(11)工具栏中的快捷图标
鼠标放到工具栏中的快捷图标,系统可自动指示快捷图标的功能。
工具栏中的快捷图标指示如图1.4.13所示。
图1.4.13工具栏中的快捷图标指示
第二章 单片机及其接口实验
实验一 系统认识实验
一、实验目的
熟悉DTHS-A单片机同步教学互动实验系统的环境,学习并掌握其使用方法。
二、实验内容
计算N个数据的和,即
。
其中Xk分别放在片内RAM区30H-35H单元中,N=6,求和的结果Y放在片内RAM区03H(R3,高位),04H(R4,低位)单元中。
验证:
32H+41H+01H+56H+11H+03H=00DEH
95H+01H+02H+44H+48H+12H=0136H
54H+F6H+1BH+20H+04H+C1H=024AH
三、实验要求
根据实验内容编写一个程序,并在实验系统上调试和验证程序。
程序参考如下:
ORG0000H
LJMPSTART
ORG0030H
START:
MOVSP,#60H
MOVR0,#30H
MOVR3,#00H
MOVR4,#00H
MOVR7,#06H
ST1:
MOVA,@R0
INCR0
ADDA,R3
MOVR3,A
MOVA,R4
ADDCA,#00H
MOVR4,A
DJNZR7,ST1
SJMP$
END
四、实验步骤
1.打开实验设备后面的蓝色空气开关;
2.打开实验设备中板的直流电源开关;
3.进入NICE集成开发环境
4.新建文件→输入汇编语言源程序→保存文件到E:
\A51\→编译连接装载(有错误返回源程序修改)→设置存储器窗口(视图—存储空间—CPU内部存储区)→在30H~35H单元中输入6个求和数据→全速运行→暂停运行(或复位),在CPU内部存储区查看结果。
5.熟悉IDE环境,学会使用。
练习调试程序、单步运行、宏单步运行,学会查看、修改存储器的内容。
实验二 程序设计实验
一、实验目的
熟悉MCS-51单片机指令系统,学习并掌握MCS-51单片机程序的调试方法。
二、实验内容
1.将片内RAM30H单元中的两位压缩BCD码转换成二进制数送到片内RAM40H单元中。
2.编制程序将片内RAM的30H~4FH单元中的内容传送至片外RAM的2000H开始的单元中。
3.设MCS-51单片机内部RAM起始地址为30H的数据块中共存有64个无符号数,编制程序使它们按从小到大的顺序排列。
三、实验要求
根据实验内容编写程序,并在IDE环境中调试和验证。
四、实验步骤
1.打开实验设备后面的蓝色空气开关;
2.打开实验设备中板的直流电源开关;
3.进入NICE集成开发环境
4.新建文件→输入汇编语言源程序→保存文件到E:
\A51\→编译连接装载(有错误返回源程序修改)→全速运行→查看结果。
5.进一步熟悉IDE环境,学会使用。
练习调试程序:
单步运行、宏单步运行、全速运行,学会查看、修改存储器的内容。
五、实验程序
略
实验三 74LS138译码实验
一、实验目的
74LS138是很常见地址译码逻辑芯片,了解与掌握其基本用法。
二、预备知识
74LS138是低电平有效的3线-8线译码器/数据分配器。
管脚功能描述:
VCC是电源。
GND接地。
A、B、C是地址输入,A是低地址,C是高地