微机原理与接口技术实验指导书 单片机版.docx
- 文档编号:28238164
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:27
- 大小:365.27KB
微机原理与接口技术实验指导书 单片机版.docx
《微机原理与接口技术实验指导书 单片机版.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验指导书 单片机版.docx(27页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术实验指导书单片机版
《微机原理及接口技术》
实验指导书
(Ver2016.4)
编写XxxxxXXXX
电气与自动化工程学院电工电子实验中心
微机原理与接口技术实验室
2016年4月
实验一数据传送指令
(2学时)
1.1实验目的
通过实验熟悉DAIS软件仿真环境和MCS-51系列单片机指令系统。
掌握简单的程序编制、调试方法。
加深对MCS-51系列单片机硬件结构的认识。
1.2实验内容
1、把R1中内容传送至R0中。
2、把内部数据存储器20H单元中的内容传送至内部数据存储器30H单元中。
3、把外部数据存储器20H单元中的内容传送至内部数据存储器20H单元中。
4、把外部数据存储器2000H单元中的内容传送至内部数据存储器20H单元中。
5、把外部程序存储器2000H单元中的内容传送至内部数据存储器20H单元中。
6、把外部数据存储器2050H单元、2060H单元中的内容相互交换。
*7、执行以下程序后,问SP=?
,(71H)=?
,(72H)=?
MOVSP,#70H
MOVA,#7CH
MOVB,#0F0H
PUSHACC
PUSHB
POPB
POPACC
*8、应用MOVCA,@A+PC指令求累加器A的平方值Y(设Y<=255),并把结果送至R7中保存。
*9、应用MOVCA,@A+DPTR指令求累加器A的立方值(设立方表的每个元素用两个字节表示),并把结果送至R2、R3保存。
说明:
以上*表示选作内容,其余为必作内容,以下实验同。
实验二二进制数运算及程序结构编程设计
(2学时)
2.1实验目的
掌握并熟悉MCS-51指令系统,熟练掌握单字节及多字节二进制无符号数的运算方法。
2.2实验内容
1、下列程序执行后累加器A和PSW中的内容是什么?
(1)MOVA,#7EH
ADDA,#82H
(2)MOVA,#82H
ADDA,#84H
2、将(R2R3)和(R4R5)中的双字节无符号数相加,结果存放在40H和41H单元中。
3、将(R2R3)和(R4R5)中的双字节无符号数相减,结果存放在42H和43H单元中。
4、试编出能完成以下操作的程序
(1)使20H单元中的数的高两位变为0,其余位不变。
(2)使20H单元中的数的高两位变为1,其余位不变。
(3)使20H单元中的数的高两位取反,其余位不变。
(4)使20H单元中的数据的所有位变反。
实验三程序结构编程实验
(4学时)
2.1实验目的
1、熟悉并掌握分支结构程序的编程方法和技巧。
2、熟悉并掌握循环结构程序的编程方法和技巧。
3、熟悉并掌握子程序的编程方法和技巧。
2.2实验预习
1、汇编语言的程序结构构成;
2、汇编语言顺序结构、分支结构、循环结构、子程序结构设计方法;
3、提前根据实验内容将程序编写完。
2.3实验内容
●分支结构程序的设计
1、在内部数据存储器BLOCK为首地址的缓冲区中存放有一组带符号数,数的个数已在LEN单元中,请编程实现:
统计其中的正数和负数的个数并存入NUM和NUM+1单元中。
2、设自变量X为一无符号数,存放在内部数据存储器的VAX单元,函数Y存放在FUNC单元,请编写满足如下关系的程序:
当x>=50时y=x;
当50>x>=20时y=5x;
当x<20时y=2x。
●3循环结构程序设计
3、在外部数据存储器从2000H到2020H地址单元中存放有一数据块,请将它们分别传送至2100H单元到2120H单元中(注意循环次数)。
4、在内部数据存储器以BLOCK为始址的130个单元中,找出其最小值并把它送入MIN单元。
5*、在内部数据存储器以BLOCK开始的存储区中有10个单字节十进制数(每个字节有两个BCD数),请编程求BCD数的和(和为三位的BCD数),并把和存放在SUM和SUM+1单元(SUM为低字节)。
●子程序程序设计
6、将8051片内的数据存储器20H单元、21H单元中存放的单字节二进制数,转化为ASCII码,存放在30H~33H单元中,(要求将ASCII码转换部分设计为子程序)。
7*、设8051单片机外部数据存储器从1000H单元开始存放有10个无符号8位二进制数,要求编一子程序将他们从大到小依次存入片内数据存储器从10H开始的存储区。
实验四外部中断及定时/计数器应用实验
(2学时)
4.1实验目的
1.熟悉SDUST-CEE-UC单片机实验系统。
2.熟悉并掌握外部中断的编程方法和技巧,并加深对MCS-51系列单片机中断系统硬件结构的认识。
3.熟悉定时器/计数器的工作原理并掌握其编程方法和技巧,加深对定时/计数中断的理解及运用。
4.2实验预习
1、熟悉51单片机中断系统硬件结构以及中断系统的工作原理。
2、熟悉中断源的选择、中断标志的设置、中断请求的控制、中断优先级的控制等。
3、掌握中断系统的初始化。
4、掌握51单片机定时/计数器硬件结构与工作原理。
5、掌握定时/计数工作在方式1、2时工作模式设置、计数初值的计算等。
6、掌握51单片机的定时/计时器各工作模式的编程应用。
7、掌握用查询和中断两种方法处理定时/计数的问题。
4.3实验内容
4.3.1外部中断实验
采用下降沿触发的中断方式设计一个事故检测装置。
要求在设备正常工作时,绿色指示灯亮,红色指示灯灭;设备出现故障时,绿色指示灯灭,红色指示灯亮。
实验说明:
中断信号由单脉冲按钮AN产生。
硬件联线:
根据选择的输出引脚,用排线连接到选择的指示灯插针(J27或J28);
4.3.2定时器/计数器实验
1、利用定时器T0的方式1编制一段程序。
在某一I/O输出引脚(如P1.0)输出一个方波控制一个红色指示灯。
①输出周期为40ms的方波,观察指示灯的变化,并采用示波器观察输出波形。
②输出周期为200ms的方波,观察指示灯的变化,并采用示波器观察输出波形。
2、设单片机的时钟为6MHz,请利用定时器T0编出使P1.0引脚输出2ms的矩形波程序,要求占空比系数为1:
2。
3、利用计数器T1(P3.5)记录脉冲的个数。
每计满10个脉冲,使灯亮1秒,然后重新计数,循环以上操作。
硬件联线:
(1)使用排线将编程使用的引脚(如P1.0)与LED指示灯控制插针(J6或J22)连接;
(2)脉冲输出插座J21(选择高电平脉冲)与CPU板的P3.4(T0)或P3.5(T1)连接;
4.4注意事项
1、注意中断的嵌套的使用方法。
2、注意中断资源初始化的两种方法:
可采用位操作指令,也可采用字节访问。
实验五串行通信实验
(2学时)
5.1实验目的
熟悉并掌握串行通信的工作原理以及编程方法和技巧。
加深对MCS-51系列单片机UART硬件结构的认识。
5.2实验内容
采用两台单片机应用系统。
甲机发送内存中以TR_BUF为首地址的10个数据串,乙机把接收到的数据存入以RC_BUF为首地址的内存单元中。
设甲、乙两机的振荡频率为11.0592MHz,串行口均工作在方式1下。
要求甲机用查询方式发送数据,乙机用中断方式接收数据。
通信波特率采用9600、8位数据位、无校验。
5.3实验预习
1、熟悉串行异步通信和同步通信两种方式,半双工和全双工两种制式。
2、熟悉串行口控制寄存器SCON和电源控制寄存器PCON在串行通信时的设置。
3、熟悉串行通信的四种工作方式。
5.4实验步骤
1、编制程序,编译,下载;
2、将甲机的P3.0(RxD)和乙机的P3.1(TxD)相连。
3、运行程序,观察传输结果。
5.5注意事项
1、重点掌握串口方式1的波特率的计算方法。
2、下载程序时要断开两实验箱之间的通讯联线,编程按钮PROG按下。
注意串行口在异步通信时中断的使用方法和查询的使用方法。
3、注意中断标志的软件清除处理方法。
4、注意通信双方的计算机的通信速率是否一致。
5、注意必须接收机先工作,处于接收状态后,发送机才能发数。
实验六键盘扫描显示实验
(2学时)
6.1实验要求
利用实验系统提供的键盘扫描电路和显示电路,实现扫描键盘和数码显示,把按键输入的键码在六位数码管上显示出来。
实验程序可分成三个模块。
①键输入模块:
扫描键盘、读取一次键盘并将键值存入键值缓冲单元。
②显示模块:
将显示单元的内容在显示器上动态显示。
③主程序:
调用键输入模块和显示模块。
6.2实验目的
1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和动态显示的工作原理。
6.3实验说明
本实验系统自带一个8×2的键盘,如图1所示,在判断有键按下后,要有一定的延时,防止键盘抖动。
6.4实验步骤
(1)设计选择需要的字形口、字位口和键盘输入引脚;
(2)根据硬件设计,连接联线;
(3)编制键盘扫描程序和动态扫描显示程序,并编译;
(4)下载程序;
(5)观察测试按键及显示。
图1行列式键盘、动态扫描显示电路图
实验七A-D/D-A转换实验
(2学时)
7.1实验目的
1、掌握A-D/D-A转换与单片机的接口方法。
2、熟悉A-D转换芯片ADC0809转换性能及编程方法。
3、熟悉D-A转换芯片DAC0832转换性能及编程方法。
4、通过实验了解单片机如何进行数据采集。
5、了解单片机系统中扩展D/A转换芯片的基本方法。
7.2实验内容
1、A/D转换
利用实验箱上的ADC0809做A/D转换实验,实验仪上的电位器RP1/RP2提供模拟量输入。
编制程序,将模拟量转换成数字量,通过八位LED发光二极管显示。
2、D/A转换
利用D/A转换器DAC0832输出一个方波。
7.3实验预习
A-D转换:
1、熟悉A/D的转换原理及转换方法。
2、掌握ADC0809的用法以及与单片机的接口电路。
3、掌握单片机系统中数据采集的方法。
D-A转换:
1、熟悉D/A的转换原理及转换方法。
2、掌握DAC0832的用法以及与单片机的接口电路。
3、掌握单片机系统中数据采集的方法。
4、熟悉DAC0832数摸转换输出不同波形的实现方法。
.
7.4实验接线图
图2A/D、D/A转换原理图
图3模拟电压输出调节电路
7.5实验步骤
7.5.1A-D转换实验
1、用排线将J18与J25连接(模拟量输入);
2、用排线将CPU的P00或P01插针与J23连接(数据总线)
3、J24的WR/RD线分别与CPU板上的WR/RD连接;
4、J24的AD_CS片选信号可以连接P2.7(或P2的其它引脚);
5、J24的AD_CLK时钟输入接ALE引脚;
6、J24的AD_EOCADC转换结束输出信号,可以接P1或中断输入信号;
7、编程,编译、下载;
8、缓慢调节电位器,观察分析LED发光二极管的亮灭规律。
7.5.2D-A转换实验
1、用排线将CPU的P00或P01插针与J23连接(数据总线)
2、J24的/WR线分别与CPU板上的/WR连接;
3、J24的DA_CS片选信号可以连接P2.7(或P2的其它引脚);
4、编程,编译、下载;
5、使用示波器观察DA输出波形(J26)。
7.6注意事项
1、注意A/D转换结果的读取方法。
2、注意ADC0809模拟输入通道选择方法;
思考题:
1、根据DAC实验硬件电路图,如何控制输出电压幅值?
2、根据DAC实验硬件电路图,三角波、梯形波与方波的实现方法有何不同?
正弦波呢?
实验八IIC串行总线实验
(4学时)
8.1实验目的
1、理解IIC通信总线的典型时序;
2.了解PCF8563的通信协议;
3.掌握MCS-51单片机连接IIC接口芯片的方法及模拟IIC总线的编程方法;
4、掌握PCF8563时钟芯片的基本使用及编程方法;
8.2实验内容
采用模拟IIC总线时序方式,编程实现读取PCF8563时钟,并送6位LED数码管显示。
8.3实验预习
1、熟悉IIC总线时序含义。
2、查阅51单片机模拟IIC总线读写PCF8583时间寄存器的汇编程序,熟悉参考程序并自己编写处理程序,实现将独处的时间数据送显示的功能。
8.4实验接线及步骤
1、用4线排线将CPU的P01与J8连接,即:
P1.0-INT
P1.1-CLK
P1.2-SCL
P1.3-SDA
2、编程实现PCF8563初始化,并读时间寄存器的实时时间数据,并显示在数码管上。
实验九利用MCS-51单片机控制交通灯(综合实验)
(4学时)
9.1实验目的
熟悉并掌握MCS-51系列单片机的工作原理以及编程方法和技巧。
全面掌握MCS-51系列单片机硬件结构。
9.2实验内容
1、当A、B道均有车时轮流放行。
A道放行10秒,B道放行10秒,转换时黄灯亮0.5秒。
时间显示采用数码管显示。
2、一道有车时,另一道无车时,立即让有车的道放行。
3、当有紧急车辆时(如警车,救护车)通行时,禁止普通的车辆通行(A、B道皆亮红灯)。
实验十电脑时钟(综合实验)
(4学时)
10.1实验目的
熟悉MCS-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。
10.2实验内容
编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。
10.3实验步骤
连续运行程序,在键盘上输入时间初值,按执行键EXEC执行,数码管上实时显示时间值。
10.4思考
1、电子钟走时精度和程序中那些常数有关?
2、修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。
3、采用PCF8563实现时钟功能。
附录1SDUST-CEE-UC单片机实验箱介绍
该实验箱针对在国内8位单片机领域应用范围较多的MCS-51单片机的学习与仿真而研制。
利用此平台,采用STC89C5x(DIP40封装)单片机时可以通过计算机的RS232串行通信口完成程序的下载任务,或借用第三方的仿真工具实现对51系列单片机实时仿真。
也可以对AT89S5x系列单片机下载。
本机配备了mini51仿真器,可以实现对常见51单片机的仿真功能。
1.实验箱特点
1)CPU单元模块化设计,便于更换实现对不同单片机的仿真学习。
实验箱将主控芯片独立设计为一个模块,模块CPU插座采用DIP40自锁插座,方便更换或程序的下载,通过更换该CPU模块上的CPU芯片,实现对不同厂家和不同型号51单片机的仿真学习。
2)加大实验教学中的动手实践、有效提高教学效果。
在进行实验学习或仿真过程中,各模块间的连线均要求学习者自己根据实验要求设计选择,并自己动手连接,实验学习灵活性强。
3)实验项目多,内容丰富,新知识、新技术应用
本实验箱除可以完成基本的I/O实验、可编程I/O接口芯片8255A、并行A/D、D/A、外部中断、计数功能等实验项目外,还包括了1-Wire总线、SPI总线、I2C总线、点阵液晶、红外线通讯等新技术、新型功能芯片的电路应用,很好地跟踪了新技术的发展。
4)综合性、创新型实验项目加强
通过本实验箱可以完成交通灯、日历时钟、多点温度测量系统、温度控制系统、电机控制、频率/计数计等多个综合性实验系统。
5)可维护性好
由于原实验箱购买,基于知识产权的保护和设备的更新换代等因素,目前设备实验过程中设备损坏后维修困难,部分器件非得以依赖厂家,本实验箱电路完全开放,有关人员完全可以自己维护。
附图1实验箱图片
2.实验箱电路模块及功能
本实验箱由多个模块单元组成.
1)51系列CPU模块
可以使用STC89C5x系列或AT89S5x系列PDIP40引脚的CPU,或其他经一定转换后的CPU,也可使用第三方的DIP40仿真器。
该CPU模块的P0-P3均设置有10k上拉电阻,每个口设计有2个SIP-8针插座,便于组成一套应用系统时使用。
电路如图1.1所示。
该模块设置上电复位和手动复位电路,并且设有电源开关,以便控制电源上电或进入下载编程状态,开关为POWER/PROG。
注:
程序下载具体方法见附录。
2)LED发光二极管显示模块
附图2LED发光二极管指示单元原理图
实验系统设计有L0-L15共16只发光二极管及相应驱动电路,输入低电平亮。
可用于完成各种状态指示,红、黄、绿三种颜色二极管交错排列,可以实现交通灯等应用系统中的指示信号使用。
3)基本I/O扩展模块
附图3基本输入、输出扩展模块原理图
本模块电路选择在应用系统中应用较为广泛的输出扩展芯片和输入扩展芯片组成,由八D输出锁存器74LS377和双-四驱动器74LS244构成。
4)并行输入-串行输出转换
并入串出模块电路可以完成使用串行输入方式读取8个开关状态的输入功能,实现用较少的输入口读入较多开关量的目的,从而节省了输入口。
本模块电路选择74LS165完成并入串出转换电路。
附图3并入串出扩展模块电路原理图
5)逻辑电平开关模块
附图4逻辑电平开关模块原理图
实验系统设计有8只波动开关,J24插座实现电平状态的输出,可以为实验过程提供高低两种电平的切换。
6)温度测量模块(1-wire总线)
附图5温度测量模块原理图
实验系统设计有两个温度传感器18B20,该温度传感器采用1-wire总线技术,通过开关J25可以进行单温度传感器和多温度传感器的应用学习。
7)日历时钟及串行EEPROM模块(IIC总线)
附图6日历时钟及串行EEPROM应用模块原理图
实验系统设计有日历时钟及IICEEPROM电路。
分别配置了PCF8563和24C04,可以完成日历时钟和EEPROM存储器的读写功能。
8)8255A模块单元
附图78255并行I/O扩展电路
实验系统的8255模块单元可以进行8255A基本扩展I/O功能实验。
9)脉冲发生电路
实验系统采用555设计了脉冲发生电路,通过调节电位器实现对输出信号频率的调节,产生的脉冲信号可供计数或测量频率实验使用。
附图8脉冲发生电路
10)模拟电压给定调节模块
附图9模拟电压输出调节电路
11)数码管静态显示模块
附图10数码管静态显示模块
12)数码管和键盘动态扫描模块
附图11数码管和键盘动态扫描模块
13)RS232串行接口模块
附图12RS232串行接口模块
14)单脉冲模块
附图12RS232串行接口模块
实验箱配置单脉冲电路,采用RS触发器产生正负单脉冲。
每按一次AN按钮开关,即可从J43输出正负脉冲,供中断、计数等实验使用。
15)红外收发单元模块
图1.22红外收发单元模块原理图
16)LCD12864液晶显示
图1.25点阵液晶126*64模块原理图
3.实验箱可完成的硬件实验项目
1)PI口驱动LED发光二极管实验
2)数码管驱动显示实验(164串行静态8位,动态扫描显示8位)
3)P0-P3口输入输出实验
4)工业顺序控制
5)定时、计数应用(脉冲计数、测脉宽):
可以调整555输出波形脉宽
6)外部中断系统的应用
7)简单I/O扩展
8)可编程I/O接口芯片8255A实验
9)并行A/D、串行AD转换实验
10)D/A转换实验
11)8279键盘显示实验
12)模拟IIC接口(日历时钟PCF8583,2402)
13)温度测量DS18B20应用
14)继电器隔离控制
15) 步进电机控制
16) MCS51串行口应用实验
1.TTL(RS232)双机通讯
2.RS232PC机通讯实验
3.RS485接口通讯实验(双机之间)
4.红外串行通讯实验
17)液晶2*lcd显示实验
18)外部存储器扩展实验6264
19)12832点阵图形显示
4.程序下载方法
4.1STC单片机下载方法
(1)将PC机与实验箱后面的DB9用直连串口线连接;
(2)将实验箱CPU模块右上角按键开关打开(按下锁定位置);
(3)将实验箱左下侧的串口开关PROG按下;
(4)将欲编程的STC单片机的CPU安放到PDIP锁紧座中,并锁住;
(5)点击运行PC机桌面上的STC_ISP_V479.exe软件,出现如图xx所示下载画面,按图示步骤操作,根据窗口下部的信息提示小窗口提示,打开左上角红色船型开关上电,完成下载。
4.2ST89S5x系列单片机下载方法
(请参阅有关资料)
附录2KeilC51编译错误信息
01:
Badoperation
操作码错
02:
Badoperand
操作数错
03:
Badconstant
常数错
04:
Badstring
字符串错
05:
Repeatdefineorconstant
重复定义或常数。
汇编程序期望一个标识符,但却出现一个常数,或虽是一个标识符,但它已被定义过。
06:
Dividebyzero
除数为0,表达式中0作为除数。
07:
Invalidcharacter
无效字符,该字符在汇编语言中无定义。
08:
Nullstring
字符串长度为0
09:
UnExpected"END"inincludefile
在包含文件中出现了不期望的“END”,一个程序不能在包含文件中结束。
10:
“(”Expected
期望“(”
11:
“)”Expected
期望“)”
12:
“CR”Expected
期望“CR”
汇编程序已成功的汇编了一行,但这行中还有内容未用到。
13:
“,”Expected
期望“,”
14:
Procedurenameerror
过程名应是一个未定义的标识符,汇编程序期望一个标识符,但却出现一个常数,或虽是一个标识符,但它已被定义。
15:
PROCsymbolnotdefine
过程已结束,但还有过程入口没有定义。
16:
FilenameExpected
期望文件名。
INCLUDE,USES命令行中需要文件名。
17:
BadORG
ORG定义的地址错
18:
Jumpoutofrange
跳转出范围
19:
ToomanyFORWARDdefine
太多的向前定义(大于2K个)
20:
Toomanylabelsinprogram
程序中标号太多(>1K)。
程序中的标号太多,建议使用汇编程序提供的过程结构。
21:
Toomanylablesinprocedure
过程中标号太多(>1K)。
一个过程中的标号太多,一个过程不应这样大,您可将这个过程分成若干个小规模的过程。
22:
Toomanydebugfile
被调试的文件太多,一个程序最多可调试含48个子文件的源程序。
23:
Badbitaddress
位地址错。
位地址的范围是:
(1)20H~2FH
(2)大于80H且能被8整除
24:
PROCcannotinprocedure
过程中不能定义过程,过程是不可嵌套的
25:
ToomanyEntryinprocedure
过程的入口太多,一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术实验指导书 单片机版 微机 原理 接口 技术 实验 指导书 单片机