单片机原理及应用实验.docx
《单片机原理及应用实验.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用实验.docx(37页珍藏版)》请在冰豆网上搜索。
单片机原理及应用实验
单片机原理及应用实验
指导说明书
信息物理与工程系
王春勇
2003年5月2日
实验一指令系统实验
一、实验目的:
掌握仿真器的安装、连接和调试方法
掌握MEDWIN软件的使用
掌握程序的编辑、编译和调试方法
熟练掌握MCS-51单片机指令系统
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
仿真器是单片机开发过程中不可缺少的重要仪器,它能在仿真软件的控制下,完成MCS-51单片机的所有软件和硬件功能。
并能实现编辑、编译/汇编、在线及模拟调试,能实现单步、连续、和设置断点运行,并能在PC机上显示单片机当前运行结果和各功能寄存器状态。
四、实验步骤
1.仔细阅读MEDWIN软件使用手册,了解软件使用方法。
2.打开PC机,按照MEDWIN软件安装方法,安装MEDWIN软件到指定目录。
3.按格式输入编制好的汇编程序。
4.对程序进行编译,查找语法错误。
5.根据编译过程指出的错误,修改错误,重复第4步,直到编译通过。
6.开始调试,让程序单步运行,通过观察输出结果的变化,查找程序错误。
7.修改错误,并重新编译调试,使程序输出正确结果
五、实验要求
实验前要预习,熟悉MCS-51指令系统,了解GDEE-II实验系统的基本结构和各部分的功能,仔细阅读MEDWIN软件的使用手册,掌握软件的安装和基本功能的使用。
实验中要求用汇编语言,编制一段双字节除法程序,控制单片机运行。
在MEDWIN软件的控制下,使仿真器工作在单步运行模式,通过观察各输出窗口,查找程序错误,最终使程序正常运行。
双字节除法程序流程图如右:
六、实验结果
在寄存器中输入给定数,检查输出结果是否正确。
实验二静态显示实验
一、实验目的
1.进一步掌握仿真器的使用和MEDWIN软件的调试方法。
2.掌握由双字节16进制数转换为压缩BCD码的软件编制
3.掌握输出接口的硬件连接方式和软件控制方法。
4.掌握口地址的取得方法
5.掌握7段LED显示原理
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
7段LED有共阴极和共阳极两种,当公共极为“0”,当阳极上输入“1”时,所选段被点亮,,否则,LED不亮,这种LED称为共阴极;与之相反,当公共极为“1”,当阴极上输入“0”时,所选段被点亮,,否则,LED不亮,这种LED称为共阳极。
为了在LED上显示数字,首先要把数字转换为相应的段码,又称为字型码或字模。
这一转换可通过硬件和软件来实现。
在本实验中,字型转换通过硬件来实现。
静态显示电路原理如下,它主要由四部分组成:
1)四位共阴极七段LED显示器。
2)由四片CD4511芯片组成的硬件译码电路,实现从BCD码到7段码的转换和电流驱动。
3)数据锁存部分,由两片74HC374组成。
由于每个BCD码只要四位,而74HC374是一个8位数据锁存器,因此只要两片(U2、U3)74HC374就可锁存四位LED要显示的数据。
4)地址锁存译码部分,由地址锁存器74HC373和地址译码器74HC138组成,U2、U3的片选地址由U4:
74HC138译码提供,根据电路结构,可得U2、U3的口地址分别为83H、84H。
四、实验步骤
1.分析静态显示电路原理;
2.选择双字节16进制数转换为压缩BCD码的合适算法;
3.根据静态显示原理和所选择转换算法,绘制相应的转换及显示流程图;
4.按流程图编制单片机程序;
5.进行程序编译,检查软件语法错误,如存在语法错误,则重复4,直到编译通过;
6.连接仿真器和实验仪,并检查是否连接正确;
7.进行单步调试,检查程序是否存在功能错误,如存在错误,则进行修改,返回步骤5,直至输出正确结果。
五、实验要求
实验前通过预习,掌握静态显示的基本原理,了解相关电路芯片的使用方法,绘制程序流程图。
实验中要进一步掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的一般步骤,通过调试,在LED上正确显示任意双字节16进制数的BCD码。
六、实验结果
在程序进行编译、调试之后,能在LED上正确显示任意双字节16进制数的BCD码。
实验三动态显示实验
一、实验目的
1.掌握MEDWIN软件的使用和仿真器调试程序方法
2.掌握动态显示的原理和电路组成原理
3.掌握字模的制作方法
4.掌握主程序、子程序的设计。
5.掌握口地址的取得方法
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
动态显示实际上是利用人眼的视觉暂时停留原理而实现的,当某显示的闪烁频率大于25Hz时,人眼察觉不到闪烁的存在。
动态显示就是让LED工作在脉冲状态,每次导通几毫秒,脉冲频率大于50Hz。
由于工作在脉冲状态,瞬时导通电流较大,因此,选通电路要有电流驱动。
为了使显示时每次只有一只LED被点亮,因此,每次只能有一个片选信号有效。
在此实验中,字模译码采用软件译码,因此,首先要建立软件字模,存于ROM中,当显示时,查表就可得相对应的字模。
如下动态显示电路原理图,它由四部分组成:
1)六位共阳极七段LED显示器,它们的段码都分别连在一起,称为A、B、C、D、E、F、G、H,选通信号分别连接,它们是DS1、DS2、DS3、DS4、DS5、DS6。
2)字模(段码)寄存驱动器,软件译码后,字模通过CPU写入到段码寄存驱动器U2(74HC374)中,由于段码的电流较小,因而没有添加更大电流的驱动器。
3)选通信号寄存器和驱动器,LED的选通信号写入到U3(74HC374)中,由于选通信号有较大电流流过,所以增加U5(MC1413)反相电流驱动器来驱动LED
4)地址锁存译码部分,由地址锁存器74HC373和地址译码器74HC138组成,U2、U3的片选地址由U4:
74HC138译码提供,根据电路结构,可得U2、U3的口地址分别为80H、81H。
四、实验步骤
1.根据电路原理编制动态显示软件流程
2.按流程图编制软件
3.编译检查软件语法错误,重复2,直到编译通过
4.连接好仿真器和实验仪,进行单步调试,查找程序错误。
5.修改错误,重新编译调试,使程序输出正确结果
五、实验要求
实验前通过预习,掌握动态显示的基本原理,了解相关电路芯片的使用方法和在电路中的作用,绘制程序流程图。
实验中要进一步掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的一般步骤,通过调试,在LED上正确显示所须显示的字符。
六、实验结果
实验后能使动态显示器LED正常显示,无闪烁现象,显示字型正确。
实验后,讨论动、静态显示在软、硬件实现及显示结果上的异同点。
实验四非编码键盘实验
一、实验目的
1.掌握非编码键盘的电路原理和软件控制方法
2.掌握非编码键盘的去抖方法
3.掌握非编码键盘的键盘处理方法
4.掌握行扫描和线反转实现键识别的软件实现方法
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
键盘是一组开关的集合,是最常用的输入设备,键盘接口必须解决下列问题
1.决定是否有键按下
2.如果有键按下,决定是那一个键被按下
3.确定被按键的读数
4.能对按键的抖动进行抑制
5.不管一次按键持续的时间多长,仅采样一个数据
6.对同时有多个按键按下进行处理
一般键盘有编码键盘和非编码键盘。
由于非编码键盘电路简单,所以,一般仪器中经常使用。
下面是实验中4*4非编码键盘电路原理图:
有两种方法能实现非编码键盘的键识别,一种是行扫描法,一种是线反转法,但后一种方法必须采用程控接口。
行扫描方法是以步进扫描的方式,每次在键盘的一行发出扫描信号,同时检查列线输入信号,若发现某列输入信号与扫描信号一致,则位于该列和扫描行交点的键被按下。
通过扫描,可识别是那一键按下。
线反转法是借助程控并行口实现的,其实现方法是:
1)使行线为输出口,输出“0000”,列线为输入口,读入此时的按键状态值;2)线反转,既行线为输入口,列线为输出口,输出“0000”,从行线读入此时按键状态值;3)根据两次的按键状态值决定是那一键按下。
按键的去抖一般有两种方法,一种是硬件的,采用R-S触发器或J-K触发器,另外一种是用软件的方法,即延时去抖。
在本实验中采用延时去抖。
四、实验步骤
1)根据电路原理编制编码键盘软件流程
2)按流程图编制软件
3)编译检查软件语法错误,重复2,直到编译通过
4)连接好仿真器和实验仪,进行单步调试,查找程序错误。
5)修改错误,重新编译调试,使程序输出正确结果
五、实验要求
实验前通过预习,了解键盘工作的基本原理,特别掌握非编码键盘的按键识别的软件处理方法,绘制程序流程图。
实验中要掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的方法和步骤,通过调试,在LED上正确显示从键盘输入的键值。
每按一次,在LED上只显示一个键值。
六、实验结果
软件调试正确后,能正确识别所按按键,并在动态显示器上移位显示所输入键值。
实验结束后,讨论两种键盘处理方法的优缺点。
实验五定时/计数器的使用
一、实验目的
1、掌握定时/计数器的工作原理和控制方法
2、掌握TMOD、TCON寄存器中各位的功能及使用方法
3、掌握定时/计数器的初始化过程
4、掌握中断的控制方法
5、掌握中断矢量和中断程序的编制方法
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
MCS-51系列单片机有两个定时/计数器,它们在专用寄存器TMOD的控制下,可在软件的控制下,工作在四种模式。
通过对控制寄存器TCON的控制,可使定时/计数器工作在中断或查询方式。
MCS-51系列单片机有5个中断源,两级中断优先系统,可通过软件控制。
定时/计数器实验电路原理图如下,其中动态显示系统如上一实验,可变时钟源控制参考GDEE-II光电EDA实验仪的使用说明。
四、实验步骤
1.按流程图编制软件
2.编译检查软件语法错误,重复2,直到编译通过
3.连接好仿真器和实验仪,进行单步调试,查找程序错误。
4.修改错误,重新编译调试,使程序输出正确结果
五、实验要求
实验前通过预习,掌握定时/计数器的基本原理和控制方法,掌握中断过程和中断程序的编制方法,熟悉电路的连接,绘制程序流程图。
实验中要进一步掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的一般步骤,通过调试,完成以下两部分工作:
1)T1工作在定时状态,容许中断,产生1S标准时间,T0工作在计数状态,把1S时间内T0所计的数显示在LED上。
2)T0工作在计数状态,测量INT0管脚上输入正脉冲的时间宽度。
六、实验结果
完成五中所要求的各项功能,在动态显示LED上显示运行结果。
实验六串口通信实验
一、实验目的
1.了解串口的工作原理
2.掌握串口的软件编程控制方法
3.掌握波特率的计算方法和串口的初始化过程
4.进一步掌握中断的使用和键盘的控制
5.了解RS232的传输标准
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
MCS-51单片机有一个全双工的通信接口,能同时进行发送和接收,同时也可做同步以为寄存器用。
MCS-51单片机的串口由串口控制寄存器SCON控制,使它有四种工作模式和不同的波特率,还可工作在中断方式和查询方式。
工作于模式1或3时,其波特率可变,可用下式来确定波特率:
波特率=2SMOD/32*(T1溢出速率)
T1溢出速率=计数速率/{256–TH1}
在实验中,显示和键盘电路如实验2、实验3,双机通信电路连接如下,由于MCS-51输出的是TTL电平,而我们一般在线路传输中采用RS232标准电平,因此要在接口中加入电平转换接口,实际中采用MAX202芯片实现TTL—RS232和RS232—TTL的转换。
四、实验步骤
1.按流程图编制软件
2.编译检查软件语法错误,重复2,直到编译通过
3.连接好仿真器和实验仪,进行单步调试,查找程序错误。
4.修改错误,重新编译调试,使程序输出正确结果
五、实验要求
实验前通过预习,了解RS-232C的传输协议和要求,掌握单片机串口工作的基本原理和控制方法,掌握串口控制寄存器SCON的应用,了解串口各工作模式的工作原理,掌握串口波特率的设置方法和串口初始化过程,绘制串口工作程序流程图。
实验中要掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的方法和步骤,
实验要求实现双机通信,把键盘输入的键值通过串口传输出去,同时接收串口输入的数据,通过译码后,在LED上显示。
在通信中要使用相同的通信协议,这样才能保证通信的畅通,在本实验中,通信中采用波特率=2400,数据位:
8位,一个停止位,无奇偶校验。
六、实验结果
实验完后,实现双机通信,掌握要实现双机通信必须具备的条件。
实验七并行D/A转换实验
一、实验目的
1.掌握D/A转换的工作原理
2.掌握D/A转换芯片AD7528的工作原理
3.掌握AD7528的工作时序和控制方法。
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
D/A转换器的功能是把数字量转换为与之成比例的模拟电压或者是模拟电流。
其输出有电压型和电流型,下面是由R—2R网络组成的电流输出型D/A转换原理图:
在实验中,D/A转换部分采用AD7528,它是一8位并行双输出D/A转换器,其工作时序如下:
AD7528工作时序图
AD7528的工作电路图如下,
D0~D8为并行数据输入端;与MCS-51单片机的数据总线相连。
CS为片选端,低电平有效;此信号由地址信号经74HC138译码后得到。
地址为85H;
WR为写入信号,低电平有效;与MCS-51单片机的WR管脚相连。
DACA/B为内部DACA或DACB选择端,当此管脚电位为高时,DACB被选中,模拟输出从OUTB输出,当此管脚电位为低时,DACA被选中,模拟输出从OUTA输出。
此信号与MCS-51单片机的P2.7相连。
四、实验步骤
1.按流程图编制软件
2.编译检查软件语法错误,重复2,直到编译通过
3.连接好仿真器和实验仪,进行单步调试,查找程序错误。
4.修改错误,重新编译调试,使程序输出正确结果
五、实验要求
实验前通过预习,了解D/A转换的基本原理,阅读AD7528使用说明,掌握此芯片的使用方法,绘制软件工作程序流程图。
实验中要掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的方法和步骤,
实验要求:
制作一波形发生器,在OUT-A上输出一三角波,在OUT-B上输出锯齿波,两波形的变化范围为250个步距。
实验八串行A/D转换实验
一、实验目的
4.掌握A/D转换的工作原理
5.掌握A/D转换芯片TLC549的工作原理
6.掌握TLC549的工作时序和控制方法。
7.掌握SPI串行接口的工作时序和由MCS-51单片机模拟产生SPI串行接口的方法
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
A/D是计算机控制中非常重要的一部分,按接口形式可分为并行输出和串行输出两种,按转换精度有四位、8位、10位、12位、甚至20位等多种,按转换速度有低速、高速和超高速之分,按转换方式有阶梯波比较式、逐次逼近式、直接比较式、双斜式、Σ-Δ式等等,各种ADC的具体原理请参考有关书籍。
本实验中,A/D部分采用TLC549,它是一8位串行输出A/D转换器,其电路工作原理图如下:
(P25、P26管脚交换,IN8接低电平)
TLC549电原理图
如原理图所示,TLC549的参考电压接在电源电压上,通过可变电位器R2的中心抽头输入模拟电压,调节R2可调节输入电压,在模拟电压输入点可测量输入电压的大小,I/OCLK管脚输入、输出时钟驱动,DATAOUT为数据输出脚,A/D转换后的数据由此脚串行输出,CS为片选输入脚,当CS为低时,此芯片被选通。
TLC549的工作时序如下:
四、实验步骤
1.按流程图编制软件
2.编译检查软件语法错误,重复2,直到编译通过
3.连接好仿真器和实验仪,进行单步调试,查找程序错误。
4.修改错误,重新编译调试,使程序输出正确结果
五、实验要求
实验前通过预习,了解A/D转换的基本原理,阅读TLC549使用说明,掌握此芯片的使用方法,绘制软件工作程序流程图。
实验中要掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的方法和步骤。
要求实验中,根据TLC549所给出的时序图,由MCS-51单片机模拟产生SPI接口信号访问TLC549,读出A/D转换结果,在软件的控制下把二进制数转换为BCD码在动态显示器上显示输入模拟电压值。
六、实验报告
实验完后,软件正常运行,在动态显示LED上以BCD码显示输入电压。
实验九打铃器
一、实验目的
1.掌握外部数据存储器的硬件扩展方法
2.掌握软件访问外部数据存储器的方法
3.了解实时时钟芯片DS12887的使用
4.掌握监控程序的设计方法
5.提高综合运用键盘、显示和单片机系统资源的能力。
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验原理
DS12887是DALLAS公司生产的实时时钟芯片,它除了有14个控制寄存器外,还有114个通用存储空间,通过对此芯片的编程利用,可使学生了解一般外部存储器和I/O口的硬件连接和软件访问控制方法,学生通过编程控制此芯片,可以制作如数字钟、打铃器等实用程序,增加学生的学习兴趣,加深对课程的理解。
DS12887工作电原理图
其中:
D0~D8:
双向地址/数据线;
/RD:
数据有效。
接CPU的读信号/RD;
/WR:
读写使能端。
接CPU写信号/WR;
CS:
片选端,低电平有效。
ALE:
地址有效,接CPU的ALE信号;
IRQ:
中断请求输出端。
DS12887内部有10个时标寄存器,4个状态寄存器和114个可供用户使用的静态RAM,其地址分配如下所示:
0
00H
0
秒
00H
14字节
1
秒报警
01H
14
0DH
2
分
02H
15
0EH
3
分报警
03H
4
时
04H
114字节
5
时报警
05H
RAM
6
星期
06H
(可供用
7
日
07H
户使用)
8
月
08H
9
年
09H
10
寄存器A
0AH
11
寄存器B
0BH
12
寄存器C
0CH
127
7FH
13
寄存器D
0DH
DS12887片内寄存器和RAM地址分配
CPU可通过读时标寄存器得到时间和日历,也可通过编程设置其初值。
地址为00H~09H,10个时标值可以选择二进制码或BCD码表示。
片内114个RAM,可供用户在系统掉电时保存有用数据,地址为0EH~07FH。
片内4个状态/控制寄存器A、B、C、D用来控制和指示芯片的工作状态,其内容可读写,地址为0AH~0DH。
下面对此四寄存器予以说明:
A寄存器
寄存器A的格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
UIP
/
/
/
RS3
RS2
RS1
RS0
UIP:
更新周期标志位。
UIP=0时,芯片正处于或将开始更新周期,此期间不容许读写时标寄存器。
RS3、RS2、RS1、RS0:
中断周期时间和SQW输出频率选择位。
B寄存器
寄存器B主要用于设置DS12887的工作状态。
其格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
SET
PIE
AIE
UIE
SQWE
DM
24/12
DSE
PIE、AIE、UIE:
分别为周期中断、报警中断、更新周期结束中断允许位。
各位分别为1时,允许发相应的中断。
SET:
SET=0时芯片正常工作,每秒更新一次时标寄存器,此段时间为更新周期,SET=1时,芯片停止工作,此期间可编程时标寄存器。
SQWE:
方波输出允许。
DM:
时标用BCD或二进制数表示选择。
DM=1选择二进制;DM=0选择BCD码。
24/12:
24小时制或12小时制选择。
24/12为1时选24小时制;24/12为0时选择带上午、下午的12小时制。
DSE:
DSE=1表示需要正常时制与夏令时转换;DSE=0不需转换。
C寄存器
寄存器C为中断标志位寄存器。
其格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
IRQF
PF
AF
UF
0
0
0
0
IRQF:
片内中断请求标志。
IRQF=PF·PIE+AF·AIE+UF·UIE。
当IRQF=1时,IRQ引脚变低,芯片中断请求有效。
PF、AF、UF:
这三位分别为周期中断、报警中断、更新周期结束中断各标志位。
D寄存器
寄存器D只有一个标志位VRT(D7位),其它位均为保留位。
VRT:
片内RAM与寄存器数据有效标志位,读寄存器D,可使VRT自动置1。
之后,片内寄存器、时标寄存器和114字节RAM数据有效,才可供系统使用。
四、实验步骤
1.按流程图编制软件
2.编译检查软件语法错误,重复2,直到编译通过
3.连接好仿真器和实验仪,进行单步调试,查找程序错误。
4.修改错误,重新编译调试,使程序输出正确结果
五、实验要求
实验前通过预习,掌握MCS-51单片机扩展外部数据存储器的原理及方法,掌握实时时钟芯片DS12887的工作原理及控制方法,绘制软件工作程序流程图。
实验中要掌握MEDWIN软件的使用,能正确连接仿真器和GDEE-II实验系统,掌握软件调试的方法和步骤。
实验中,要求用软件能修改当前时间,并在动态显示LED上,按时、分、秒的顺序显示当前时间。
运用键盘输入打铃时间,若当前时间与打铃时间相等时,打铃15秒(即蜂鸣器响)。
打铃时间至少可设置10个。
六、实验结果
软件通过调试后能正常运行,达到实验要求中所须的效果。
实验十整数电子计算器
一、实验目的
1.掌握监控程序的设计方法
2.掌握键盘,显示的综合运用
3.掌握整数加、减、乘、除的计算方法
二、实验仪器
PC微型计算机一台
SE-51P仿真器一台
GDEE-II光电EDA实验仪一台
三、实验要求
运用GDEE-II