《计算机控制技术实验指导书修(共39页).doc》由会员分享,可在线阅读,更多相关《计算机控制技术实验指导书修(共39页).doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上目 录第一部分 i386EX 系统板介绍第一章 i386EX 系统板概述1.1 系统简介“TD-ACC+”教学实验系统,其基本配置就含有一个开放式的模拟实验平台和一组先进的虚拟仪器,可以高水平地支持自动控制原理的实验教学,若再选配“i386EX 系统板”,就还可以开展“80X86 的计算机控制技术”的实验教学。i386EX 系统板是一种基于intel386EX嵌入式微处理器的控制机,它以嵌入式应用为中心,可以满足大多数技术领域的需要,是当今微机应用及嵌入式技术发展的主流。配置了“i386EX 系统板”的“TD-ACC+自动控制原理/计算机控制技术”教学实验系统其构成主
2、要包括:i386EX 系统、开放式的模拟实验平台、一组先进的虚拟仪器以及新编的自动控制原理实验教程和80X86 计算机控制技术实验教程。整个实验系统的结构框图如下页所示。1.2 i386EX 系统板的特点1. 采用先进的嵌入式微处理器采用INTEL公司新推出的32位嵌入式处理器i386EX,使该嵌入式控制计算机功能达到了最优化。它功耗小,将许多经常使用的外围接口如8259、8254、8250和8237等集成到芯片内部,内部为32位总线,外部为16位数据总线,保持与标准的32位80386CPU相同的指令系统,具有64MB的寻址能力。2. 总线标准和工业PC104-ISA标准兼容该控制计算机具有2
3、4MHz的工作频率,128KB的程序存储器和128KB的数据存储器,满足复杂计算机控制和嵌入式应用的要求。采用控制计算机加模拟实验平台的结构设计,将i386EX的总线和接口资源以PC104-ISA的总线标准引出。3. 功能强大的源码级调试环境控制计算机通过串口与PC微机相连,并配备了C语言及汇编语言的源码级调试开发环境,功能强大。具有单步、跳过、断点、连续、变量跟踪等调试功能,可多方位、动态地调试实验程序。第二章 i386EX 系统板的硬件操作环境系统的部分总线以排针的形式引出,与实验单元相连可完成相应的实验。系统引出信号线说明及相关的端口地址见表2.1-1。表2.1-1 控制计算机系统信号线
4、说明信号线说 明相关的端口地址D0D7系统的低八位数据线A0A3系统地址线低四位(输出)/IOR、 /IOW I/O读、写信号(输出)IRQ5、IRQ6、IRQ7内部主片8259 中断请求信号(输入)P3CFG 扩展I/O 地址为:F824HINTCFG 扩展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 接
5、口待扩展信号(输出)0600H063FH/IOY1 0640H067FH/IOY2 0680H06BFHDIN0DIN34 位数字量输入信号(输入)P1 口的低四位对应P1.0 P1.3P1CFG 扩展I/O 地址为:F820HP1DIR 扩展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 地址使能操作:_as
6、m MOV AX,8000HOUT 23H,ALXCHG AL,AHOUT 22H,ALOUT 22H,AX 扩展I/O 地址无效操作:_asm MOV AL,00HOUT 23H,AL第三章 联机软件说明3.1 联机软件系统概述该联机软件集成了源码级调试软件和虚拟仪器软件。该软件具有汇编语言和C 语言源语言级调试跟踪界面,有别于传统的DEBUG 调试,操作更简单,视觉效果更直接。如果用户习惯于DEBUG 调试,点击输出区的调试标签亦可对源程序进行DEBUG 调试。用户可以选择是否监控堆栈,也可以通过“变量监控”对话框选择监控哪些全局变量;寄存器/变量/堆栈区能够对下位机的寄存器、变量和堆栈实
7、现实时监视,使寄存器/变量/堆栈区的数据永远是下位机中数据的真实反映;在寄存器/变量/堆栈区改写寄存器和变量的值,即可改变下位机中寄存器和变量的值。软件集成了一组功能强大的数字化虚拟仪器界面,用于时域曲线的实时测量和分析、频率特性分析、X_Y 测量、阻容/电压值测量等。联机软件具有特点如下:(1) 支持汇编语言和C 语言两种编译环境(2) 高度可视化的源语言级调试跟踪界面(3) 实时监视寄存器,能够即时对寄存器中的值进行修改(4) 可以选择要监视的全局变量,进行实时监视和即时修改(5) 可以选择是否要实时监视堆栈寄存器(6) 集成虚拟仪器:具有双踪超低频数字存贮示波器、频率特性分析仪、X_Y
8、测量和数字万用表。3.2 软件使用说明3.2.1 主界面窗口主要分为三部分:程序编辑区、变量区和输出区。1程序编辑区位于界面右上部,用户可在程序编辑区用“新建”命令打开一个新文档或用“打开”命令打开一个已存在的文档,在文档中用户可编辑程序。用户可在程序编辑区打开多个文档,点击文档标签可激活任一文档。编译、链接、加载以及调试命令只针对当前活动文档。用户调试程序时,程序运行的轨迹亦在当前活动文档中指示。2变量区位于界面左上部,包括三个部分:寄存器区、变量区和堆栈区。寄存器区和变量区用于实时监视、修改寄存器和变量的值,堆栈区主要用于实时监视用户堆栈区。点击寄存器区标签可观察和修改寄存器,点击变量区标
9、签可观察和修改变量,点击堆栈区标签可观察用户堆栈区。执行各种调试操作后,寄存器、变量和堆栈区的值会自动刷新,如果寄存器区刷新后的值和刷新前的值相同,则显示为蓝色,如果不同,则显示为红色。变量区和堆栈区刷新前和刷新后都为蓝色。想修改寄存器或变量,用鼠标左键单击某寄存器或变量,当寄存器或变量值的区域变为蓝色后输入修改后的值,然后回车。如果修改的是寄存器,输入值的长度应与寄存器的长度相同,回车后修改正确,如果输入值的长度和寄存器的长度不相同,寄存器的值不会被修改,保持原来的值且可以继续修改该寄存器的值。如果修改的是变量,输入值的长度与变量的长度相同,回车后修改正确,如果输入值的长度小于变量的长度,回
10、车后输入值的前面自动添零,如果输入值的长度大于变量的长度,回车后输入值的后面的多余部分自动删除。堆栈区只用于监视,不能够被修改。3输出区位于界面下部,输出区包含三个部分:编译区、调试区和结果区。编译区显示编译和链接的结果,如果编译时有错误或警告,双击错误或警告信息,错误标识符会指示到相应的有错误或警告的行。调试区主要用于DEBUG 调试。结果区主要用于显示程序加载结果、程序运行输出结果和复位结果。结果区中有“加载中,请稍候.”的字样表示联机软件正在把可执行文件加载到下位机中,用户此时应等待直到加载完成,“加载成功”表示加载完成且成功,“加载失败”表示加载完成且失败,此时应重新加载。程序中用“I
11、NT 10H”输出的结果亦显示在此区。软复位或硬件复位成功后,结果区显示“复位成功!”。如果复位不成功则不显示此句。3.2.2 菜单功能1文件菜单项(略)2编辑菜单项(略)3查看菜单项(略)4端口菜单项(略)5编译菜单项该项提供了以下命令:(1) 编译 (C):编译当前活动文档中的源程序,在源文件目录下生成目标文件。如果有错误或警告生成,则在输出区显示错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译”。如果编译没有错误生成 (即使有警告生成) 使能“链接”菜单项和工具栏中的“链接”按钮,以便进行链接。编译时自动保存源文件中所做的修改。(2) 链接
12、 (L):链接编译生成的目标文件,在源文件目录下生成可执行文件。如果有错误或警告生成,则在输出区显示错误或警告信息,查看错误或警告信息修改源程序,修改后应重新“编译”和“链接”。如果链接没有错误生成 (即使有警告生成),使能“加载”菜单项和工具栏中的“加载”按钮,以便进行加载。(3) 加载 (D):把链接生成的可执行文件加载到下位机。在加载过程中输出区有“加载中,请稍候.”的字样,用户此时应该等待直到加载完成。加载完成后,如果加载成功,输出区显示“加载成功!”,使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时CS 和IP 指向程序的开始执行行并在此行设置执行标记。如果加载失败,输出区显示“
13、加载失败!”,不使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时应重新进行“加载”。(4) 编译链接并加载 (T):依次执行编译、链接和加载。中间各环节“成功”或“失败”提示的信息及操作同上。6设置菜单项 (1) 语言:设置语言环境汇编语言:设置编译环境为汇编语言环境。此时可编辑、编译和链接IBM-PC 汇编语言源程序。C 语言:设置编译环境为C 语言环境。此时可编辑、编译和链接TURBO C 语言源程序。(2) 变量监控:加载成功后才可用此按钮。点击此按钮,出现如下对话框:选择要监视的全局变量,左边的列表框为程序中的全局变量,系统只能监视全局变量,右边的列表框为系统正在监视的全局变量。如
14、果想监视左边列表框的某一变量A,用鼠标左键单击变量A,使之成为选择项,如上图所示,此时点击“加入监视”按钮,右边的列表框出现变量A,点击“结束”按钮后变量A 会出现在变量区。如果想从变量区去掉某一正在监视的变量B,点击“变量监控”按钮,出现如上图所示对话框,在右边的列表框中用鼠标左键单击变量B,使之成为选择项,如上图所示,此时点击“停止监视”按钮,此变量从右边的列表框消失,点击“结束”按钮后,变量B 从变量区消失。在汇编语言源文件中,数据段定义的变量并不是全局变量,因此数据段定义的变量并不出现在上图所示的对话框的左边列表,要想监视这些变量,必须使它们成为全局变量,使一个变量成为全局变量的方法是
15、用关键字PUBLIC 在源程序的最前面声明之,格式是:PUBLIC symbol,.,范例如下:数据段DATA1 中的数据 mus_time,mus_freq 经过PUBLIC 声明后成为全局变量,编译、链接、加载完成后,点击“变量监控”按钮,此时对话框左边的列表框出现 mus_time 和mus_freq变量,可对这两个变量进行监控。在C 语言源文件的调试中,系统也只能监视全局变量。要想监视某一变量,应该把他定义为全局变量。(3) 堆栈监控:选择是否要监视用户堆栈区,点击此按钮出现如下对话框:选择“不监控堆栈”单选按钮,确定后不监视堆栈区,选择“监控堆栈”单选按钮,确定后监视堆栈区。默认选项
16、为“不监控堆栈”。7调试菜单项(1) 设置断点/删除断点 (B)设置或删除一个断点,当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。如果当前行无断点则在当前行设置断点,如果当前行有断点则删除当前行的断点。设置断点的行如上图所示。并不是源程序的所有行都可以设置断点,如伪操作行和空行不能设置断点。源程序设置的断点数不能超过8 个。(2) 清除所有断点 (D):清除所有设置的断点,清除源程序中设置的所有断点,只有当设置的断点数大于零时,该菜单才使能。(3) 设置起点 (T)设置程序开始运行的起点,当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。此命令把当前行设置为程序的起
17、点,即程序从此行开始运行,寄存器区的CS 和IP 的值刷新后指向此行,设置程序起点的行如上图所示。并不是源程序的所有行都可以设置起点,如伪操作行和空行不能设置起点。(4) 单步 (T):执行一条语句,点击此命令使程序执行一条语句,如果是函数则进入函数内部,执行后刷新所有的变量和寄存器的值。如下图,“ADD WANG1,01H”为当前执行行。点击“单步”指令后,执行界面如下图,此时“ADD WANG2,01H”变成当前执行行。如果当前执行行的下一行有断点,如下图所示。那么,单步后的当前执行行有断点,执行界面就如下图所示。如果当前执行行为函数调用,如下图所示,点击“单步”指令后,当前执行行进入函数
18、内部,执行界面如下图所示,并不是所有行的语句都适用单步,对于那些试图改变控制计算机和PC 微机通讯电路设置的语句,使用单步命令会导致下位机死机,从而不响应上位机的命令。出现单步死机情况后应先软件复位,如果软件复位成功,则不需要硬件复位,如果软件复位不成功,系统会提示您硬件复位,硬件复位成功后会使能调试工具栏的按钮。(5) 跳过 (O):跳过一个函数。点击此命令使程序执行一个函数,执行后刷新所有变量和寄存器的值。只有当当前执行行为函数调用,如下图所示,才用此命令,此时当前执行行为“call WW31”,点击“跳过”指令后,执行界面如下图所示,此时当前执行行为“mov al,05h”。如果当前执行
19、行为函数调用且下一行有断点,如下图所示,点击“跳过”指令后的当前执行行有断点,执行界面就如下图所示。如果函数内部有断点,点击“跳过”指令后,程序会停在函数内部有断点的行,如下图所示。(6) 运行/运行到断点:从当前执行行开始向后运行,如果没有断点,则运行直到程序结束。如果有断点,则运行到断点后停止。(7) 停止:停止运行,发送此命令使程序停止运行,程序停止后刷新所有寄存器和变量的值。8虚拟仪器菜单项(略)具体各项说明详见“虚拟仪器”部分。9窗口菜单项窗口菜单提供了以下命令,这些命令使您能在应用程序窗口中安排多个文档的多个视图:(1) 新建窗口 (N):建立一个查看同样文档的新窗口,用此命令来打
20、开一个具有与活动的窗口相同内容的新窗口。您可同时打开数个文档窗口以显示文档的不同部分或视图。如果您对一个窗口的内容做了改动,所有其它包含同一文档的窗口也会反映出这些改动。当您打开一个新的窗口,这个新窗口就成了活动的窗口并显示于所有其它打开窗口之上。(2) 层叠 (C):按重叠方式安排窗口,用此命令按相互重叠形式来安排多个打开的窗口。(3) 平铺 (T):按互不重叠平铺方式安排窗口,用此命令按互不重叠形式来安排多个打开的窗口。(4) 排列图标 (A):安排已最小化窗口的图标,用此命令在主窗口的底部安排被最小化的窗口的图标。如果在主窗口的底部有一个打开的窗口,则有可能会看不见某些或全部图标,因为它
21、们在这个文档窗口的下面。(5) 窗口1,2,. 转到指定的窗口,TD-ACC 在窗口菜单的底部显示出当前打开的文档窗口的清单。有一个打勾记号出现在活动的窗口的文档名前。从该清单中挑选一个文档可使其窗口成为活动窗口。10帮助菜单项(略)3.2.3 工具栏功能是前述菜单功能的快捷图形方式,功能不再赘述。1标准工具栏标准工具栏共有十二个按钮,其图如下:2编译工具栏编译工具栏共有五个按钮,其图如下:3调试工具栏:调试工具栏共有八个按钮,其图如下:3.2.4 虚拟仪器界面1时域测量(1) 图形及参数显示说明图形显示可同时显示两路波形或只显示一路波形,用鼠标拖动或键盘方向键移动游标可测量出对应的时间间隔、
22、频率及各自的幅值,且各自幅值的参数与对应波形的颜色一致。(2) 工具栏功能介绍:启动时域波形数据采集并显示波形。:停止时域波形数据采集,此时所显示的波形对应最后采集到的数据。:将当前显示的波形保存为位图文件。(3) 按钮功能介绍a) 时间档位选择框用来改变时间轴的范围,显示数据为当前时间轴每格表示的时间值。点击按钮可弹出4ms、8 ms、20 ms、40 ms、100 ms、200 ms、500 ms、1s、2 s、20 s、50 s共11个时间挡,供用户选择。按钮用来选择当前显示时间档的后一个档 (如1ms), 按钮用来选择当前显示时间档的前一个档 (如200ms)。b) 电压选择框点击该组
23、控件中CH1、CH2 旁边的选择框,打对勾表示该路波形显示,否则不显示。点击对应的颜色框,可弹出颜色选择对话框,供用户选择该路波形的显示颜色。显示框显示的数据为该路波形当前的电压档,即纵向每格代表的电压值。点击按钮,数据显示框可弹出100mv、200mv、500mv、1v、2 v、5 v、10 v共7个电压挡,供用户选择。数据显示框右边的 按钮用来选择当前显示电压档的后一个档 (如2v), 按钮用来选择当前显示电压档的前一个档 (如500mv)。c) :选中该选择框表示显示游标及对应的测量值,否则只显示波形。d) :启动时域波形数据采集并显示波形。e) :停止时域波形数据采集,此时显示的波形对
24、应最后采集到的数据。f) :将当前显示的波形保存为位图文件。2X_Y 测量(略)3频率特性测量(略)3.2.5 Debug 调试命令该软件输出区集成有Debug 调试,点击调试标签,进入Debug 状态,会出现命令提示符“”,主要命令叙述如下:A 进入小汇编格式:A段址:偏移量A 段址:偏移量从段址:偏移量构成的实际地址单元起填充汇编程序的目标代码;A 偏移量从默认的段址与给定的偏移量构成的实际地址单元起填充汇编程序目标代码;A 从默认段址:默认偏移量构成的实际地址单元起填充汇编程序的目标代码;输入上述命令后,屏幕显示地址信息,即可输入源程序。若直接回车,则退出命令。汇编程序输入时,数据一律为
25、十六进制数,且省略H 后缀。m类操作一定要在 之前标注W(字)或B(字节)。如:MOV B2010, AX,MOV W2010, AX。例:在“”提示符下键入A2000 ,此时默认的段址CS 为0000,规定偏移量IP 为2000,屏幕显示与操作为:表3-2-1 小汇编操作示例显示内容键入内容0000:2000MOV AX, 12340000:2003INC AX0000:2004DEC AX0000:2005JMP 20000000:2007B 断点设置在系统提示符下,键入B ,系统提示i:,等待输入断点地址。输入断点地址后回车,系统继续提示i1:。若直接键入回车,则结束该命令。系统允许设置
26、最多10 个断点,断点的清除只能是通过系统复位或重新上电来实现。例:表3-2-2 B命令示例显示内容键入内容 B0:20091:D 显示一段地址单元中的数据格式:D段址:起始地址,尾地址D 命令执行后屏幕上显示一段地址单元中的数据,在显示过程中,可用CtrlS 来暂停显示,用任意键继续;也可用CtrlC 终止数据显示,返回监控状态。E 编辑指定地址单元中的数据格式:E段址:偏移量该命令执行后,则按字节显示或修改数据,可通过“空格”键进入下一高地址单元数据的修改,使用“”键则进入下一低地址单元进行数据的修改,并可填入新的数据来修改地址单元的内容。若输入回车,则结束E 命令。例:表3-2-3 E命
27、令示例显示内容 键入内容 E35000000:3500 00_ 05 空格0000:3501 01_0000:3502 02_0000:3501 01_G 运行程序格式:G段址:偏移量G段址:偏移量其中G 格式表示无断点连续运行程序,GB 格式表示带断点连续运行程序,连续运行过程中,当遇到断点或按下CtrlC 键时,终止程序运行。M 数据块搬移格式:M 源地址,尾地址 目标地址R 寄存器或片内RAM 区显示与修改格式:R 或R 寄存器名R 操作后,屏幕显示:CSXXXX DSXXXX IPXXXX AXXXXX FXXXX若需要显示并修改特定寄存器内容,则选择R 寄存器名操作。如RAX ,则显
28、示:AXXXXX,键入回车键,结束该命令。若输入四位十六进制数并回车,则将该数填入寄存器AX中,并结束该命令。T 单步运行指定的程序格式:T=段址:偏移量每次按照指定的地址或IP/PC 指示的地址,单步执行一条指令后则显示运行后的寄存器情况。U 反汇编格式:U段址:起始地址,尾地址第四章 I386EX 系统板的资源分配4.1 系统内存分配系统内存分配情况如图5.1-1 所示。系统内存分为程序存储器和数据存储器,程序存储器为一片128KB 的FLASH ROM,数据存储器为一片128KB 的SRAM。图4.1-1 系统内存分配4.2 系统编码采用内存与IO 独立编址形式,内存地址空间和外设地址空
29、间是相对独立的。内存地址是连续的1M 字节,从00000HFFFFFH。外设的地址范围从0000HFFFFH,总共64K 字节。存储器编址见表4.1-1表4.1-1 存储器编址信号线 编址空间系统程序存储器 E0000HFFFFFH系统数据存储器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用
30、户自定义0C 30H串行口中断0D、0E、0F 34H、38H、3CH用户自定义10 40H显示器I/O1113 444FH保留14 50H查询方式串行通讯151A 54H6BH保留1B 6CHCtrl+C终止程序运行1C1F 707FH保留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功能:清屏入口:A
31、H01H,AL数据功能:写AL 中的数据到显示屏上入口:AH06H,DS:BX字串首地址,且字串尾用00H 填充功能:显示一字串,直到遇到00H 为止第二部分 实验教程实验一 系统认识及程序调试练习实验目的1掌握TD-ACC+实验教学系统联机软件中的各菜单功能,熟练掌握其中的程序编辑、编译、链接、加载及调试方法。2了解TD-ACC+实验教学系统的系统资源及硬件操作环境。实验设备PC 机一台,TD-ACC+实验系统一套实验内容1阅读“第一部分 i386EX 系统板介绍”,了解TD-ACC+实验教学系统的构成;2读懂实验程序,对实验程序进行编辑、编译、链接、加载及调试练习。实验原理调试下列程序:在
32、显示器上显示一行26个英文字母,换行后重复进行。第一种实现方法:显示两行字母之间的延时时间采用软件延时方式。实验程序1(采用软件延时方式)CODE SEGMENT ASSUME CS:CODESTART: MOV CX,001AH ;显示字符个数(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 ;重复进行DEL
33、AY: PUSH CX ;延时子程序 MOV CX,0FFFFH DEL1: PUSH AX POP AX LOOP DEL1 24MHzTMROUT1INT3TMRCLK1CLK2i386EX CPU分频OUT1IRQ71M图1-1 POP CX RET CODE ENDS END START 第二种实现方法:显示两行字母之间的间隔时间用内部定时器8254进行控制,时间到由定时器的OUT端发出脉冲信号到中断控制器8259的中断信号输入端,向CPU请求中断,在中断程序中完成显示一行字母的功能。硬件接线如图1-1,用排线将i386内部1#定时器输出OUT1连接到8259的一个中断请求端IRQ7。
34、8254与8253类似,它们的编程方式是兼容的,其控制字格式如下: D7 D6 D5 D4 D3 D2 D1 D0SC1SC0RW1RW0M2M1M0BCD 专心-专注-专业SC1 SC0所选计数器 0 0 计数器0 0 1 计数器1 1 0 计数器2 1 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 计数器按二进制格式计数
35、1 计数器按BCD码格式计数实验程序2(采用定时中断方式)CODE SEGMENT ASSUME CS:CODESTART: MOV AX,OFFSET IRQ7;填写8259的7号中断矢量入口地址的偏移量 MOV SI,003CH ;填写8259中断7的中段矢量 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 MO
36、V DX,0F041H MOV AL,10H ;定时10ms时间常数低8位 OUT DX,AL ;写1#定时器定时常数的低字节 MOV X,0F041H MOV AL,27H ;定时10ms时间常数高8位 OUT DX,AL ;写1#定时器定时常数的高字节 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
37、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 ;系统初始化子程序(已保存在机器中) 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,0B2
38、H 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 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 ENDS END START 实验步骤1打开微机及实验系统电源。2如提示联机有问题,检查USB及串口通讯线是否正常连接,并按复位按钮(置于实验面板上的i386EX 系统小板上)。3编辑程序1。然后编译链接并加载,如中间出现错误,则按提示进行修改,直至加载成功。4按工具栏上的“RUN”按钮执行程序。5观察输出窗口的