《单片机原理和应用》课程实验指导书.docx
- 文档编号:23207242
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:53
- 大小:757KB
《单片机原理和应用》课程实验指导书.docx
《《单片机原理和应用》课程实验指导书.docx》由会员分享,可在线阅读,更多相关《《单片机原理和应用》课程实验指导书.docx(53页珍藏版)》请在冰豆网上搜索。
《单片机原理和应用》课程实验指导书
《单片机原理及应用》课程实验指导书
一、课程实验项目
整个实验分为三部分:
一是指令系统和汇编语言程序设计实验,旨在教会学生程序设计的基本方法和技巧;
二是接口实验,本实验以接口电路中实际存在的信息流为程序设计的目标;
三是综合实验,本实验是由多个知识点构成的硬件和软件交错在一起的实验,以建立系统概念为主要目的。
(一)、软件实验
1.软件实验一存储器块清零
2.软件实验二二进制到BCD转换
3.软件实验三内存块移动
4.软件实验四程序跳转表
5.软件实验五数据排序
(二)、硬件实验
1.硬件实验一P1口输入、输出实验
2.硬件实验二继电器控制实验
3.硬件实验三外部中断实验
4.硬件实验四定时器实验
5.硬件实验五计数器实验
6.硬件实验六串行数转换并行数实验
7.硬件实验七并行数转换串行数实验
8.硬件实验八单片机串行口通讯实验
9.硬件实验九用74LS245读入数据
10.硬件实验十用74LS273输出数据
11.硬件实验十一8255输入、输出实验
12.硬件实验十二外部中断(急救车与交通灯)
13.硬件实验十三D/A转换实验
14.硬件实验十四A/D转换实验
15.硬件实验十五八段数码管显示
16.硬件实验十六键盘扫描显示实验
17.硬件实验十七电子时钟
二、实验器材简介
单片机实验一般的实验仪器有:
单片机实验箱、单片机仿真器、数字储存示波器、数字万用电表等。
(一)、Lab6000系列单片机仿真实验系统的特点与基本组成
伟福单片机仿真实验系统由板上仿真器、实验仪、伟福仿真软件等组成。
本实验仪提供强大的逻辑分析、波形输出和程序跟踪功能,可以直观地观察到单片机内部及外部电路工作的波形。
实验仪上有丰富的实验电路和灵活的组成方法。
这些电路可以和8031系列CPU、80C196系列及8088/8086CPU组合完成各种实验。
本实验仪将高档仿真器所具有的逻辑分析仪、波形发生器和程序跟踪器等强大的分析功能移植过来,在做实验时不仅可以了解软件的执行过程,也可以直观地开刀程序运行时电路的信号状态、工作时序,详细了解电路工作情况。
仿真实验系统有三种使用方法:
(1):
用PC机上的集成调试软件驱动板上仿真器进行仿真和实验。
(2)无PC机,仅用实验仪的板上仿真器进行仿真和实验。
(3)无实验仪和仿真器,仅在PC机上采用软件模拟方式进行仿真。
配MCS51/196仿真板,可以进行8051或80C196的实验。
配8088/8086仿真板,可以进行8088/8086实验。
实验系统自带键盘和显示器,自带系统监控程序。
如果没有PC机也同样可以进行各种学习核试验。
配备PC机集成调试软件,在有PC机的情况下,通过板上仿真器实现64KB全空间的硬件断点和仿真。
PC机软件具有全集成化仿真环境,中英文两种界面,软件仿真与硬件仿真两种模式。
实验仪可以方便灵活地构成各种实验方案,在有无PC机和实验仪的情况下,都能进行相应的编程实验,从而具有极为广泛的应用范围。
实验仪上提供了基本实验电路,减少繁锁的连线过程,同时还提供了DIP40/28/24/20/16/14插孔和CPU的地址总线引出插孔,可用于扩展其他实验,培养实际动手能力,加强对实验电路的理解。
实验系统在硬件上预留了自主开发实验的空间。
对于基本实验只需要少量连线就可以进行,以减少工作量,同时提供了一些需较多连线的扩展性实验来进一步锻炼实际动手能力。
伟福仿真实验系统上各功能模块的排列见下图所示。
各个模块的引脚都被引出到相应的插孔,扩展插孔可兼容28脚、24脚、16脚和14脚的芯片,利用这个插座可以对双列直插式的各种芯片进行实验。
总线扩展为三排插孔,用于引出各种总线信号,包括8根数据总线、16根地址总线,以及ALE、RD、WR等控制总线。
另外,与CPU相关的一些控制信号和I/O信号。
例如,P1口、RXD、TXD等信号在POD51仿真板上引出。
伟福仿真实验系统具有编辑、编译、下载、调试全部集中在一个环境下。
配用不同的仿真头可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。
为了跟上形势,现在很多工程师需要面对和掌握不同的项目管理器、编辑器、编译器。
他们由不同的厂家开发,相互不兼容,使用不同的界面,学习使用都很吃力。
伟福WINDOWS调试软件为您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、Build和调试工具并提供千个与第三方编译器的接口。
由于风格统一,大大节省了您的精力和时间。
图:
伟福Lab6000单片机仿真实验仪模块排列
强大的逻辑分析仪综合调试功能。
逻辑分析仪由交互式软件菜单窗口对系统硬件的逻辑或时序进行同步实时采样,并实时在线调试分析,采集深度32K(E6000/L),最高时基采样频率达20MHz,40路波形,可精确实时反映用户程序运行时的历史时间。
系统在使用逻辑分析仪时,除普通的单步运行、键盘断点运行、全速硬件断点运行外,还可实现各种条件组合断点如:
数据、地址、外部控制信号、CPU内部控制信号、程序区间断点等。
由于逻辑仪可以直接对程序的执行结果进行分析,因此极大地便利于程序的调试。
随着科学技术的发展,单片机通讯方面的运用越来越多。
在通讯功能的调试时,如果通讯不正常,查找原因是非常耗时和低效的,您很难搞清楚问题到底在什么地方,是波特率不对,是硬件信道有问题,是通讯协仪有问题,是发方出错还是收方出错。
有了逻辑仪,情况则完全不一样,用它可以分别或者同时对发送方、接收方的输入或者输出波形进行记录、存储、对比、测量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发现问题所在,从而极大地方便了调试。
强大的追踪器功能
追踪功能以总线周期为单位,实时记录仿真过程中CPU发生的总线事件,其触发条件方式同逻辑分析仪。
追踪窗口在仿真停止时可收集显示追踪的CPU指令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。
屏幕窗口显示波形图最多追踪记忆指令32K并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。
总线跟踪可以跟踪程序的运行轨迹。
可以统计软件运行时间。
(二)、伟福E6000/L仿真器的特点:
1、仿真头介绍:
POD8X5XP仿真头
转接座
仿真头
晶振选择跳线
选择仿真头晶振
选择用户板晶振
20脚
1脚
圈与圈对接
复位信号输出
5V电源输出
20芯电缆插座
34芯电缆插座
20芯电缆
34芯电缆
仿真器
仿真头
1
40
21
20
仿真器与POD8X5XP连接图
POD8X5XP仿真头为POD8X5X改进型。
可配E2000系列,E6000系列,K51系列仿真器,用于仿真MCS51系列及兼容单片机,可仿真CPU种类为8031/32,8051/52,875X,89C5X,89CX051,华邦的78E5X,LG的97C51/52/1051/2051。
配有40脚DIP封装的转接座,可选配44脚PLCC封装的转接座.选配2051转接座可仿真20脚DIP封装的89CX051CPU。
2、性能参数:
支持KeiluVision2;提供的集成调试环境必须集成编缉器、编译器、调试器;调试手段包括逻辑分析仪、跟踪器、逻辑笔、波形发生器、影子存储器、记时器、程序时效分析、数据时效分析、硬件测试仪、事件触发器等;支持汇编、C、PL/M源程序混合调试;支持软件模拟;支持项目管理;支持点屏功能;观察窗口,支持所有的数据类型。
在线直接修改、编译、调试源程序,错误指令定位。
每套加配如下仿真头:
PODH8X5X、POD2051。
当更换不同型号的仿真头时即可对各种不同类型的单片机进行仿真,是一种灵活的多CPU仿真系统。
更换POD,可以对各种CPU进行仿真(仿真头型号为POD8X5X可仿真51系列8X5X单片机)。
可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。
3、仿真器介绍:
E6000/L型仿真器的外形示意图如下所示:
伟福
E6000/L型仿真器
20芯仿真插座
34芯仿真插座
电源指示灯
电源插座
逻辑测试钩插座
9芯串口插座
主机
电源开关
J3
J4
J1
J2
说明:
1.仿真器使用9针串行口,与PC机用两头为孔的串行电缆连接。
对于一些只有USB口而没有串口的计算机,可以使用USB转串口电缆将USB转成串行口。
串行电缆内部连接为:
1
5
1
5
5
3
2
5
3
2
2.根据仿真器型号不同,逻辑测试钩插座可能只有一个。
3.根据仿真器型号不同,可能会没有20芯仿真电缆插座。
4.电源为直流5V/1A(最小),电源插孔的极性为内“正”外“负”。
E6000L/E6000T/E6000S型仿真器
仿真器型号
功能
E6000/S
通用仿真器(1-16位,15M总线速度)
硬件测试仪
运行时间统计
逻辑笔(选配件)
WINDOWS版本、DOS版本双平台、支持KeiluVision开发环境
E6000/T
含E6000/S所有功能
事件断点、断点记数
跟踪器
影子存储器
全空间程序/数据时效分析器
E6000/L
含E6000/T所有功能
逻辑分析仪(测试钩为选配件)
可编程波形发生器
E6000系列仿真可配置仿真头
仿真头型号
可仿真CPU
POD8X5XP
8X5X系列(P0口和P2口作为总线或IO口用)
PODH8X5X
Philips40脚及44脚51系列芯片及通用8X5X芯片
POD520P
Dalas310/320/510/520/华邦77E58
POD51
8X5X系列CPU(P0口和P2口作为总线用)
POD2051
2051、1051系列CPU(需与POD8X5XP配合使用)
POD552
Philips80C552(P0口和P2口做为总线)
POD592
Philips80C592(P0口和P2口做为总线)
PODLPC93X
PhilipsLPC93X
PODLPC76X
PhilipsLPC76X
POD196KC
196KC/KB/KD
POD196MC
196MC/MD/MH
POD16C5XP
PIC16C52/54/55/56/57/58、PIC12C508/509
POD16C67XP
PIC16C61/62/63/64/65/67、PIC16C71/72/73/74/76/77
POD16C71X
PIC16C71X全系列
POD16C8X
PIC16C83/84
PODH591
PhilipsP87C591芯片
新仿真头
伟福公司将为E6000系列开发新的仿真头
三、课程实验项目及要求
软件实验一存储器块清零
一、实验要求
指定存储器中某块的起始地址和长度,要求能将其内容清零。
二、实验目的
1.掌握存储器读写方法
2.了解存储器的块操作方法
三、实验说明
通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。
如何将存储器块的内容置成某固定值(例全填充为0FFH)?
请学生修改程序,完成此操作。
设置块长度
设置块起始地址
地址加1
当前地址内容清零
是否清除完
结束
是
否
四、程序框图
软件实验二二进制到BCD转换
一、实验要求
将给定的一个二进制数,转换成二十进制(BCD)码
二、实验目的
1.掌握简单的数值转换算法
2.基本了解数值的各种表达方法
三、实验说明
计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
有兴趣的同学可以试试将BCD转换成二进制码。
四、程序框图
给出要转换的二进制数
将数除以100,得百位数
保存百位数
将余数再除以10,得十位数
保存十位数
余数为个位数,将其保存
结束
软件实验三内存块移动
一、实验要求
将指定源地址和长度的存储块移到指定目标位置
二、实验目的
1.了解内存的移动方法。
2.加深对存储器读写的认识。
3.
三、实验说明
块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。
本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。
另外,若源块地址和目标块地址有重叠,该如何避免?
四、程序框图
设置块的源地址
设置块的目标地址
设置移动长度
从源地址取数
保存到目标地址中
源地址加1
目标地址加1
是否移动完
结束
是
否
软件实验四程序跳转表
一、实验要求
在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。
二、实验目的
1.了解程序的多分支结构
2.了解多分支结构程序的编程方法
三、实验说明
多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。
四、程序框图
设置调用号
根据调用号查表
得到跳转地址
跳转到相应程序段
调用返回
软件实验五数据排序
一、实验要求
给出一组随机数,将此组数据排序,使之成为有序数列
二、实验目的
1.了解数据排序的简单算法。
三、实验说明
有序的数列更有利于查找。
本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在
数列的最后面。
再进行下一轮比较,找出第二大数据,直到全部数据有序。
四、程序框图
交换A,B数位置
设置数据区地址
设置数据区长度
清除交换标志
当前地址取数A
地址加1
当前地址取数B
结束
A<=B?
设置交换标志
数据比较完
全部有序?
是
否
否
是
是
否
硬件实验一P1口输入、输出实验
一、实验要求
1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
二、实验目的
3.学习P1口的使用方法。
4.学习延时子程序的编写和使用。
三、实验电路及连线
连线
连接孔1
连接孔2
1
S0
P1.0
2
S1
P1.1
3
P1.2
L4
4
P1.3
L5
实验2:
P1口输入输出
连线
连接孔1
连接孔2
1
P1.0
L0
2
P1.1
L1
3
P1.2
L2
4
P1.3
L3
实验1:
P1口循环点灯
四、实验说明
a)P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据是不正确的。
b)
Delay:
MOVR6,#0H
MOVR7,#0H
DelayLoop:
DJNZR6,DelayLoop
DJNZR7,DelayLoop
RET
8051延时子程序的延时计算问题,对于程序
查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:
(256×255+2)×2×12÷6≈261ms
五、实验框图
(A)P1口循环点灯程序框图
(B)P1口输入输出程序框图
硬件实验二继电器控制实验
一、实验要求
用单片机的端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。
二、实验目的
1.学习I/O端口的使用方法
2.掌握继电器的控制的基本方法
3.了解用弱电控制强电的方法
三、实验电路及连线
连线
连接孔1
连接孔2
1
P1.0
继电器输入
2
5V
继电器常闭输入
3
L0
继电器中间输入
四、实验说明
现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
继电器便能完成这一桥梁作用。
本实验采用的继电器其控制电压是5V,控制端为高电平时,继电器工作常开触点吸合,连触点的LED灯被点亮。
当控制端为低电平时,继电器不工作。
执行时,对应的LED将随继电器的开关而亮灭。
五、实验框图
开始
继电器吸合
延时
继电器断开
延时
硬件实验三外部中断实验
一、实验要求
用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。
二、实验目的
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
单次脉冲
三、实验电路及连线
连线
连接孔1
连接孔2
1
P1.0
L0
2
单脉冲输出
INT0
四、实验说实明
中断服务程序的关键是:
1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2.必须在中断程序中设定是否允许中断重入,即设置EXO位。
本例中使用了INTO中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。
本例的中断程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。
另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。
本例中没有涉及这种情况。
INTO(P32)端接单次脉冲发生器。
P1.0接LED灯,以查看信号反转.
五、实验框图
主程序框图外部中断子程序框图
硬件实验四定时器实验
一、实验要求
用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转.
二、实验目的
1、学习8031内部计数器的使用和编程方法。
2、进一步掌握中断处理程序的编程方法。
三、实验电路及连线
连线
连接孔1
连接孔2
1
P1.0
L0
四、实验说明
1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。
内部计数器在单片机中主要有定时器和计数器两个功能。
本实验使用的是定时器。
2、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
3、内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器周期。
因为实验系统的晶振是6MHZ,本程序工作于方式2,即8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:
机器周期=12÷6MHZ=2uS
(256-定时常数)×2uS=100us
定时常数=206.然后对100us中断次数计数10000次,就是1秒钟.
4、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。
五、实验框图
主程序框图定时中断子程序框图
硬件实验五计数器实验
一、实验要求
8031内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。
将其数值按二进制数在P1口驱动LED灯上显示出来。
二、实验目的
1、学习8031内部定时/计数器使用方法。
三、实验电路及连线
连线
连接孔1
连接孔2
1
P1.0
L0
2
P1.1
L1
3
P1.2
L2
4
P1.3
L3
5
单脉冲输出
T0
单次脉冲
四、实验说明
1.本实验中内部计数器起计数器的作用。
外部事件计数脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。
这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。
同时这就决定了输入波形的频率不能超过机器周期频率。
五、实验框图
计数,输出计数值
设置工作方式
开始计数
开始
硬件实验六串行数转换并行数实验
一、实验要求
利用单片机的串行口和I/O端口串行输出,利用74LS164移位转换成并行数据,接在LED灯上显示。
74LS164置于通用插座上。
二、实验目的
1、掌握8031串行口方式0工作方式及编程方法。
2、掌握用8031的P1口的I/O功能,输出串行数据。
3、掌握利用串行口入I/O口,扩展I/O通道的方法。
三、实验电路及连线
74LS164插入40脚锁紧座
连线
连接孔1
连接孔2
1
L0
164-3脚
2
L1
164-4脚
3
L2
164-5脚
4
L3
164-6脚
5
L4
164-10脚
6
L5
164-11脚
7
L6
164-12脚
8
L7
164-13脚
9
RXD
164-1脚
10
RXD
164-2脚
11
TXD
164-8脚
12
RST_
164-9脚
13
GND
164-7脚
14
VCC
164-14脚
连线
连接孔1
连接孔2
1
L0
164-3脚
2
L1
164-4脚
3
L2
164-5脚
4
L3
164-6脚
5
L4
164-10脚
6
L5
164-11脚
7
L6
164-12脚
8
L7
164-13脚
9
P1.0
164-1脚
10
P1.0
164-2脚
11
P1.1
164-8脚
12
RST_
164-9脚
13
GND
164-7脚
14
VCC
164-14脚
1、用串口方式0,串行输出数据/时钟2、用I/O口串行输出数据/时钟
四、实验说明
串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为Fosc/12。
在CPU将数据写入SBUF寄存器后,立即启动发送。
待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。
用串行口工作方式0输出数据/时钟,是自动移位输出,用P1端口串行输出数据时,要编程移位数据,输出数据/时钟。
开始
五、实验框图
开始
设置串口工作方式
给出数据
移位次数设为8
给出数据
数据移出一位
输出到串口
输出时钟
等待
否
一个字节移完
全部输出
否
是
是
将移出数据位输出
清输出标志
延时
延时
给出另一数据
给出另一数据
(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理和应用 单片机 原理 应用 课程 实验 指导书