计算机应用系统实验指导书单片机.docx
《计算机应用系统实验指导书单片机.docx》由会员分享,可在线阅读,更多相关《计算机应用系统实验指导书单片机.docx(42页珍藏版)》请在冰豆网上搜索。
计算机应用系统实验指导书单片机
《计算机应用系统实验》
指导书
编写XxxxxXXXX
信息与电气工程学院电工电子实验中心
微机原理与接口技术实验室
2011年9月
实验一数据传送指令
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.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、已知在内部数据存储器M1、M2、M3单元中存有三个无符号数X1、X2、X3,请编程将他们相加,并把和存入R0和R1(R0中为高八位)中。
*5、被乘数为十六位无符号数(低八位在M1单元,高八位在M1+1单元),乘数为八位无符号数存放在M2单元中,请编程将它们相乘并将积存入R2、R3、R4中(R2存放高八位数,R4存放低八位数)。
*6、将(R2R3)和(R4R5)中双字节无符号数相乘,结果存放在44H,45H,46H,47H(由高到低存放)中。
7、试编出能完成以下操作的程序
(1)使20H单元中的数的高两位变为0,其余位不变。
(2)使20H单元中的数的高两位变为1,其余位不变。
(3)使20H单元中的数的高两位取反,其余位不变。
(4)使20H单元中的数据的所有位变反。
实验三分支结构程序的设计
3.1实验目的
熟悉并掌握分支结构程序的编程方法和技巧。
3.2实验内容
*1、在内部数据存储器BLOCK为首地址的缓冲区中存放有一组带符号数,数的个数已在LEN单元中,请编程实现:
统计其中的正数和负数的个数并存入NUM和NUM+1单元中。
2、设自变量X为一无符号数,存放在内部数据存储器的VAX单元,函数Y存放在FUNC单元,请编写满足如下关系的程序:
当x>=50时y=x;
当50>x>=20时y=5x;
当x<20时y=2x。
实验四循环结构程序设计
4.1实验目的
熟悉并掌握循环结构程序的编程方法和技巧。
4.2实验内容
1、在外部数据存储器从2000H到2100H地址单元中存放有一数据块,请将它们分别传送至3000H单元到3100H单元中(注意循环次数)。
2、在内部数据存储器以BLOCK为始址的100个单元中,找出其最小值并把它送入MIN单元。
*3、在内部数据存储器以BLOCK开始的存储区中有10个单字节十进制数(每个字节有两个BCD数),请编程求BCD数的和(和为三位的BCD数),并把和存放在SUM和SUM+1单元(SUM为低字节)。
实验五子程序程序设计
5.1实验目的
熟悉并掌握子程序的编程方法和技巧。
5.2实验内容
1、将8051片内的数据存储器20H单元、21H单元中存放的单字节二进制数,转化为ASCII码,存放在30H~33H单元中,(要求将ASCII码转换部分设计为子程序)。
*2、设8051单片机外部数据存储器从1000H单元开始存放有100个无符号8位二进制数,要求编一子程序将他们从大到小依次存入片内数据存储器从10H开始的存储区。
实验六外部中断系统的应用
6.1实验目的
熟悉SDUST-CEE-UC单片机实验系统,熟悉并掌握外部中断的编程方法和技巧,并加深对MCS-51系列单片机中断系统硬件结构的认识。
6.2实验内容
采用下降沿触发的中断方式设计一个事故检测装置。
要求:
设备正常工作时,绿色指示灯亮,红色指示灯灭;设备出现故障时,绿色指示灯灭,红色指示灯亮。
硬件联线:
(1)根据选择的输出引脚,用排线连接到选择的指示灯插针(J27或J28);
(2)将脉冲输出引脚插针J21与CPU模块上的单片机P30插座P3.4(T0)或P3.5(T1)连接。
6.3实验预习
1、熟悉MCS-51系列单片机中断系统硬件结构以及中断系统的工作原理。
2、熟悉中断源的选择,中断标志的设置,中断请求的控制,中断优先级的控制等。
3、掌握中断系统的初始化。
6.4实验说明
中断信号由单脉冲按钮AN产生。
6.5注意事项
1、注意中断的嵌套的使用方法。
2、注意中断资源初始化的两种方法:
可采用位操作指令,也可采用字节访问。
实验七定时器/计数器实验
7.1实验目的
熟悉定时器/计数器的工作原理并掌握其编程方法和技巧,加深对中断的理解及运用。
7.2实验内容
1、利用定时器T0的方式1编制一段程序。
在某一I/O输出引脚(如P1.0)输出一个方波控制一个红色指示灯。
①输出周期为40ms的方波,观察指示灯的变化,并采用示波器观察输出波形。
②输出周期为200ms的方波,观察指示灯的变化,并采用示波器观察输出波形。
2、设单片机的时钟为6MHz,请利用定时器T0编出使P1.0引脚输出2ms的矩形波程序,要求占空比系数为1:
2。
3、利用计数器T1(P3.5)记录脉冲的个数。
每计满10个脉冲,使灯亮1秒,然后重新计数,循环以上操作。
7.3实验预习
1、熟悉MCS-51系列单片机定时器/计数器系统硬件结构与工作原理。
2、掌握定时器/计数器的编程方法,初值的计算方法等。
3、掌握查询方法和中断方式两种方法处理定时/计数的问题。
7.4注意事项
1、注意定时器/计数器4种工作模式的选择以及初值的计算方法。
2、注意中断程序的应用方法。
7.5硬件联线:
(1)使用排线将编程使用的引脚(如P1.0)与LED指示灯控制插针(J6或J22)连接;
(2)脉冲输出插座J21(选择高电平脉冲)与CPU板的P3.4(T0)或P3.5(T1)连接;
实验八键盘扫描显示实验
8.1实验要求
利用实验系统提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。
实验程序可分成三个模块。
①键输入模块:
扫描键盘、读取一次键盘并将键值存入键值缓冲单元。
②显示模块:
将显示单元的内容在显示器上动态显示。
③主程序:
调用键输入模块和显示模块。
8.2实验目的
1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和动态显示的工作原理。
8.3实验说明
本实验系统自带一个8×2的键盘,如图xx所示,在判断有键按下后,要有一定的延时,防止键盘抖动。
8.4实验步骤
(1)设计选择需要的字形口、字位口和键盘输入引脚;
(2)根据硬件设计,连接联线;
(3)编制键盘扫描程序和动态扫描显示程序,并编译;
(4)下载程序;
(5)观察测试按键及显示。
图1行列式键盘、动态扫描显示电路图
实验九串行通信实验
9.1实验目的
熟悉并掌握串行通信的工作原理以及编程方法和技巧。
加深对MCS-51系列单片机UART硬件结构的认识。
9.2实验内容
现有两台单片机应用系统。
甲机发送内存中以TR_BUF为首地址的10个数据串,乙机把接收到的数据存入以RC_BUF为首地址的内存单元中。
设甲、乙两机的振荡频率为6MHz,串行口均工作在方式1下。
要求甲机用查询方式编程,乙机用中断方式编程。
9.3实验预习
1、熟悉串行异步通信和同步通信两种方式,半双工和全双工两种制式。
2、熟悉串行口控制寄存器SCON和电源控制寄存器PCON在串行通信时的设置。
3、熟悉串行通信的四种工作方式。
9.4实验步骤
1、编制程序,编译,下载;
2、将甲机的P3.0(RxD)和乙机的P3.1(TxD)相连。
3、运行程序,观察传输结果。
注意:
(1)下载程序时要断开两实验箱之间的通讯联线。
(2)运行程序时将编程按钮PROG断开。
9.5注意事项
1、重点掌握串口方式1的波特率的计算方法。
2、注意串行口在异步通信时中断的使用方法和查询的使用方法。
3、注意中断标志的软件清除处理方法。
4、注意通信双方的计算机的通信速率是否一致。
5、注意必须接收机先工作,处于接收状态后,发送机才能发数。
实验十A/D转换实验
10.1实验目的
1、掌握A/D转换与单片机的接口方法。
2、了解A/D芯片ADC0809转换性能及编程方法。
3、通过实验了解单片机如何进行数据采集。
10.2实验内容
利用实验箱上的ADC0809做A/D转换实验,实验仪上的电位器RP1/RP2提供模拟量输入。
编制程序,将模拟量转换成数字量,通过八位LED发光二极管显示。
10.3实验预习
1、熟悉A/D的转换原理及转换方法。
2、掌握ADC0809的用法以及与单片机的接口电路。
3、掌握单片机系统中数据采集的方法。
10.4实验说明
ADC0809属逐次逼近式8位A/D转换器。
每采集一次一般需100μs。
由于ADC0809转换结束后会自动产生EOC信号(高电平有效),取反后将其与8032的INT0相连,可以用中断方式读取A/D转换结果。
10.5实验接线图
图2A/D、D/A转换原理图
图3模拟电压输出调节电路
10.6实验步骤
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发光二极管的亮灭规律。
10.7注意事项
注意A/D转换结果的读取方法。
实验十一D/A转换实验
11.1实验目的
1、了解D/A转换与单片机的接口方法。
2、了解D/A转换芯片DAC0832的性能及编程方法。
3、了解单片机系统中扩展D/A转换芯片的基本方法。
11.2实验内容
利用D/A转换器DAC0832输出一个方波。
11.3实验预习
1、熟悉D/A的转换原理及转换方法。
2、掌握DAC0832的用法以及与单片机的接口电路。
3、掌握单片机系统中数据采集的方法。
4、熟悉DAC0832数摸转换输出不同波形的实现方法。
11.4实验接线及步骤
参照AD0809实验,进行硬件连线。
1、用排线将CPU的P00或P01插针与J23连接(数据总线)
2、J24的/WR线分别与CPU板上的/WR连接;
3、J24的DA_CS片选信号可以连接P2.7(或P2的其它引脚);
4、编程编译、下载;
5、使用示波器观察DA输出波形(J26)。
11.5思考
三角波、梯形波与方波的实现方法有何不同?
正弦波呢?
实验十二利用MCS-51单片机控制交通灯(综合实验)
12.1实验目的
熟悉并掌握MCS-51系列单片机的工作原理以及编程方法和技巧。
全面掌握MCS-51系列单片机硬件结构。
12.2实验内容
1、当A、B道均有车时轮流放行。
A道放行10秒,B道放行10秒,转换时黄灯亮0.5秒。
时间显示采用数码管显示。
2、一道有车时,另一道无车时,立即让有车的道放行。
3、当有紧急车辆时(如警车,救护车)通行时,禁止普通的车辆通行(A、B道皆亮红灯)。
实验十三电脑时钟(综合实验)
13.1实验目的
熟悉MCS-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。
13.2实验内容
编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。
13.3实验步骤
连续运行程序,在键盘上输入时间初值,按执行键EXEC执行,数码管上实时显示时间值。
13.4思考
1、电子钟走时精度和程序中那些常数有关?
2、修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。
附录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.2艾特梅尔AT89S5x系列单片机下载方法
(请参阅有关资料)
附录2DaisWin集成调试软件的使用
DaisWin开发入门
DaisWin集成开发环境提供了以下两种方式开发用户应用程序:
⒈不使用DaisWin集成开发环境项目管理方式针对源程序文件直接进行汇编/连接,兼容传统开发习惯。
⒉使用DaisWin集成开发环境项目管理方式可进行多模块、混合语言编程的,同样也适合单模块程序的开发。
用户无论是单模块或多模块的程序开发,我们都建议使用项目管理方式管理应用程序。
不使用项目管理方式开发应用程序
不使用DaisWin集成开发环境项目管理方式,只能对单模块方式下的应用程序开发,具有很大的局限性。
以下是不使用DaisWin集成开发环境项目管理方式开发应用程序的步骤:
第一步关闭当前项目文件
命令:
[项目管理/关闭当前项目]
不使用DaisWin集成开发环境项目管理方式开发应用程序,用户必须关闭已经打开的项目,此时DaisWin集成开发环境关闭界面上所有窗口。
因为当打开项目文件后,DaisWin集成开发环境默认所有编译/汇编、产生代码的过程都是对项目或项目所包含的文件进行的。
DaisWin集成开发环境软件桌面
第二步在文件菜单下打开应用程序
命令:
[文件/新建]或[文件/打开]
单模块方式下的文件调用可以按照以下方法新建或打开文件:
点击[文件/新建],输入文件名和扩展名,新建文件
点击[文件/打开],选择文件捡取框中的文件将其打开
文件捡取框
第三步编译/汇编
命令:
[项目管理/编译/汇编]
DaisWin集成开发环境根据文件的扩展名,自动对当前激活的文件选择调用外部编译器或汇编器:
⒈如果当前文件的扩展名为ASM或系统定义的扩展名,编译/汇编命令调用外部汇编命令对当前文件汇编
⒉如果当前文件的扩展名为C或系统定义的扩展名,编译/汇编命令调用外部C编译命令对当前文件编译
执行[项目管理/编译/汇编]命令后产生的结果显示在消息框中。
如果需要设置文件编译/汇编的命令参数,可以选择[项目管理/文件属性]命令设置。
第四步错误信息关联
DaisWin集成开发环境调用外部命令编译/汇编后产生的结果,显示在消息窗口中,消息窗口可由热键Ctrl+9激活。
当编译/汇编发生错误时,消息窗口中的错误信息自动与源文件关联,提示出错的位置。
在消息窗口中错误提示处双击鼠标左键或键入回车,可将错误信息与源文件的错误位置关联:
⒈如果编译/汇编没有错误,可进行第五步的操作
⒉如果编译/汇编出现错误,在修改源文件后重复进行第三步操作
编译/汇编错误关联
第五步产生代码并装入实验系统调试
命令:
[项目管理/产生代码]或[项目管理/产生代码并装入]
产生代码或产生代码并装入命令对经过编译/汇编无误后产生的OBJ文件进行连接产生用于下载的代码。
此命令自动地对修改过的源程序进行编译或汇编,对没有修改过的程序将越过编译或汇编过程,然后连接所有的OBJ,LIB文件,再装载代码到实验系统完成调试程序所需的准备工作,装载完成后,出现“Loadingprogram“(项目名)”……Completed”的字样。