单片机实验指导书(新)

更新时间:2024-01-08 18:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机原理及应用

实验指导书

王红平 王燕飞

长春理工大学

机电工程学院 单片机实验室

二OO九年十二月

目 录

实验要求 ...................................................................... 1

一、课程教学与实验教学计划学时比 .......................................... 1 二、适用专业 .............................................................. 1 三、实验目的与基本要求 .................................................... 1 第一章 实验用伟福通用实验/仿真系统简介 ....................................... 2

§1.1 实验系统主机的硬件组成 ............................................. 2 §1.2 实验系统的EX51B仿真板简介 ......................................... 8 §1.3 板上仿真器使用方法 ................................................. 9 第二章 基本编程实验 ........................................................ 14

实验一 存储器块清零 ..................................................... 14 实验二 内存块移动 ....................................................... 14 实验三 无符号十进制的加法 ............................................... 15 实验四 程序跳转表 ....................................................... 16 实验五 数据排序 ......................................................... 17 第三章 硬件接口实验 ........................................................ 19

硬件实验一 P1口输入、输出实验 ........................................... 19 硬件实验二 用74LS245读入数据 ........................................... 20 硬件实验三 8255输入、输出实验 ........................................... 21 硬件实验四 串行数转换并行数实验 ......................................... 22 硬件实验五 A/D转换实验 .................................................. 23 硬件实验六 D/A转换实验 .................................................. 25 硬件实验七 键盘扫描显示实验 ............................................. 27 硬件实验八 外部中断(急救车与交通灯) ..................................... 30 硬件实验九 单片机串行口通讯实验 ......................................... 32

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

实验要求

一、课程教学与实验教学计划学时比

48/16

二、适用专业

机械制造及其自动化、机械电子工程

三、实验目的与基本要求 实验目的:

该实验是单片机原理与应用课程中所学内容的运用与强化,是一门实用性较强的实验。通过实验教学使学生了解单片机的程序运行结构、特点以及接口电路的设计方法,掌握单片机编程语言以及接口电路设计,具备一定的单片机编程能力。

基本要求:

1、实验前的准备工作

①仔细阅读实验指导书中的相关内容。 ②认真填写预习报告。

③分好小组,安排好实验时间。 2、实验规则

①未经许可不得乱动仪器设备的开关、连线。

②认真听老师所作的有关本次实验的讲解和说明,并按老师的指导进行操作。

③实验过程中,应仔细操作并注意安全,严禁带电拔插所有连接电缆;如有不懂之处应及时请老师解答;发现异常现象应及时切断电源,以排除故障。

④保持实验室安静、整洁和良好的秩序。实验后将物品放回原位,并协助实验老师打扫卫生。 3、实验报告要求 ①独立完成实验报告。

②文字要工整,线路要清晰、项目要全面。 ③经批阅后的实验报告要认真修改。

1

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

第一章 实验用伟福通用实验/仿真系统简介

伟福仿真实验系统由板上仿真器、实验仪、伟福仿真软件、开关电源构成。实验系统可根据教学实践的需要实现MCS51/MCS196单片机原理与接口、8088/8086微机原理与接口的一系列实验,并在硬件上预留了自主开发实验的空间。对基本实验仅需连少量连接线就可完成。同时也提供了需较多连线的扩展性实验,以进一步锻炼学生们的实践开发能力。此外,系统还为学生们提供了强大的软、硬件调试手段。

仿真实验系统具有三种使用方法:

(1)无系统机,仅用实验仪的板上仿真器进行仿真和实验。

(2)有系统机,用系统机上的集成调试软件驱动板上仿真器进行仿真和实验。 (3)无实验仪、无仿真器,仅在系统机上采用软件模拟方式进行仿真。

§1.1 实验系统主机的硬件组成

伟福实验系统主机上有丰富的实验电路模块和灵活的组成方法,既可以和MCS51、MCS96 CPU也可以和8088/8086CPU组合完成各种实验。且拥有高档通用仿真器所具有的逻辑分析仪、波形发生器和程序跟踪器等强大的分析功能,让学生在做实验时不仅能了解程序的执行过程,更能直观地看到程序运行时的时序或者电路上的信号。下面就实验系统中主要硬件电路加以介绍。

1.1.1 逻辑电平开关电路

实验仪上有8只开关K0―K7,并有与之相对应的K0―K7引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。

图1.1 逻辑电平开关电路

1.1.2 LED电平显示电路

实验仪上装有8只发光二极管及相应驱动电路。见图2,L0-L7为相应发光二极管驱动信号输入端,该输入端为高电压电平“1”时发光二极管点亮。我们可以通过P1口对其直接进行控制,点亮或者熄灭发光二极管。

图1.2 LED电平显示电路

2

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

1.1.3 单脉冲电路

单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键 产生一个单脉冲。板上有单脉冲的输出信号插孔,图为“ ”和“ ”,分别为正脉冲和负脉冲。

图1.3 单脉冲发生电路

1.1.4 音频放大电路

图1.4 音频放大滤波电路

1.1.5 继电器输出电路

当控制端电平置高,公共触点与常开端吸合。我们可以将常开端接入一发光二极管,公共端接+5V电平,通过对控制端进行控制,观察发光二极管的状态。见图5。

图1.5 继电器控制电路

1.1.6 逻辑门电路

本实验仪提供系列门电路:非门,或门,与门,D触发器。逻辑门电路由7400和7404组合实现。

或门 与门 非门

图1.6 逻辑门电路

3

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

图1.18 EX51B仿真板

单片机常用信号接线座 启动方式按键 当仿真EX51B仿真板独立运行时,请短接这组五个跳线。 实验仪工作于仿真方式时,请短接此跳线。 实验仪工作于仿真方式时,接8051仿真线 1.2.2 伟福实验系统的调试方法

1、使用WAVE集成调试软件进行联机仿真。

2、不使用WAVE集成调试环境,利用系统机自带键盘和LED监视器进行仿真实验。

§1.3 板上仿真器使用方法

在无系统机的情况下,可以用实验仪上的键盘和LED显示器作为监控来进行仿真。插上相应的仿真板,开启电源,在 LED上出现 CPU的型号 ,如 8051、8096或8088 。表示系统已经可以开始工作了。 采用这种工作方式时,仿真仪上的键盘和LED显示器既可作为监控系统用,也可以作为用户资源.当仿真仪未运行用户时,键盘和LED 属于系统监控,用户用以输入程序,单步等,一旦运行时,显示器都作为用户资源。无系统机时,应先用汇编语言写好程序,用人工方法或者利用PC机把汇编语言翻成机器码,再用实验仪上的键盘将机器码输入,然后用Trace键,Here键,Step键进行调试,用Exec键使程序运行。

1.3.1 键盘使用说明

图1.19 EX51B仿真板键盘示意图

9

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

本实验仪共有 6 位LED发光数码管, 左边4位为地址位,右边2位为数据位。当地址位4位数均有数值时,表示地址是程序存储器的地址或数据存储器的地址。当地址数码管只有2位时(右边2位发光,左边2位暗),表示内部寄存器地址。当地址数码管只有3位时(最左面1位暗,第2位显示“0”,第3和4位是数字),表示是内部特殊寄存器(SFR)的地址。最右边的两位是数据位,它表示的是左边显示的地址单元中的数据。

面板上共有24个小键盘,为了介绍和使用时查找方便,约定用方括号表示按键,例如,[RST]表示面板上的“RST”键。

(1) [ RST ]键 [整机复位键]

整机复位键,复位后数码管的地址位显示“8051”字样(对于 MCS196 系列, 显示‘8096’,如果是8088仿真板则显示‘8088’),表示复位操作完成。复位后程序存储器和外部数据存储器中的内容不变,程序指针回到 0000处(8096系列为2080H、对于8088仿真板,初始地址为1000H)。CPU内部寄存器复位后为单片机复位操作规定的值,即有的寄存器的数据不变, 有的寄存器中的数据被复位。

(2) [ 0..F ]键 [数字输入键]

数字键,用于输入16进制数。仿真器中的数据和地址均是用16进制表示。 (3) [ MON ]键 [监控键]

表示某些操作已结束,某些操作的所有步骤完成后,按MON键表示操作结束。

(4) [ Trace ]键 [跟踪执行键]

在调试程序时先按[ MON ]键,最左侧一只LED数码管出现“P”字符,这时[ Trace ]档起作用,每按一次[ Trace ]便执行一条用户编写的单片机指令,如果遇到“CALL”这类调用命令时,跟踪到调用内部。执行一条指令,可逐条检查用户程序的执行情况。

(5) [ Step ]键 [单步执行键]

用户调试程序时每按一次[ Step ]键,执行一条命令。但是,当执行到调用语句时,按一次[ Step ]键将执行调用所含的所有语句,[ Step ]与[ Trace ]不同的是,[ Trace ]遇到调用语句将进入调用语句内部仍然一步一步地执行。

(6) [ Last ]键 [ 地址减1键] 它有2个作用:

1)触发显示寄存器和存储器中的数据

触发显示寄存器和存储器中的数据。刚在地址位上输入了寄存器或和存储器中的地址时,数据显示数码管是暗的未发光,此时,第一次按[ Last ]键,数据显示数码管开始显示数据。

2)地址减1操作

当在仿真器上输入地址后,在第二次以及之后的各次按键时,每按一次[ Last]键,地址值自动减1,地址值所对应的数据同时更换。

(7) [ Next ]键 [ 地址加1键] 它有2个作用:

1)触发显示寄存器和存储器中的数据

触发显示寄存器和存储器中的数据。刚在地址位上输入了寄存器或和存储器中的地址时,数据显示数码管是暗的未发光,此时,第一次按[ Next ]键后,数据显示数码管开始显示数据。

2)地址加1操作

当在仿真器上输入地址后,在第二次以及之后的各次按键时,每按一次[ Next ]键,地址值自动加1,地址值所对应的数据同时更换。

(8) [ Here ]键 [断点运行键] 设置中断程序运行的地址,使程序执行到中断地址处停止执行,在中断地址处等待新的操作命令(如RUN、STEP、TRACE等)。设置中断点时有两种情况:

10

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

1)程序从0000地址(80C196起始地址为2080H,8088/86的起始为1000H)执行到中断点 ①.按[ RST ]复位,再[ MON ]键,数码管显示“P”。 ②.输入4位地址。 ③.按[Here]

按Here后,程序自动执行到中断点,此时显示中断点的地址和A寄存器中的内容。按Here键一是确定中断地址,同时启动了程序,并使程序执行到中断点停下来等待用户的命令。

2)先使程序执行到某处,再设置中断点

①.先用单步(Step)、跟踪(Trace)、中断等运行方式使程序执行的某处停止。 ②.按“MON”键,使仿真器地址数码管显示“P”。 ③.输入中断的地址值 ④.按“Here”键

⑤.程序自动从设置前的停止处执行到所设的中断地址处。

(9) [Exec]键 [全速执行键]

用仿真器调试程序时,设置好执行的初始地址后,按[Exec]可自动执行程序。

1.3.2 脱机仿真

下面根据仿真时的各类需要,逐一介绍有关的操作方法。 1. 将汇编源程序转换为机器码

在仿真工作之前,应把汇编源程序转换为机器码。可用人工查手册的方法逐条翻译成机器码,在翻译成机器码的同时还要为各条机器码安排地址。也可用计算机自动汇编并生成列表文件,列表文件是指同时含有源程序、机器码和机器码地址的文件。用计算机生成机器码可避免人工翻译造成的人为错误,汇编的效率也远高于人工翻译。

2. 输入程序的机器码 3. 由计算机输入程序机器码

为了节省输入机器码的时间,可先由计算机向仿真器输入机器码,然后再脱离计算机独自仿真。用计算机输入程序时先启动仿真软件,调入用户的汇编源文件,选择仿真模式,执行汇编命令,汇编结束后机器码自动装入仿真器中。然后,关断计算机和仿真器的电源,拔出RS232接口插头。

4. 人工输入程序机器码

如果没有计算机时,则用人工方法输入。人工输入的方法是: ⑴.按[RST]键,整机复位。

⑵.按[MON]键,使地址数码管出现“P”字符。

⑶.输入4位地址码,此时地址位上显示的是输入的地址数,数据位上的数码管不亮。 ⑷. 先按[Next]或[Last]键,数据位上的数码管闪烁,此时,再输入2位数据。

⑸.程序输入完毕,可依次按[RST]、[MON]、4位地址数、[Next]键,检查输入的机器码,不断地按[Next]或[Last]键,可依次逐个检查各个地址中的数据,数据形式是16进制。

5. 执行程序 (1) 跟踪执行程序

当需要由用户通过键盘控制,逐条执行程序,以便检查单片机内部和外部电路时,可采用跟踪执行的方式。跟踪执行时如果遇到调用指令,仿真器将使程序的指针进入被调用的程序段内部。跟踪执行键 [Trace ],以跟踪方式执行程序的操作方法是:

⑴.按[RST]键整机复位。

⑵.按[MON]键使地址数码管出现字符“P”。

⑶.输入程序执行的起始地址,此时,4位地址数码管显示地址值,数据数码管暗。 ⑷.按[Trace ]键,数据数码管亮,此后每按一次[Trace ]键,执行一条指令。

11

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

(2) 单步执行程序

单步执行程序的作用与跟踪执行相仿,区别是单步执行遇到调用时,将自动连续地执行调用内部的所有指令,然后停在调用执行后的第一条指令上,可继续单步执行。单步执行键[Step]的详细说明见第5.1.5条,以单步方式执行程序的操作方法是:

⑴.按[RST]键整机复位。

⑵.按[MON]键使地址数码管出现字符“P”。

⑶.输入程序执行的起始地址,此时,4位地址数码管显示地址值,数据数码管暗。 ⑷.按[Step]键,数据数码管亮,此后每按一次[Step]键,执行一条指令。 (3) 全速执行程序

当需从用户指定的程序地址处开始全速运行整个程序,或全速运行到断点处时,可采用全速执行方式。

全速执行的操作方法是: ⑴.按[RST]键,整机复位。

⑵.按[MON]键使地址数码管出现字符“P”。

⑶.输入程序执行的起始地址,此时,4位地址数码管显示地址值,数据数码管暗。 ⑷.如果需要设置断点,可按上面介绍的[Here]命令。

⑸. 按[Exec]键,全速执行。程序运行时地址数码管数据数码管均暗。 (6).按[RST] 中断运行。 (4) 检查执行结果

当运用上述的各种执行方式运行程序时,需要及时地了解程序执行的结果,而运行结果很大程度上是由单片机内部各个部分的当前值来反映的。仿真器提供了查看单片机(由仿真器模仿)内部各个部分情况的功能,检查执行结果的主要任务就是查看单片机内部的情况。

检查单片机内部各个寄存器、累加器、接口电路的方法在下面讲述。 检查和修改单片机内部寄存器数据

在调试过程中,如果需要查看当前状态下内部寄存器的情况,可按下列步骤进行: ⑴.查出单片机内部寄存器地址码。如 R1 地址为 01H。

⑵.根据内部寄存器地址码输入2位地址码,此时地址数码管的右2位显示地址数,左2位暗。 ⑶.按[Next]或[Last]键,使数码位出现内部寄存器中的数值。

⑷.如果要查看相邻地址的寄存器的内容,可继续按[Next]或[Last]键。 ⑸.如果要修改内部寄存器中的内容,可按数字键[0]?[F]。 A 检查和修改8051单片机内部专用寄存器(SFR)数据

在调试过程中,如果需要查看当前状态下单片机内部专用寄存器(SFR)的情况,可按下列步骤进行:

⑴.查出单片机内部专用寄存器(SFR)地址码。如 ACC 地址为 E0H。

⑵.仿真器规定专用寄存器地址要用3位数表示,专用寄存器的地址是2位,需先输入一个先导“0”,再输入2位专用寄存器地址码。地址输入后,此时地址数码管的右3位显示地址数,最左1位暗。

⑶.按[Next]或[Last]键,使数码位出现专用寄存器中的数值。

⑷.如果要查看相邻地址的专用寄存器的内容,可继续按[Next]或[Last]键。 ⑸.如果要修改专用寄存器中的内容,可按数字键[0]?[F]。

注意:在查看专用寄存器时,不可按[RST]键,因为按此键后各个专用寄存器中的内容将被复位。 检查和修改单片机程序存储器和外部数据存储器 ⑴.按[MON]键,地址数码管出现“P”字样。

⑵.输入4位地址,此时4位地址数码管亮,2位数据数码管暗。

12

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

⑶.按[Next]或[Last]键,2位数据数码管亮,显示的即为4位地址单元中的机器码值, 如要修改则可按[0]?[F]键。

⑷.再按[Next]或[Last]键可查看相邻的地址中的机器码值。 寄存器序号表:(十六位寄存器分成两个八位显示) 寄存器 AL CL SPL SIL IPL CSL SSL

例如想观察堆栈指针SP的值,可以按以下步骤做: (1)按[MON]键,LED 显示“P”字样。

(2)按[0]..[F]键,输入两位SP低字节序号“08”。

(3)按[Next]键,LED地址区显示“SPL”,数据区显示的就是SP低八位值。 (4)按[Next]键,LED地址区显示“SPH”,数据区显示的为SP高八位值。

序号 寄存器 00H 04H 08H 0CH 10H 14H 18H AH CH SPH SIH IPH CSH SSH 序号 01H 05H 09H 0DH 11H 15H 19H 寄存器 BL DL BPL DIL FL DSL ESL 序号 02H 06H 0AH 0EH 12H 16H 1AH 寄存器 BH DH BPH DIH FH DSH ESH 序号 03H 07H 0BH 0FH 13H 17H 1BH

13

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

第二章 基本编程实验

实验一 存储器块清零

一、实验目的

1. 掌握存储器读写方法 2. 了解存储器的块操作方法

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

指定存储器中某块的起始地址和长度,要求能将其内容清零。

四、实验说明

通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请学生修改程序,完成此操作。

五、程序框图

结束 是否清除完 是 否 地址加1 当前地址内容清零 设置块长度 设置块起始地址

实验二 内存块移动

一、 实验目的

1. 了解内存的移动方法。 2. 加深对存储器读写的认识。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

14

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

三、实验要求

将指定源地址和长度的存储块移到指定目标位置。

四、实验说明

块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。另外,若源块地址和目标块地址有重叠,该如何避免?

五、程序框图

结束 目标地址加1 是否移动完 是 源地址加1 否 保存到目标地址中 从源地址取数 设置移动长度 设置块的目标地址 设置块的源地址

实验三 无符号十进制的加法

一、实验目的

1.掌握无符号十进制加法的方法; 2.了解BCD码到十进制间的转换。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

完成内RAM存储器中连续若个字节单元的十进制加法。

四、实验说明

在8031内部RAM存储器以20H为起始地址的区域中,连续存入两个5字节的十进制数(低位

15

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

在前),求这两个数的和,并将结果存入以3000H为起始地址的外部RAM存储器区域中(低位在前)。 即:(24H23H22H21H20H)+(29H28H27H26H25H)=(3005H3004H3003H3002H3001H3000H)

五、程序框图

清零进位位Cy

R7-1=0 ? 是 结束 否 R0=R0+1,R1=R1+1,DPTR=DPTR+1 A中内容送入@DPTR 十进制调整 A与@R1带进位位加法 @R0送入A中 相加的字节总个数送入R7 DPTR指向和的最低字节地址 R1指向最低位加数字节地址 R0指向最低位被加数字节地址

实验四 程序跳转表

一、实验目的

1. 了解程序的多分支结构;

2. 了解多分支结构程序的编程方法。

16

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

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。

四、实验说明

多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

五、程序框图

跳转到相应程序段 设置调用号 根据调用号查表 得到跳转地址 调用返回

实验五 数据排序

一、实验目的

1. 了解数据排序的简单算法。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

给出一组随机数,将此组数据排序,使之成为有序数列

四、实验说明

有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在 数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。

五、程序框图

17

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

设置数据区长度 设置数据区地址 清除交换标志 当前地址取数A 地址加1 当前地址取数B 是 A<=B? 否 设置交换标志 否 数据比较完 是 否 全部有序? 是 交换A,B数位置 结束 18

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

第三章 硬件接口实验

硬件实验一 P1口输入、输出实验

一、实验目的

1. 学习P1口的使用方法。 2. 学习延时子程序的编写和使用。

3. 学习用‘与’‘或’运算对MCS96系列CPU的变量进行位操作。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。

四、实验电路及连线

连线 连接孔1 连接孔2 1 2 3 4 P1.0 P1.1 P1.2 P1.3 L0 L1 L2 L3 连线 连接孔1 1 2 3 4 S0 S1 P1.2 P1.3 连接孔2 P1.0 P1.1 L4 L5

实验1: P1口循环点灯 实验1: P1口输入输出 五、实验说明

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

2. 由于80C196系列CPU没有位操作,所以要对P1.0,P1.1进行与运算,以判断该位为高还是为低,然后再用‘与’和‘或’运算将P1.2,P1.3的相应位置高或低,这与80C51系列CPU不同。80C51可以将位变量通过C标志位赋值给其它位。

3. 8051延时子程序的延时计算问题,对于程序(见程序框图) 查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:

(256×255+2)×2×12÷6 ≈ 261ms

Delay:

MOV R6,#0H MOV R7, #0H DelayLoop:

DJNZ R6,DelayLoop DJNZ R7,DelayLoop

RET

六、实验框图

19

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

开始 开始

设置初始值 P1.0,P1.1置1 设移位次数 读入P1.0口值 数据输出 将读入的值输出到P1.2 左移一位 读入P1.1口值

延时 是 否 将读入的值输出到P1.3 移位次数完成?

(B) P1口输入输出程序框图

(A) P1口循环点灯程序框图

硬件实验二 用74LS245读入数据

一、实验目的

1.了解CPU常用的端口连接总线的方法。 2.掌握74LS245进行数据读入或输出。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

利用板上的集成电路插座,扩展一片74LS245,来读入开关状态。

四、实验电路及连线

20

连线 连接孔1 1 2 3 4 5 6 7 8 9 K0 K1 K2 K3 K4 K5 K6 K7 CS0 连接孔2 245-18脚 245-17脚 245-16脚 245-15脚 245-14脚 245-13脚 245-12脚 245-11脚 CS245 单片机原理与应用实验指导书

五、实验说明

一般情况下,CPU的总线会挂有很多器件,如何使这些器件不造成冲突,这就要使用一些总线隔离器件,例如74LS245就是一种。74LS245是三态总线收发器,利用它既可以输出也可输入数据。本实验74LS245的片选地址为CSO,即8000H,读这个地址,就是从74LS245读回开关的值。可以用单步的方式执行程序,改变开关状态,观察读回的值。

六、实验程序框图

开始 读入74LS245的值 硬件实验三 8255输入、输出实验

一、实验目的

1、了解8255芯片结构及编程方法。 2、了解8255输入/输出实验方法。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。

四、实验电路及连线

8255的CS/接地址译码/CS0,则命令字地址为8003H,

PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。

五、实验说明

可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。本实验采用的是方式0:PA,PC口输出,PB口输入。很多I/O实验都可以通过8255来实现。

六、实验框图

置8255PA口 21

延时 读8255PB口 数据左移 置8255工作方式 置8255PA延时 置8255工作方式 开始 延时 开始 单片机原理与应用实验指导书

硬件实验四 串行数转换并行数实验

一、实验目的

1、 掌握8031/80C196串行口方式0工作方式及编程方法。 2、 掌握用8031/80C196的P1口的I/O功能,输出串行数据。 3、掌握利用串行口入I/O口,扩展I/O通道的方法。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

利用单片机的串行口和I/O端口串行输出,利用74LS164移位转换成并行数据,接在LED灯上显示。74LS164置于通用插座上。

四、实验电路及连线

74LS164 插入40脚锁紧座 连线 连接孔1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 L0 L1 L2 L3 L4 L5 L6 L7 RXD RXD TXD RST_ GND VCC 连接孔2 164-3脚 164-4脚 164-5脚 164-6脚 164-10脚 164-11脚 164-12脚 164-13脚 164-1脚 164-2脚 164-8脚 164-9脚 164-7脚 164-14脚 连线 连接孔1 连接孔2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 L0 L1 L2 L3 L4 L5 L6 L7 P1.0 P1.0 P1.1 RST_ GND VCC 164-3脚 164-4脚 164-5脚 164-6脚 164-10脚 164-11脚 164-12脚 164-13脚 164-1脚 164-2脚 164-8脚 164-9脚 164-7脚 164-14脚 1、用串口方式0,串行输出数据/时钟 2、用I/O口串行输出数据/时钟

22

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

五、实验说明

串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为Fosc/12。对于80C196CPU波特率为Fosc/2(B+1),Fosc为晶振频率,B为波特率常数。在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。用串行口工作方式0输出数据/时钟,是自动移位输出,用P1端口串行输出数据时,要编程移位数据,输出数据/时钟。对于80C196用串口发数据时要将IOC1.5置1,选择P2.0脚为TXD功能。同时注意用P1口输出位信号时,需要用到‘与’‘或’运算得到相应位。

六、实验框图

(A) 串口方式0输出程序框图 (B)P1口输出数据/时钟程序框图 给出另一数据 给出另一数据 延时 延时 是 否 全部输出 是 清输出标志 一个字节移输出时钟 否 等待 将移出数据位输出 输出到串口 数据移出一位 给出数据 移位次数设为8 设置串口工作方式 给出数据 开始 开始 硬件实验五 A/D转换实验

一、实验目的

1、 掌握A/D转换与单片机的接口方法。了解A/D芯片ADC0809转换性能及编程。 2、 通过实验了解单片机如何进行数据采集。

23

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

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

利用实验板上的ADC0809做A/D转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,用8255的PA口输出到发光二极管显示。

四、实验电路及连线

连线 连接孔1 1 2 3 4 5 6 7 8 9 10 11 IN0 AD_CS EOC 8255_CS AD的A0 AD的A1 AD的A2 AD的OE AD的CLK 4MHZ AD的ALE 连接孔2 电位器输出 CS0 INT0 CS1 总线A0 总线A1 总线A2 OE_OUT 分频F/4 Fin START 连线 连接孔1 12 13 14 15 16 17 18 19 20 21 START 8255_CS PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 连接孔2 START_OUT CS1 L0 L1 L2 L3 L4 L5 L6 L7

五、实验说明

A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好;价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100us。本程序是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,将其与CPU的外部中断相接,有兴趣的同学可以试试编程用中断方式读回A/D结果.

CS电位

24

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

六、实验框图

开始 初始化 启动A/D 否 A/D转换完 数据输出 清读数标志

主程序框图

硬件实验六 D/A转换实验

一、实验目的

1.了解D/A转换的基本原理;

2.了解D/A转换芯片0832的性能及编程方法; 3.了解单片机系统中扩展D/A转换的基本方法。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

利用DAC0832,编制程序产生锯齿波、三角波、正弦波。三种波轮流显示,用示波器观看。

四、实验电路及连线

25

连线 连接孔1 连接孔2 1 2 3 4 5 DA_CS WR1 WR2 Xfer -5V-+5V CS2 /RD GND GND 电压表 单片机原理与应用实验指导书

用电压表或示波器探头接-5V~+5V输出,观察显示电压或波形。

五、实验说明

1、D/A转换是把数字量转换成模拟量的变换,实验台上D/A电路输出的是模拟电压信号。要实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。

2、产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分段来产生。 要产生正弦波,较简单的方法是造一张正弦数字量表。即查函数表得到的值转换成十六进制数填表。 D/A转换取值范围为一个周期,采样点越多,精度越高些。本例采用的采样点为256点/周期。 3、8位D/A转换器的输入数据与输出电压的关系为:

U(0∽-5V)=Uref/256×N

U(-5V∽+5V)=2·Uref/256×N-5V (这里 Uref为+5V)

六、实验框图

否 转换完毕 是 改变计数器及表指启动D/A 查表读波形数置计数器初值 开始 26

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

硬件实验七 键盘扫描显示实验

一、实验目的

1、掌握键盘和显示器的接口方法和编程方法。 2、掌握键盘扫描和LED八段码显示器的工作原理。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。 实验程序可分成三个模块。

①键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。 ②显示模块:将显示单元的内容在显示器上动态显示。 ③主程序:调用键输入模块和显示模块。

四、实验电路及连线

这里只是键盘草图,详细原理参见图1

读回行码 (0X001H) 五、实验说明

列码 (0X002H)

连线 连接孔1 1 KEY/LED_CS 连接孔2 CS0 数据总线

数据总线

段码输出 (0x004H)

位选通信号 (0x002H)

1. 本实验仪提供了一个6×4的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。地址中的X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如将KEY/LED CS信号接CS0上,则列扫描地址为08002H,行码地址为08001H。列扫描码还可以分时用作LED的位选通信号。

2.本实验仪亦提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413

27

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

或ULN2003倒相驱动后,选择相应显示位。

本实验仪中 8位段码输出地址为0X004H,位码输出地址为 0X002H。此处X是由KEY/LED CS 决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。 七段数码管的字型代码表如下表:

显示字形 0 1 2 3 4 5 6 7 8 9 A b C d E F g f e d c b a 段码 0 1 1 1 1 1 1 3fh 0 0 0 0 1 1 0 06h 1 0 1 1 0 1 1 5bh 1 0 0 1 1 1 1 4fh 1 1 0 0 1 1 0 66h 1 1 0 1 1 0 1 6dh 1 1 1 1 1 0 1 7dh 0 0 0 0 1 1 1 07h 1 1 1 1 1 1 1 7fh 1 1 0 1 1 1 1 6fh 1 1 1 0 1 1 1 77h 1 1 1 1 1 0 0 7ch 0 1 1 1 0 0 1 39h 1 0 1 1 1 1 0 5eh 1 1 1 1 0 0 1 79h 1 1 1 0 0 0 1 71h a f b g e c d 。dp

五、程序框图

开始 输出位选通信号 初始化显示参数 延时 关所有位显示 位选通信号移位 取显示数据 指向下一个显示数据 输出段码数据 否 显示程序框图 28 6位完成 是 返回

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

开始 显示缓冲区初始 LED显示 否 是 有键输入? 读取键值 键值转换为显示数据 主程序框图

开始 初始化地址参数 输出列扫描信号 列扫描信号移位 读入行信是 该列有键输入? 否 否 6列扫描完? 是 返回 按照行列计算键值 查表得键等待按键释放 返回 读键输入子程序框图 29

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

硬件实验八 外部中断(急救车与交通灯)

一、实验要求

本实验模拟交通信号灯控制,一般情况下正常显示,有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。设急救车通过路口时间为10秒,急救车通过后,交通恢复正常,本实验用单次脉冲申请外部中断,表示有急救车通过。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验目的

1、学习外部中断技术的基本使用方法; 2、学习中断处理程序的编程方法。

四、实验电路及连线

LED0、LED1、LED2分别 表示南北方向红、黄、绿灯 LED3、LED4、LED5分别表 示东西方向红、黄、绿灯 单次脉冲

连线 连接孔1 1 2 3 4 5 6 7 8 8255_CS PA0 PA1 PA2 PA3 PA4 PA5 连接孔2 CS0 L0 L1 L2 L3 L4 L5 连线 连接孔1 1 2 3 4 5 6 7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 连接孔2 L0 L1 L2 L3 L4 L5 单脉冲输出 INT0(51) 单脉冲输出 EINT(96) 五、实验说明

中断服务程序的关键是:

1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。

2.必须在中断程序中设定是否允许中断重入,即设置EXO位。

本例中使用了INTO中断(80C196为EINT中断),一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的中断程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。

30

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

对于8051CPU 外部中断由INTO(P32)端接入。对于80C196CPU外部中断由EINT接入。中断信号由单次脉冲发生器产生。

对中断的处理可参见硬件实验十一

本实验提供了用8255的PA口和用单片机的I/O端口控制交通信号灯两种方法,其中196用8255,51用P1口,可以互相参考51和196的程序。

六、实验框图

开始 开外中断 初始状态东西 南北都是红灯 状态1南北绿 灯,东西红灯 状态2南北绿灯闪 转黄灯,东西红灯 状态3南北红灯,东西绿灯 状态4南北红灯, 东西绿灯闪转黄灯 主程序框图

外部中断入口 保护现场 东西,南北都亮红灯 延时10秒 恢复现场 中断返回 外部中断子程序框图 31

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

硬件实验九 单片机串行口通讯实验

一、实验目的

1.掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。 2.了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3.学习串口通讯的中断方式的程序编写方法。

二、实验设备

1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。

三、实验要求

利用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,另一侧为接收方。发送方读入按键值,并发送给接收方,接收方收到数据后在LED上显示。

四、实验电路

显示电路和键盘电路见硬件实验十六和硬件实验十七。

连线 连接孔1 1 2 3 4 甲方TXD 甲方RXD 甲方GND KEY/LED_CS 连接孔2 乙方RXD 乙方TXD 乙方GND CS0 甲方 乙方 五、实验说明

1.8051、80C196的RXD、TXD接线柱在POD51/96仿真板上,8088/86的TXD、RXD在POD8086仿真板上的8251芯片旁边。

2.通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。也可以将本机的TXD接到RXD上,这样按下的键,就会在本机LED上显示出来。

3.若想与标准的RS232设备通信,就要做电平转换,输出时要将TTL电平换成RS232电平,输入时要将RS232电平换成TTL电平。可以将仿真板上的RXD、TXD信号接到实验板上的“用户串口接线”的相应RXD和TXD端,经过电平转换,通过“用户串口”接到外部的RS232设备。可以用实验仪上的逻辑分析仪采样串口通信的波形

五、实验框图

32

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

开始 设置串口通讯方式及波特率 允许串口中断 是 收到数否 LED显示 无 检测键盘输入 有 读入键值 转换成键码 串口发送键码 接收数据送显示缓冲 开始 是发送中断? 是 否 读接收缓冲 置收到标志 清收发中断标志 中断返回 33

本文来源:https://www.bwwdw.com/article/kjyo.html

Top