找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1493|回复: 0
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:862934 发表于 2020-12-19 11:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
《单片机原理及应用》
实验指导书

I
目 录
目 录..........................................................................................................I
实验一 流水灯实验................................................................................. 1
实验二 定时器与中断应用.....................................................................4
实验三 串口通讯..................................................................................... 7
实验四 数码管显示综合控制............................................................... 11
实验五 128X64 点阵式液晶模块实验................................................14
实验六工业顺序控制(INTO INT1)综合实验............................... 18
实验七直流电机转速测量与控制实验...................................................20
实验八DS18B20 一线式数字温度传感器.............................................24
单片机原理及应用实验指导书
1
实验一 流水灯实验
一 、实验目的
1.掌握 SICElab-G2200 实验/仿真系统的结构与使用方法;
2.熟悉任何一种单片机系统开发软件的使用,WAVE6000、KEIL C51 等等。
3.掌握单片机的基本编程应用能力,实践入门。
二、实验设备
1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台
3.连线 若干根 4.计算机 1 台
三、实验内容
P1 端口接发光二极管,利用程序依次点亮。
四、连线方案:
五、实验步骤
1.连接 Lab51CPU 板。
2.仿真器与实验平台的连接
将 Lab51 板的 DC34 芯插座与 G6W 仿真器上的 DC34 插座用扁平电缆连接起来。
3.仿真器与计算机的连接
用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口 1、串口 2 均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则
易损坏计算机和仿真器。
4.实验连线
按连线方案,用随机配带的实验连线插入孔后, 轻轻转动一下锁紧插头, 保证良好接
触。拆线时,应先回转一下,不要硬拨, 以免损坏线路板。 不管是拆线还是插线,都应
在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。
实验箱
内部已
连好
单片机原理及应用实验指导书
2 2
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开 KEIL C51 软件,或者“WAVE6000 集成调试环境”。
7.建立新程序(如果程序已编好,直接跳到第 9 步)
选择菜单[文件 | 新建文件]功能。
出现一个文件名为 NONAME1 的源程序窗口,在此窗口中输入以下程序
ORG 0000H
MOV A,#0FEH ;熄灭发光二极管
MOV P1,A
LOOP:
RL A
MOV P1,A
CALL Delay
SJMP LOOP
Delay: MOV R2,#100 ;延时程序
MOV R1,#10
MOV R0,#10
DLP: DJNZ R0,DLP
DJNZ R1,DLP
DJNZ R2,DLP
RET
END
8.保存程序
选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。
9.建立新的项目
选择菜单[文件 | 新建项目]功能。
新建项目会自动分三步走。
(1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件 MY1.ASM,按打开
键。如果你是多模块项目,可以同时选择多个文件再打开。
(2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如
果没有包含文件,按取消键。
(3)保存项目。在保存项目对话框中输入项目名称。MY1 无须加后缀。软件会自动将后
缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。
10.设置项目
11.编译程序
选择菜单[项目 | 编译]功能或按编译快捷图标或按 F9 键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中
定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序
存盘。在编译没有错误后,就可以执行、调试程序了。
12.执行、调试程序
有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。
(1)全速执行
(2)程序单步跟踪
选择[执行 | 跟踪]功能或按跟踪快捷图标或按 F7 键进行单步跟踪调试程序。
(3)执行到光标处
(4)设置断点
(5)观察各变量值的方法
单片机原理及应用实验指导书
3 3
六、思考题
1.改写实验程序实现不同流水灯的功能,比如先由 0 到 7,然后回到 0,再循环。,写出源
程序。
2.在执行调试程序过程中,遇到了哪些问题?你是如何解决的?
(根据调试的实际情况填写:)
比如可能出现如下情况:
(1) 指令写错: MOV R1,#0 中的 R1 写成了字母 Rl
(2) 程序编译不成功,没有加入源文件
单片机原理及应用实验指导书
4 4
实验二 定时器与中断应用
一 、实验目的
1.掌握 SICElab-G2200 实验/仿真系统的结构与使用方法;
2.熟悉任何一种单片机系统开发软件的使用,WAVE6000、KEIL C51 等等。
3.掌握单片机的定时器中断原理应用。
二、实验设备
1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台
3.连线 若干根 4.计算机 1 台
三、实验内容
在实验一的基础上,编程实现用定时器控制流水灯的流动时间间隔,用外部中断控制
流水灯动作的起停
四、连线方案及参考仿真图
连线方案参考实验一,同时增加一个外部中断触发连接。仿真原理图如下:
单片机原理及应用实验指导书
5 5
五、实验步骤
1.连接 Lab51CPU 板。
2.仿真器与实验平台的连接
将 Lab51 板的 DC34 芯插座与 G6W 仿真器上的 DC34 插座用扁平电缆连接起来。
3.仿真器与计算机的连接
用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口 1、串口 2 均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则
易损坏计算机和仿真器。
4.实验连线
按连线方案,用随机配带的实验连线插入孔后, 轻轻转动一下锁紧插头, 保证良好接
触。拆线时,应先回转一下,不要硬拨, 以免损坏线路板。 不管是拆线还是插线,都应
在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开 KEIL C51 软件,或者“WAVE6000 集成调试环境”。
7.建立新程序(如果程序已编好,直接跳到第 9 步)
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP ESINT
ORG 000BH
AJMP DST0
ORG 0100H
MAIN: MOV TMOD,#01H
SETB IT0 ;下降沿触发更为可靠
MOV TH0,#3CH
MOV TL0,#0B0H
SETB PT0
CLR TR0
SETB EX0
SETB ET0
SETB EA
MOV P1,#0FEH
MOV A,P1
MOV R0,#5
AJMP $
ORG 0200H
ESINT: CPL TR0 ;控制启停
单片机原理及应用实验指导书
6 6
RETI
ORG 0300H
DST0: MOV TH0,#3CH
MOV TL0,#0B0H
CLR TR0
DEC R0
CJNE R0,#0,UNACT
MOV R0,#5
RL A ;流水灯
MOV P1,A
UNACT: SETB TR0
RETI
END
8.保存程序
选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。
9.建立新的项目
选择菜单[文件 | 新建项目]功能。
新建项目会自动分三步走。
(1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件 MY1.ASM,按打开
键。如果你是多模块项目,可以同时选择多个文件再打开。
(2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如
果没有包含文件,按取消键。
(3)保存项目。在保存项目对话框中输入项目名称。MY1 无须加后缀。软件会自动将后
缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。
10.设置项目
11.编译程序
选择菜单[项目 | 编译]功能或按编译快捷图标或按 F9 键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中
定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序
存盘。在编译没有错误后,就可以执行、调试程序了。
12.执行、调试程序
有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。
(1)全速执行
(2)程序单步跟踪
选择[执行 | 跟踪]功能或按跟踪快捷图标或按 F7 键进行单步跟踪调试程序。
(3)执行到光标处
(4)设置断点
(5)观察各变量值的方法
六、思考题
1.改写实验程序实现不同的流水灯控制功能,比如利用 T1 进行 3 秒定时,写出源程序。
2.在执行调试程序过程中,遇到了哪些问题?你是如何解决的?
单片机原理及应用实验指导书
7 7
实验三 串口通讯
一 、实验目的
1.掌握 SICElab-G2200 实验/仿真系统的结构与使用方法;
2.熟悉任何一种单片机系统开发软件的使用,WAVE6000、KEIL C51 等等;
3. 掌握串口通讯原理,并能灵活应用。
二、实验设备
1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台
3.连线 若干根 4.计算机 1 台
三、实验内容
在二个单片机之间编程实现至少 1 种方式的串行口通讯,发送方以流水灯字节码作为
发送数据定时发送,并在接收方的 P0 口上显示接收到的字节;或者用方式 0 控制串入并出
芯片 4094 实现流水灯显示效果。
四、连线方案及仿真原理图
根据设计需要,并参考实验一进行连线。仿真原理图如图 1 所示。
五、实验步骤
1.连接 Lab51CPU 板。
2.仿真器与实验平台的连接
将 Lab51 板的 DC34 芯插座与 G6W 仿真器上的 DC34 插座用扁平电缆连接起来。
3.仿真器与计算机的连接
用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口 1、串口 2 均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则
易损坏计算机和仿真器。
4.实验连线
按连线方案,用随机配带的实验连线插入孔后, 轻轻转动一下锁紧插头, 保证良好接
触。拆线时,应先回转一下,不要硬拨, 以免损坏线路板。 不管是拆线还是插线,都应
在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开 KEIL C51 软件,或者“WAVE6000 集成调试环境”。
单片机原理及应用实验指导书
8 8
图 1 仿真原理图
7.建立新程序(如果程序已编好,直接跳到第 9 步)
C 语言版参考程序如下:
#include<reg51.h>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
main(){
uchar com;

SCON=0x50; //设置串行控制
初始化
TMOD=0x20;
TL1=0xe6;
TH1=0xe6; //设置波特率
ES=1;
EA=1;
TR1=1;

P1=0xff;
_nop_();
com=P1;
SBUF=com;

while(!TI); //等待发送完毕

TI=0;
}
void UART() interrupt 4 using 3{
//串行中断服务程序编写
单片机原理及应用实验指导书
9 9
uchar dat;
EA=0;

if(TI==0){
RI=0;
dat=SBUF;
P2=dat;
}
else{
TI=0;
}

EA=1;
}
8.保存程序
选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。
9.建立新的项目
选择菜单[文件 | 新建项目]功能。
新建项目会自动分三步走。
(1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件 MY1.ASM,按打开
键。如果你是多模块项目,可以同时选择多个文件再打开。
(2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如
果没有包含文件,按取消键。
(3)保存项目。在保存项目对话框中输入项目名称。MY1 无须加后缀。软件会自动将后
缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。
10.设置项目
11.编译程序
选择菜单[项目 | 编译]功能或按编译快捷图标或按 F9 键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中
定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序
存盘。在编译没有错误后,就可以执行、调试程序了。
12.执行、调试程序
有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。
(1)全速执行
(2)程序单步跟踪
选择[执行 | 跟踪]功能或按跟踪快捷图标或按 F7 键进行单步跟踪调试程序。
(3)执行到光标处
(4)设置断点
(5)观察各变量值的方法
六、思考题
1.改写实验程序实现汇编版的源程序。
2.在执行调试程序过程中,遇到了哪些问题?你是如何解决的?
单片机原理及应用实验指导书
10 10
实验四 数码管显示综合控制
一 、实验目的
1.掌握 SICElab-G2200 实验/仿真系统的结构与使用方法;
2.熟悉任何一种单片机系统开发软件的使用,WAVE6000、KEIL C51 等等;
3.掌握数码管显示的原理及使用方法。
二、实验设备
1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台
3.连线 若干根 4.计算机 1 台
三、实验内容
用查表法编程实现“0、1、2、3、4、5、6、7、8、9、A、B、C、D、E”等 16 个字符
在 7 段 LED 数码管上的显示,功能一要求能自动轮流显示 16 个字符,功能二要求利用 3-8
译码器控制,依次在 8 个数码管上轮流显示 16 个字符,功能三要求用定时器编程控制流动
时间间隔,功能四要求用键盘中断方式编程,用数码管显示所按下的按键的序号。要求每人
至少实现其中二个功能。
四、连线方案:
根据设计需要,并参考实验一进行连线。参考仿真原理图如下图所示:
单片机原理及应用实验指导书
11 11
五、实验步骤
1.连接 Lab51CPU 板。
2.仿真器与实验平台的连接
将 Lab51 板的 DC34 芯插座与 G6W 仿真器上的 DC34 插座用扁平电缆连接起来。
3.仿真器与计算机的连接
用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口 1、串口 2 均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则
易损坏计算机和仿真器。
4.实验连线
按连线方案,用随机配带的实验连线插入孔后, 轻轻转动一下锁紧插头, 保证良好接
触。拆线时,应先回转一下,不要硬拨, 以免损坏线路板。 不管是拆线还是插线,都应
在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。
5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
6.在计算机上打开 KEIL C51 软件,或者“WAVE6000 集成调试环境”。
7.建立新程序(如果程序已编好,直接跳到第 9 步)
C 语言版参考程序如下:
#include<reg52.h>
char a[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
int i=0,j;
void main()
{
EA=1;
ET0=1;
TR0=1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
P0=0x00;
while(1);

}
void duan() interrupt 1 using 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
i++;
if(i==20)
{
i=0 ;
j++;
j=j%10;
P0=a[j];
}
}
8.保存程序
选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。
9.建立新的项目
选择菜单[文件 | 新建项目]功能。
新建项目会自动分三步走。
(1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件 MY1.ASM,按打开
单片机原理及应用实验指导书
12 12
键。如果你是多模块项目,可以同时选择多个文件再打开。
(2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如
果没有包含文件,按取消键。
(3)保存项目。在保存项目对话框中输入项目名称。MY1 无须加后缀。软件会自动将后
缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。
10.设置项目
11.编译程序
选择菜单[项目 | 编译]功能或按编译快捷图标或按 F9 键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中
定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序
存盘。在编译没有错误后,就可以执行、调试程序了。
12.执行、调试程序
有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。
(1)全速执行
(2)程序单步跟踪
选择[执行 | 跟踪]功能或按跟踪快捷图标或按 F7 键进行单步跟踪调试程序。
(3)执行到光标处
(4)设置断点
(5)观察各变量值的方法
六、思考题
1.写出汇编语言版源程序代码。
2.在执行调试程序过程中,遇到了哪些问题?你是如何解决的?
《单片机原理及应用》实验指导书
实验五 128X64 点阵式液晶模块实验
1.实验目的:
了解 LCD 液晶显示模块与单片机的联接方法,及编程方法。
2.实验说明:
显示“南京伟福实业有限公司” 3.实验电路:
4.工作原理:

《单片机原理及应用》实验指导书
控制器接口说明(KS108B 及兼容芯片)
(1)基本操作时序:
1.1 读状态:
输入:RS=L,R/W=H,CS1 或 CS2=H,E=高脉冲
输出:D0-D7=状态字
1.2 写指令:
输入:RS=L,R/W=L,D0-D7=指令码,CS1 或 CS2=H,E=高脉冲
输出:无
1.3 读数据:
输入: RS=H,R/W=H,CS1 或 CS2=H,E=H
输出:D0-D7=数据
1.4 写数据:
输入: RS=H,R/W=L,D0-D7=数据,CS1 或 CS2=H,E=高脉冲
输出:无

读写操作使能 1:禁止 0:允许
注:对控制器每次进行读写操作之前,都必须进行读写检测,确保 STA7 为 0。
(3)RAM 地址映射图
LCD 显示屏由两片控制器控制,每个内部带有 64*64 位(512 字节)的 RAM 缓冲区,对
应关系如图所示:
(4)指令说明
4.1 初始化设置
《单片机原理及应用》实验指导书
4.1.1 显示开/关设置
指令码 功
3 能
E
关显
3 示
F
开显
4.1.2 显示初始设置 示
指令码 功
C 能
0
H
设置显示初始行
4.2 数据控制 控制器内部设有一个数据地址页和一个数据地址列指针,用户可通过
它们来 访问内部的全部 512 字节 RAM。
4.2.1 数据指针设置
指令码 功
B8H+页码(0~7) 设置数据能地址页指
40H+列码(0~ 针
63)
设置数据地址列指
(5)初始化过程 针
5.1 写指令 C0H 设置
显示初始行。
5.2 写指令 3FH
开显示。
5.实验器材:
(1)G2200 实验平台 1 台
(2)SP51 仿真器 1 台
(3)计算机 1 台
(4)实验连线 若 干
6.实验步骤:
6.1 在 VW 环境中的实验步骤:
(1)系统分配给 LCD 的地址为:YS0(8000-8FFF)
连线 连接孔 1 连接孔 2
1 CS1
0D
Y
S
0 (2)汉字取模方法:请参阅光盘“视频教程\汉字取模方法视频”。
(3)设计程序并执行,观察结果。
6.2 在 KEIL 环境中的实验步骤:
请参阅光盘“Manucal\基于 keil LabMON51 仿真器的 G2100 使用手册”对应实验。
《单片机原理及应用》实验指导书
7.程序框图:
开始
空格填充整屏
取字符地址
Y
为 FFH?
N
取字符
显 示
取下一个字符地址
8.程序清单:请参考实验 5 源码
《单片机原理及应用》实验指导书
实验六 工业顺序控制(INTO INT1)综合实验
1.实验目的:
掌握工业顺序控制程序的简单编程,中断的使用。
2.实验内容:
8031 P1.0-P1.6 控制注塑机七道工序,现模拟控制七只发光二极管的点亮,高电平点
亮。设定每道工序时间转换为延时,P3.4 为开工启动开关,高电平启动。P3.3 为外部
故障输入模拟开关,低电平报警,P1.7 为报警声音输出。设定 7 道工序只有一位
输 出。
3.实验设备:
(1)G2200 实验平台 1 台
(2)连线 若 干
(3)SP51 仿真器 1 台
(4)计算机 1 台
4.实验电路:
《单片机原理及应用》实验指导书
5.程序框图:
开 始 关输出
开中断,P1、P3 口初始化 保护现场
等开工 报 警
工序 1 延

N
故障清除了吗?
工序 2 延

恢复现场
工序 7 延

主程序流程图
返 回
中断服务子程序
6.实验步骤:
6.1 在 VW 环境中的实验步骤:
(1) 按以下方式连接硬件:
连线 连接孔
1
连接孔
2
连线 连接孔
1
连接孔
1 P3.4 K 2
1
6 P1.4 L
2 P3.3 K 4
0
7 P1.3 L
3 P1.7 Vin1 8 P1.2 3L
4 P1.6 L 2
6
9 P1.1 L
5 P1.5 L 1
5
1
0
P1.0 L
(2) 执行程序,把 K0 接到高电平,观察发光二极管点亮情况,确0定工序执行是否
正 常,然后把 K1 置为低电平,看是否有声音报警。恢复中断 1,报警停,又从
刚才 报警时一道程序执行下去。
6.2 在 KEIL 环境中的实验步骤:
请参阅光盘“Manucal\基于 keil LabMON51 仿真器的 G2100 使用手册”对应实验。
7.思考问题:
修改程序,使每道工序中有多位输出。
8.程序清单:请参考实验 6 源码
《单片机原理及应用》实验指导书
实验七 直流电机转速测量与控制实验
1.实验目的:
了解霍尔器件工作原理及转速测量与控制的基本原理、基本方法,掌握 DAC0832 电路
的接口技术和应用方法,提高实时控制系统的设计和调试能力。
2.实验内容:
设计并调试一个程序其功能为测量电机的转速,并在实验平台数码管上显示出来,采
用比例调节器方法,使电机转速稳定在某一设定值。此设定值可由实验平台上键盘输
入。
3.工作原理:
转速是工程上一个常用参数。旋转体的转速常以每秒钟或每分钟转数来表示,因 此
其单位为转/秒、转/分,也有时用角速度表示瞬时转速,这时单位相应为孤度/秒。
转速的测量方法很多,由于转速是以单位时间内转数来衡量,在变换过程中多数 是
有规律的重复运动。霍尔开关传感器正由于其体积小,无触点,动态特性好,使用
寿命长等特点,故在测量转动物体旋转速度领域得到了广泛应用。
霍尔器件是由半导体材料制成的一种薄片,在垂直于平面方向上施加外磁场 B,在
沿平面方向两端加外电场,则使电子在磁场中运动,结果在器件的两个侧面之间产生
霍尔电势。其大小和外磁场及电流大小成比例。
本实验选用美国史普拉格公司(SPRAGUE)生产的 3000 系列霍尔开关传
感器
3013T,它是一种硅单片集成电路,器件的内部含有稳压电路、霍尔电势发生器、放大
器、史密特触发器和集电极开路输出电路,具有工作电压范围宽、可靠性高、外电路
简单、输出电平可与各种数字电路兼容等特点。器件采用三端平塑封装。引出端功能
符号如下:
引出端序号 1 2 3




地 输出


V
C
G
N
O
U
我们根据霍尔效应原理,将一块永久磁钢固定在电机转轴上的转盘边沿,转盘随
测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔器件 3013T,转盘随轴旋
转时,受磁钢所产生的磁场的影响,霍尔器件输出脉冲信号,其频率和转速正比,测
出脉冲的周期或频率即可计算出转速。
直流电机的转速与施加工于电机两端的电压大小有关。本实验用 DAC0832 控制
输 出到直流电机的电压,控制 DAC0832 的模拟输出信号量来控制电机的转速。当电
机转 速小于设定值时增大 D/A 输出电压,大于设定值时则减小 D/A 输出电压,从而
使电机 以某一速度恒速旋转。我们采用简单的比例调节器算法(简单的加一、减一法)。
《单片机原理及应用》实验指导书
比例调节器(P)的输出系统式为: y=Kpe(t)
式中:Y——调节器的输出 e(t)——调节器的输
入,一般为偏差值 KP——比例系数
从上式可以看出,调节器的输出 Y 与输入偏差值 e(t )成正比。因此,只要
偏差 e(t)一出现就产生与之成比例的调节作用,具有调节及时的特点,这是一种最
基本的 调节规律。比例调节作用的大小除了与偏差 e(t)有关外,主要取决于比例系数
Kp,比 例调节系数愈大,调节作用越强,动态特性也越大。反之,比例系数越小,调
节作用 越弱。对于大多数的惯性环节,Kp 太大时将会引起自激振荡。比例调节的主
要缺点是 存在静差,对于扰动的惯性环节,Kp 太大时将会引起自激振荡。对于扰动
较大,惯性 也比较大的系统,若采用单纯的比例调节器就难于兼顾动态和静态特
性,需采用调节 规律比较复杂的 PI(比例积分调节器)或 PID(比例、积分、微分调
节器)算法。
4.实验器材:
(1)G2200 实验平台 1 台
(2)SP51 仿真器 1 台
(3)连线 若干 根
(4)计算机 1 台
5.实验电路:
定时器 T1,工作于外部事件计数方式,对转速脉冲计数;T0 工作于定时器方式,均 工
作于方式 1。“译码器”的 YS2 孔作为 DAC0832 的片选端,故 DAC0832 地址为 0A000H-
《单片机原理及应用》实验指导书
0AFFFH。
6.程序框图:
开 始 开 始
栈指针初始化 保护现场,恢复 T0 初值
显示缓冲器 3C-39H 清零
暗码 1AH→3EH-39H
N
(40H)-1=0?
Y
200→40H
200→40H,7EH→41H,0→42H (42H)/10→BCD 码→显示缓冲器
定时器 T0 初始化,50ms 定时,
中断初始化,允许 T0、INT0 中断
转速大于设定值
Y
N
调用显示子程序 DIR
转速测量与控制实验主程序框图
(40H)-1→0832
Y
转速等于设定值
N
(40H)+1→0832
0→42H
开 始 恢复现场
(42H)+1→42H
返 回
返 回
INT1 中断程序 T0 中断程序框图
7.实验步骤:
7.1 在 VW 环境中的实验步骤:
(1)把第 17 号模块“并行数模转换”中的 DAC0832 输出 Aout 孔连第 23 号模块“直流
电机”的 Dcin 孔,数模转换 DAC0832 的 CS17 孔和 Xfer 孔连第 38 号模块“片

《单片机原理及应用》实验指导书
信号”中的 YS2 孔,WR1 孔和 WR2 孔连第 33 号模块“控制总线”的/WR 孔。
CKM
孔(霍尔器件输出孔)连“Lab51CPU 板”的 P3.2 孔。第 38 号模块“片选信号” 中 YS0(08000H)孔连第 40 号模块“键盘+数码管”CS40 孔。

2)硬件诊断:
G2200+SP51 连 PC 机,在 VW 调试环境下点击外部数据窗口图标( ),在打开
的 XDATA 窗口中的 0A000H 地址(即 DA0832 的片选空间)上写入 FFH,则
Aout 孔 输出应为 5V,直流电机快速旋转;将 00H 写入,则 Aout 孔输出应为 0V, 直流电机 停止转动。用示波器观察 CKM 孔测试点,当圆盘转动时,霍尔器件输
出一系列脉 冲。
(3)编程并编译。首先将断点设在中断服务程序入口,运行程序 ,如果程序进入
中 断处理程序入口,则表明中断初始化程序正确,如果碰不到断点则首先应检查
初 始化程是否有错。把断点设在中断程序结束,检查在单位定时内,T1 计数值是
否 与电机转速符合。再调试二翻十子程序,最后调试整个实验程序,排除软
件错 误,连续运行时观察电机旋转工作状态与数码管上显示是否正确,修改程序
直至 达到本实验设计要求。注:本实验电机转速范围一般为 35-50 转/分。
7.2 在 KEIL 环境中的实验步骤:
请参阅光盘“Manucal\基于 keil LabMON51 仿真器的 G2100 使用手册”对应实验。
8.思考问题:
试编写一转速测量软件,测试电机转动周期 T,然后计算瞬时转速,并用 PID 调节
使转速恒定在 25 转/分。
9.程序清单:请参考实验 7 源码
《单片机原理及应用》实验指导书
实验八 DS18B20 一线式数字温度传感器
1.实验目的:
了解单总线传输协议。了解单总线数字式温度传感器的工作原理及编程方法。
2.实验内容:
利用 DS18B20 一线式数字温度传感器设计温度计。
3.芯片资料:
单总线协议:总线协议保证了数据可靠的传输,任一时刻单总线上只能有一个控 制信
号或数据。一次数据传输可分为以下四个操作过程:1、初始化;2、传送 ROM 命
令;3、传送 RAM 命令;4、数据交换。 单总线上所有的处理都从初始化开始。初始化时
序是由一个复位脉冲(总线命令
者发出)和一个或多个从者发出的应答信号(总线从者发出)组成。应答脉冲的作用
是:从器件让总线命令者知道该器件是在总线上的,并准备好开始工作。当总线命令 者检
测到某器件的存在时,首先发送 7 个 ROM 功能命令中的一个命令:
(1)读 ROM(总线上只有一个器件时,即读出其序列号)
(2)匹配 ROM(总线上有多个器件时,寻址某个器件)
(3)查找 ROM(系统首次启动后,须识别总线上各器件)
(4)跳过 ROM(总线上只有一个器件时,可跳过读 ROM 命令直接向器件发送命令,
以节省时间)
(5)超速匹配 ROM(超速模式下寻址某个器件)
(6)超速跳过 ROM(超速模式下跳过读 ROM 命令)
(7)条件查找 ROM(只查找输入电压超过设置的报警门限值的器件)。 当成功执行上述
命令之一后,总线命令者都可发送任何一个可使用命令来访问存
储器和控制功能,进行数据交换。所有数据的读写都是从最低位开始的。单总线传送
的数据或命令是由一系统的时序信号组成的,单总线上共有 4 种时序信号:(1)初始化
信号(2)写 0 信号(3)写 1 信号(4)读信号。DS18B20 的 64 位 ROM 的结构如下表。开始
8 位是 DS18B20 的产品类型编号 10H,接着是每一个器件的唯一的序号,共有 48 位,

后 8 位是前 56 位的 CRC 校验码,这也是多个 DS18B20 可以采用一根线进行通信原因。
8 bit 检验 CRC 48 bit 序列号 8 bit 工厂代码(10H)
主机操作 ROM 的命令有五种如下表:
指 令 说 明
读 ROM(33H) 读 DS18B20 的序列号
匹配 ROM(55H) 继续读完 64 位序列号的命令,用于多个 DS18B20 时定位
跳过 ROM(CCH) 此命令执行后的存储器操作将针对在线的所有 DS18B20
搜 ROM(F0H) 识别总线上各器件的编码,为操作各器件作好准备
报警搜索(ECH) 仅温度越限的器件对此命令作出响应

0 配置寄存器格式:用户可以用这一寄存器的 R0、R1 设置 DS18B20 的转换分辨率
转换分辨率配置
暂存器的命令共有 6 条如下表:
DS18B20 存储控制命令
指 令 说 明
温度转换(44H) 启动在线 DS18B20 作温度 A/D 转换
读数据(BEH) 从高速暂存器读 9 位温度值和 CRC 值
写数据(4EH) 将数据写入高速暂存器的第 3 和第 4 字节中
复制(48H) 将高速暂存器中第 3 和第 4 字节复制到 EERAM
读 EERAM(88H) 将 EERAM 内容写入高速暂存器中第 3 和第 4 字节
读电源供电方式(B4H) 了解 DS18B20 的供电方式
在正常情况下,DS18B20 的测温分辩率为 0.5
0C,可采用下述方法获得高分辩率的 温
度测量结果:首先用 DS18B20 提供的读暂存器指令(BEH)读出以 0.5
0C 为分辩率的
连线 连接孔 1 连接孔 2
1 To
ut
P1
2 Y .3
S
2
CS
40
《单片机原理及应用》实验指导书
温度测量结果;其次切去测量结果中的低有效位(LSB),得到所测实际温度的整数部
分 Tz;然后,再用 BEH 指令取计数器 1 的计数剩余值 Cs 和每度计数值 CD。当 18B20 完
成温度转换后,就把测得的温度值与 TH、TL 作比较。若 T>TH 或 T<TL,则将该器件内 的
告警标志置位,并对主机发出的告警搜索命令作出响应。因此可用多只 DS18B20 同 时测量
温度,主机进行告警搜索。一旦某测温点越限,主机利用告警搜索命令即可识 别正在告警的
器件,并读出序列号,而不必考虑非告警器件。
4.实验电路:
5.实验器材:
(1)G2200 实验平台 1 台 (2)SP51 仿真器 1 台
(3)计算机 1 台 (4)实验连线 若 干
6.程序框图:
开 始
读取温度值
读取转换后的温度值
送 LED 显

7.实验步骤:
7.1 在 VW 环境中的实验步骤:
(1)把第 03 号模块“数字式温度”框中的 Tout 孔连“Lab51 CPU 板”上的 P1.3
孔;
第 38 号模块“片选信号”中的 YS2(0A000H)孔连第 40 号模块“键盘+数码管” 中的 CS40 孔。
(2)设计程序并执行,观察结果。
7.2 在 KEIL 环境中的实验步骤:
请参阅光盘“Manucal\基于 keil LabMON51 仿真器的 G2100 使用手册”对应实验。
8.程序清单:请参考实验 8 源码

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

881.72 KB, 下载次数: 5, 下载积分: 黑币 -5

初学者

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表