




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机接口实验系统及手册(学生)2010年5月第3章 微机接口教学实验系统3.1 微机接口实验系统简介微机接口实验系统是以I386EX CPU为核心的独立32位微机系统,I386EX是一款嵌入式微处理器,其在Intel 386SX微处理器的基础上集成了丰富的外围接口(如8259、8254、16C450和8237等),内部为32位总线,外部为16位数据总线,具有64MB的寻址能力,保持与标准的32位80386CPU相同的指令系统,可完全支持80X86微机原理及接口技术课程的教学。微机接口实验教学系统由I386EX系统板和接口实验平台两部分组合而成,出厂时已将两部分连接好。该系统通过USB口与PC微机相连,构成开放式的微机原理及接口技术实验教学系统。微机接口实验平台上提供丰富的实验单元,如中断控制器8259、DMA控制器8237、定时/计数器8254、并行接口8255、串行通信接口8251、SRAM、FLASH ROM、ADC0809、DAC0832、单次脉冲、键盘扫描及数码管显示、开关输入及发光管显示、电子发声器、点阵LED显示、图形LCD显示、步进电机、直流电机及温度控制单元电路。3.1.1 微机接口实验系统硬件结构微机接口实验系统的硬件结构如图3-1所示。图 3-1 微机接口实验系统的硬件结构1、系统配置微机实验系统的配置如表3-1所示。表3-1 微机实验系统的主要配置项目内容数量项目内容数量最小系统I386EX系统板151系统板(可选)1基本接口芯片82541键盘44键阵182551数码显示共阴极数码管482371电子音响扬声器182511单次脉冲微动开关2DAC08321逻辑开关拨动开关16ADC08091显示灯LED1674LS2456驱动接口ULN2803174LS5731步进电机(可选)35BYJ46型1控制存储器62256SRAM2直流电机DC12V,1.1W1FLASH1串行通讯接口DB9插座1点阵1616LED点阵1机内电源5V、12V1液晶(可选)图形液晶1通讯电缆RS-2321面包板(可选)1箱体1实验用连线连接用排线一套2、系统总线微机实验装置采用组合式结构,即I386EX系统板加实验接口平台的形式。I386EX系统板采用PC-104总线标准, 将I386EX系统板扣在实验接口平台上便构成80X86微机原理及接口技术教学实验系统,系统总线以排针的形式引出,实验时,与实验单元相连可完成相应的实验。系统引出信号线说明见表3-2。表3-2 80X86微机系统信号线说明信号线说 明信号线说 明XD0XD15系统数据线(输入/输出)MIR6、MIR7主8259中断请求信号(输入)XA1XA20系统地址线(输出)SIR1从8259中断请求信号(输入)BHE、BLE字节使能信号(输出)W/R写/读信号(输出)ADS地址状态信号(输出)MWR、MRD存储器读、写信号(输出)MY0、MY1存储器待扩展信号(输出)IOW、IORI/O读、写信号(输出)IOY0IOY3I/O接口待扩展信号(输出)RST、RST复位信号(输出)HOLD总线保持请求(输入)CLK1MHz时钟输出HLDA总线保持应答(输出)PCLK1.8432MHz时钟输出CLK 12MHZ12MHZ时钟输出注:号表示该信号低电平有效3、Intel386TM EX嵌入式处理器系统Intel386TM EX嵌入式处理器系统框图如图3-2所示。图3-2 Intel386TM EX嵌入式处理器框图4、系统电源介绍系统电源安装于电路板下方机箱内,电源开关在电路板左上角,电源输出在供系统使用的同时还可以导线方式引出。微机实验系统采用自行研发生产的SP-15型三路高效开关电源作为系统工作和实验的电源。 (1)主要技术指标为:输入电压:AC165-265V。输出电压/电流:+5V/2A,12V/0.2A。输出功率:15W。效率:75%。稳压性能:电压调整率0.2%,负载调整率0.5%。纹波系数0.5%,工作环境温度:-540。 (2) 注意事项当关闭电源后,不能立即重新开启,关闭到重新开启需要至少30秒钟的间隔。3.1.2 微机实验系统内存及编址1. 系统内存分配系统内存分配情况如图3-3所示。系统内存分为程序存储器和数据存储器,程序存储器为一片128KB的FLASH ROM,数据存储器为一片128KB的SRAM。(程序存储器可以扩展到256KB,数据存储器可以扩展到512KB)图3-3 系统内存分配2. 系统编址采用内存与I/O独立编址形式,内存地址空间和外设地址空间是相对独立的。内存地址是连续的1M字节,从00000HFFFFFH。外设地址范围从0000HFFFFH,总共64K字节。(1)存储器地址范围存储器地址范围,见表3-3。表3-3 存储器编址信号线编址空间系统程序存储器E0000HFFFFFH系统数据存储器00000H1FFFFH扩展存储器MY080000H9FFFFHMY1A0000HBFFFFH(2)输入/输出接口编址输入/输出接口编址见下表3-4。表3-4 输入/输出接口编址信号线编址空间主片825920H、21H从片8259A0H、A1H扩展I/O接口IOY0()0600H063FHIOY1(8255)0640H067FHIOY2()0680H06BFHIOY3(8254)06C0H06FFH3.1.3 INT 10功能说明INT 10功能使用说明如表3-5所示。表3-5 INT 10功能使用说明入口:AH00H,AL01H功能:清屏入口:AH01H,AL数据功能:将AL中的数据显示在屏幕上入口:AH06H,DS:BX字符串首地址,且字符串尾用00H填充功能:显示一字符串,直到遇到00H为止3.1.4 程序固化及脱机运行1. 程序固化TD-PITE可以将实验程序固化到系统存储器中,以实现脱机运行。将实验程序编译、链接无误后进行加载,加载完成便可以进行程序固化。点击调试菜单,如图3-4所示,点击“固化程序”便可以将程序固化到系统存储器中。图3-4 调试菜单2. 脱机运行如果系统存储器中固化有实验程序,可以实现脱机运行程序。实验箱右侧有一个短路块JDBG,若将短路块短接在DBG端,可以与PC端软件Wmd86联机进行调试;若将短路块短接在RUN端,可以实现程序的脱机运行。如果将i386EX系统板嵌入其它应用中,为实现脱机运行程序,可以将信号P3.6/PWRDOWN连接到GND。见附录2中的附图,JP2的20引脚就是信号P3.6/PWRDOWN。3.2 微机实验系统操作按图3-5所示,将PC微机的串口与系统实验平台串口通过RS-232C通讯电缆连在一起。完成系统实验平台与PC机的硬件连接。图3-5 实验系统与PC机相连3.2.1 系统联机软件的安装微机实验教学平台使用Wmd86联机操作软件,提供可视化源语言调试界面,具有单步、跳过、断点、连续、变量跟踪等调试功能,并具有汇编语言和C语言源语言级调试跟踪界面。1. Wmd86的运行环境(1)操作系统:Windows98/2000/XP(2)运行Wmd86要求最低配置:CPU:奔腾166以上,内存:16MB以上,显示器:800600,硬盘:15MB以上。2. Wmd86的安装在光盘中本软件安装目录下找到安装Wmd86.exe,双击执行,出现安装界面如下图3-6所示:图3-6 软件的安装方法与通常的软件安装方法相同,按界面提示完成安装过程。Wmd86安装完成后会在“开始所有程序TANGDU”菜单中创建“Wmd86”的程序组,点击该程序组中的“Wmd86”便可启动程序。软件在安装完成后会在桌面创建快捷方式。3.2.2 联机软件主窗口界面Wmd86联机软件具有汇编语言和C语言源语言级调试跟踪界面,操作简单,可视化效果好。也可以点击输出区的调试标签对源程序进行DEBUG调试。用户可以选择是否监控堆栈,也可以通过“变量监控”对话框选择监控哪些全局变量;寄存器/变量/堆栈区能够对下位机的寄存器、变量和堆栈实现实时监视,使寄存器/变量/堆栈区的数据永远是下位机中数据的真实反映;在寄存器/变量/堆栈区改写寄存器和变量的值,即可改变下位机中寄存器和变量的值。主界面窗口主要分为三部分:程序编辑区、寄存器/变量/堆栈区和输出区,见图3-7所示。1程序编辑区位于界面右上部,用户可在程序编辑区用新建命令创建一个新文档或用打开命令打开一个已存在的文档,在文档中用户可编辑程序。2寄存器/变量/堆栈区位于界面左上部,包括三个部分:寄存器区、变量区和堆栈区。寄存器区和变量区用于实时监视寄存器和变量,也能够修改寄存器和变量的值,堆栈区主要用于实时监视堆栈寄存器。点击寄存器区标签可观察和修改寄存器,点击变量区标签可观察和修改变量,点击堆栈区标签可观察堆栈寄存器。执行相关操作后寄存器、变量和堆栈寄存器的值自动刷新,如果寄存器区刷新后的值和刷新前的值相同,则显示为蓝色,如果不同,则显示为红色。变量区和堆栈区刷新前和刷新后都为蓝色。想修改寄存器或变量,用鼠标左键单击某寄存器或变量,当寄存器或变量值的区域变为蓝色后输入修改后的值,然后回车。如果修改的是寄存器,输入的值的长度与寄存器的长度相同,回车后修改正确,如果输入的值的长度和寄存器的长度不相同,寄存器的值没有被修改,保持原来的值且可以继续修改该寄存器的值。如果修改的是变量,输入的值的长度与变量的长度相同,回车后修改正确,如果输入的值的长度小于变量的长度,回车后输入值的前面自动添零,如果输入值的长度大于变量的长度,回车后输入值的后面的多余部分自动删除。堆栈区只用于监视,不能够被修改。图3-7 Wmd86主窗口界面3输出区位于界面下部,输出区包含三个部分:编译区、调试区和结果区。编译区显示编译和链接的结果,如果编译时有错误或警告,双击错误或警告信息,错误标识符会指示到相应的有错误或警告的行。调试区主要用于DEBUG调试。结果区主要用于显示程序加载结果、程序运行输出结果和复位结果。结果区中有“加载中,请稍候.”的字样表示联机软件正在把可执行文件加载到下位机中,用户此时应等待直到加载完成,“加载成功”表示加载完成且成功,“加载失败”表示加载完成且失败,此时应重新加载。程序中用INT 10H输出的结果亦显示在此区。软复位或硬件复位成功后,结果区显示复位成功!。如果复位不成功则不显示此句。3.2.3 菜单功能1. 文件菜单项文件菜单如图3-8 所示。用于新建、打开、关闭、保存、打印、退出等文件操作功能。图 3-8 文件菜单2. 编辑菜单项编辑菜单如图3-9 所示。编辑菜单项用于复制、粘贴、查找、重复、撤销等文本的编辑操作。图3-9 编辑菜单3. 查看菜单项查看菜单如图3-10 所示。图3-10 查看菜单(1)变量区(W):用此命令可显示和隐藏寄存器/变量/堆栈区。(2)输出区(O):用此命令可显示和隐藏输出区。(3)编译工具栏(B):用此命令可显示和隐藏编译工具栏。(4)调试工具栏(D):用此命令可显示和隐藏调试工具栏。4. 端口菜单项端口菜单如图3-11 所示。图3-11 端口菜单。(1)端口1/端口2:此命令用来选择串口1串口2进行联机通讯,该命令会对相应的端口进行初始化操作,并进行联机测试,报告测试结果。(2)端口测试:此命令用来对当前选择的串口进行联机通讯测试,并报告测试结果。 5. 编译菜单项编译菜单如图3-12 所示。图3-12 编译菜单(1)编译(C):编译当前活动文档中的源程序,在源文件目录下生成目标文件。如果有错误或警告生成,则在输出区显示错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译”。如果编译没有错误生成(即使有警告生成)使能“链接”菜单项和工具栏中的“链接”按钮,以便进行链接。编译时自动保存源文件中所做的修改。 (2)链接(L):链接编译生成的目标文件,在源文件目录下生成可执行文件。如果有错误或警告生成,则在输出区显示错误或警告信息,查看错误或警告信息修改源程序,修改后应重新“编译”和“链接”。如果链接没有错误生成(即使有警告生成),使能“加载”菜单项和工具栏中的“加载”按钮,以便进行加载。(3)加载(D):把链接生成的可执行文件加载到下位机。在加载过程中输出区有“加载中,请稍候.”的字样,用户此时应该等待直到加载完成。加载完成后,如果加载成功,输出区显示“加载成功!”,使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时CS和IP指向程序的开始执行行并在此行设置执行标记。如果加载失败,输出区显示“加载失败!”,不使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时应重新进行“加载”。(4)编译链接并加载(T):依次执行编译、链接和加载。6. 调试菜单项调试菜单如图3-13 所示。图3-13 调试菜单(1)设置断点/删除断点(B):当前光标所在的行为当前行,如果当前行无断点则在当前行设置断点,如果当前行有断点则删除当前行的断点。设置断点的行如右图所示。并不是源程序的所有行都可以设置断点,如伪操作行和空行不能设置断点。源程序设置的断点数不能超过8个。(2)清除所有断点(D):清除源程序中设置的所有断点,只有当设置的断点数大于零时,该菜单才使能。 图 3-14 (3)设置起点(J):当前光标所在的行为当前行,此命令把当前行设置为程序的起点,即程序从此行开始运行,寄存器区的CS和IP的值刷新后指向此行,设置程序起点的行如上图所示。并不是源程序的所有行都可以设置起点,如伪操作行和空行不能设置起点。(4)单步(T):点击此命令使程序执行一条语句,如果是函数则进入函数内部,执行后刷新所有的变量和寄存器的值。并不是所有的语句行都适用单步,如系统调用语句不应该使用单步,而应该用跳过命令跳过该语句行。(5)跳过(O):点击此命令使程序执行一个函数,执行后刷新所有变量和寄存器的值。只有当当前执行行为函数调用或系统调用,才用此命令。如果函数内部有断点,点击“跳过”指令后,程序会停在函数内部有断点的行。(6)运行/运行到断点:从当前执行行开始向后运行,如果没有断点,则运行直到程序结束。如果有断点,则运行到断点后停止,运行到断点后如果再次点击此菜单,则从当前断点位置继续执行,直到再次遇到断点或程序结束。(7)停止:发送此命令使程序停止运行,程序停止后刷新所有寄存器和变量。(8)固化程序:将实验程序固化到系统存储器FLASH中,以实现程序的脱机运行。此命令只有在程序正常加载后执行。3.2.4 工具栏功能介绍1. 标准工具栏标准工具栏共有十二个按钮,如下图3-15 所示。图 3-15 下列按钮的含义如下:(1) 按钮:用此按钮可显示和隐藏变量和寄存器区。(2) 按钮:用此按钮可显示和隐藏输出区。(3) 按钮:加载成功后才可用此按钮。点击此按钮,可进行全局变量监视。(4) 按钮:堆栈监控按钮,点击此按钮将弹出堆栈监控对话框。2编译工具栏编译工具栏共有五个按钮,其图3-16 如下:图3-16(1) 编译:编译当前活动文档中的源程序,在源文件目录下生成目标文件。(2) 链接:链接编译生成的目标文件,在源文件目录下生成可执行文件。(3) 加载:把链接生成的可执行文件加载到下位机。(4) 编译链接并加载:依次执行编译、链接和加载。3调试工具栏调试工具栏共有八个按钮,其图3-17 如下:图3-17(1) 设置起点:当前光标所在的行为当前行,此命令把当前行设置为程序的起点,即程序从此行开始运行,寄存器区的CS和IP的值刷新后指向此行。(2) 单步:点击此命令使程序执行一条语句。(3) 跳过:点击此命令使程序执行一个函数,执行后刷新所有变量和寄存器的值。(4) 设置断点/删除断点:为光标所在行设置断点或删除当前行的已有断点。源程序设置的断点数不能超过8个。(5) 清除所有断点:清除源程序中设置的所有断点。(6) 运行到断点/运行:从当前执行行开始向后运行,如果没有断点,则运行直到程序结束。如果有断点,则运行到断点后停止,运行到断点后再次点击此按钮,则程序从当前断点位置继续执行,直到再次遇到断点或程序结束。(7) 停止:发送此命令使程序停止运行,程序停止后刷新所有寄存器和变量的值。3.2.6 Debug调试Wmd86软件输出区集成有Debug调试,点击调试标签,进入Debug状态,会出现命令提示符“”, Debug调试命令见附录 。第4章 微机接口实验内容随着微电子技术和集成电路的发展,各种功能接口电路都由可编程集成芯片所代替。本章提供的实验内容将对PC机种使用的可编程芯片进行操作,从而达到掌握微型计算机基本接口技术的目的。微机接口应用有若干个实验单元构成,实验中需要通过排线进行必要的连线来完成实验。其中,每个实验单元的电源与地线均已连接好,“圆圈”表示该信号通过排针引出。4.1 系统认识实验4.1.1 实验目的 掌握微机原理及接口技术教学实验系统的操作,熟悉联机集成开发调试软件的操作环境,掌握微机接口实验程序的调试过程及实验结果的分析方法。4.1.2 实验内容 1、 编写实验程序,将00H0FH 共16个字节数据写入内存 0000H:3000H 开始的连续 16 个存储单元中。 2、 操作练习。编写程序,将内存 0000H:3500H 单元开始的 8 个字节数据相加,结果存放到0000H:3600H 字单元中。4.1.3 实验步骤1. 连接PC与实验系统的通讯电缆,打开实验系统电源,运行Wmd86软件,进入Wmd86集成开发环境。 如图4-1 所示。图4-1 Wmd86集成开发环境2、编写实验程序新建或打开已有的文件,编写或修改实验程序,如图4-2 所示,并保存。注意:要存放在D盘上,此时系统会提示输入新的文件名,扩展名为.ASM,输完后点击保存。图4-2 程序编辑界面3、点击编译按钮,编译文件,若程序编译无误,则输出如图4-3所示的输出信息,然后再点击链接按钮进行链接,链接无误后输出如图4-4所示输出信息。图4-3 编译输出信息界面 图4-4链接输出信息界面编译、链接也可以用菜单上的“编译连接并加载”进行操作。如图4-5所示图4-5 编译、连接菜单4. 下载程序联机调试当编译、链接都正确并且上下位机通讯成功后,通过端口列表中的“端口测试”来检查通讯是否正常,如果通讯不正常,就按实验箱右上角的复位按钮。通讯正常时,点击加载下载程序。为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句会有一条绿色的背景。如图 4-6 所示。图 4-6 加载成功输出显示界面5. 将输出区切换到调试窗口,键入 R DS查看当前DS值,例如,R DS回车后显示:R DS=0000,再使用D0000:3000命令查看内存 3000H 起始地址的数据,如图4-7所示。因为装载程序还没有运行,存储器在初始状态时,默认数据为 CC。图4-7 内存地址单元数据显示6 运行程序点击运行按钮运行程序,然后再点击停止来停止程序运行7 检查运行结果程序通过编辑、编译、连接、下载并运行程序后,使用D命令查看内存数据区存储的数据和结果;使用R命令查看CPU各寄存器内容。如图4-8所示。图4-8 运行程序后数据变换显示8 也可以通过在语句AA2 :jmp AA2处设置断点,断点显示如图4-9所示,然后运行程序,当遇到断点时程序会停下来,然后检查结果。可以使用E0000:3000来查看并改变该地址单元的数据,如图4-10所示。输入11后,数据11代替原数据00;按“空格键”,可以接着输入第二个数,如22,结束输入按“回车”键。图4-9 断点设置显示 图4-10 修改内存单元数据显示界面9 按上述过程,编写程序,将内存 0000H:3500H 单元开始的 8 个字节数据相加,结果存放到0000H:3600H 字单元中。记录结果单元内容。4.2 8259A中断控制实验4.2.1、实验目的1.掌握中断控制系统的基本组成。2.掌握8259中断控制器的工作原理。3.掌握8259中断控制器的应用编程。4.掌握中断向量的设置方法。4.2.2 实验原理本教学实验系统使用Intel 386EXCPU,内部集成有两片8259A。该实验直接使用该内部资源。主片8259得中断请求信号IR6和IR7对用户开放,从片8259的中断请求信号IR1对用户开放,以供实验使用。从片8259的INT与主片8259的IR2相连,完成两片8259的级联。主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图4-13所示。图4-13 8259内部连续及外部管脚引出图表4-1 主/从片寄存器分配的端口地址主片寄存器端口地址从片寄存器端口地址ICW1(主)OCW2(主)OCW3(主)0020HICW1(从)OCW2(从)OCW3(从)00A0HICW2(主)ICW3(主)ICW4(主)OCW1(主)0021HICW2(从)ICW3(从)ICW4(从)OCW1(从)00A1H初始化命令字寄存器(ICW1ICW4) 格式说明,见图4-15所示。图4-15 初始化命令字寄存器格式(ICW1ICW4)操作命令字寄存器格式(OCW1OCW3),见图4-16。OCW1 操作命令字OCW2 操作命令字2OCW3 操作命令字图 4-16 操作命令字寄存器格式查询状态字(POLL)说明如图4-17所示。图4-17 状态字寄存器在对8259进行编程时,首先必须进行初始化。一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。本实验装置上电启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC联机的串口通信使用,其它中断源被屏蔽。主/从片中断引脚、中断类型码与中断向量地址之间的关系如下表4-3、表4-4所示:表4-3主片中断类型码和中断向量地址中断引脚IR0IR1IR2IR3IR4IR5IR6(MIR6)IR7(MIR7)中断类型码08H09H0AH0BH0CH0DH0EH0FH中断向量地址00200023H0024H0027H0028H002BH002CH002FH0030H0033H0034H0037H0038H003BH003CH003FH说明未开放未开放未开放未开放串口未开放可用可用表4-4从片中断类型码和中断向量地址中断引脚IR0IR1(SIR1)IR2IR3IR4IR5IR6IR7中断类型码30H31H32H33H34H35H36H37H中断向量地址00C0H00C3H00C4H00C7H00C8H00CBH00CCH00CFH00C0H00C3H00C4H00C7H00C8H00CBH00CCH00CFH说明开放4.2.3 实验内容及实验步骤1. 8259中断实验1实验接线图如图4-18所示,单次脉冲开关与主片8259的MIR7相连,每按动一次单次开关脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。图4-18 8259单中断实验接线图实验程序清单SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODE SEGMENT ASSUME CS:CODESTART: PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中断入口地址MOV SI, 003CH;中断向量地址MOV SI, AX;填IRQ7中断向量的偏移地址向量MOV AX, CS;段地址MOV SI, 003EHMOV SI, AX;填IRQ7的段地址向量CLIPOP DS;初始化主片8259MOV AL, 11HOUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21H, AL;ICW3MOV AL, 01HOUT 21H, AL;ICW4MOV AL, 6FH;OCW1OUT 21H, ALSTIAA1:NOPJMP AA1MIR7:STICALL DELAYMOV AX, 0137HINT 10H;显示字符7MOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, AL;中断结束命令IRETDELAY:PUSH CXMOV CX, 0F00HAA0:PUSH AXPOP AXLOOP AA0POP CXRETCODEENDSEND START实验步骤(1)按图4-18 连接实验线路;(2)编写实验程序,经编译、链接无误后装入系统;(3)运行程序,重复按单次脉冲开关KK1,显示屏会显示字符“7”以说明响应了中断。(4)改变接线方式,将KK1接入MIR6, 修改程序,重复按单次脉冲开关KK1,使显示屏显示字符“6”。2. 8259中断实验2-8259级联实验实验接线图如图4-19所示,KK1连接到主片8259的MIR7上,KK2连接到从片8259的SIR1上,当按一次KK1时,显示屏上显示字符“M7”,按一次KK2时,显示字符“S1”。编写程序。图4-19 8259级联实验实验步骤(1)按图4-19连接实验线路;(2)输入程序,编译、链接无误后装入系统;(3)运行程序,按动KK1或KK2,观察实验结果,验证实验程序的正确性;(4)若同时按下KK1和KK2,观察实验结果,解释实验现象。 实验程序清单SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODE SEGMENT ASSUME CS:CODESTART: PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中断入口地址MOV SI, 003CH;中断向量地址MOV SI, AX;填IRQ7的偏移向量MOV AX, SEG MIR7;段地址MOV SI, 003EHMOV SI, AX;填IRQ7的段地址向量MOV AX, OFFSET SIR1MOV SI, 00C4HMOV SI, AXMOV AX, SEG SIR1MOV SI, 00C6HMOV SI, AXCLIPOP DS;初始化主片8259MOV AL, 11HOUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21H, AL;ICW3MOV AL, 01HOUT 21H, AL;ICW4;初始化从片8259MOV AL, 11HOUT 0A0H, AL;ICW1MOV AL, 30HOUT 0A1H, AL;ICW2MOV AL, 02HOUT 0A1H, AL;ICW3MOV AL, 01HOUT 0A1H, AL;ICW4MOV AL, 0FDHOUT 0A1H,AL;OCW1 = 1111 1101MOV AL, 6BHOUT 21H, AL;主8259 OCW1STIAA1:NOPJMP AA1MIR7:CALL DELAYMOV AX, 014DHINT 10H;MMOV AX, 0137HINT 10H;显示字符7MOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, AL;中断结束命令IRETSIR1:CALL DELAYMOV AX, 0153HINT 10H;SMOV AX, 0131HINT 10H;显示字符1MOV AX, 0120HINT 10HMOV AL, 20HOUT 0A0H, ALOUT 20H, ALIRETDELAY:PUSH CXMOV CX, 0F00HAA0:PUSH AXPOP AXLOOP AA0POP CXRETCODEENDSEND START3. 8259中断实验3-8259综合实验(1)编写程序,在显示屏上循环显示0123456789的程序。通过编辑、编译、连接、下载、运行该程序,调试通过,显示结果正确,进行下一步操作;(2)编写程序,在显示屏上显示字符“OK”“。 通过编辑、编译、连接、下载、运行该程序,调试通过,显示结果正确,进行下一步操作;(3)实验接线图,如图4-18所示。将屏幕显示0123456789的程序作为主程序,在显示屏上显示字符“OK”的程序作为中断服务子程序。运行主程序后,当开关按下时,产生单次脉冲通过主片8259的IR7中断请求,每按动一次开关,产生一次外部中断,使CPU执行中断服务程序,在显示屏上输出字符“OK”。从表4-7中看出,MIR7中断类型码为0FH. 实验步骤(1)编写显示”0123456789”的程序,编译、链接无误后装入系统并运行程序;(2)编写显示 “OK”,的程序,编译、链接无误后装入系统并运行程序;(3)按图4-18连接实验线路;编程,将显示0123456789的程序作为主程序;显示“ok”,的程序作为中断服务程序,每按一次脉冲开关KK1,显示屏会显示字符“ok”,以说明响应了中断。编程、编译、链接转入系统进行操作实验。(4)改变硬件接线,将KK1接到MIR6,如何修改程序,并完成该实验。(5)如果使中断10次后自动退出中断,如何修改程序,并完成该实验。参考程序及框图显示器I/O功能调用使用说明如下:INT 10;中断调用为屏幕显示功能,使用说明:入口:AH=00H,AL=01H 功能:清屏入口:AH=01H,AL=数据 功能:写AL中的数据到屏幕上入口:AH=06H,DS:BX=字串首址,且字符串尾用00H填充。 功能:显示一字串,直到遇到00H为止(1)显示 0123456789的程序如下:CODE SEGMENTASSUME CS:CODESTART:MOV CX, ;显示字符个数10送入CXMOV BL, ;显示字符0,填入字符0的ASCII编码MOV AH,01H ;显示一个字符A1:MOV AL,BLINT 10HINC BL ;显示下一个字符PUSH CXMOV CX,0FFFFHA2:LOOP A2;延时POP CXDEC CXJNZ A1JMP START;循环显示09CODE ENDSEND START(2)显示“OK“的程序如下:CODE SEGMENTASSUME CS:CODEMIR7: MOV BL, ;显示字符OMOV AH,01H ;显示一个字符MOV AL,BLINT 10HMOV BL, ;显示字符KMOV AH,01H ;显示一个字符MOV AL,BLINT 10HMOV BL, ;显示空格MOV AH,01H ;显示一个字符MOV AL,BLINT 10HPUSH CXMOV CX,0FFFFHAA: LOOP AA;延时POP CXDONE:JMP DONECODE ENDSEND MIR7(3)能接收中断请求的主程序及中断服务程序的程序结构请考虑,将一个程序变为中断服务子程序,程序上应做如何修改?4.总结本次实验你对中断过程的理解。参考框图如图4-20 如下:中断向量表初始化:START:CLI;关中断 PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中断入口地址MOV SI, 003CH;中断向量地址MOV SI, AX;填MIR7的偏移向量MOV AX, SEG MIR7;段地址MOV SI, 003EHMOV SI, AX;填MIR7的段地址向量POP DS主程序CODE SEGMENTASSUME CS:CODE;初始化主片8259MOV AL, 11HOUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21H, AL;ICW3MOV AL, 01HOUT 21H, AL;ICW4MOV AL, 6FH;OCW1OUT 21H, ALSTI显示09的程序段中断服务程序:中断服务程序名称MIR7MIR7 PROC NEAR CALL DELAY ; 调延时程序显示 “OK”的程序段给8259发中断结束命令:MOV AL, 20HOUT 20H, AL;中断结束命令IRETMIR7 ENDP延时程序段:DELAY:PUSH CXMOV CX, 0F00HAA0:PUSH AXPOP AXLOOP AA0POP CXRETCODEENDS END START4.3 8254定时/计数器应用实验4.3.1 实验目的1. 掌握计算机中硬件定时/计数的工作原理;2、掌握8254的工作方式及应用编程;3. 掌握8254典型应用电路的接线方法。4.3.2实验原理8253和8254是Intel公司生产的可编程定时/计数器,它们的引脚兼容,功能与使用方法相同,8254具有更优良的性能。8254定时/计数器芯片共有三个独立的定时/计数器,在本实验系统中, 0号和1号定时/计数器开放出来可任意使用,2号定时/计数器用于为8251串行通信单元提供收发时钟,2号定时/计数器的输入为1.8432MHz时钟信号,输出连接到8251的TxCLK和RxCLK引脚上。定时/计数器0的GATE信号连接好了上拉电阻,若不对GATE信号进行控制,可以在实验中不连接此信号。具体实验电路图如图4-21所示。图4-21 8254定时/计数器单元图4-22 8254的内部接口和引脚8254具有以下基本功能:(1)有3个独立的16位计数器;(2)每个计数器可按二进制或十进制(BCD)计数;(3)每个计数器可编程工作于6种不同工作方式;(4)8254每个计数器允许的最高计数频率为10MHz(8253为2MHz);(5)8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为:n=fCLKifOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。图4-22是8254的内部结构框图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:(1)方式0:计数到0结束输出正跃变信号方式。(2)方式1:硬件可重触发单稳方式。(3)方式2:频率发生器方式。 (4)方式3:方波发生器。(5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个端口地址,用标识位D5 D4位来区分。各控制字格式如表4-5、表4-6、表4-7所示。表4-5 (8254的方式控制字格式D7D6D5D4D3D2D1D0计数器选择读/写格式选择工作方式选择计数码制选择00计数器001计数器110计数器211读出控制字标志00锁存计数值01读/写低8位10读/写高8位11先读/写低8位,再读/写高8位000方式0001方式1010方式2011方式3100方式4101方式50:二进制数1:十进制数表4-6 8254读出控制字格式D7D6D5D4D3D2D1D0110:锁存计数值0:锁存状态信息计数器选择(同方式控制字)0表4-7 8254状态字格式D7D6D5D4D3D2D1D0OUT引脚现行状态1:高电平 0:低电平计数初值是否装入1:无效计数 0:计数有效计数器方式(同方式控制字)8254初始化编程步骤:(1)向控制寄存器写入控制字,对使用的计数器设置工作方式等。(2)向使用的端口写入计数初值。在实验接线图中,系统总线IOY3用作8254的片选信号,确定的端口地址为06C0H06C6H.4.3.3 实验内容及实验步骤1. 计数应用实验编写程序,用开关模拟事件,用8254的计数功能进行计数。将8254的计数器0设置为方式0,计数初值为十进制数4,单次脉冲KK1接入CLK0作为输入,OUT0连接MIR7,每当KK1按动5次后产生一次中断请求,在屏幕上显示一个字符“M”.系统总线IOY3确定的端口地址为06C0H06C6H.图 4-23 计数应用实验电路实验步骤:(1)计数应用实验接线如如图4-23所示;(2)编写实验程序,经编译、链接无误后装入系统;(3)运行程序,按动KK1产生单次脉冲,观察实验现象;2.修改上述实验程序,完成按动开关3次后产生中断,屏幕显示“M”。3.修改计数应用实验程序,要求在屏幕上显示中断次数?(提示:在主程序中,中断之前,设置显示次数初值为“0”;在中断服务程序中,使显示次数增1,然后显示。)4. 定时应用实验。编写程序,将8254的计数器0设置为方式3,用信号源1MHz作为C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市门头沟区2023-2024学年八年级上学期第二次月考英语题库及答案
- 房地产公司建筑模型制作合同书
- 行政事务处理标准操作流程模板
- 格林童话的语言特点与文化背景教学教案
- 时间王国大闯关课件
- 农村信息化服务支持合同书
- 时间坐标轴课件
- 企业内部文件归档与管理制度手册
- 文言文的魅力:古诗词教学专题
- 商务合同管理流程与审批表单包
- 2025年湖北省高考物理试卷真题(含答案解析)
- 中国美术学院非教学岗位招聘笔试真题2024
- 小学生无故旷课问题
- 化工中控操作管理制度
- 2024年秋季云南高中学业水平合格考历史试卷真题(含答案详解)
- T/SXCAS 015-2023全固废低碳胶凝材料应用技术标准
- T/CSMT-YB 006-2023精密数字温度计性能测试与评价方法
- 组建乐团协议书
- 留疆战士考试题库
- GB/T 45595-2025离心式制冷剂压缩机
- 2025年盾构机职业技能考试题库及答案
评论
0/150
提交评论