计算机控制技术实验指导书11版修概要.docx
- 文档编号:28339322
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:56
- 大小:737.24KB
计算机控制技术实验指导书11版修概要.docx
《计算机控制技术实验指导书11版修概要.docx》由会员分享,可在线阅读,更多相关《计算机控制技术实验指导书11版修概要.docx(56页珍藏版)》请在冰豆网上搜索。
计算机控制技术实验指导书11版修概要
目录
第一部分i386EX系统板介绍1
第一章i386EX系统板概述1
第二章i386EX系统板的硬件操作环境2
第三章联机软件说明3
第四章I386EX系统板的资源分配12
第二部分实验教程14
实验一系统认识及程序调试练习14
实验二D/A转换实验18
实验三A/D转换实验21
实验四最小拍控制系统26
实验五积分分离PID控制29
实验六大林算法控制33
第一部分i386EX系统板介绍
第一章i386EX系统板概述
1.1系统简介
“TD-ACC+”教学实验系统,其基本配置就含有一个开放式的模拟实验平台和一组先进的虚拟仪器,可以高水平地支持自动控制原理的实验教学,若再选配“i386EX系统板”,就还可以开展“80X86的计算机控制技术”的实验教学。
i386EX系统板是一种基于intel386EX嵌入式微处理器的控制机,它以嵌入式应用为中心,可以满足大多数技术领域的需要,是当今微机应用及嵌入式技术发展的主流。
配置了“i386EX系统板”的“TD-ACC+自动控制原理/计算机控制技术”教学实验系统其构成主要包括:
i386EX系统、开放式的模拟实验平台、一组先进的虚拟仪器以及新编的自动控制原理实验教程和80X86计算机控制技术实验教程。
整个实验系统的结构框图如下页所示。
1.2i386EX系统板的特点
1.采用先进的嵌入式微处理器
采用INTEL公司新推出的32位嵌入式处理器i386EX,使该嵌入式控制计算机功能达到了最优化。
它功耗小,将许多经常使用的外围接口如8259、8254、8250和8237等集成到芯片内部,内部为32位总线,外部为16位数据总线,保持与标准的32位80386CPU相同的指令系统,具有64MB的寻址能力。
2.总线标准和工业PC104-ISA标准兼容
该控制计算机具有24MHz的工作频率,128KB的程序存储器和128KB的数据存储器,满足复杂计算机控制和嵌入式应用的要求。
采用控制计算机加模拟实验平台的结构设计,将i386EX的总线和接口资源以PC104-ISA的总线标准引出。
3.功能强大的源码级调试环境
控制计算机通过串口与PC微机相连,并配备了C语言及汇编语言的源码级调试开发环境,功能强大。
具有单步、跳过、断点、连续、变量跟踪等调试功能,可多方位、动态地调试实验程序。
第二章i386EX系统板的硬件操作环境
系统的部分总线以排针的形式引出,与实验单元相连可完成相应的实验。
系统引出信号线说明及相关的端口地址见表2.1-1。
表2.1-1控制计算机系统信号线说明
信号线
说明
相关的端口地址
D0~D7
系统的低八位数据线
A0~A3
系统地址线低四位(输出)
/IOR、/IOW
I/O读、写信号(输出)
IRQ5、IRQ6、IRQ7
内部主片8259中断请求信号(输入)
P3CFG扩展I/O地址为:
F824H
INTCFG扩展I/O地址为:
F832H
ICW1、IRR、ISR、OCW2和OCW3地址为:
20H
ICW2、ICW3、ICW4、OCW1和POLL地址均为:
21H
OUT1
内部1#定时器输出信号
(输出)
TMRCFG扩展I/O地址为:
F834H
TMR1扩展I/O地址为:
F041H
TMRCON扩展I/O地址为:
F043H
/IOY0
I/O接口待扩展信号(输出)
0600H~063FH
/IOY1
0640H~067FH
/IOY2
0680H~06BFH
DIN0~DIN3
4位数字量输入信号(输入)
P1口的低四位对应P1.0~P1.3
P1CFG扩展I/O地址为:
F820H
P1DIR扩展I/O地址为:
F864H
P1PIN扩展I/O地址为:
F860H
DOUT0~
DOUT3
4位数字量输出信号(输出)
P2口的低四位对应P2.0~P2.3
P2CFG扩展I/O地址为:
F822H
P2DIR扩展I/O地址为:
F86CH
P2LTC扩展I/O地址为:
F86AH
注:
1.“/”号表示该信号低电平有效
2.扩展I/O地址使能操作:
_asm{MOVAX,8000H
OUT23H,AL
XCHGAL,AH
OUT22H,AL
OUT22H,AX}
扩展I/O地址无效操作:
_asm{MOVAL,00H
OUT23H,AL}
第三章联机软件说明
3.1联机软件系统概述
该联机软件集成了源码级调试软件和虚拟仪器软件。
该软件具有汇编语言和C语言源语言级调试跟踪界面,有别于传统的DEBUG调试,操作更简单,视觉效果更直接。
如果用户习惯于DEBUG调试,点击输出区的调试标签亦可对源程序进行DEBUG调试。
用户可以选择是否监控堆栈,也可以通过“变量监控”对话框选择监控哪些全局变量;寄存器/变量/堆栈区能够对下位机的寄存器、变量和堆栈实现实时监视,使寄存器/变量/堆栈区的数据永远是下位机中数据的真实反映;在寄存器/变量/堆栈区改写寄存器和变量的值,即可改变下位机中寄存器和变量的值。
软件集成了一组功能强大的数字化虚拟仪器界面,用于时域曲线的实时测量和分析、频率特性分析、X_Y测量、阻容/电压值测量等。
联机软件具有特点如下:
(1)支持汇编语言和C语言两种编译环境
(2)高度可视化的源语言级调试跟踪界面
(3)实时监视寄存器,能够即时对寄存器中的值进行修改
(4)可以选择要监视的全局变量,进行实时监视和即时修改
(5)可以选择是否要实时监视堆栈寄存器
(6)集成虚拟仪器:
具有双踪超低频数字存贮示波器、频率特性分析仪、X_Y测量和数字万用表。
3.2软件使用说明
3.2.1主界面窗口
主要分为三部分:
程序编辑区、变量区和输出区。
1.程序编辑区
位于界面右上部,用户可在程序编辑区用“新建”命令打开一个新文档或用“打开”命令打开一个已存在的文档,在文档中用户可编辑程序。
用户可在程序编辑区打开多个文档,点击文档标签可激活任一文档。
编译、链接、加载以及调试命令只针对当前活动文档。
用户调试程序时,程序运行的轨迹亦在当前活动文档中指示。
2.变量区
位于界面左上部,包括三个部分:
寄存器区、变量区和堆栈区。
寄存器区和变量区用于实时监视、修改寄存器和变量的值,堆栈区主要用于实时监视用户堆栈区。
点击寄存器区标签可观察和修改寄存器,点击变量区标签可观察和修改变量,点击堆栈区标签可观察用户堆栈区。
执行各种调试操作后,寄存器、变量和堆栈区的值会自动刷新,如果寄存器区刷新后的值和刷新前的值相同,则显示为蓝色,如果不同,则显示为红色。
变量区和堆栈区刷新前和刷新后都为蓝色。
想修改寄存器或变量,用鼠标左键单击某寄存器或变量,当寄存器或变量值的区域变为蓝色后输入修改后的值,然后回车。
如果修改的是寄存器,输入值的长度应与寄存器的长度相同,回车后修改正确,如果输入值的长度和寄存器的长度不相同,寄存器的值不会被修改,保持原来的值且可以继续修改该寄存器的值。
如果修改的是变量,输入值的长度与变量的长度相同,回车后修改正确,如果输入值的长度小于变量的长度,回车后输入值的前面自动添零,如果输入值的长度大于变量的长度,回车后输入值的后面的多余部分自动删除。
堆栈区只用于监视,不能够被修改。
3.输出区
位于界面下部,输出区包含三个部分:
编译区、调试区和结果区。
编译区显示编译和链接的结果,如果编译时有错误或警告,双击错误或警告信息,错误标识符会指示到相应的有错误或警告的行。
调试区主要用于DEBUG调试。
结果区主要用于显示程序加载结果、程序运行输出结果和复位结果。
结果区中有“加载中,请稍候....”的字样表示联机软件正在把可执行文件加载到下位机中,用户此时应等待直到加载完成,“加载成功”表示加载完成且成功,“加载失败”表示加载完成且失败,此时应重新加载。
程序中用“INT10H”输出的结果亦显示在此区。
软复位或硬件复位成功后,结果区显示“复位成功!
”。
如果复位不成功则不显示此句。
3.2.2菜单功能
1.文件菜单项(略)
2.编辑菜单项(略)
3.查看菜单项(略)
4.端口菜单项(略)
5.编译菜单项
该项提供了以下命令:
(1)编译(C):
编译当前活动文档中的源程序,在源文件目录下生成目标文件。
如果有错误或警告生成,则在输出区显示错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译”。
如果编译没有错误生成(即使有警告生成)使能“链接”菜单项和工具栏中的“链接”按钮,以便进行链接。
编译时自动保存源文件中所做的修改。
(2)链接(L):
链接编译生成的目标文件,在源文件目录下生成可执行文件。
如果有错误或警告生成,则在输出区显示错误或警告信息,查看错误或警告信息修改源程序,修改后应重新“编译”和“链接”。
如果链接没有错误生成(即使有警告生成),使能“加载”菜单项和工具栏中的“加载”按钮,以便进行加载。
(3)加载(D):
把链接生成的可执行文件加载到下位机。
在加载过程中输出区有“加载中,请稍候...”的字样,用户此时应该等待直到加载完成。
加载完成后,如果加载成功,输出区显示“加载成功!
”,使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时CS和IP指向程序的开始执行行并在此行设置执行标记。
如果加载失败,输出区显示“加载失败!
”,不使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时应重新进行“加载”。
(4)编译链接并加载(T):
依次执行编译、链接和加载。
中间各环节“成功”或“失败”提示的信息及操作同上。
6.设置菜单项
(1)语言:
设置语言环境
汇编语言:
设置编译环境为汇编语言环境。
此时可编辑、编译和链接IBM-PC汇编语言源程序。
C语言:
设置编译环境为C语言环境。
此时可编辑、编译和链接TURBOC语言源程序。
(2)变量监控:
加载成功后才可用此按钮。
点击此按钮,出现如下对话框:
选择要监视的全局变量,左边的列表框为程序中的全局变量,系统只能监视全局变量,右边的列表框为系统正在监视的全局变量。
如果想监视左边列表框的某一变量A,用鼠标左键单击变量A,使之成为选择项,如上图所示,此时点击“加入监视”按钮,右边的列表框出现变量A,点击“结束”按钮后变量A会出现在变量区。
如果想从变量区去掉某一正在监视的变量B,点击“变量监控”按钮,出现如上图所示对话框,在右边的列表框中用鼠标左键单击变量B,使之成为选择项,如上图所示,此时点击“停止监视”按钮,此变量从右边的列表框消失,点击“结束”按钮后,变量B从变量区消失。
在汇编语言源文件中,数据段定义的变量并不是全局变量,因此数据段定义的变量并不出现在上图所示的对话框的左边列表,要想监视这些变量,必须使它们成为全局变量,使一个变量成为全局变量的方法是用关键字PUBLIC在源程序的最前面声明之,格式是:
PUBLICsymbol[,...],范例如下:
数据段DATA1中的数据mus_time,mus_freq经过PUBLIC声明后成为全局变量,编译、链接、加载完成后,点击“变量监控”按钮,此时对话框左边的列表框出现mus_time和mus_freq变量,可对这两个变量进行监控。
在C语言源文件的调试中,系统也只能监视全局变量。
要想监视某一变量,应该把他定义为全局变量。
(3)堆栈监控:
选择是否要监视用户堆栈区,点击此按钮出现如下对话框:
选择“不监控堆栈”单选按钮,确定后不监视堆栈区,选择“监控堆栈”单选按钮,确定后监视堆栈区。
默认选项为“不监控堆栈”。
7.调试菜单项
(1)设置断点/删除断点(B)
设置或删除一个断点,当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。
如果当前行无断点则在当前行设置断点,如果当前行有断点则删除当前行的断点。
设置断点的行如上图所示。
并不是源程序的所有行都可以设置断点,如伪操作行和空行不能设置断点。
源程序设置的断点数不能超过8个。
(2)清除所有断点(D):
清除所有设置的断点,清除源程序中设置的所有断点,只有当设置的断点数大于零时,该菜单才使能。
(3)设置起点(T)
设置程序开始运行的起点,当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。
此命令把当前行设置为程序的起点,即程序从此行开始运行,寄存器区的CS和IP的值刷新后指向此行,设置程序起点的行如上图所示。
并不是源程序的所有行都可以设置起点,如伪操作行和空行不能设置起点。
(4)单步(T):
执行一条语句,点击此命令使程序执行一条语句,如果是函数则进入函数内部,执行后刷新所有的变量和寄存器的值。
如下图,“ADDWANG1,01H”为当前执行行。
点击“单步”指令后,执行界面如下图,此时“ADDWANG2,01H”变成当前执行行。
如果当前执行行的下一行有断点,如下图所示。
那么,单步后的当前执行行有断点,执行界面就如下图所示。
如果当前执行行为函数调用,如下图所示,
点击“单步”指令后,当前执行行进入函数内部,执行界面如下图所示,
并不是所有行的语句都适用单步,对于那些试图改变控制计算机和PC微机通讯电路设置的语句,使用单步命令会导致下位机死机,从而不响应上位机的命令。
出现单步死机情况后应先软件复位,如果软件复位成功,则不需要硬件复位,如果软件复位不成功,系统会提示您硬件复位,硬件复位成功后会使能调试工具栏的按钮。
(5)跳过(O):
跳过一个函数。
点击此命令使程序执行一个函数,执行后刷新所有变量和寄存器的值。
只有当当前执行行为函数调用,如下图所示,才用此命令,此时当前执行行为“callWW31”,
点击“跳过”指令后,执行界面如下图所示,此时当前执行行为“moval,05h”。
如果当前执行行为函数调用且下一行有断点,如下图所示,
点击“跳过”指令后的当前执行行有断点,执行界面就如下图所示。
如果函数内部有断点,点击“跳过”指令后,程序会停在函数内部有断点的行,如下图所示。
(6)运行/运行到断点:
从当前执行行开始向后运行,如果没有断点,则运行直到程序结束。
如果有断点,则运行到断点后停止。
(7)停止:
停止运行,发送此命令使程序停止运行,程序停止后刷新所有寄存器和变量的值。
8.虚拟仪器菜单项(略)
具体各项说明详见“虚拟仪器”部分。
9.窗口菜单项
窗口菜单提供了以下命令,这些命令使您能在应用程序窗口中安排多个文档的多个视图:
(1)新建窗口(N):
建立一个查看同样文档的新窗口,用此命令来打开一个具有与活动的窗口相同内容的新窗口。
您可同时打开数个文档窗口以显示文档的不同部分或视图。
如果您对一个窗口的内容做了改动,所有其它包含同一文档的窗口也会反映出这些改动。
当您打开一个新的窗口,这个新窗口就成了活动的窗口并显示于所有其它打开窗口之上。
(2)层叠(C):
按重叠方式安排窗口,用此命令按相互重叠形式来安排多个打开的窗口。
(3)平铺(T):
按互不重叠平铺方式安排窗口,用此命令按互不重叠形式来安排多个打开的窗口。
(4)排列图标(A):
安排已最小化窗口的图标,用此命令在主窗口的底部安排被最小化的窗口的图标。
如果在主窗口的底部有一个打开的窗口,则有可能会看不见某些或全部图标,因为它们在这个文档窗口的下面。
(5)窗口1,2,...转到指定的窗口,TD-ACC在窗口菜单的底部显示出当前打开的文档窗口的清单。
有一个打勾记号出现在活动的窗口的文档名前。
从该清单中挑选一个文档可使其窗口成为活动窗口。
10.帮助菜单项(略)
3.2.3工具栏功能
是前述菜单功能的快捷图形方式,功能不再赘述。
1.标准工具栏
标准工具栏共有十二个按钮,其图如下:
2.编译工具栏
编译工具栏共有五个按钮,其图如下:
3.调试工具栏:
调试工具栏共有八个按钮,其图如下:
3.2.4虚拟仪器界面
1.时域测量
(1)图形及参数显示说明
图形显示可同时显示两路波形或只显示一路波形,用鼠标拖动或键盘方向键移动游标可测量出对应的时间间隔、频率及各自的幅值,且各自幅值的参数与对应波形的颜色一致。
(2)工具栏功能介绍
:
启动时域波形数据采集并显示波形。
:
停止时域波形数据采集,此时所显示的波形对应最后采集到的数据。
:
将当前显示的波形保存为位图文件。
(3)按钮功能介绍
a)时间档位选择框
用来改变时间轴的范围,显示数据为当前时间轴每格表示的时间值。
点击
按钮可弹出4ms、8ms、20ms、40ms、100ms、200ms、500ms、1s、2s、20s、50s共11个时间挡,供用户选择。
按钮用来选择当前显示时间档的后一个档(如1ms),按钮用来选择当前显示时间档的前一个档(如200ms)。
b)电压选择框
点击该组控件中CH1、CH2旁边的选择框,打对勾表示该路波形显示,否则不显示。
点击对应的颜色框,可弹出颜色选择对话框,供用户选择该路波形的显示颜色。
显示框显示的数据为该路波形当前的电压档,即纵向每格代表的电压值。
点击
按钮,数据显示框可弹出100mv、200mv、500mv、1v、2v、5v、10v共7个电压挡,供用户选择。
数据显示框右边的
按钮用来选择当前显示电压档的后一个档(如2v),
按钮用来选择当前显示电压档的前一个档(如500mv)。
c)
:
选中该选择框表示显示游标及对应的测量值,否则只显示波形。
d)
:
启动时域波形数据采集并显示波形。
e)
:
停止时域波形数据采集,此时显示的波形对应最后采集到的数据。
f)
:
将当前显示的波形保存为位图文件。
2.X_Y测量(略)
3.频率特性测量(略)
3.2.5Debug调试命令
该软件输出区集成有Debug调试,点击调试标签,进入Debug状态,会出现命令提示符“>”,
主要命令叙述如下:
A进入小汇编
格式:
A[段址:
][偏移量]
A段址:
偏移量——从段址:
偏移量构成的实际地址单元起填充汇编程序的目标代码;
A偏移量——从默认的段址与给定的偏移量构成的实际地址单元起填充汇编程序目标代码;
A——从默认段址:
默认偏移量构成的实际地址单元起填充汇编程序的目标代码;输入上述命令后,屏幕显示地址信息,即可输入源程序。
若直接回车,则退出命令。
汇编程序输入时,数据一律为十六进制数,且省略H后缀。
[m]类操作一定要在[]之前标注W(字)或B(字节)。
如:
MOVB[2010],AX,MOVW[2010],AX。
例:
在“>”提示符下键入A2000,此时默认的段址CS为0000,规定偏移量IP为2000,
屏幕显示与操作为:
表3-2-1小汇编操作示例
显示内容
键入内容
0000:
2000
MOVAX,1234
0000:
2003
INCAX
0000:
2004
DECAX
0000:
2005
JMP2000
0000:
2007
B断点设置
在系统提示符下,键入B,系统提示[i]:
,等待输入断点地址。
输入断点地址后回车,系统继续提示[i+1]:
。
若直接键入回车,则结束该命令。
系统允许设置最多10个断点,断点的清除只能是通过系统复位或重新上电来实现。
例:
表3-2-2B命令示例
显示内容
键入内容
>
B
[0]:
2009
[1]:
D显示一段地址单元中的数据
格式:
D[[段址:
]起始地址,[尾地址]]
D命令执行后屏幕上显示一段地址单元中的数据,在显示过程中,可用Ctrl+S来暂停显示,用任意键继续;也可用Ctrl+C终止数据显示,返回监控状态。
E编辑指定地址单元中的数据
格式:
E[[段址:
]偏移量]
该命令执行后,则按字节显示或修改数据,可通过“空格”键进入下一高地址单元数据的修改,使用“-”键则进入下一低地址单元进行数据的修改,并可填入新的数据来修改地址单元的内容。
若输入回车,则结束E命令。
例:
表3-2-3E命令示例
显示内容
键入内容
>E
3500
0000:
350000_
05空格
0000:
350101_
-
0000:
350202_
0000:
350101_
G运行程序
格式:
G=[段址:
]偏移量
G[=[段址:
]偏移量]
其中G格式表示无断点连续运行程序,GB格式表示带断点连续运行程序,连续运行过程中,当遇到断点或按下Ctrl+C键时,终止程序运行。
M数据块搬移
格式:
M源地址,尾地址目标地址
R寄存器或片内RAM区显示与修改
格式:
R或R寄存器名
R操作后,屏幕显示:
CS=XXXXDS=XXXXIP=XXXXAX=XXXXF=XXXX
若需要显示并修改特定寄存器内容,则选择R寄存器名操作。
如RAX,则显示:
AX=XXXX,键入回车键,结束该命令。
若输入四位十六进制数并回车,则将该数填入寄存器AX中,并结束该命令。
T单步运行指定的程序
格式:
T[=[段址:
]偏移量]
每次按照指定的地址或IP/PC指示的地址,单步执行一条指令后则显示运行后的寄存器情况。
U反汇编
格式:
U[[段址:
]起始地址[,尾地址]]
第四章I386EX系统板的资源分配
4.1系统内存分配
系统内存分配情况如图5.1-1所示。
系统内存分为程序存储器和数据存储器,程序存储器为一片128KB的FLASHROM,数据存储器为一片128KB的SRAM。
图4.1-1系统内存分配
4.2系统编码
采用内存与IO独立编址形式,内存地址空间和外设地址空间是相对独立的。
内存地址是连续的1M字节,从00000H~FFFFFH。
外设的地址范围从0000H~FFFFH,总共64K字节。
存储器编址见表4.1-1
表4.1-1存储器编址
信号线
编址空间
系统程序存储器
E0000H~FFFFFH
系统数据存储器
00000H~1FFFFH
4.3BIOS说明
表4.1-2BIOS说明
中断号
绝对地址
中断内容
备注
00
00H
除数为0,溢出
系统发出
中断请求
01
04H
单步(Trap)
02
08H
NMI
03
0CH
程序断点
04
10H
算术溢出
05~07
18~1FH
保留
用于系统扩展
08
20H
8259实时钟中断
8259
硬中断矢量区
09、0A、0B
24H、28H、2CH
用户自定义
0C
30H
串行口中断
0D、0E、0F
34H、38H、3CH
用户自定义
10
40H
显示器I/O
11~13
44~4FH
保留
14
50H
查询方式串行通讯
15~1A
54H~6BH
保留
1B
6CH
Ctrl+C
终止程序运行
1C~1F
70~7FH
保留
20
80H
程序终止
21~27
84~9FH
保留
28
A0H
Ctrl+S处理
暂停运行
29
A4H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 技术 实验 指导书 11 概要