2009微机接口实验指导书.doc_第1页
2009微机接口实验指导书.doc_第2页
2009微机接口实验指导书.doc_第3页
2009微机接口实验指导书.doc_第4页
2009微机接口实验指导书.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验 1TPC-EM实验仪和386EX实验模式软硬件介绍1.1系统组成概述TPC-EM实验仪是我们在吸收各大专院校教学改革经验,结合计算机技术发展与当前教学新特点而推出的一款新型实验仪。该实验仪采用PCI总线32位CPU 386EX模块/51单片机模块的体系结构,支持不同层次各类院校“微型计算机原理及接口”、“单片机原理及应用”、“计算机控制应用”等课程的教学实验。TPC-EM实验仪主要特点如下:1采用PCI扩展卡386EX/51扩展模块体系结构。用户可根据教学要求灵活选取以下三种不同实验模式进行实验。l PCI总线实验模式:实验仪使用50芯扁平电缆与PCI插卡连接,可充分利用PC机丰富的软硬件资源开展各种实验。其中,在DOS环境下可使用MASM5.0/MASM6.11开展实验;在Windows98/2K/XP环境下可使用VC+6.0、WIN32汇编语言等开展实验,还可进行Windows设备驱动程序开发实验。该实验模式资源丰富、实验内容与PC操作系统、编程语言紧密融合。l 386EX实验模式:使用32位嵌入式CPU 386EX模块,实验仪通过串行口和USB(两种接口任选)与PC机通信。PC端配有自主开发、具有自主知识产权的基于Windows平台的386EX集成开发环境软件。该软件具有32位汇编语言程序编辑、编译、链接、源语句符号调试功能。该实验模式不需打开机箱,连接方便,操作简单,与汇编语言教学紧密结合。 l 51单片机实验模式:使用51单片机仿真器模块。实验仪通过串口与PC机通信。PC端配有Keil C51集成操作软件,可完成ASM51、C51程序的编辑、编译、链接、下载、源语句符号调试。实验仪应用总线自动识别技术。对于以上三种实验模式,自动完成相应总线的切换和接入,用户无需手工做任何跳线操作。 2实验仪各单元电路大部分连线事先已由PCB板连接好,仅留有必要的信号插孔供学生连接使用,而且接插件全部采用自锁插孔。这样,一是可以减少连线的工作量,提高实验效率,二是保证连线接触可靠。除此之外,系统还专门留有一个自定义接线区,作为学生扩展新的实验电路之用。3实验仪支持PC DOS和Windows98/2K/XP操作系统。使用的语言包括MASM5.0/MASM6.11、VC 6.0 、WIN32、C51。PC DOS支持实模式汇编语言编程和I/O接口实验、保护模式支持汇编语言编程实验;Windows支持驱动程序编程实验、VC高级语言和WIN32汇编语言编程实验和I/O接口实验;单片机支持ASM51和C51接口实验。 4实验仪采用高效三路开关电源作为系统工作和实验的电源。 5所有实验提供源程序(用80X86汇编语言、VC 6.0、WIN32汇编语言、Keil C51语言书写)。 TPC-EM实验仪组成如图11所示,由PC主机、PCI扩展卡、实验台、ADD-ON信号电缆、386EX和51扩展模块等组成。PCI扩展卡的作用是将PCI总线信号进行变换并驱动,然后提供给实验台使用,ADD-ON信号电缆用来将PCI扩展卡和实验台连接,386EX和51扩展模块需要时使用。实验台作为实验仪的硬件平台,含有丰富的实验单元电路,通过这些单元电路,可以开展各类软硬件实验和开发。实验台各实验单元的布局安排如图12所示。图1-2 实验仪电路组成框图工作基本原理:1 地址分配:386EX模板 SRAM 128KB(00000H1FFFFH),FLASH 512KB(80000HFFFFFH);外扩SRAM 8KBX4 共32KB(20000H27FFFH) 2 非DMA操作期间,DMA控制器的AEN信号0,386EX/51模块作为主设备控制实验仪上的所有I/O单元电路。当8237工作时,AEN=1,驱动电路变为三态,此时DMA控制器作为主设备,完成存储器存储器访问以及I/O存储器的访问。3 当PCI插卡与PC机连接时,插卡产生的控制信号使驱动电路为三态,隔离386EX/51模块,由PC机作为主设备控制实验仪各单元电路。1.2 实验台结构图1-3 实验台各单元电路布局图1. 2 .1 I/O端口地址译码电路 译码电路用来确定有效的I/O端口地址范围。本实验系统在I/O地址译码区提供了8个信号插孔,每个信号插孔各产生16个I/O端口地址信号,分别是00FH、10H1FH、20H2FH、30H3FH、40H4FH、50H5FH、60H6FH、70H7FH。通常,这些I/O端口地址信号用来作为各实验单元片选之用。地址译码电路如图1-4所示。其中引线端空心圆为信号插孔,可用来连接导线,后面的电路图同样这样约定。图1-4 地址译码电路PCI设备具有自动配置特性,当一个PCI设备连接到系统时,系统会根据PCI板卡上的配置信息和当前PC系统状态进行硬件资源分配,如I/O端口基址和中断号等。I/O端口基址是一个16位的I/O地址,同一个PCI设备在不同计算机中得到的资源信息会有所不同,也即I/O基址会有所变化。而要访问实验台上的实验单元,需要将I/O端口基址与图12产生的I/O译码地址结合才能进行。换句话讲,本译码电路只是一个16位I/O地址的低8位部分,或称为I/O偏移地址。要完成对实验单元的访问,需要完整的16位I/O端口地址,该地址由PCI I/O基址(由系统确定)本译码电路产生的低8位地址构成。在DOS环境下,I/O基址通过PCI BIOS获得,具体可见PCI相关实验指导书,当访问I/O单元时,完整地址应是I/O基址加上偏移地址。在Windows环境下,访问I/O单元地址只需使用偏移地址,而I/O基址由系统自动确定,并自动相加形成完整的地址。1.2.2时钟电路实验台提供了一个时钟电路,由4MHz晶振电路经分频以后产生5个不同频率的脉冲信号,分别是4MHz、2MHz、1MHz、500KHz、250KHz。在实验台上标有不同脉冲频率的信号插孔即为这些脉冲信号的输出端。电路如图1-5所示。图1-5 时钟电路1.2.3单脉冲电路单脉冲发生器去抖动电路电路如图1-6所示。实验台上标有PLUS和/PLUS的两个引线插孔为正负单脉冲的输出。每按一次按钮产生一个脉冲。图1-6 单脉冲电路1.2.4 PCI中断请求触发器电路由于PCI中断采用共享结构,并且PCI总线接口芯片CH365仅接受低电平有效的中断请求信号,因而PCI中断处理比早期ISA的中断处理要复杂的多。为了保证实验台产生的中断请求脉冲信号经过长线传输之后能够被PCI接口芯片可靠识别,为此设计了中断请求触发器电路。电路如图1-7所示。电路原理为:实验台加电之后,74LS74触发器Q端初始状态为低电平,由PC扩展卡输出的/PCI_CLR_IRQ信号(PCI清除中断请求)和/PCI_EN_INT信号(PCI允许中断)均为高电平无效状态。因此,/PCI_INT_REQ端(PCI中断请求信号)输出高电平,表示PCI中断请求无效。当用户将IRQ引线插孔接入中断请求信号源之后(如单脉冲、定时脉冲信号等),通过D触发器将中断请求信号寄存,结果使Q端1,如果此时允许CPU处理PCI中断,则使用指令将/PCI_EN_INT信号置0(表示允许产生PCI中断请求),由此产生的/PCI_INT_REQ=0的中断请求电平信号送至PCI总线接口芯片,触发一次PCI中断。图1-7 PCI中断请求电路为了再次响应中断,本次PCI中断服务程序结束前,用户一定要用指令将该中断触发器复位,即清除中断请求状态。有关中断程序的具体处理过程见PCI中断实验的介绍。1.2.5 小键盘电路实验系统提供一个16按键的小键盘,采用44键盘矩阵结构,如图1-8所示。当某键按下时,行和列上相应两条线短路,检测两条线的状态即可判断某键是否按下。通常,该键盘矩阵的行线和列线分别与8255并行接口的两个端口连接,通过程序的检测和判断来识别按键操作,具体见键盘实验内容。图1-8 小键盘原理图1.2.6 88点阵显示电路88点阵显示模块电路内部结构如图1-9所示。只要在行线R1-R8加上高电平,在列线C1-C8加上低电平,则两线交叉点的LED就会发光。为了提供足够的电流驱动LED,外围电路要使用驱动器,本电路使用了ULN2803芯片做驱动器。行线H0-H7和列线V0-V7信号分别经过驱动器74LS07和ULN2803驱动之后送入点阵显示器。行线和列线都是高电平有效。因为该电路没有锁存器,所以该实验单元电路应该与具有锁存输出特性的器件连接,如8255A并行接口。图1-9 8X8LED点阵电路结构1.2.7 拨动开关和LED显示电路拨动开关和LED显示都是8位宽度,拨动开关有高电平和低电平两种状态见图1-10。LED插孔当接入高电平时发光二极管会被点亮。实验电路见图1-11所示。图1-10 拨动开关电路图1-11 LED显示电路1.2.8 A/D转换电路A/D转换使用了常用的芯片ADC0809。电路如图1-12所示。该电路可以用查询或中断方式处理A/D转换后的数据。查询方式使用D01作为转换结束标志。同时,该信号也作为中断请求信号引出。ADC0809使用三个端口地址控制A/D转换。A0=1 读操作,获取转换后的数据A1=1 读操作,获取ADC EOC状态,当D0=1时,表示EOC=1,转换完成。A1A0=00 输出操作,启动ADC转换开始。1.2.9 D/A转换电路D/A转换使用了常用的DAC0832芯片,见图1-13。由于使用了两级放大器,因此,当参考电压为+5V时,转换输出的电压从0+5V变化。因为PCI转换后的ADD-ON总线信号IOW脉冲宽度较窄(250ns),大大小于DAC0832可靠转换所允许的最小值。因此,DAC芯片的数据总线没有直接与实验台总线连接,而是使用了D锁存器和单稳电路模拟产生D/A时序,但户对DAC的编程应用与DAC直接连接总线的方法相同,即对用户是完全透明的。1.2.10 RS-232C接口电路实验台有两个串行接口电路,一个受16550控制,一个受51单片机控制。为了简单起见,两个串行口都使用了三线制,即仅使用TXD、RXD、GND信号线。两个串口都使用9脚D型连接器,信号定义完全相同,并且与PC机的9脚D型插座定义相同,这样,使用一根电缆,不仅可以做PC和实验台之间的串行通信实验,也可做PC与PC之间的串行通信实验。RS-232C接口电路见图1-14所示。1.2.11 12864汉字LCD 显示模块12864带汉字库LCD显示模块型号为TS12864A3。LCD 显示模块内部集成了汉字字库、显示存储器和控制电路,与外部并行接口连接主要有数据线D7-D0、数据/命令信号线D/I、读/写信号线R/W、允许信号线E、背景显示信号线BK。各信号线的功能为:D/I=1 表示数据,D/I=0表示命令;R/W=1表示读操作,R/W0表示写操作;E=1允许显示,E=0禁止显示;BK=1显示背景,BK=0不显示背景。要控制LCD显示字符、汉字或图形,只要按照模块给出的命令格式向LCD发送命令和数据即可,不需要复杂的时序操作。LCD命令分为基本指令集和扩展指令集两种。详细的命令介绍可参见光盘的技术资料。一用户指令表1(RE=0:基本指令集)指令指令码说 明DIRWD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00”地址归位000000001X设定DDRAM的地址计数器(AC)到“00”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容进入点设定00000001I/DS指定在资料的读取与写入时,设定游标移动方向及指定显示的移位显示状态开/关0000001DCBD=1:整体显示ONC=1:游标ONB=1:游标位置ON游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容功能设定00001DLX0REXXDL=1:(必须为1)RE=1: 扩充指令动作RE=0:基本指令动作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)设定DDRAM地址001AC6AC5AC4AC3AC2AC1AC0设定DDRAM地址到地址计数器(AC)读取忙标志(BF)和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF),可以确认内部动作是否完成,同时可读出地址计数器(AC)的值写资料到RAM10D7D6D5D4D3D2D1D0写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)读出RAM的值11D7D6D5D4D3D2D1D0从内部RAM读取资料到(DDRAM/CGRAM/IRAM/GDRAM)二用户指令表2(RE=1:扩充指令集)指令指令码说 明DIRWD7D6D5D4D3D2D1D0待命模式0000000001将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00”卷动地址或IRAM地址选择000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM地址反白显示00000001R1R0选择4行中的作反白显示,并可决定反白与否睡眠模式0000001SLXXSL=1:脱离睡眠模式SL=0:进入睡眠模式扩充功能设定000011X1REG0RE1: 扩充指令集动作RE0: 基本指令集动作G1: 绘图显示ONG0:绘图显示OFF设定IRAM地址或卷动地址0001AC5AC4AC3AC2AC1AC0SR=1: AC5-AC0为垂直卷动地址SR=0: AC3-AC0为ICON IRAM地址设定绘图RAM地址001AC6AC5AC4AC3AC2AC1AC0设定CGRAM地址到地址计数器(AC)备注:1, 当模块在接收命令时,微处理器必须先确认模块内部处于非忙碌状态,即读取BF标志0时,方可接受新的命令;如果不检查BF状态,则可以使用延迟一段较长时间的方法实现。大部分指令执行时间为72微秒,而清除显示和地址归位指令执行时间约需5毫秒。2, “RE”为基本指令集与扩充指令集的选择控制位,当变更”RE”位元后,往后的指令集将维持在最后的状态。除非再次变更“RE”位元,否则使用相同指令时,不需再次重设”RE”位元。3, 详细的操作命令参见模块使用手册。三、LCD显示坐标关系 1图形显示坐标 CDRAM水平位址(X) 0(16个位元) 1 7 CDRAN垂直位址(Y)012:31012:31. 8 9 15. 2汉字显示坐标 X坐标Line 180H81H82H83H84H85H86H87HLine 290H91H92H93H94H95H96H97HLine 388H89H8AH8BH8CH8DH8EH8FHLine 498H99H9AH9BH9CH9DH9EH9FH 3字符表 代码(02H7FH) 四、LCD显示步骤1 显示资料RAM(DDRAM)显示资料RAM提供642个位元组的空间,最多可以控制4行16字(64个字)的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型,分别是半宽达到HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在 DDRAM中写入的编码选择,在0000H-0006H的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型的编码(A140-D75F),各种字型详细编码如下:1. 显示半宽字型:将8位元资料写入DDRAM中,范围是02H7FH的编码。2. 显示CGRAM字型:将16位元资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。3. 显示中文字型:将16位元资料写入DDRAM中,范围是A1A1HF7FEH的编码。2绘图RAM(GDRAM) 绘图显示RAM提供6432位个位元组的记忆空间,最多可以控制25664点的二维绘图缓冲空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个8位元的资料到绘图RAM,而地址计数器(AC)会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:1 关闭绘图显示功能。2 先将水平的位元组坐标(X)写入绘图RAM地址;3 再将垂直的坐标(Y)写入绘图RAM地址;4 将D15D8写入到RAM中;5 将D7D0写入到RAM中;6 打开绘图显示功能。7 绘图显示的记忆体对应分布请参考表3 游标/闪烁控制 ST7920A提供硬体游标及闪烁控制电路,由地址地址计数器的值来指定DDRAM中的游标或闪烁位置。4汉字显示方法: 首先从光盘附带的TS12864-3汉字库.PDF文件中依次搜索要显示汉字的编码,每个汉字编码是由汉字区位码分别转换成二进制数再加上1010000010100000(A0A0H)得到的。写入汉字编码时,向同一个显示位置地址写入两个字节,先写入高字节,再写入低字节。具体过程可参见实验指导书(DOS)部分第3章第14个实验。图1-15 液晶模块电路1.2.12 步进电机及驱动电路步进电机型号为35BY48S03,电压12V,每转一圈需48步,每步旋转7.5度。步进电机的励磁线圈及其励磁顺序如下图所示。电机驱动电路使用了ULN2803芯片。引线信号励磁顺序(步序)12345678AB/A/B步进代码01H03H02H06H04H0CH08H09H注意:当不使用步进电机时,一定要将步进电机驱动信号连接线及电源线拆除,以防长时间加电导致电机温度过热。1.2.13 继电器电路如图1-16所示,实验台上设有一个5V直流继电器及相应的驱动电路,当其开关量输入端输入数字量“1”时,继电器动作:常开触点闭合、常闭触点断开。通过相应的实验使学生了解开关量控制的一般原理。图1-16 继电器电路1.3 实验仪扩展总线和复位信号扩展信号的产生:实验仪PCI插座的左边有一个20PIN的插座,可用来扩展其它实验模块,引出的信号如下:引脚号符号名称引脚号符号名称1NC悬空11D4数据2GND地12IOWI/O写3NC悬空13D3数据4GND地14IORI/O读5D7数据15D2数据61MHz1M时钟16VCC+5V电源7D6数据17D1数据8A1地址18VCC+5V电源9D5数据19D0数据10A0地址20RESET复位复位信号的产生:实验仪的复位电路,将在加电时产生复位信号,并且有一个复位按钮,可用来对扩展模块和实验仪的所有单元电路进行人工复位操作。在386EX和51单片机实验模式下经常用到。1.4 PCI扩展卡电路PCI扩展卡的功能是将PCI总线信号变换成ISA的ADD-ON信号,并且经过驱动隔离以后经扁平电缆送到实验台,以完成PC程序对实验台单元电路的控制。PCI扩展卡的核心是总线接口芯片365,该芯片主要完成PCI信号时序到ADD-ON信号时序的转换,实验台利用了转换后的地址、数据、控制和中断信号等。PCI总线扩展卡的电路框图如图1-17所示。图1-17 PCI扩展卡电路框图50线总线插座信号安排1 A122 A113 A134 A105 A146 A97 A158 A89 VCC10 A711 GND12 A613 GND14 A515 GND16 A417 GND18 A319 GND20 A221 GND22 A123 GND24 A025 GND26 D727 GND28 D629 GND30 D531 GND32 D433 GND34 D335 GND36 D237 GND38 D139 GND40 D041 MEMR 42 MEMW 43 PC_E 44 IOR 45 GND 46 IOW47 GND48 RESET49 GND50 IRQ1.5 386EX扩展模块386EX扩展模块由以下电路组成:1 INTEL公司的32位 嵌入式CPU 386EX;2 128KB SRAM3 512KB FLASH4 EPLD/晶振等电路5 USB电路6 两个40针连接器CN1和CN2,引出总线、数据、地址信号。7 两个LED测试指示灯,加电时顺序点亮表示分别测试8KB X4 RAM和128KB RAM,测试完成两个LED熄灭表示测试成功,可以进行实验。 386EX扩展模块的主要核心器件是32位CPU 386EX。386EX是INTEL公司研发的X86嵌入式CPU,指令系统与80386兼容,芯片除intel 386 CX内核和总线单元以外,集成了丰富的接口单元,所以应用在嵌入式系统中非常合适。 386EX设计充分考虑了和PC DOS应用的兼容。内部各个接口单元的地址与PC接口地址完全相同。因此可直接按照PC操作的I/O地址对386EX接口单元操作。本模块中,留给用户做实验的资源包括8259中断控制器,其余资源由实验仪上相同单元提供。 386EX模块提供给用户的I/O基址是200H,其译码输出由实验仪总线区/CS0、/CS1引出,它留给用户外接实验单元时使用。一般情况下不用。学生编程时使用的完整I/O地址由基址地址译码区的偏移地址构成。如选择实验仪地址译码区0-F端子,则接口单元的I/O编程地址为200H-20FH,具体到8255A芯片,则仅使用200H-203H。386EX模块提供两个硬件中断请求信号供用户使用,分别为IRQ0和IRQ1(实验仪中断请求区留出插孔并标识)。386EX内部有两个8259中断控制器,分别为主8259和从8259,其结构与PC机相同,命令也兼容。用户中断IRQ0和IRQ1分别对应主8259中断控制器引脚IR5和从8259的IR0。有关用户中断参数如下:注意:1.写入允许中断的中断屏蔽字OCW1时,应采取读修改写序列。 即 IN AL, 21H 或 IN AL, 0A1HH AND AL,0DFH AND AL, 0FEH OUT 21H,AL OUT 0A1H, AL 2两个8259中断控制器已由固件程序初始化,用户不需对8259重新初始化,否则386EX集成操作软件运行会不正常。用户编程时,只要写入OCW1、填写中断向量即可,具体应用参见386EX实验程序。主、从8259中断控制器的中断类型号初始值分别为30H、70H,由此得到用户可用的中断类型号是35H、70H,主片、从片其他中断类型号由系统使用,用户不要使用,以免冲突。 386EX扩展模块需配合PC上位机的集成操作软件才能使用。该软件是自主开发的基于Windows平台的调试软件,它将32位汇编语言编辑、编译、链接、EXE文件下载、源语句符号断点、单步、单步跳跃、运行、查看寄存器、显示内存等功能集成在一个环境中,不需进入DOS窗口,因此用户使用起来非常方便。具体使用看386EX实验手册。1.6 386EX扩展模块386EX实验模式是一种使用在板32位嵌入式CPU Intel 386EX的模式,它摒弃了目前大部分实验仪使用的16位CPU 8086的结构。32位CPU 386EX不仅支持32位汇编语言编程,而且芯片内部集成了丰富的外设接口单元,如中断控制器、定时/计数器、DMA控制器、异步通信控制器、同步通信控制器、刷新单元、看门狗电路、I/O端口、译码电路、JTAG等,因此,不仅可作为实验开发使用,也可进行嵌入式系统开发。 386EX实验模式由以下硬件软件组成。图1-18 386EX实验模式组成386EX扩展模块如图19所示。图1-19 386EX模块组成386EX实验模式连线图如图1-20所示。注意:386EX模块插入实验仪主板时三角型定位标志应与主板上的标志方向一致,切记不可插反。否则会损坏模块。图1-20 386EX实验模式386EX模块提供给用户的I/O基址为200H。实验时,编程访问实验单元的完整地址由I/O基址+实验仪的地址译码区偏移值组成。实验仪地址译码区偏移值有8组,分别是0F、101F、202F、303F、404F、505F、606F、707F。如果8255片选信号与地址译码区的0F连接,则编程地址为200H20FH,实际可使用四组8255地址,每组四个地址。如200H203H 204H207H等。 386EX实验模式需要安装386EX集成开发环境,随机光盘有相应的安装程序,只要点击SETUP即可安装。安装程序除安装集成开发环境以外,还自动安装MASM6.11和LINK等程序,并且复制USB驱动程序到driver文件夹中,在第一次使用USB电缆连接实验仪的时候,系统会提示发现新硬件,接着按照操作步骤安装USB芯片CH372的驱动程序。只有安装了驱动程序,才能使用USB端口下载程序和调试。注意:(1)每次打开实验仪电源,386EX扩展模块的两个指示灯分别点亮表示正在对两个RAM模块进行自检,测试通过,LED灯全部熄灭,表示可开展实验。如果任意一个LED灯不熄灭,则表示自检不通过,模块有故障,排除故障后才可实验。(2)386EX实验模式下,MASM6.11汇编语言程序的编辑、编译、下载、单步进入、单步跳跃、断点、运行、变量显示、32位寄存器显示、数据段内容显示等操作都在386EX集成操作环境中完成。该集成软件是我们自主开发的具有源语句调试功能的软件。(3)386EX固件初始化程序已将用户编程I/O操作的地址限定为200H基址,完整的I/O地址应该是I/O基址实验仪地址译码区的I/O偏移地址,I/O偏移地址共有八组,分别是0-F、101F、202F、30-3F、40-4F、50-5F、60-6F、70-7F,每组有16个地址。如实验单元译码地址选择0-F端子,基址选择200H,则编程时使用的I/O地址应该是200H-20FH,具体应用地址的多少视芯片而定,如8255A仅使用200H-203H四个地址。(4)实验仪硬件固化了PC机中常用的BIOS和DOS软中断功能调用。主要包括PC键盘输入和LCD显示功能。使用键盘输入功能调用,需事先将PC键盘与实验仪的PS2接口连接;使用LCD显示功能,需事先将LCD显示器右边的开关拨到LCD_ON的位置,否则不能显示。本系统支持的系统功能调用如下:1:INT 16H的00H功能,从PC键盘输入一个字符,返回字符在AL中;2:INT 16H的01H功能,检查键盘缓冲区,Z=1为空,否则不空;3:INT 21H的01H功能,从PC键盘输入一个字符,返回值在AL中,并在LCD回显该字符;4:INT 21H的02H功能,LCD显示一个字符;5:INT 21H的07H功能,从PC键盘输入一个字符,但不回显;6;INT 21H的09H功能,在LCD上显示一个以”$”结尾的字符串,字符串定义在数据段,字符串地址需事先放入DX中;7;INT 1CH功能,外扩定时中断程序,定时周期55ms;8:INT 21H的4CH功能,结束用户程序,复位硬件系统386EX集成开发环境简介(一)开发入门386EX集成开发环境桌面包括:编辑状态桌面和调试状态桌面。一、编辑状态桌面 图 1-21 386EX集成开发环境编辑状态桌面1. 菜单栏项 包括:文件、编辑、查看、通信设置、调试、视图、编译和帮助。2工具栏项包括:一般工具栏(含:新建,打开,保存,剪贴,复制,粘贴,打印,帮助)、编译工具栏(含:编译,运行到断点,设置/删除断点)和调试工具栏(含:单步进入,单步跳跃,退出调试),其中调试工具栏在调试状态才会显示,用户也可以根据需要通过右击快捷菜单来显示和隐藏工具栏,也可以任意拖放工具栏。3编辑区用户可以通过新建或打开一个已经存在的ASM源文件,在该区域对其进行编辑,修改,编辑菜单项包括编辑相关工具,含:剪贴,复制,粘贴及查找基本操作。4编译错误信息显示区该区域用来显示用户在编写完ASM源文件后,对其进行编译时,产生的编译错误信息提示,用户可以根据产生的错误信息行列对源文件进行修改,也可以方便的通过双击相应的错误提示行,来快速自动定位源文件中产生错误的位置,并在编辑区错误所产生的行头标记:。二、调试状态桌面 图 1-22 386EX集成开发环境调试状态桌面5内存查看窗口用户在地址栏处通过键入16进制数4位段地址:4位偏移地址(如D000:0000),可以查看从该区域开始的80个字节内存单元内容。注意:段地址和偏移地址必须输入四位。6数据段变量查看窗口用户可以在该区域查看在数据段中定义的变量,并通过单击相应变量名来展开该变量的内容值,也可以双击来手动改变变量的值,如果有内容发生变化则以红色显示。7寄存器查看窗口用户可以在该区域查看各寄存器单元的内容,也可以双击来手动改变寄存器内容的值,如果有内容发生变化则以红色显示。(二)菜单命令一、文件(F)单击文件(F)出现如下编辑对话框。如图1-23所示:图1-23 文件菜单二、编辑(E)单击编辑(E)出现如下编辑对话框。如图1-24。图1-24 编辑菜单三、通信设置 单击通信设置菜单项出现如下对话框,如图1-25。图1-25 通信设置菜单1、设置 如图1-26。图1-26 通信参数设置对话框选择通信方式:串口方式(默认为:COM1和波特率默认为:38400)或USB通信方式。通信方式一旦选定具有锁定功能,下次同样方式工作无需再设置。2连接根据上面图2-9的设置。每次调试前,先要进行上位机与实验系统的连接(联络通信),只有连接之后才能下面的操作。3下载程序把编译链接生成的exe程序下载到386EX模块RAM中以供调试。四、调试单击调试菜单项出现如下调试对话框,如图1-27。图1-27 调试菜单1运行到断点(F5) 运行调试程序,如设置了断点,则运行到断点。2单步跳跃(F10) 单步运行到下一条指令,遇到过程,跳跃过程或进入过程中的断点。3单步进入(F11) 单步运行到下一条指令,遇到过程,运行到过程的第一条指令。4退出调试(Shift + F5) 退出调试状态。5设置/删除断点(F9)在源程序文本设置或删除断点,如果设置了断点,将以红色圆点标记 出现在源程序文本的左侧灰色状态栏内。五、视图(V)单击视图(V)菜单项出现如下视图对话框,如图1-28。图1-28 视图菜单用户可以根据自己的需要打开或隐藏相应的显示窗口,其中有编译错误信息输出窗口、内存查看窗口、寄存器查看窗口和数据段查看窗口六、编译单击编译菜单项出现如下编译对话框,如图1-29。图1-29 编译菜单对源文件使用MASM6.11进行编译链接七、帮助(H)单击帮助菜单项出现如下帮助对话框,如图1-30。用户可以通过使用帮助获取相关信息。图1-30 帮助菜单(三)调试实例对以下实例源文件(文件名:test.asm)进行编辑,编译/链接,传送到下位机后,对其进行调试示范。源程序Test.asm.Model small .386DATASEGMENT d1 db10 dup(4) d2 db20 dup(3) DATAENDS CODE SEGMENT ASSUMECS:CODE, DS:DATA BEG: MOVAX,DATA MOVDS,AX LEA SI,d2 MOV BYTE PTR SI, 1 MOV EAX,1 MOV EBX,3 CODE ENDS END BEG步骤1:将该程序在编辑区编写,如图1-31所示:图1-31图为编辑并编译正确后的结果,如果编译有错误可以通过双击错误行,来快速在编辑区定位错误位置,如下图1-32所示图1-32步骤2:用手触动386EX扩展板插座右下角的复位按键,对下位机硬件复位。步骤3:单击通信设置菜单项中的连接,连接串口(默认连接串口属性为COM1和38400传输速率)或USB接口。如下图1-33:图1-33步骤4:单击串口菜单项中的下载程序,将生成的exe文件下载到下位机。如下图1-34显示下载文件进程:图1-34步骤5:在源文件中设置断点,可以使用快捷键F9,断点设置完后单击调试菜单项中的运行(F5),运行到断点。如下图1-35。若要全速运行实验程序,则不设置断点,直接单击调试菜单项中的运行(F5)即可。当全速运行时,内存查看窗口,寄存器查看窗口和数据段变量查看窗口不可操作。图1-35用户此时可以在内存地址窗口中输入要查看内存的首地址(段地址:偏移地址),注意:段地址和偏移地址必须输满四位。上图中为查看以0为首地址的80个内存单元,也可以在数据查看窗口中查看并修改数据段变量内容;在寄存器查看窗口中查看并修改寄存器内容。步骤6:单击调试菜单项中的单步进入(F11)或单步跳跃(F10)来进一步调试程序,如果是单步进入,则单步进入过程,数值变化将以红色显示。如下图1-36:图1-36步骤7:当调试完毕后,单击调试菜单项中的退出调试(Shift + F5)。(四)开发环境约定在使用386EX集成开发环境进行编辑、调试32位汇编语言程序时,汇编语言的使用有一些约定如下:1、 源程序一开始需要写 .Model Small .386两条伪指令,表示编程模式是小模式,仅支持一个代码段和一个数据段和支持386CPU 32位指令。注意这两条伪指令的书写顺序不可颠倒。如果两条伪指令都不写,则默认为16位指令操作模式。2、汇编程序中可以使用固件支持的部分INT 16H和INT 21H功能调用,其调用格式与PC机完全相同。详见最后附录介绍。3、程序结束处可使用INT 21H 的4CH功能结束程序返回监控程序。实例如下:.Model small .386DATASEGMENT DATAENDS CODESEGMENT ASSUMECS:CODE, DS:DATA BEG:MOVAX,DATA MOVDS,AX MOV EAX,1 CALL FUN1 CALL FUN2 MOV EBX,3 MOV AH,4CH ;程序结束调用INT 21HFUN1 PROC RETFU1 ENDPFUN2 PROCRETFU2 ENDPCODE ENDS END BEG5、 如果用户程序中含有死循环,进入死循环后,开发环境则失去了对程序的监控权(即此时无法再进行调试)。解决方法:必须对下位机复位,然后关闭开发环境后再重新打开,进行重新调试。6、 本开发环境只支持下面两种模式 .Model small (推荐使用此模式).386 .Model small 7、用户程序中只能含有一个数据段和一个代码段,8、用户程序装入0:1400开始的内存单元,用户数据段装入1000:0开始的内存单元。一般情况,数据段变量内容可直接在窗口右下方点击变量名即可观察。如果需要观察存储单元的16进制数,则需在左边的地址窗口输入以上段地址:偏移地址才可显示代码段和数据段内容。9、 在遇到串口或USB不能连接成功时,先复位下位机,然后关闭开发环境,之后再次打开开发环境重新进行调试。10、 串口的默认波特率为38400bps,如果要想改变波特率,在打开集成开发环境后,正确的操作步骤是: 通信设置连接通信设置重新设定波特率确定连接下载程序。 上述操作原理是先建立默认波特率的连接,成功后再改变波特率。实验 2 8253定时/计数器实验【实验目的】熟悉8253在系统中的电路接法,掌握8253的工作方式及应用编程。【实验内容一】使用8253两个计数器级连,采用定时方式工作,周期性的点亮及熄灭发光二极管各0.5秒。【实验接线图】【实验程序】【撰写实验报告】实验报告包括的内容1、写出实验序号、实验题目;2、依次写清楚本实验的目的、原理、器材等内容;3、详细写出实验步骤、内容;4、写出实验结果并按要求对实验结果进行分析;5、可以谈谈做该实验的体会:成败的原因、关键及今后应注意的事项。实验 3 8259中断控制器实验【实验目的】了解8259中断控制器的基本使用,掌握中断程序编程技术。【实验内容】使用单脉冲电路产生的脉冲信号作为8259中断请求输入,每按一次单脉冲按键,触发一次中断,产生一次中断反应,并判断8259中断输入端。8259产生的中断反应到386EX模块的8259中断控制器,由386EX CPU做中断处理。【实验接线图】数码管跳线接到“CPU”一侧,8259中断IRQ0-IRQ7分别接单脉冲【386EX中断系统简介】386EX CPU内部有两个8259中断控制器,一个主8259,一个从8259,其级联方式与PC机相同。主从8259使用的命令字和端口地址与PC DOS兼容。

温馨提示

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

最新文档

评论

0/150

提交评论