计算机控制系统实验指导书

更新时间:2023-04-27 06:36:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

增强型8051单片微机控制技术

实验教程

西安唐都科教仪器公司

Copyright Reserved 2005

版权声明

本用户手册的版权归西安唐都科教仪器开发有限责任公司所有,保留一切权利。未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本用户手册的部分或全部,并以任何形式传播。

西安唐都科教仪器开发有限责任公司,1995~2005 ?,All rights reserved.

增强型8051单片微机控制技术实验教程

?版权所有未经许可严禁复制

技术支持邮箱:tdkj@da3a6d1052d380eb62946d57

唐都公司网址:da3a6d1052d380eb62946d57

目录

第1部分SST51系统板介绍 (1)

第1章SST51系统板概述 (2)

1.1 系统简介 (2)

1.2 SST51系统板的特点 (4)

第2章系统的安装 (4)

2.1 系统板与TD-ACC+系统实验平台的连接 (4)

2.2 系统联机操作软件的安装 (4)

第3章SST51系统板的硬件操作环境 (8)

第4章联机软件说明 (9)

4.1 联机软件系统概述 (9)

4.2 Keil C51软件使用说明 (9)

4.2.1 文件菜单和文件命令 (9)

4.2.2 编辑菜单和编辑器命令 (10)

4.2.3 视图菜单 (11)

4.2.4 工程菜单和工程命令 (11)

4.2.5 调试菜单和调试命令 (12)

第2部分 8051单片微机控制技术实验 (13)

第1章过程通道和数据采集处理 (14)

1.1 输入与输出通道 (14)

1.2 信号的采样与保持 (23)

1.3 数字滤波 (28)

第2章开环系统的数字程序控制 (32)

2.1 数字脉冲分配器和步进电机调速控制 (32)

2.2 数字PWM发生器和直流电机调速控制 (34)

第3章数字PID闭环控制 (37)

3.1 数字PID控制算法 (37)

3.2 积分分离法PID控制 (39)

3.3 带死区的PID控制 (44)

3.4 简易工程法整定PID参数 (48)

第4章数字调节器直接设计方法 (54)

4.1 最小拍控制系统 (54)

4.2 大林(Dahlin)算法 (60)

第5章智能控制技术 (65)

5.1 模糊方法实现闭环控制 (65)

5.2 单神经元自适应闭环控制 (71)

第6章控制系统应用 (77)

6.1 直流电机闭环调速控制系统设计和实现 (77)

6.2 温度闭环控制系统的设计和实现 (81)

附录1 CAN总线应用实验 (86)

F.1 CAN总线及其控制器介绍 (86)

F.2 用SJA1000来实现双机通讯 (89)

附录2 对象整定的方法 (94)

附录3 SST51系统板引出管脚排列及名称 (95)

附录4 实验程序名列表 (98)

附录5 模拟平台布局图 (99)

综述第1部分第1章 SST51系统板概述第1部分 SST51系统板介绍

1

综述第1部分第1章 SST51系统板概述

第1章 SST51系统板概述

1.1 系统简介

随着单片机技术的发展,八位单片机迅速地从功能简单的51单片机向嵌入式、增强型51内核单片机发展。使用在系统可编程 (ISP) 技术、在应用可编程技术 (IAP) 以及内嵌仿真功能的单片机层出不穷。先进技术的发展使得单片机调试、开发的手段发生了翻天覆地的变化。为了顺应技术的发展,满足高校单片机控制实验教学的需要,西安唐都科教仪器公司精心设计,隆重推出了“增强型SST51系统板”。

“TD-ACC+”教学实验系统,其基本配置就含有一个开放式的模拟实验平台和一组先进的虚拟仪器,可以高水平地支持“自动控制原理”的实验教学,若再选配“SST51系统板”,就可支持“8051单片微机控制技术”的实验教学。由此构成的“自动控制原理”和“单片微机控制技术”二合一教学系统,为实验教学提供了一块增强型8051控制机系统板、一套业界著名的Keil C51集成开发环境、一个开放式的模拟实验平台、一组先进的虚拟仪器,再结合丰富的实验内容,为用户构建了一个先进的控制实验教学环境,为新世纪下的控制教学提供了全面的解决方案。全面支持各大专院校进行“自动控制原理”、“计算机控制技术”、“智能控制技术”及“控制系统”等系列控制课程的实验教学。

由“TD-ACC+”教学实验系统和“SST51系统板”构成的“自动控制原理与计算机控制技术”实验系统的结构框图如下页所示。

下面各章节的内容主要是:“SST51系统板”介绍以及“增强型8051单片微机控制技术”的实验教程。有关“TD-ACC+”实验系统的介绍及“自动控制原理”实验的内容可详见“TD-ACC+自动控制原理/计算机控制技术教学实验系统用户手册”和“自动控制原理实验教程”。

2

综述第1部分第1章 SST51系统板概述

3

综述第1部分第1章 SST51系统板概述

1.2 SST51系统板的特点

1.取代硬件仿真器的增强型单片机

系统采用具有在系统可编程 (ISP) 和在应用可编程 (IAP) 技术的增强型51单片机,单片机中内置仿真程序,完全取代传统的硬件仿真器和编程器。这种先进的单片机将仿真系统和单片机应用系统合二为一,大大降低了应用开发成本,极大地提高了研制开发效率。把单片机的仿真开发和应用设计提高到一个崭新的技术领域。

2. 先进的单片机调试开发工具

使用业界著名的Keil C51集成开发环境作为实验系统设计、调试、开发的工具。Keil C51软件提供了多种调试、运行程序的方法,提供单步、断点、全速运行程序,可观察寄存器区、ROM变量区、RAM变量区、Xdata变量。支持汇编语言和C语言的源语言混合调试。

3.新型控制实验教学内容

“SST51系统板”结合“TD-ACC+”教学实验系统,可构成自动控制原理与单片微机控制技术二合一实验系统。为此,我们也配备了相应的实验教程,其内容由浅入深,层次分明,特别是引入了模糊控制、单神经元控制实验和CAN总线实验,以适应不同专业、不同层次、不同教学时数的需要。同时各章节力求做到原理、技术与实际应用并重,理论与实践结合。

(1) 自动控制原理实验方面,全面给出了线性控制系统的时域分析法、根轨迹法、频率域分析法以及系统校正和设计等方法的实验研究。开展了线性离散系统、非线性控制系统的实验研究。在现代控制理论方面,提供了状态空间分析实验。最后给出了的模拟PID闭环温度控制实验,让学生学习构造模拟闭环控制系统,以及PID调节器的实际应用规律。

(2) 计算机控制技术方面,先从过程通道和数据采集处理着手,再开展系统的数字程序控制、数字PID闭环控制、数字调节器直接设计方法的实验研究,随后又引入了智能控制实验和CAN总线实验,使学生对新型的控制算法有所了解、认识。最后开展了控制系统应用实验,实验对象提供了快速 (直流电机) 和慢速 (温度) 两种,便于构成不同的闭环系统,让学生对闭环系统的整体构成有所认识,针对对象不同而选择不同的控制策略或控制参数从而对真实对象进行较好的实时控制。

以上所有实验的具体内容分别在自动控制原理实验教程、计算机控制技术实验教程中有详细的讲述。

4

综述第1部分第2章系统的安装

第2章系统的安装

2.1 系统板与TD-ACC+系统实验平台的连接

1.将“SST51系统板”扣插在TD-ACC+的模拟实验平台的控制计算机的插槽上。

2.与PC微机的连接:将TD-ACC+实验系统的串口用随机配备的RS-232C通讯电缆和PC 机串口相连,完成调试串口的连接;将TD-ACC+实验系统的USB口用随机配备的USB电缆和PC机USB口相连,完成虚拟仪器的连接。

2.2系统联机操作软件的安装

该“SST51系统板”以Keil C51集成开发环境作为实验系统设计、调试、开发的工具。Keil C51软件提供了多种调试、运行程序的方法,提供单步、断点、全速运行程序,可观察寄存器区、ROM变量区、RAM变量区、Xdata变量。支持汇编语言和C语言的源语言混合调试。另外,TD-ACC+系统配备了一组功能强大的虚拟仪器界面,可满足控制实验教学过程中信号的测量、分析、记录等要求。至于虚拟仪器的介绍详见TD-ACC+系统用户手册。

1. 软件的运行环境

(1) 操作系统:Windows98/2000/XP

(2) 运行Keil C51集成开发软件需要的要求最低配置:

CPU:奔腾166以上

内存:16MB以上

显示器:800×600

硬盘:15MB以上

2. 软件的安装

(1) Keil C51集成开发软件的安装

下面介绍Keil C51 μVision2集成开发环境的安装步骤:

○1进入存放Keil C51软件的目录,在 \Keil软件\Keil C51\Setup目录下,双击SETUP.EXE 安装文件出现如图2.2-1所示的安装初始化界面,开始安装;

4

综述 第1部分 第2章 系统的安装

5

图 2.2-1 安装初始化界面

② 如果安装过KEIL 软件稍后弹出如图2.2-2所示的安装向导对话框,询问用户是安装、更新或是卸载Keil C51软件。选择第一项“Install Support for Additional Microcontroller Architectures ”安装该软件。如果从未安装过KEIL 软件则不会出现图2.2-2;

图 2.2-2 安装向导对话框

③ 单击“Next ”按钮,出现如图2.2-3所示的安装询问对话框,询问用户安装完全版还是测试版。如果安装正版的Keil C51软件,选择“Full Version ”,否则选择“Eval Version ”;

图 2.2-3 安装询问对话框

综述 第1部分 第2章 系统的安装

6④ 此后弹出的几个对话框中选择“Next ”或“Yes ”,直到出现如图2.2-4所示的安装路径设置对话框,默认路径是C:\KEIL ,用户可以单击“Browse ”按钮选择合适的安装目录;

图 2.2-4 安装路径设置对话框

⑤ 如果安装测试版软件在接下来的询问对话框中选择“Next ”按钮加以确认,出现如图

2.2-5所示的安装进度指示界面,如果安装完全版软件在下面的用户信息对话框中输入软件序列号、姓名、公司和E-mail 地址后选择“Next ”按钮,在此后弹出的几个对话框中选择“Next ”或“Yes ”,即会出现如图2.2-5所示的安装进度指示界面;

⑥ 安装完成后点击“Finish ”按钮,桌面上出现如图2.2-6所示的Keil μVision2快捷图标。点击该图标即可运行。

图 2.2-5 安装进度指示界面 图 2.2-6 快捷图标

综述第1部分第2章系统的安装

3. 软件的启动

安装完成后会在“开始\程序”菜单中创建“Keil μVision2”项,点击“Keil μVision2”便可启动程序。软件在安装完成后也会在桌面创建快捷方式,也可以通过快捷图标来启动软件。

4. 虚拟仪器软件的安装和启动

详见TD-ACC+系统用户手册介绍。

7

综述 第1部分 第3章 SST51系统板的硬件操作环境

8

第3章 SST51系统板的硬件操作环境

由于该实验系统采用组合式结构,即“SST51系统板”加“模拟实验平台”的形式。将“SST51系统板”扣在模拟实验平台上便构成以“SST51系统板”为控制机的“自动控制原理/计算机控制技术”二合一的教学实验系统。系统的部分总线以排针的形式引出,实验时,与实验单元相连可完成相应的实验。系统引出信号线说明见表2.2-1。

表2.2-1 控制计算机系统信号线说明

信号线 说 明

相关的端口地址

A0~A3 系统地址线低四位 (输出) /IOR、 /IOW

I/O 读、写信号 (输出)

IRQ5 ――――――

IRQ6 外部0#中断请求信号 (输入) IRQ7 外部1#中断请求信号 (输入)

OUT1 P1.7 (输出)

/IOY0 #7FF0H、#7FF1H /IOY1 #7FF2H、#7FF3H /IOY2 #7FF4H、#7FF5H /IOY3 #7FF6H、#7FF7H /IOY4 #7FF8H、#7FF9H /IOY5

I/O 接口待扩展信号 (输出)

#7FFAH、#7FFBH DIN0~DIN3 4位数字量输入信号 (输入) 对应P1口的低四位P1.0 ~ P1.3 DOUT0~DOUT3

4位数字量输出信号 (输出)

对应P1口的高四位P1.4 ~ P1.7

注:“/”号表示该信号低电平有效

综述 第1部分 第4章 联机软件说明 9

第4章 联机软件说明

4.1 联机软件系统概述

Keil C51集成开发环境作为实验系统设计、调试、开发的工具。提供了多种调试、运行程序的方法,提供单步、断点、全速运行程序,可观察寄存器区、ROM 变量区、RAM 变量区、Xdata 变量。支持汇编语言和C 语言的源语言混合调试。

系统还集成了一组功能强大的数字化虚拟仪器软件,用于自动控制原理和计算机控制实验时对时域曲线的实时测量和分析、频率特性分析、X_Y 测量和阻容/电压值测量等。取代了过去落后的测量方法,为构建现代化的实验室提供了高性价比的实验设备。

4.2 Keil C51软件使用说明

安装完Keil C51软件后,双击Keil C51快捷图标就可以进入Keil C51集成开发环境,如图4.2-1所示。各种调试命令、菜单命令都集成在这个开发环境中。

图 4.2-1 μVision2操作界面

菜单栏提供各种操作菜单如:编辑器操作、工作维护、开发工具设置、程序调试、窗体选择和操作等。工具栏和快捷键可以快速执行μVision2命令。

4.2.1 文件菜单和文件命令

见表4.2-1

综述 第1部分 第4章 联机软件说明

10

表4.2-1 文件菜单和文件命令

File 菜单 工具栏

快捷键 描述

New

Ctrl+N

创建一个新的源文件或文本文件

Open

Ctrl+O 打开已有的文件

Close

关闭当前的文件 Save

Ctrl+S 保存当前的文件

Save As …

保存并重新命名当前的文件

Save All 保存所有打开的源文件和文本文件

Device Database 维护μVision2器件数据库

Print Setup …

设置打印机

Print Ctrl+P 打印当前的文件

Print Preview

打印预览

4.2.2 编辑菜单和编辑器命令

见表4.2-2

表4.2-2

编辑菜单和编辑器命令

Edit 菜单

工具栏

快捷键 描述

Undo Ctrl +Z 撤消上一次操作

Redo Ctrl +Shift+Z 恢复上一次撤消命令的操作 Ctrl +X 将选中的文字剪切到剪贴板 Cut Ctrl +Y 将当前行的文字剪切到剪贴板 Copy Ctrl +C 将选中的文字复制到剪贴板 Paste

Ctrl +V 粘贴剪贴板的文字

Indent Selected Text 将选中的文字向右缩进一个制表符位 Unindent Selected Text 将选中的文字向左缩进一个制表符位 Toggle Bookmark Ctrl +F2 在当前行放置书签 Goto Next Bookmark F2 将光标移到下一个书签 Goto Previous Bookmark Shift+F2 将光标移到上一个书签 Clear All Bookmarks 清除当前文件中的所有书签 Ctrl +F 在当前文件中查找文字 F3 继续向前查找文字 Find

Shift+F3

继续向后查找文字 Replace Ctrl +H

替换特定的文字 Find in Files …

在几个文件中查找文字

Goto Matching Brace

Ctrl+]

查找匹配的花括号、圆括号、方括号

综述 第1部分 第4章 联机软件说明

114.2.3 视图菜单

见表4.2-3

表4.2-3 视图菜单

View 菜单

工具栏 快捷键

描述

Status Bar 显示或隐藏状态栏 File Toolbar 显示或隐藏文件工具栏 Build Toolbar 显示或隐藏编译工具栏 Debug Toolbar 显示或隐藏调试工具栏 Project Window 显示或隐藏工程窗口 Output Window 显示或隐藏输出窗口 Source Browser 打开源文件浏览器窗口 Disassembly Window 显示或隐藏反汇编窗口 Watch&Call Stack Window 显示或隐藏观察和堆栈窗口 Memory Window 显示或隐藏存储器窗口 Code Coverage Window 显示或隐藏代码覆盖窗口 Performance Analyzer Window

显示或隐藏性能分析窗口 Symbol Window 显示或隐藏符号变量窗口 Serial Window #1 显示或隐藏串行窗口1 Serial Window #2

显示或隐藏串行窗口2 Toolbox

显示或隐藏工具箱

Periodic Window Update 在运行程序时,周期刷新调试窗口 Workbook Mode 显示或隐藏工作薄窗口的标签 Options …

设置颜色、字体、快捷键和编辑器选项

4.2.4 工程菜单和工程命令

见表4.2-4

表4.2-4 工程菜单和工程命令

Project 菜单

工具栏快捷键描述

New Project …

创建一个新的工程 Import μVision1 Project … 输入一个μVision 工程文件 Open Project 打开一个已有的工程 Close Project

关闭当前的工程

Components,Environment,Books … 设置组件、工作环境、帮助文档 Select Device for Target’Target1’ 从器件数据库选择一个CPU Remove Item

从工程中删去一个组或文件

综述 第1部分 第4章 联机软件说明

12

Option For Target’Target1’ 设置当前目标的选项 Build Target F7 编译当前的源文件 Rebuild all target files

编译所有的源文件 Translate … 转换当前的文件

Stop Build

停止当前的编译进程

4.2.5 调试菜单和调试命令

见表4.2-5

表4.2-5 调试菜单和调试命令

Debug 菜单

工具栏 快捷键

描述

Start/Stop Debugging Ctrl+F5 启动或停止μVision 调试模式

Go F5 运行(执行),直到下一个有效的断点 Step F11 跟踪运行程序 Step Over

F10 单步运行程序

Step out of current function Ctrl+F11单步出当前函数(返回程序调用处) Run to cursor line Ctrl+F10程序执行到光标处 Stop Running

Esc 停止程序运行 Breakpoints …

打开断点对话框 Insert/Remove Breakpoint 在当前行设置/清除断点 Enable/Disable Breakpoint 使能/禁能当前行的断点 Disable All Breakpoints 使能/禁能程序中所有断点 Kill All Breakpoints

清除程序中所有断点 Show Next Statement

显示下一条执行的语句/指令

Enable/Disable Trace Recording 使能跟踪记录,可以显示程序运行轨迹 View Trace Records 显示以前执行的指令 Memory Map … 打开存储器空间配置对话框 Performance Analyzer … 打开性能分析器的设置对话框 Inline Assembly … 对某一行重新汇编,可以修改汇编代码 Function Editor

编辑调试函数和调试配置文件

51计算机控制技术实验教程第2部分第1章过程通道和数据采集技术第2部分 8051单片微机控制技术实验

13

51计算机控制技术实验教程第2部分第1章过程通道和数据采集技术

第1章 过程通道和数据采集处理

为了实现计算机对生产过程或现场对象的控制,需要将对象的各种测量参数按要求转换成数字信号送入计算机;经计算机运算、处理后,再转换成适合于对生产过程进行控制的量。所以在微机和生产过程之间,必须设置信息的传递和变换的连接通道,该通道称为过程通道。它包括模拟量输入通道、模拟量输出通道、数字量输入通道、数字量输出通道。

模拟量输入通道:主要功能是将随时间连续变化的模拟输入信号变换成数字信号送入计算机,主要有多路转化器、采样保持器和A/D转换器等组成。

模拟量输出通道:它将计算机输出的数字信号转换为连续的电压或电流信号,主要有D/A转换器和输出保持器组成。

数字量输入通道:控制系统中,以电平高低和开关通断等两位状态表示的信号称为数字量,这些数据可以作为设备的状态送往计算机。

数字量输出通道:有的执行机构需要开关量控制信号(如步进电机),计算机可以通过I/O 接口电路或者继电器的断开和闭合来控制。

1.1 输入与输出通道

本实验教程主要介绍以A/D和D/A为主的模拟量输入输出通道,A/D和D/A的芯片非常多,这里主要介绍人们最常用的ADC0809和TLC7528。

1.1.1 实验目的

1.学习A/D转换器原理及接口方法,并掌握ADC0809芯片的使用

3.学习D/A转换器原理及接口方法,并掌握TLC7528芯片的使用

1.1.2 实验设备

PC机一台,TD-ACC+实验系统一套,SST51系统板一块

1.1.3 实验内容

1.编写实验程序,将-5V ~ +5V的电压作为ADC0809的模拟量输入,将转换所得的8位数字量保存到变量中。

2.编写实验程序,实现D/A转换产生周期性三角波,并用示波器观察波形。

14

51计算机控制技术实验教程第2部分第1章过程通道和数据采集技术

1.1.4 实验原理

1.A/D转换实验

ADC0809芯片主要包括多路模拟开关和A/D转换器两部分,其主要特点为:单电源供电、工作时钟CLOCK最高可达到1200KHz、8位分辨率,8个单端模拟输入端,TTL电平兼容等,可以很方便地和微处理器接口。TD-ACC+教学系统中的ADC0809芯片,其输出八位数据线以及CLOCK线已连到控制计算机的数据线及系统应用时钟1MCLK (1MHz)上。其它控制线根据实验要求可另外连接 (A、B、C、STR、/OE、EOC、IN0~IN7)。根据实验内容的第一项要求,可以设计出如图1.1-1所示的实验线路图。

图1.1-1

上图中,AD0809的启动信号“STR”是由控制计算机定时输出方波来实现的。这里用P1.7来模拟1#定时器的输出,通过“OUT1”排针引出,方波周期=定时器时常×2。

图中ADC0809芯片输入选通地址码A、B、C为“1”状态,选通输入通道IN7;通过单次阶跃单元的电位器可以给A/D转换器输入-5V ~ +5V的模拟电压;系统定时器定时1ms 输出方波信号启动A/D转换器,并将A/D转换完后的数据量读入到控制计算机中,最后保存到变量中。参考流程如下:

图1.1-2

15

51计算机控制技术实验教程 第2部分 第1章 过程通道和数据采集技术 16参考程序如下:

请参照随机软件中example51目录中的ACC1-1-1文件夹中的ACC1-1-1.UV2 /*****************************************

文件名 :ACC1-1-1.C*

功能描述:定时启动模数转换,延时后读取转换结果,并送至变量保存

*****************************************/

#include

#include

/*****************************************

宏定义

*****************************************/

#define uchar unsigned char

#define uint unsigned int

#define ADC_7 XBYTE[0x7ff0]

//定义模数转换IO 地址

/*****************************************

函数声明

*****************************************/

void td_delay(int time);

/*****************************************

全局变量定义

*****************************************/

sbit str = P1^7; uchar data ad[10]; //声明变量,用于存储转换结果

uint data time;

//声明变量,用于定时 uchar data t0_h,t0_l; //用于存储定时器0的初值

/*****************************************

主函数

*****************************************/

void main(void)

{

uchar i;

TMOD = 0x01;

time = 1; //定时1ms

t0_h = (65536-500*time)/256;

//计算定时器0初值

本文来源:https://www.bwwdw.com/article/5prq.html

Top