版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术实验教程微机原理与接口技术实验教程吴 涤浙江工商大学信电学院目录第一章 TD-PIT+实验系统构成及特点 3第二章 TD-PIT+教学实验环境 5第三章 汇编程序的基本结构 17 第四章 数据显示程序实验(实验一) 19第五章 数据传送实验(实验二) 22第六章 分支程序设计实验(实验三) 23 第七章 基本I/O接口电路设计(实验四) 25第八章 电子发声系统设计(实验五) 27附 录 实验报告参考格式 29参考文献 29第一章 TD-PIT+实验系统构成及特点80系列CPU已从8086的16位机发展到现在80586的32/64位机,各大专院校对80系列微机原理与接口技术实
2、验设备性能的要求也在不断提高。为适应教学实验的发展需要,本书选用了由西安唐都科教仪器公司开发的32位微机原理与接口技术教学实验系统,该系统功能强大,为教学实验提供了完善的微机原理的软件实验调试平台和微机接口技术的硬件实验开发平台。本章将就该实验系统的构成、特点与使用进行介绍。1.1 系统构成 TDPIT+实验系统由PC主机、实验箱及实验环境工具软件构成,如图1-1所示。其中,PC主机箱中安装了一块PCI实验扩展卡,用于连接微机原理与接口技术实验箱,并为实验用户提供一个仿真ISA总线接口;微机原理与接口技术实验箱中备放了许多单元电路,这些单元电路用于接口技术的各种实验,单元电路的构成和
3、工作原理将在第二章中详细介绍;TD-PIT+实验环境工具软件为用户提供了实验的软件操作平台,通过该平台,用户可以进行实模式和保护模式下的实验程序的编制、运行及调试。图1-1 TDPIT+实验系统构成图TD-PIT+实验环境工具软件包括TD-PIT应用平台、TDDEBUG调试平台和Windows的WDM开发平台。其中TD-PIT应用平台可支持基本接口实验和高级接口实验。通常,基本接口是用实验箱中的仿真ISA总线与实验箱中的常用芯片组成的接口电路,在TD-PIT应用平台上用户可学习编程控制这个基本接口;高级接口则是用实验箱中开放的用户总线接口ADD-ON及CPLD实验单元设计接口电路和时序逻辑,通
4、过TD-PIT应用平台的高级应用来实现对接口的控制。对于微机原理方面的实验,不用使用实验箱,直接使用TD-PIT应用平台编程就能进行。TDDEBUG调试平台提供了另一种对实验程序的编制、运行及调试的环境,在该环境下可让用户观察和探测到CPU内的各种资源数据,有利于对用户程序的深入调试。而Windows的WDM开发平台则给用户提供了基于保护模式下的接口电路的驱动程序及应用程序的开发环境。1.2 系统功能及特点1. 先进的32位微机原理实验教学平台系统提供了80x86系列微机的集成操作软件,该操作软件支持对32位微机指令的处理。可在实模式和保护模式下调试、运行实验程序,通过实验系统的使用,用户可以
5、迅速了解PC机的工作原理和工作过程,迅速掌握基于PC机的编程方法,为微机接口控制程序和Windows应用程序的开发打下基础。2. 完善的微机接口技术实验教学平台系统利用PC机上配备的PCI总线控制卡,将总线信号经逻辑转换后生成仿真ISA总线信号,供基本接口实验使用。微机原理与接口技术实验箱提供了诸如8259中断控制器、8237DMA控制器、8237定时/计数器等程控器件,还提供了如74LS374、74LS138、LED数码显示器、直流电机等常用数字逻辑器件和外围器件,从而全面支持“微机接口技术”和“微机控制技术”的各类实验。3. 提供支持微机高级接口技术实验教学平台系统选配了PCI总线应用开发
6、平台及CPLD应用开发单元,使用户可以进行各种硬件接口逻辑的设计,从而进行PCI总线扩展和应用开发。系统选配了USB总线应用开发平台,使用户能迅速掌握USB接口设备的的应用开发。系统还提供了Windows VxD和Windows的WDM软件开发平台及开发示例,使用户能迅速掌握Windows的设备驱动程序的设计。4. 对实验设计具有良好的开放性,增强学生综合设计能力实验系统所具有的软件和硬件结构对用户的实验设计具有良好的开放性,大部分实验的软件设计都可在Windows风格界面下进行,系统总线及各种外围电子器件都能由用户来直接连接操作,从而极大地提高了学生的实际操作能力,避免了单纯验证式实验的弊端
7、。5. 采用排线连接方式,提高了实验效率在硬件实验中,所有器件的电源均已加载,用户不必考虑器件电源的连接而采用排线连接方式,连接有关信号线,极大地提高了实验效率和成功率,可把学生的注意力集中到硬软件设计和调试过程中。6. 高性能稳压开关电源系统采用了具有抗短路、抗过流的高性能稳压开关电源,使得实验平台和PC机电源隔离,从而可以避免学生在实验过程中因连线失误而导致的芯片或整机设备的损坏。第二章 TD-PIT+教学实验环境在现代PC机系统教学中,多数实验软件教学平台只能支持实模式下的程序设计和程序调试,而不能支持32位微机在保护模式下的程序调试。TD-PIT+系统提供了保护模式下的Windows风
8、格的微机原理与接口技术工具软件TD-PIT及在保护模式下支持实模式实验程序调试与运行的工具软件Tddebug。这使得用户在实验时的效率大为提高,也给用户带来了方便。本章将就TD-PIT+实验系统的软件环境及硬件资源的使用作深入介绍。2.1 TD-PIT+的软件环境及使用 TD-PIT+系统的工具软件主要包括微机原理与接口技术实验工具软件TD-PIT和调试工具软件Tddebug。其中,工具软件TD-PIT支持实模式及保护模式下的微机原理实验,也支持基本I/O接口技术和高级I/O接口技术实验;调试工具软件Tddebug支持实模式实验程序的编辑、编译、连接及调试功能,通过它用户可全面窥探80x86微
9、处理器的运行机制。2.1.1 TD-PIT工具软件的使用1. 启动TD-PIT工具软件在PC主机的桌面上有个TD-PIT的图标,点击该图标就可启动这个工具软件, 图2-1 PIT启动窗口图工具软件启动后的窗口如图2-1所示。TD-PIT工具软件提供了“文件”、“查看”、“语言选择”、“WINDOWS应用实验”、和“帮助”菜单。TD-PIT工具软件支持C语言和汇编语言两种语言来编程。用户在编程前需通过“语言选择”菜单里的选项事先确定所用语言,如图2-2所示。编程语言被确定后系统会显示出如图2-3所示编程操作窗口。程序设计可在该窗口下进行。图2-2 语言选择菜单图图2-3 编程操作窗口图2. 编程
10、的基本操作编程操作窗口包含两个工作区,即位于窗口上半部分的编辑区和位于窗口底部的调试信息栏区。在编辑区中用户可以对程序进行编辑和修改。相关的操作与WORD软件的编辑操作方法相同。对于初次创建程序的用户需使用“文件”菜单中的“新建”项,将新建程序文件创建在TD-PIT系统默认的当前文件夹中,如C:TangDuPitPC 。当用户处于编辑程序操作时软件窗口上会自动添加一个“编译”菜单(见图2-3)。在完成对程序的编辑处理后,还要对程序进行“编译”,“链接”的操作。如果源程序中有错误,在编译程序时系统会在调试区中提示错误,必须将所有错误更正完毕才能进行“链接”的操作。当用户完成了程序的编辑、编译、链
11、接操作后,再点击“编译”菜单的“运行”项,即可观察当前程序执行后的效果。如果此时系统出现短暂黑屏现象,属正常情况。因为,TD-PIT系统工具软件是在保护模式下运行的,当用户运行的是实模式程序时,系统会将PC机从保护模式状态转换到实模式状态,才会出现短暂的黑屏。3. TD-PIT其它功能介绍一 Windows应用实验菜单项图2-4 Windows应用实验菜单项图图2-4给出了Windows应用实验菜单项的基本功能,菜单提供了运行Windows应用实验例程的快捷方式,其中: 8255输入输出
12、 I/O操作设计实验(1) 8255基本输入输出 键盘扫描及显示 I/O操作设计实验(2) 键盘扫描及显示 32位存储器读写 存储器操作设计实验(1) 32位存储器读写 FLASH存储器读写 存储器操作设计实验(2) FLASH存储器读写 8259中断应用 &
13、#160; 中断处理设计实验(1) 8259中断应用 16550串口通讯 中断处理设计实验(2) 16550串口通讯 信号发生器设计 综合应用设计实验(1) 信号发生器设计 温度闭环控制 综合应用设计实验(2) 温度闭环控制 这些实验均为硬件实验,运行每个实验之前确认
14、实验系统是否已经连接正常,相应实验的实验线路是否已经连接完毕,并将实验平台电源打开。这些硬件实验的设备驱动程序系统已提供。二编译工具栏图2-5 编译工具栏图图2-5给出了快捷编译工具栏的六个命令钮的图标,自左而右它们分别是“编译”钮、“连接”钮、“运行”钮、“调试”钮、“查看端口资源”钮和“进入DOS环境”钮,这些按钮的功能分别是:.编译编译当前活动文档中的源程序,在源文件目录下生成目标文件。如果有错误或警告生成,则在输出区显示错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译”。如果编译没有错误生成(即使有警告生成)使能“链接”菜单项和工具栏中的
15、“链接”按钮,以便进行链接。编译时自动保存源文件中所做的修改。.链接链接编译生成的目标文件,在源文件目录下生成可执行文件。如果有错误或警告生成,则在输出区显示错误或警告信息,查看错误或警告信息修改源程序,修改后应重新“编译”和“链接”。如果链接没有错误生成(即使有警告生成),使能“加载”菜单项和工具栏中的“加载”按钮,以便进行加载。.运行 执行当前连接成功的可执行程序。当前激活的程序编译连接成功或者该程序已经编译过,可执行程序已经存在,这时就可运行该程序。如果该程序没有连接成功,或者没有被连接过,可执行程序不存在,则不可以执行“运行”。所有实验例程均设计为按任意键退出运行状态。.调试打开调试环
16、境进行当前程序的调试。每次打开或者新建一个新的程序,都必须先进行编译连接,然后才可以执行改操作,进入调试环境。调试完毕后按“Alt + X”键退出调试环境。.查看端口资源此按钮功能可用来查看实验系统被分配的端口资源,在系统总线上共有4个I/O片选IOY0IOY3,每个I/O空间所对应的地址范围在弹出的窗口中给出。如图2-6所示。图2-6 查看端口资源对话框图.进入DOS环境此按钮提供一个进入DOS环境的快捷工具,若想进入DOS环境进行命令操作,可以按此按钮。2.1.2 Tddebug工具软件的使用1. 主菜单说明Tddebug启动后的界面见图2-7所示。Tddebug工具软件具有编辑、编译、连
17、接、调试等功能。它为用户提供了一个学习32位微机原理与接口技术软件设计的实验平台。软件主界面包含了6个菜单,分别是:Edit,Compile,Pmrun,Rmrun,Help和Quit。它们的功能是:Edit - 编辑源文件Compile-Compile 编译源文件 -Link 连接目标文件 -Build All 编译及连接Pmrun - 进入保护模式调式状态Rmrun-Run 运行实模式程序 -Debug 进入实模式调式状态Help - 版本信息Quit - 退出Tddebug图2-7 Tddebug主界面以上功能可以通过热键来选择ALT+E 选择Edit菜单ALT+C 选择Compile菜
18、单ALT+P 选择Pmrun菜单ALT+R 选择Rmrun菜单ALT+H 选择Help菜单ALT+Q 选择Quit菜单ESC 取消操作2保护模式调试窗口说明在Tddebug主菜单中选择Pmrun,就进入了保护模式调试窗口。保护模式下的实验均可在这个环境下完成。保护模式调试窗口共分为4个区域,它们是数据区、代码区、命令区和寄存器显示区,如图2-8所示。在默认状态下,光标停留图2-8 保护模式调试窗口划分图在命令显示区,用户可以在此键入操作命令。通过使用TAB键可以在4个区域间进行切换。.快捷键的作用F1-弹出帮助对话框。F7-单步执行程序。F8-单句执行程序。F9-运行程序。.命令说明Tddeb
19、ug调试环境除支持保护模式下汇编语言程序的调试外,还支持32位寄存器数据显示等。下面对每条命令给出相应的命令格式及功能说明,见表2-1所示。表2-1 Tddebug调试命令表命令名称格式命令说明LoadI filename装载可执行程序ReloadReload重装当前调试程序Tracet seg:offset单步执行一条指令Stepp =seg:offset单句执行一条指令Gog =seg:offset执行程序Go breakgb=seg:offset断点执行程序Set breakpointsB设置断点List breakpointsBl列断点表Clear breakpoints bc num
20、ber(0,1,2,3)清除断点UnassembleUseg:offset反汇编DumpDseg:offset显示存储器单元内容Entereseg:offset修改存储单元Registerrregname显示/修改寄存器内容Peekpeek type(b,w,d)phys_add从物理地址取数据Pokepoketype(b,w,d)phys_add value向物理地址写数据CpuCpu显示系统寄存器GdtGdt显示全局描述表IdtIdt显示中断描述表LdtLdt显示局部描述表TssTss显示任务状态段QuitQ退出调试状态3实模式调试窗口说明在Tddebug主菜单中选择Rmrun菜单中的De
21、bug,就进入了实模式调试窗口。实模式下的实验均可在这个环境下完成。实模式调试窗口共分为6个区域,它们是代码区、数据区、寄存器显示区、标志寄存器显示区、堆栈显示区和提示区,如图2-9所示。图2-9 实模式调试窗口划分图.主界面快捷键的作用F1-显示帮助窗口F2-设置/清除断点F3-查看源代码模式F4-执行到光标处F5-放大/缩小窗口F6-窗口切换F7-单步执行F8-单句执行F9-运行程序F10-Menu激活主菜单Ctrl+Break-终止程序执行Alt+X-退出系统TAB-切换焦点区域.当焦点区域在寄存器显示区时热键的作用Ctrl+R-切换16位/32位通用寄存器显示Ctrl+I-使光条指示寄
22、存器的内容+1Ctrl+D-使光条指示寄存器的内容-1Ctrl+Z-使光条指示寄存器的内容清零Ctrl+C-手动修改光条指示寄存器的内容.当焦点区域在标志寄存器显示区时热键的作用Ctrl+T-翻转光条指示标志的状态.当焦点区域在数据显示区时热键的作用Ctrl+D-修改数据显示格式Ctrl+G-指定需要显示的内存区域首地址Ctrl+C-修改光标当前指示存储单元的内容Ctrl+S-查找指定的字节值表.当焦点区域在代码显示区时热键的作用Ctrl+G-指定需要显示的代码区域首地址Ctrl+S-查找当前指定指令2.2 TD-PIT+的硬件环境及使用TD-PIT+实验箱提供了主要硬件实验平台,它包括两大电
23、路部分:系统总线单元电路和实验单元电路,其分布结构如图2-10所示。图2-10 TD-PIT+实验平台结构图2.2.1 系统总线单元电路系统通过PC主机中的PCI总线扩展卡及对应逻辑电路,将系统总线信号转换成仿真ISA总线信号,为用户提供实验所需的系统总线信号。该系统总线信号说明如表2-2所示。表2-2 系统总线信号说明信号名称信号含义XD0XD3132位数据总线信号XA2-XA2322位地址总线信号XMER、XMEW、XIOR、XIOW存储器读写信号、I/O读写信号IOY0、IOY1、IOY2、IOY3I/O空间段片选信号MY0、MY1、MY2、MY3存储器空间段片选信号BE0、BE1、BE
24、2、BE332位数据字节使能信号HOLD、HLDA总线请求与总线应答信号M/IO存储器/输入输出总线周期指示信号,IO周期时信号为低电平INTR中断请求信号(上升沿有效)CLK系统时钟信号=1.041667MHzPCLK扩展时钟信号=1.8432MHzRST、RST#系统复位信号实验系统向PC机申请了接口实验所需的配置资源。其中包括16MB的存储地址空间、256字节的I/O地址空间和一个中断请求信号线。该中断请求信号将映射到PC机内15个中断请求信号线中的某一个。需要指出的是PC机分配给用户的I/O口的实际地址值应该是I/O片选空间段IOY0IOY3的起始地址值与译码单元偏移量地址值之和。其中
25、,IOY0IOY3的起始地址值由TD-PIT工具软件的查看端口资源快捷工具获得,如图2-6所示。2.2.2 实验单元电路 TD-PIT+实验平台配备了许多实验电路单元。这些电路单元为用户做微机接口实验提供了所需的基本电子器件。用户可根据实验需要使用其中一个或几个电路单元中的器件连接成实验所需的实验电路。下面给出了实验平台上的常用电路单元的电路原理图和元件引脚图。图2-11 基本输入输出单元(A组)电路原理图图2-12 地址译码单元电路原理图 图2-13 电子发声单元电路原理图图2-14 键盘及数码显示单元电路原理图图2-15 8255元件引脚图 图2-16 8254元件引脚图图2-17 165
26、50单元电路原理图第三章 汇编程序的基本结构 尽管汇编程序是由低级语言编写而成,但程序语句同样需要经过语言工具软件的支持,才能把这些语句转换成机器指令。为了能有效的组织好这些语句程序,通常都会对编写程序的组织结构有特殊约定,这些约定就定义了程序的基本结构。汇编程序通常用伪指令来说明其程序的基本结构。伪指令只由系统编译软件负责解释与执行,它并不生成程序的机器码。可以理解为伪指令是对指令的管理和补充。一伪指令1指令集选择伪指令 说明指令的CUP类型,通常放在程序的最前面。 如:.8086 ;选择8086指令集编程。.486P ;选择80486及特权指令集编程。2段定义伪指令 说明段类别及空间分配办
27、法。 段名 SEGMENT 组合类型 类别 属性 ;段内容 段名 ENDS 其中类别用于表示段的分类,如DATA,CODE,STACK,汇编系统软件会把具有相同性质的段相邻排放。 属性规定为16位的段或32位的段。如USER16表示16位段。 组合类型规定本段与其他段的关系,如STACK,COMMAND等。3. 段说明伪指令说明段名的段空间和指定的段寄存器对应。ASSUME 段寄存器1:段名1,段寄存器n:段名n1 过程定义伪指令定义某程序块为程序过程。过程名 PROC 属性 ;程序内容 RET过程名 ENDP二 . 有完整汇编程序结构的程序 Stack1 SEGMENT STACK stac
28、k ; 定义堆栈段 stspace DW 100H DUP(?)Stack1 ENDSdata1 SEGMENT data ; 定义数据段 z DB ?x DB 10data1 ENDScode1 SEGMENT code ; 定义程序段 ASSUME CS:code1,DS:data1,SS:Stack1start: MOV AX,data1 MOV DS,AXSUB AL,x+1ADD AL,3INT 21Hcode1 ENDSEND start第四章 数据显示程序实验(设计性实验)实验一 数据显示程序实验1 实验目的 (1) 掌握在PC机上以十六进制形式显示数据的方法。 (2) 掌握部分
29、DOS功能调用使用方法。 (3) 熟悉TD-PIT集成环境和调试器的使用。 2 实验内容及说明 一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT 21H)。 (1) 显示单个字符输出 入口:AH=02H 调用参数:DL=输出字符 (2) 显示字符串 入口:AH=09H 调用参数:DS:DX=串地址,$为结束字符 (3) 键盘输入并回显 入口:AH=01H 返回参数
30、:AL=输出字符 (4) 返回DOS系统 入口:AH=4CH 调用参数:AL=返回码 3 实验要点 (1) 可在程序执行时,先在屏幕上显示提示信息,以确认程序运行正常。(2) 若将屏幕上提示信息换行,可通过显示换行符及回车符0AH0DH来现实。(3) 程序结束时应返回DOS。相关参考程序如下:DATASEGMENT MESDB'Show a as hex:',0AH,0DH,'$' SDDB'a' DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATA START:MOV AX,DATA MOVDS,A
31、X MOVDX,OFFSET MES;显示提示信息 MOVAH,09H INT 21H ;显示数据程序段 MOVAX,4C00H ;返回DOS INT21H CODEENDS ENDSTART (4) 对于9与A在ASCII表(见附录2)中的值相差7,是显示程序中加7H调整的原因。4 实验步骤 (1) 运行TD-PIT软件,选择文件菜单,点击新建,进入一个源文件编辑界面。根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图4-1-1所示。 (2) 使用编译菜单中的编译和链接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 使用编译
32、菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,检查程序的正确性。 图4-1-1 显示程序实验流程图5 实验报告中回答下列问题1数据区中 0AH,0DH 的组合作用是什么?2程序中指令 ADD AL, 07H 的作用是什么?参考程序DATASEGMENTUSE16MES1 DB 'Show a as hex:',0AH,0DH,'$'SD DB 'a'DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATA START: MOV AX, DATAM
33、OV DS, AX MOV DX, OFFSET MES1 ;show messageMOV AH, 09HINT 21HMOV SI, OFFSET SD MOV AL, DS:SIAND AL,0F0H ;取高4位SHR AL, 4 CMP AL, 0AH ;是否是A以上的数JB C2ADD AL, 07HC2: ADD AL, 30H MOV DL, AL ;show character MOV AH,O2H INT 21H MOV AL, DS:SIAND AL, 0FH ;取低4位CMP AL, 0AHJB C3ADD AL, 07HC3: ADD AL, 30H MOV DL, A
34、L;show character MOV AH,O2H INT 21H MOV AX,4C00H ;go back to dosINT 21HCODE ENDSENDSTART 第五章 数据传送实验(设计性实验)实验二 数据传送实验1 实验目的 (1) 熟悉TD-PIT集成环境和调试器的使用。 (2) 掌握与数据有关的不同寻址方式。 2 实验内容 本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。参考实验程序如下: 3 实验要点 (1) 实验中,字符串的长度是不确定的,可根据下列语句来测试其长度:DDATASEGMENT;定义源数据段 MSRDB
35、 "HELLO,WORLD!$" LENEQU $- MSR ;长度值保存在LEN中DDATAENDS (2) 附加段的定义类似数据段的定义,但在段分配时应在带码段中说明,如下所示:EXDASEGMENT;定义附加数据段 MSDDB LEN DUP(?) EXDAENDS CODESEGMENT;定义代码段 ASSUME CS:CODE,DS:DDATA,ES:EXDA CODEENDS END START (3) 程序主体部分可用寄存器间接寻址方式,也可用相对寻址方式,相对寻址方式的方法如下所示: MOV BX,0 MOV CX,LEN NEXT:MOV A
36、L,MSRBX MOV ES:MSDBX,AL INC BX LOOP NEXT 4 实验步骤 (1) 运行TD-PIT软件,选择文件菜单,点击新建进行实验程序的编写。 (2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。 (5) 更改数据区中的数据,考察程序的正确性。DDATASEGMENTMSR DB 'HELLO,WORLD!$'LEN EQU $- MSRDDATAENDSEXDASEGMENTMSD DB
37、 LEN DUP(?)EXDAENDSCODE SEGMENT ASSUME CS:CODE,DS:DDATA,ES:EXDA START: MOV AX,DDATA MOV DS,AX MOV AX,EXDA MOV ES,AX MOV SI,OFFSET MSR MOV DI,OFFSET MSD MOV CX,LEN MOV BX,0NEXT: MOV AL,MSRBX MOV ES:MSDBX,AL INC BX LOOP NEXT PUSH ES POP DS MOV DX,OFFSET MSD MOV AH,9 INT 21H MOV AX,4C00H INT 21HCODE EN
38、DSEND START第六章 分支程序设计实验(设计性实验)实验三 分支程序设计实验1 实验目的 掌握分支程序的设计方法。 2 实验内容及说明 程序有顺序、循环、分支和子程序四种结构形式,分支结构的示意图如图4-5-1所示。本实验要求通过求无符号字节序列中的最大值和最小值来反映分支程序的结构形式。 图4-5-1分支结构示意图 实验可以使用BH,BL作为暂存现行的最大值和最小值,且在程序的初始,将BH和BL初始化为首字节的内容,然后进入循环操作。在循环操作中,依次从字节序列中逐个取出一个字节的内容与BH,BL进行比较,若取出的字节内容比BH的内容
39、大或比BL中的内容小,则修改之。当循环结束操作时,将BH,BL分别送屏幕显示。参考实验流程如图4-5-2所示。 3 实验步骤 (1) 运行TD-PIT软件,选择文件菜单编写实验程序;提供8字节的数据:0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。 (2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。 (3) 使用编译菜单中的运行,运行程序,观察运行结果。 (4) 更改数据区中的数据,考察程序的正确性。图4-5-2分支程序实验流程图DDATA SEGMENTMES1DB 'The least number is:$'MES2 DB 0AH,0DH
40、,'The largest number is:$'NUMBDB 0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9HDDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART: MOVAX,DDATA MOVDS,AX MOV SI,OFFSET NUMB MOV CX,0008H JCXZ A4 MOV BH,SI MOV BL,BHA1: LODSB;AL=DS:SI,SI=SI+1 CMP AL,BH JBE A2 MOV BH,AL JMP A3A2: CMP AL,BL JAE A3 MOV BL,ALA3
41、: LOOP A1A4: MOVDX,OFFSET MES1;show mes1 MOVAH,09H INT 21H MOVAL,BL;show the least number ANDAL,0F0H;get the highest 4 bits SHRAL,4 CMPAL,0AH JBC2 ADDAL,07HC2: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,BL ANDAL,0FH;get the lowest 4 bits CMPAL,0AH JBC3 ADD AL,07HC3: ADDAL,30H MOVDL,AL;
42、show character MOVAH,02H INT21H MOVDX,OFFSET MES2;show mes2 MOVAH,09H INT 21H MOVAL,BH;show the largest number ANDAL,0F0H;get the highest 4 bits SHRAL,4 CMPAL,0AH JBC22 ADDAL,07HC22: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAL,BH ANDAL,0FH;get the lowest 4 bits CMPAL,0AH JBC33 ADD AL,07
43、HC33: ADDAL,30H MOVDL,AL;show character MOVAH,02H INT21H MOVAX,4C00H;go back to dos INT21HCODE ENDSEND START第七章 基本I/O接口电路设计实验四 基本I/O接口电路设计1 实验目的(1).掌握基本I/O接口电路的设计方法,学习译码电路的设计及显示驱动电路的设计应用。 (2).掌握应用汇编语言进行I/O操作的程序设计的方法步骤。2. 实验设备PC微机一台、TD-PIT+实验系统一套。3. 实验内容用译码器设计译码电路,使I/O口偏移地址为04H。利用锁存器连接系统总线,扩接LED数码显示电
44、路。编程在显示器上显示数字(0-9),且每个数字显示1秒左右。验证控制程序的控制结果。4. 实验原理 图5.1是显示数字的实验电路参考图。图中使用74LS138译码器进行口地址译码,当G2A=0,G2B=0,G1=1时译码器被选通,其中IO/M在PC机I/O读写周期时为低电平;且在C,B,A为0,0,1时Y1被选中,其中(XA4,XA3,XA2)与C,B,A相接,即当PC机向端口(IOY0+04H)输出数据时Y1有效且XIOW也有效,使锁存器74LS374从系统总线的数据线(XD0-XD7)上锁存PC机送来的数据并输出至数码显示器。图5.1 基本I/O接口电路实验参考图显示1数字并保持1秒的参
45、考程序如下:C语言源程序#include<conio.h> /包含outp()函数定义的头文件void delay(int time);#define IOY0 0xc800 /通过PIT的端口资源工具查得的片选起始地址值#define port IOY0+0x04void main() int i; outp(port,0x06); /显示1的输出数据 delay(100);outp(port,0x00); /清除显示void delay(int time) int i; long j; for(i=0;i<=time;+i) for(j=0;j<=0x400000;
46、j+) return;汇编源程序;*根据CHECK配置信息修改下列符号值*IOY0 EQU 9C00H ;片选IOY0对应的端口始地址;*MYIO EQU IOY0+00H*4 ;基本输入输出单元74LS374端口地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,MYIO MOV AL,06H OUT DX,AL ; 输出显示1的数据 CALL DALIY QUIT: MOV AX,4C00H ;返回到DOS INT 21HDALLY PROC ;延时子程序D0: MO
47、V CX,200HD1: MOV AX,0FFFFHD2: DEC AX JNZ D2 LOOP D1 DEC DL JNZ D0 RETCODE ENDS END START;Led.asm;LED显示实验;*根据CHECK配置信息修改下列符号值*IOY0 EQU 9C00H ;片选IOY0对应的端口始地址IOY1 EQU 9C40H ;片选IOY1对应的端口始地址;*MYIO_A EQU IOY0+00H*4 ;基本输入输出单元A组端口地址MYIO_B EQU IOY1+00H*4 ;基本输入输出单元B组端口地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,MYIO_B MOV AL,00H OUT DX,AL MOV DX,MYIO_A ;操作LED行显示 MOV BL,01H MOV CX,8LOOP1: MOV AL,BL OUT DX,AL ROL BL,1 CALL DALLY LOOP LOOP1 MOV DX,MYIO_A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论