计算机控制技术实验指导书修

上传人:无*** 文档编号:104789836 上传时间:2022-06-11 格式:DOC 页数:40 大小:912.50KB
收藏 版权申诉 举报 下载
计算机控制技术实验指导书修_第1页
第1页 / 共40页
计算机控制技术实验指导书修_第2页
第2页 / 共40页
计算机控制技术实验指导书修_第3页
第3页 / 共40页
资源描述:

《计算机控制技术实验指导书修》由会员分享,可在线阅读,更多相关《计算机控制技术实验指导书修(40页珍藏版)》请在装配图网上搜索。

1、撰写人:_日 期:_目 录第一部分 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+”教学实验系统,其基本配置就含有一个开放式的模拟实验平台和一组先进的虚拟仪器,可以高水平地支持自动控制原理的实

2、验教学,若再选配“i386EX 系统板”,就还可以开展“80X86 的计算机控制技术”的实验教学。i386EX 系统板是一种基于intel386EX嵌入式微处理器的控制机,它以嵌入式应用为中心,可以满足大多数技术领域的需要,是当今微机应用及嵌入式技术发展的主流。配置了“i386EX 系统板”的“TD-ACC+自动控制原理/计算机控制技术”教学实验系统其构成主要包括:i386EX 系统、开放式的模拟实验平台、一组先进的虚拟仪器以及新编的自动控制原理实验教程和80X86 计算机控制技术实验教程。整个实验系统的结构框图如下页所示。1.2 i386EX 系统板的特点1. 采用先进的嵌入式微处理器采用I

3、NTEL公司新推出的32位嵌入式处理器i386EX,使该嵌入式控制计算机功能达到了最优化。它功耗小,将许多经常使用的外围接口如8259、8254、8250和8237等集成到芯片内部,内部为32位总线,外部为16位数据总线,保持与标准的32位80386CPU相同的指令系统,具有64MB的寻址能力。2. 总线标准和工业PC104-ISA标准兼容该控制计算机具有24MHz的工作频率,128KB的程序存储器和128KB的数据存储器,满足复杂计算机控制和嵌入式应用的要求。采用控制计算机加模拟实验平台的结构设计,将i386EX的总线和接口资源以PC104-ISA的总线标准引出。3. 功能强大的源码级调试环

4、境控制计算机通过串口与PC微机相连,并配备了C语言及汇编语言的源码级调试开发环境,功能强大。具有单步、跳过、断点、连续、变量跟踪等调试功能,可多方位、动态地调试实验程序。第二章 i386EX 系统板的硬件操作环境系统的部分总线以排针的形式引出,与实验单元相连可完成相应的实验。系统引出信号线说明及相关的端口地址见表2.1-1。表2.1-1 控制计算机系统信号线说明信号线说 明相关的端口地址D0D7系统的低八位数据线A0A3系统地址线低四位(输出)/IOR、 /IOW I/O读、写信号(输出)IRQ5、IRQ6、IRQ7内部主片8259 中断请求信号(输入)P3CFG 扩展I/O 地址为:F824

5、HINTCFG 扩展I/O 地址为:F832HICW1、IRR、ISR、OCW2 和OCW3 地址为:20HICW2、ICW3、ICW4、OCW1 和POLL 地址均为:21HOUT1内部1定时器输出信号(输出)TMRCFG 扩展I/O 地址为:F834HTMR1 扩展I/O 地址为:F041HTMRCON 扩展I/O 地址为:F043H/IOY0I/O 接口待扩展信号(输出)0600H063FH/IOY1 0640H067FH/IOY2 0680H06BFHDIN0DIN34 位数字量输入信号(输入)P1 口的低四位对应P1.0 P1.3P1CFG 扩展I/O 地址为:F820HP1DIR

6、扩展I/O 地址为:F864HP1PIN 扩展I/O 地址为:F860HDOUT0 DOUT34 位数字量输出信号(输出)P2 口的低四位对应P2.0 P2.3P2CFG 扩展I/O 地址为:F822HP2DIR 扩展I/O 地址为:F86CHP2LTC 扩展I/O 地址为:F86AH注:1.“/”号表示该信号低电平有效2. 扩展I/O 地址使能操作:_asm MOV AX,8000HOUT 23H,ALXCHG AL,AHOUT 22H,ALOUT 22H,AX 扩展I/O 地址无效操作:_asm MOV AL,00HOUT 23H,AL第三章 联机软件说明3.1 联机软件系统概述该联机软件

7、集成了源码级调试软件和虚拟仪器软件。该软件具有汇编语言和C 语言源语言级调试跟踪界面,有别于传统的DEBUG 调试,操作更简单,视觉效果更直接。如果用户习惯于DEBUG 调试,点击输出区的调试标签亦可对源程序进行DEBUG 调试。用户可以选择是否监控堆栈,也可以通过“变量监控”对话框选择监控哪些全局变量;寄存器/变量/堆栈区能够对下位机的寄存器、变量和堆栈实现实时监视,使寄存器/变量/堆栈区的数据永远是下位机中数据的真实反映;在寄存器/变量/堆栈区改写寄存器和变量的值,即可改变下位机中寄存器和变量的值。软件集成了一组功能强大的数字化虚拟仪器界面,用于时域曲线的实时测量和分析、频率特性分析、X_

8、Y 测量、阻容/电压值测量等。联机软件具有特点如下:(1) 支持汇编语言和C 语言两种编译环境(2) 高度可视化的源语言级调试跟踪界面(3) 实时监视寄存器,能够即时对寄存器中的值进行修改(4) 可以选择要监视的全局变量,进行实时监视和即时修改(5) 可以选择是否要实时监视堆栈寄存器(6) 集成虚拟仪器:具有双踪超低频数字存贮示波器、频率特性分析仪、X_Y 测量和数字万用表。3.2 软件使用说明3.2.1 主界面窗口主要分为三部分:程序编辑区、变量区和输出区。1程序编辑区位于界面右上部,用户可在程序编辑区用“新建”命令打开一个新文档或用“打开”命令打开一个已存在的文档,在文档中用户可编辑程序。

9、用户可在程序编辑区打开多个文档,点击文档标签可激活任一文档。编译、链接、加载以及调试命令只针对当前活动文档。用户调试程序时,程序运行的轨迹亦在当前活动文档中指示。2变量区位于界面左上部,包括三个部分:寄存器区、变量区和堆栈区。寄存器区和变量区用于实时监视、修改寄存器和变量的值,堆栈区主要用于实时监视用户堆栈区。点击寄存器区标签可观察和修改寄存器,点击变量区标签可观察和修改变量,点击堆栈区标签可观察用户堆栈区。执行各种调试操作后,寄存器、变量和堆栈区的值会自动刷新,如果寄存器区刷新后的值和刷新前的值相同,则显示为蓝色,如果不同,则显示为红色。变量区和堆栈区刷新前和刷新后都为蓝色。想修改寄存器或变

10、量,用鼠标左键单击某寄存器或变量,当寄存器或变量值的区域变为蓝色后输入修改后的值,然后回车。如果修改的是寄存器,输入值的长度应与寄存器的长度相同,回车后修改正确,如果输入值的长度和寄存器的长度不相同,寄存器的值不会被修改,保持原来的值且可以继续修改该寄存器的值。如果修改的是变量,输入值的长度与变量的长度相同,回车后修改正确,如果输入值的长度小于变量的长度,回车后输入值的前面自动添零,如果输入值的长度大于变量的长度,回车后输入值的后面的多余部分自动删除。堆栈区只用于监视,不能够被修改。3输出区位于界面下部,输出区包含三个部分:编译区、调试区和结果区。编译区显示编译和链接的结果,如果编译时有错误或

11、警告,双击错误或警告信息,错误标识符会指示到相应的有错误或警告的行。调试区主要用于DEBUG 调试。结果区主要用于显示程序加载结果、程序运行输出结果和复位结果。结果区中有“加载中,请稍候.”的字样表示联机软件正在把可执行文件加载到下位机中,用户此时应等待直到加载完成,“加载成功”表示加载完成且成功,“加载失败”表示加载完成且失败,此时应重新加载。程序中用“INT 10H”输出的结果亦显示在此区。软复位或硬件复位成功后,结果区显示“复位成功!”。如果复位不成功则不显示此句。3.2.2 菜单功能1文件菜单项(略)2编辑菜单项(略)3查看菜单项(略)4端口菜单项(略)5编译菜单项该项提供了以下命令:

12、(1) 编译 (C):编译当前活动文档中的源程序,在源文件目录下生成目标文件。如果有错误或警告生成,则在输出区显示错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译”。如果编译没有错误生成 (即使有警告生成) 使能“链接”菜单项和工具栏中的“链接”按钮,以便进行链接。编译时自动保存源文件中所做的修改。(2) 链接 (L):链接编译生成的目标文件,在源文件目录下生成可执行文件。如果有错误或警告生成,则在输出区显示错误或警告信息,查看错误或警告信息修改源程序,修改后应重新“编译”和“链接”。如果链接没有错误生成 (即使有警告生成),使能“加载”菜单项和

13、工具栏中的“加载”按钮,以便进行加载。(3) 加载 (D):把链接生成的可执行文件加载到下位机。在加载过程中输出区有“加载中,请稍候.”的字样,用户此时应该等待直到加载完成。加载完成后,如果加载成功,输出区显示“加载成功!”,使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时CS 和IP 指向程序的开始执行行并在此行设置执行标记。如果加载失败,输出区显示“加载失败!”,不使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时应重新进行“加载”。(4) 编译链接并加载 (T):依次执行编译、链接和加载。中间各环节“成功”或“失败”提示的信息及操作同上。6设置菜单项 (1) 语言:设置语言环境汇编

14、语言:设置编译环境为汇编语言环境。此时可编辑、编译和链接IBM-PC 汇编语言源程序。C 语言:设置编译环境为C 语言环境。此时可编辑、编译和链接TURBO C 语言源程序。(2) 变量监控:加载成功后才可用此按钮。点击此按钮,出现如下对话框:选择要监视的全局变量,左边的列表框为程序中的全局变量,系统只能监视全局变量,右边的列表框为系统正在监视的全局变量。如果想监视左边列表框的某一变量A,用鼠标左键单击变量A,使之成为选择项,如上图所示,此时点击“加入监视”按钮,右边的列表框出现变量A,点击“结束”按钮后变量A 会出现在变量区。如果想从变量区去掉某一正在监视的变量B,点击“变量监控”按钮,出现

15、如上图所示对话框,在右边的列表框中用鼠标左键单击变量B,使之成为选择项,如上图所示,此时点击“停止监视”按钮,此变量从右边的列表框消失,点击“结束”按钮后,变量B 从变量区消失。在汇编语言源文件中,数据段定义的变量并不是全局变量,因此数据段定义的变量并不出现在上图所示的对话框的左边列表,要想监视这些变量,必须使它们成为全局变量,使一个变量成为全局变量的方法是用关键字PUBLIC 在源程序的最前面声明之,格式是:PUBLIC symbol,.,范例如下:数据段DATA1 中的数据 mus_time,mus_freq 经过PUBLIC 声明后成为全局变量,编译、链接、加载完成后,点击“变量监控”按

16、钮,此时对话框左边的列表框出现 mus_time 和mus_freq变量,可对这两个变量进行监控。在C 语言源文件的调试中,系统也只能监视全局变量。要想监视某一变量,应该把他定义为全局变量。(3) 堆栈监控:选择是否要监视用户堆栈区,点击此按钮出现如下对话框:选择“不监控堆栈”单选按钮,确定后不监视堆栈区,选择“监控堆栈”单选按钮,确定后监视堆栈区。默认选项为“不监控堆栈”。7调试菜单项(1) 设置断点/删除断点 (B)设置或删除一个断点,当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。如果当前行无断点则在当前行设置断点,如果当前行有断点则删除当前行的断点。设置断点的行如上图所示

17、。并不是源程序的所有行都可以设置断点,如伪操作行和空行不能设置断点。源程序设置的断点数不能超过8 个。(2) 清除所有断点 (D):清除所有设置的断点,清除源程序中设置的所有断点,只有当设置的断点数大于零时,该菜单才使能。(3) 设置起点 (T)设置程序开始运行的起点,当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。此命令把当前行设置为程序的起点,即程序从此行开始运行,寄存器区的CS 和IP 的值刷新后指向此行,设置程序起点的行如上图所示。并不是源程序的所有行都可以设置起点,如伪操作行和空行不能设置起点。(4) 单步 (T):执行一条语句,点击此命令使程序执行一条语句,如果是函数

18、则进入函数内部,执行后刷新所有的变量和寄存器的值。如下图,“ADD WANG1,01H”为当前执行行。点击“单步”指令后,执行界面如下图,此时“ADD WANG2,01H”变成当前执行行。如果当前执行行的下一行有断点,如下图所示。那么,单步后的当前执行行有断点,执行界面就如下图所示。如果当前执行行为函数调用,如下图所示,点击“单步”指令后,当前执行行进入函数内部,执行界面如下图所示,并不是所有行的语句都适用单步,对于那些试图改变控制计算机和PC 微机通讯电路设置的语句,使用单步命令会导致下位机死机,从而不响应上位机的命令。出现单步死机情况后应先软件复位,如果软件复位成功,则不需要硬件复位,如果

19、软件复位不成功,系统会提示您硬件复位,硬件复位成功后会使能调试工具栏的按钮。(5) 跳过 (O):跳过一个函数。点击此命令使程序执行一个函数,执行后刷新所有变量和寄存器的值。只有当当前执行行为函数调用,如下图所示,才用此命令,此时当前执行行为“call WW31”,点击“跳过”指令后,执行界面如下图所示,此时当前执行行为“mov al,05h”。如果当前执行行为函数调用且下一行有断点,如下图所示,点击“跳过”指令后的当前执行行有断点,执行界面就如下图所示。如果函数内部有断点,点击“跳过”指令后,程序会停在函数内部有断点的行,如下图所示。(6) 运行/运行到断点:从当前执行行开始向后运行,如果没

20、有断点,则运行直到程序结束。如果有断点,则运行到断点后停止。(7) 停止:停止运行,发送此命令使程序停止运行,程序停止后刷新所有寄存器和变量的值。8虚拟仪器菜单项(略)具体各项说明详见“虚拟仪器”部分。9窗口菜单项窗口菜单提供了以下命令,这些命令使您能在应用程序窗口中安排多个文档的多个视图:(1) 新建窗口 (N):建立一个查看同样文档的新窗口,用此命令来打开一个具有与活动的窗口相同内容的新窗口。您可同时打开数个文档窗口以显示文档的不同部分或视图。如果您对一个窗口的内容做了改动,所有其它包含同一文档的窗口也会反映出这些改动。当您打开一个新的窗口,这个新窗口就成了活动的窗口并显示于所有其它打开窗

21、口之上。(2) 层叠 (C):按重叠方式安排窗口,用此命令按相互重叠形式来安排多个打开的窗口。(3) 平铺 (T):按互不重叠平铺方式安排窗口,用此命令按互不重叠形式来安排多个打开的窗口。(4) 排列图标 (A):安排已最小化窗口的图标,用此命令在主窗口的底部安排被最小化的窗口的图标。如果在主窗口的底部有一个打开的窗口,则有可能会看不见某些或全部图标,因为它们在这个文档窗口的下面。(5) 窗口1,2,. 转到指定的窗口,TD-ACC 在窗口菜单的底部显示出当前打开的文档窗口的清单。有一个打勾记号出现在活动的窗口的文档名前。从该清单中挑选一个文档可使其窗口成为活动窗口。10帮助菜单项(略)3.2

22、.3 工具栏功能是前述菜单功能的快捷图形方式,功能不再赘述。1标准工具栏标准工具栏共有十二个按钮,其图如下:2编译工具栏编译工具栏共有五个按钮,其图如下:3调试工具栏:调试工具栏共有八个按钮,其图如下:3.2.4 虚拟仪器界面1时域测量(1) 图形及参数显示说明图形显示可同时显示两路波形或只显示一路波形,用鼠标拖动或键盘方向键移动游标可测量出对应的时间间隔、频率及各自的幅值,且各自幅值的参数与对应波形的颜色一致。(2) 工具栏功能介绍:启动时域波形数据采集并显示波形。:停止时域波形数据采集,此时所显示的波形对应最后采集到的数据。:将当前显示的波形保存为位图文件。(3) 按钮功能介绍a) 时间档

23、位选择框用来改变时间轴的范围,显示数据为当前时间轴每格表示的时间值。点击按钮可弹出4ms、8 ms、20 ms、40 ms、100 ms、200 ms、500 ms、1s、2 s、20 s、50 s共11个时间挡,供用户选择。按钮用来选择当前显示时间档的后一个档 (如1ms), 按钮用来选择当前显示时间档的前一个档 (如200ms)。b) 电压选择框点击该组控件中CH1、CH2 旁边的选择框,打对勾表示该路波形显示,否则不显示。点击对应的颜色框,可弹出颜色选择对话框,供用户选择该路波形的显示颜色。显示框显示的数据为该路波形当前的电压档,即纵向每格代表的电压值。点击按钮,数据显示框可弹出100m

24、v、200mv、500mv、1v、2 v、5 v、10 v共7个电压挡,供用户选择。数据显示框右边的 按钮用来选择当前显示电压档的后一个档 (如2v), 按钮用来选择当前显示电压档的前一个档 (如500mv)。c) :选中该选择框表示显示游标及对应的测量值,否则只显示波形。d) :启动时域波形数据采集并显示波形。e) :停止时域波形数据采集,此时显示的波形对应最后采集到的数据。f) :将当前显示的波形保存为位图文件。2X_Y 测量(略)3频率特性测量(略)3.2.5 Debug 调试命令该软件输出区集成有Debug 调试,点击调试标签,进入Debug 状态,会出现命令提示符“”,主要命令叙述如

25、下:A 进入小汇编格式:A段址:偏移量A 段址:偏移量从段址:偏移量构成的实际地址单元起填充汇编程序的目标代码;A 偏移量从默认的段址与给定的偏移量构成的实际地址单元起填充汇编程序目标代码;A 从默认段址:默认偏移量构成的实际地址单元起填充汇编程序的目标代码;输入上述命令后,屏幕显示地址信息,即可输入源程序。若直接回车,则退出命令。汇编程序输入时,数据一律为十六进制数,且省略H 后缀。m类操作一定要在 之前标注W(字)或B(字节)。如:MOV B2010, AX,MOV W2010, AX。例:在“”提示符下键入A2000 ,此时默认的段址CS 为0000,规定偏移量IP 为2000,屏幕显示

26、与操作为:表3-2-1 小汇编操作示例显示内容键入内容0000:2000MOV AX, 12340000:2003INC AX0000:2004DEC AX0000:2005JMP 20000000:2007B 断点设置在系统提示符下,键入B ,系统提示i:,等待输入断点地址。输入断点地址后回车,系统继续提示i1:。若直接键入回车,则结束该命令。系统允许设置最多10 个断点,断点的清除只能是通过系统复位或重新上电来实现。例:表3-2-2 B命令示例显示内容键入内容 B0:20091:D 显示一段地址单元中的数据格式:D段址:起始地址,尾地址D 命令执行后屏幕上显示一段地址单元中的数据,在显示过

27、程中,可用CtrlS 来暂停显示,用任意键继续;也可用CtrlC 终止数据显示,返回监控状态。E 编辑指定地址单元中的数据格式:E段址:偏移量该命令执行后,则按字节显示或修改数据,可通过“空格”键进入下一高地址单元数据的修改,使用“”键则进入下一低地址单元进行数据的修改,并可填入新的数据来修改地址单元的内容。若输入回车,则结束E 命令。例:表3-2-3 E命令示例显示内容 键入内容 E35000000:3500 00_ 05 空格0000:3501 01_0000:3502 02_0000:3501 01_G 运行程序格式:G段址:偏移量G段址:偏移量其中G 格式表示无断点连续运行程序,GB

28、格式表示带断点连续运行程序,连续运行过程中,当遇到断点或按下CtrlC 键时,终止程序运行。M 数据块搬移格式:M 源地址,尾地址 目标地址R 寄存器或片内RAM 区显示与修改格式:R 或R 寄存器名R 操作后,屏幕显示:CSXXXX DSXXXX IPXXXX AXXXXX FXXXX若需要显示并修改特定寄存器内容,则选择R 寄存器名操作。如RAX ,则显示:AXXXXX,键入回车键,结束该命令。若输入四位十六进制数并回车,则将该数填入寄存器AX中,并结束该命令。T 单步运行指定的程序格式:T=段址:偏移量每次按照指定的地址或IP/PC 指示的地址,单步执行一条指令后则显示运行后的寄存器情况

29、。U 反汇编格式:U段址:起始地址,尾地址第四章 I386EX 系统板的资源分配4.1 系统内存分配系统内存分配情况如图5.1-1 所示。系统内存分为程序存储器和数据存储器,程序存储器为一片128KB 的FLASH ROM,数据存储器为一片128KB 的SRAM。图4.1-1 系统内存分配4.2 系统编码采用内存与IO 独立编址形式,内存地址空间和外设地址空间是相对独立的。内存地址是连续的1M 字节,从00000HFFFFFH。外设的地址范围从0000HFFFFH,总共64K 字节。存储器编址见表4.1-1表4.1-1 存储器编址信号线 编址空间系统程序存储器 E0000HFFFFFH系统数据

30、存储器00000H1FFFFH4.3 BIOS 说明表4.1-2 BIOS 说明中断号绝对地址中断内容备注00 00H除数为0,溢出系统发出中断请求01 04H单步(Trap)02 08HNMI03 0CH程序断点04 10H算术溢出0507 181FH保留用于系统扩展0820H8259 实时钟中断8259硬中断矢量区09、0A、0B24H、28H、2CH用户自定义0C 30H串行口中断0D、0E、0F 34H、38H、3CH用户自定义10 40H显示器I/O1113 444FH保留14 50H查询方式串行通讯151A 54H6BH保留1B 6CHCtrl+C终止程序运行1C1F 707FH保

31、留20 80H程序终止2127849FH保留28 A0HCtrl+S处理暂停运行29 A4HCtrl+P 处理连接打印机2A-36 A8DBH用户扩展敏感特殊键处理37FF DC3FFH触发键处理4.4 INT 10 功能说明INT 10 功能使用说明如表4.1-3 所示。表4.1-3 INT 10 功能使用说明入口:AH00H,AL01H功能:清屏入口:AH01H,AL数据功能:写AL 中的数据到显示屏上入口:AH06H,DS:BX字串首地址,且字串尾用00H 填充功能:显示一字串,直到遇到00H 为止第二部分 实验教程实验一 系统认识及程序调试练习实验目的1掌握TD-ACC+实验教学系统联

32、机软件中的各菜单功能,熟练掌握其中的程序编辑、编译、链接、加载及调试方法。2了解TD-ACC+实验教学系统的系统资源及硬件操作环境。实验设备PC 机一台,TD-ACC+实验系统一套实验内容1阅读“第一部分 i386EX 系统板介绍”,了解TD-ACC+实验教学系统的构成;2读懂实验程序,对实验程序进行编辑、编译、链接、加载及调试练习。实验原理调试下列程序:在显示器上显示一行26个英文字母,换行后重复进行。第一种实现方法:显示两行字母之间的延时时间采用软件延时方式。实验程序1(采用软件延时方式)CODE SEGMENT ASSUME CS:CODESTART: MOV CX,001AH ;显示字

33、符个数(26)CX MOV AH, 01 MOV AL, 13 INT 10H ;显示换行 CALL DELAY ;调用延时子程序 MOV AL,41H ;送字符A的ASC码AGAIN: MOV AH,01 ;显示一个字符 INT 10H INC AL ;下一显示字符的ASC码 LOOP AGAIN ;连续显示26个字母 JMP START ;重复进行DELAY: PUSH CX ;延时子程序 MOV CX,0FFFFH DEL1: PUSH AX POP AX LOOP DEL1 24MHzTMROUT1INT3TMRCLK1CLK2i386EX CPU分频OUT1IRQ71M图1-1 PO

34、P CX RET CODE ENDS END START 第二种实现方法:显示两行字母之间的间隔时间用内部定时器8254进行控制,时间到由定时器的OUT端发出脉冲信号到中断控制器8259的中断信号输入端,向CPU请求中断,在中断程序中完成显示一行字母的功能。硬件接线如图1-1,用排线将i386内部1#定时器输出OUT1连接到8259的一个中断请求端IRQ7。8254与8253类似,它们的编程方式是兼容的,其控制字格式如下: D7 D6 D5 D4 D3 D2 D1 D0SC1SC0RW1RW0M2M1M0BCD SC1 SC0所选计数器 0 0 计数器0 0 1 计数器1 1 0 计数器2 1

35、 1 无意义 RW1 RW0读/写格式 0 0 锁定当前计数值(供CPU读取)0 1 只读/写低8位 1 0 只读/写高8位 1 1 先读/写低8位,后读/写高8位 M2 M1M0工作方式选择0 0 0 方式00 0 1 方式1X 1 0 方式2X 1 1 方式31 0 0 方式4 1 0 1 方式5 BCD计数格式0 计数器按二进制格式计数1 计数器按BCD码格式计数实验程序2(采用定时中断方式)CODE SEGMENT ASSUME CS:CODESTART: MOV AX,OFFSET IRQ7;填写8259的7号中断矢量入口地址的偏移量 MOV SI,003CH ;填写8259中断7的

36、中段矢量 MOV SI,AX ;填偏移量矢量 MOV AX,CS ;填写8259中断矢量入口地址的段地址 MOV SI,003EH ;填写7号中断段地址矢量 MOV SI,AX CLI ;关系统总中断 CALL SYSINTI;调用系统初始化子程序 MOV DX,0F043H MOV AL,076H ;初始化1定时器 OUT DX,AL MOV DX,0F041H MOV AL,10H ;定时10ms时间常数低8位 OUT DX,AL ;写1#定时器定时常数的低字节 MOV X,0F041H MOV AL,27H ;定时10ms时间常数高8位 OUT DX,AL ;写1#定时器定时常数的高字节

37、 MOV BX,64H MOV AH, 01 MOV AL, 13 INT 10H ;显示换行AGAIN: STI ;打开系统总中断 HLT;停机等待直到有中断产生 JMP AGAIN ;继续IRQ7: DEC BX JNZ FINISH MOV BX,64H MOV CX,001AH MOV AL,41HAGAIN1: MOV AH,01 INT 10H INC AL LOOP AGAIN1 MOV AH, 01 MOV AL, 13 INT 10H FINISH: MOV AL,20H ;中断结束 OUT 20H,AL IRET ;中断返回 SYSINTI: MOV AX,8000H ;系

38、统初始化子程序(已保存在机器中) OUT 23H,AL ;扩展IO使能 XCHG AL,AH OUT 22H,AL OUT 22H,AX MOV DX,0F822H ;初始化管脚配置P2CFG,配置CS0# MOV AL,70H OUT DX,AL MOV DX,0F824H ;初始化管脚配置P3CFG,配置主片IRQ7 MOV AL,0B2H OUT DX,AL MOV DX,0F832H ;初始化管脚配置INTCFG MOV AL,0AH OUT DX,AL MOV DX,0F834H ;初始化管脚配置TMRCFG MOV AL,15H ;将GATE1接VCC OUT DX,AL MOV

39、AL,11H ;初始化主片8259 OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,01H OUT 21H,ALMOV AL,6FH ;写主片8259的中断屏蔽字,允许主片的IRQ7(用OUT 21H,AL 户程序使用)和IRQ4(系统通讯用) MOV AL,11H ;初始化从片8259 OUT 0A0H,AL MOV AL,30H OUT 0A1H,AL MOV AL,02H OUT 0A1H,AL MOV AL,01H OUT 0A1H,AL MOV AL,0FFH OUT 0A1H,AL RET CODE END

40、S END START 实验步骤1打开微机及实验系统电源。2如提示联机有问题,检查USB及串口通讯线是否正常连接,并按复位按钮(置于实验面板上的i386EX 系统小板上)。3编辑程序1。然后编译链接并加载,如中间出现错误,则按提示进行修改,直至加载成功。4按工具栏上的“RUN”按钮执行程序。5观察输出窗口的显示内容并记录。如结果不正确,使用单步、跳过、断点方式运行调试程序。6试用单步、跳过、断点方式运行调试程序,记录运行中间寄存器变化及显示结果。7编辑程序2。其中系统初始化子程序已保存在机器上,文件名:c:shiyancsh.asm。打开该文件,将该文件复制粘贴到编辑程序2中。8用排线连接控制

41、计算机上的IRQ7与OUT1信号。9同步骤5。10改变编辑程序2中软件计数器BX的值,调整两行字母之间的显示时间间隔,重复以上步骤。预习报告要求1写明实验目的、内容、步骤等。2根据实验程序画出程序框图。3回答思考问题。 思考题1集成到i386EX芯片内部的主要外围接口电路有哪些?2扩展I/O 接口地址信号/IOY0、/IOY1,以及内部1定时器控制寄存器TMRCON、数据寄存器TMR1的地址分别为多少? 3程序中用“INT 10H”输出的结果显示在主界面窗口的哪个区?4生成可执行文件需要经过哪些步骤?要使可执行文件能够运行还需要经过哪个步骤?5阅读程序2,写出计数器时间常数的计算过程。按照该程

42、序显示两行字母之间的时间间隔是多少?6如何判断程序的段地址,从而得到程序加载的物理地址?是否可由Debug显示程序的机器码?写出操作步骤。实验报告要求1整理实验结果,包括使用单步、跳过、断点方式运行调试程序时,记录的中间寄存器变化及运行结果。2对实验中使用的命令进行小结。3实验过程中遇到的问题进行分析、总结。实验二 D/A转换实验实验目的1学习掌握D/A转换的基本原理及TLC7528 芯片的性能。2学习利用DAC产生连续波形的编程方法。实验设备PC 机一台,TD-ACC+实验系统一套实验内容编写实验程序,实现D/A转换产生周期性同步的锯齿波和方波(如图2-1),并用虚拟示波器观察波形。图2-1

43、实验原理本实验采用TLC7528 芯片,它是8 位、并行、两路、电压型输出数模转换器。其主要参数如下:转换时间100ns,满量程误差1/2 LSB,参考电压10V +10V,供电电压+5V+15V,输入逻辑电平与TTL 兼容。方法一:软件延时控制计算机按一定规律连续输出数据到DAC转换器,转换后产生相应的连续波形。实验中的锯齿波由数据00HFFH连续循环输出产生,上升幅度为01个数据量,即每输出一次后数据加一,数据输出的时间间隔由软件延时控制;方波由两个数据00H和FFH交替输出产生,每当锯齿波数据由FFH变到00H(用加一指令即可)时方波变换为另一个数据(00H变为FFH或FFH变为00H)

44、,从而实现两波形的同步效果。实验平台中的TLC7528 的八位数据线、写信号线和通道选择控制线已接至控制计算机的总线上。片选线预留出待实验中连接到相应的I/O 片选上,具体如图2-2。图2-2以上电路是TLC7528 双极性输出电路,输出范围5V +5V。“W101”和“W102”分别为A路和B路的调零电位器,实验前先调零,用DEBUG命令直接往TLC7528 的A口和B口中送入数字量80H,分别调节“W101”和“W102”电位器,用万用表分别测“OUT1”和“OUT2”的输出电压,应在0mV 左右。控制计算机-IOW 数模转换器-WR: IOW为D/A的写信号;控制计算机-IOY1数模转换

45、器-CS: IOY1为D/A转换器片选信号,其地址可选为0640H0641H; 控制计算机-XD0XD7数模转换器- D0D7:控制计算机的八位数据线接至D/A转换器的八位数据输入端;控制计算机-A0数模转换器- A0:A0为0选中通道A,为1选中通道B。参考流程:开始变量2取反变量1是否为0?变量1送D/A通道A变量1、2=0变量2送D/A通道 B调用延时子程序变量1加一YN图2-3方法二:利用定时器控制输出间隔时间。同实验一,对控制计算机内的1#计数器编程,定时时间1ms,时间到由定时器OUT1产生的信号接到控制计算机的中断请求IRQ7申请中断,在中断程序中进行D/A数据输出。自行设计接线

46、图及程序流程图。实验步骤1按图接线,画“”的线需自行连接,不带“”的线电路板上已连好无须连接。连接好后,请仔细检查,无误后方可接通电源。2D/A转换器调零。在输出窗口区/调试窗口下的“”提示符后键入O 0640 80,用虚拟万用表测量数模转换单元OUT1端,调电位W101使该端输出电压为0.00V,同样键入O 0641 80,用虚拟万用表测量数模转换单元OUT2端,调电位W102使该端输出电压为0.00V。3编辑程序1,延时子程序文件名:c:shiyanyanshi.asm可以打开并粘贴到程序中。然后编译链接并加载,如中间出现错误,则按提示进行修改,直至加载成功。4按工具栏上的“RUN”按钮执

47、行程序。5点击虚拟示波器菜单,进入虚拟示波器界面,按“运行”按钮观察并记录OUT1、OUT2输出波形。6如示波器显示不正确,运用调试命令调试程序,找出程序中的问题,使之实现预期的结果。7完成方法二的接线,编辑程序2,重复步骤36。8改变计数器的定时时间,以改变锯齿波的周期,重复以上步骤,用示波器观察输出波形并记录。预习报告要求1写出实验目的、内容、原理、步骤等,画出实验电路图。2完成方法二的电路原理图,画出程序流程。3根据流程图编写实验程序,正确选取8254、8259的控制字和工作方式,计算8254计数初值,确定中断向量。4回答思考问题。 思考题如实验中的8253计数器定时时间为1ms,则锯齿

48、波的周期为多少?实验报告要求1整理实验数据,画出实验结果波形。2附上调试通过的程序清单。3实验过程中遇到的问题进行分析、总结。实验三 A/D转换实验实验目的1学习掌握A/D转换的基本原理及ADC0809器件的性能。2掌握实验教学系统中A/D转换单元的电路原理。3了解模数转换器的采样作用及学习选择采样周期。实验设备PC 机一台,TD-ACC+实验系统一套实验内容1当输入电压为5.00V到+5.00V之间变化时,由显示器上读取A/D转换数值。2当A/D输入为连续信号时,由A/D输入并由D/A直接输出,用示波器观察D/A端输出的相应信号。改变采样周期观察波形何时失真,观察D/A器件的零阶保持器的作用

49、。实验原理1ADC0809 芯片主要包括多路模拟开关和A/D转换器两部分,其主要特点为:单电源供电、工作时钟CLOCK 最高可达到1200KHz、8 位分辨率,8个单端模拟输入端,TTL 电平兼容等,可以很方便地和微处理器接口。TD-ACC+教学系统中的ADC0809 芯片,其输出八位数据线以及CLOCK 线已连到控制计算机的数据线及系统应用时钟1MCLK(1MHz)上。其它控制线根据实验要求可另外连接 (A、B、C、STR、/OE、EOC、IN0IN7)。其中IN0IN5的模拟量输入允许范围:0V4.98V,对应数字量00HFFH,2.5V对应80H。IN6和IN7两路由于接了上拉电阻,所以

50、模拟量输入允许范围:-5V+4.96V,对应数字量00HFFH。0V对应80H。模数转换单元原理图如图3-2。根据实验内容一,可以设计出如图3-1所示的实验线路图。5.00V到+5.00V的输入电压由单次阶跃单元电路的电位器进行调节获得,考虑模拟量输入允许范围(-5V+4.96V)选取IN7为模拟量输入端,因而地址线A、B、C应接高电平(+5),ADC0809转换器的启动信号START(STR)由内部1#定时器输出信号OUT1控制,转换结束后数据锁存在三态输出锁存器中,当计算机读取数据时,IN语句中的地址信号IOY0有效,使得ADC0809输出允许信号OE有效,转换好的数据出现在ADC0809

51、数据端口上供计算机读取。图3-1模数转换单元-A,B,C+5V:选择A/D输入通道为INT7,地址码为“111”;单次阶跃单元-X+5V,U14-Z-5V:使U14单元的Y端输出 5 V +5V连续可调电压;控制计算机-分频器模数转换单元-CLOCK:提供给A/D器件的时钟信号,频率为1MHz;同时该信号提供给内部计数器作时钟。控制计算机-OUT1模数转换单元-STR:控制计算机的1#计数器输出定时信号,启动A/D转换器。控制计算机-/IOY0模数转换单元-/OE:控制计算机的端口有效地址/IOY0使模数转换ADC0809的输出允许控制OE有效,ADC0809三态输出锁存缓冲器中的数据可供计算

52、机读取。控制计算机- XD0XD7模数转换单元- D0D7:控制计算机的数据线接A/D转换器的八位数据线。XD0-XD7图3-2开始写1#定时时间常数(1ms)调用短延时子程序1(1ms)读A/D采样值写1#定时器控制字(方式4)调用显示子程序调用长延时子程序2(500mst1.5s)调用初始化子程序参考流程:图3-3控制计算机内部定时器定时1ms,每1ms在OUT1端产生一个负脉冲,经反相后变为正脉冲(如图32)启动A/D转换器,定时器的工作方式选择方式4(软件触发的选通信号发生器),时间到产生一个负脉冲后便一直维持高电平,除非写入新的计数初值。经过软件短延时(等待A/D转换结束)后,将A/

53、D 转换完后的数据量读入到控制计算机中,程序中通过调用内部中断INT 10H,将数据最后显示在输出区窗口。程序中使用的延时及显示子程序已保存在机器中。显示子程序:DISPLAY: PUSH AXMOV AX,0001INT 10POP AXMOV CL,04MOV DL,ALSHR AL,CLCMP AL,09JNA DLAY1ADD AL,07NOPDLAY1: ADD AL,30MOV AH,01INT 10AND DL,0FCMP DL,09JNA DLAY2ADD DL,07DLAY2: ADD DL,30MOV AL,DLMOV AH,01INT 10RET 延时子程序: DELAY: PUSH CX MOV CX,1000HDEL: PUSH AXPOP AXLOOP DELPOP CXRET精品范文模板 可修改删除2对连续信号进行采样,然后再还原输出为模拟信号。由正弦波单元的“OUT”端输出周期性的正弦波信号,通过模数转换单元的“IN7”端输

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!