微机原理及应用实验指导书

微机原理及应用实验指导书
微机原理及应用实验指导书

微型计算机原理及应用

刘士光主编

河北科技师范学院

机械电子系

目录

第一章硬件实验系统介绍 (3)

1.1系统概述 (3)

1.2EL微机实验教学系统结构 (4)

1.3通用接口板实验电路介绍 (5)

1.48051CPU板的结构 (7)

1.5实验系统电源 (8)

第二章软件操作说明 (8)

一软件的运行环境及安装启动 (8)

二实验程序开发的基本步骤 (9)

三、常见故障及其解决措施 (10)

四硬件安装 (11)

五、源程序的编辑 (11)

六、编译 (14)

七、连接与定位 (15)

八、调试 (16)

九、软件的详细说明 (16)

第三章键盘操作说明 (21)

一、键盘布局及键盘定义 (21)

二、键盘功能号 (22)

三LED 数码显示及键盘操作约定 (22)

四重要说明 (23)

五键盘操作详述 (24)

六键盘扫描码 (28)

七演示程序的运行 (28)

第四章硬件及接口实验 (28)

实验一P1口实验一 (28)

实验三中断实验 (32)

实验四定时器实验 (35)

实验五8255A可编程并行接口实验一 (37)

实验六综合性、设计性实验——D/A和A/D转换实验 (38)

实验七串行口实验 (42)

实验八综合性、设计性实验——炉温控制实验 (45)

附录 8051错误信息 (49)

第一章硬件实验系统介绍

EL型微机教学时验系统的最大特点是采用摸块化组合式设计,容8051、8086、80C198/80C196三位于一体,而且可用功能齐全,硬件实验系统介绍如下:

1.1系统概述

(1)主要技术特性:

1.微处理器:INTEL8051,8086,80C198/80C196可换。

2.时钟频率:6MHZ

3.存储器:程序存储器,数据存储器统一编址。最多达64K,EL-Ⅰ型RAM48K

供用户使用:EL—II型的RAM32K供用户使用,可扩展至48K。用户存储

器的起始地址为4000H;8051原有中断入口均须定为在偏移4000H之后

的相应地址,如外部中断0入口在原程序中应为:

CSEG AT 4003H

LJMP INTO(中断服务程序入口标号)

4.8255A可编程并行接口芯片一个。

5.串行接口两个:(1)8250芯片一个,与主机通讯用;(2)单片机串行接

口一个供用户使用。

6.6*5键盘一个:除CNTL键和SHIFT键外,其余28键可用户自定义。

7.8279键盘、显示接口芯片一个。

8.六LED位数码显示。

9.ADC0809 A/D转换芯片一个。

10.DAC0832 D/A转换芯片一个。

11.8位简单输入接口74 LS244一个;EL—I型简单输出接口74 LS273两个,

EL—II 型简单输出接口74 LS273一个。

12.配有逻辑电平开关:发光二极管显示电路。

13.三路0~5V连续可调模拟量输入。

14.一个可产生正,负脉冲的脉冲触发器。

15.8253可编程定时器一个计数器一个,74 LS161计数器一个,输出4路时

钟信号。

16.实验箱电源为正负5 V,正负12 V,也可采用 PC机电源或外接电源。

17.EL— II型配有一个20针EEPROM写入器接线插座,结合EEPROM8951系

列写入器(可选件),可写EEPROM2864,28256,89C 1051,89 C2051,

89C51,89 C52等芯片,实验箱上有J1 EPROM字样的标记。

18.EL— II型配有一个20针作微控制实验的接线插座,可进行步进电机,

炉温控制,小直流电机调速等实验,实验箱上有J2 CONTR字样的标记。

三种控制对象为可选件。

(2)提供对8051的基本实验

为了提高微机教学实验质量,提高实验效率,减轻主讲教师和实验教师的劳动强度,在该系统板上,除微处理器,EPROM,RAM外,扩充了8255并行接口;8250串行接口;8279键盘显示控制器,8253定时器;A/D、D/A转换、脉冲发生器及键盘LED显示等各种外围电路,各部分电路即相互独立,又可灵活组合,能满足各类学校,不同层次微机实验和培训需要。本系统提供对8051的基本实验如下:1. P1口实验

2.定时器实验

3.简单 IO口扩展实验

4.开关量输入实验

5.发光二极管显示实验

6. LED数码显示管实验

7.小键盘扫描实验

8. 8255可编程并行口试验

9. 8279键盘,显示接口实验

10.串行口通讯实验

11.DAC0832数模转换实验

12.ADC0809模数转换实验

13.存储器扩展实验

14.外部中断实验

15.交通灯控制实验

16.步进电机控制实验

17.小直流调速实验

18.炉温控制实验

其中,实验16,17,18需与响应的控制对象相连,为选作实验。

1.2 EL微机实验教学系统结构

EL型微机实验学系统由通用接口电路板,可选的CPU板,两块小面包板组成,可安装在45*30*10 CM的实验箱内。 EL--I 型的结构框图见图1—1:EL--Ⅱ型的结构框图见图1—2。

1.3 通用接口板实验电路介绍

1.3.1输出显示电路

(1)数码显示电路

该电路由6位共阴极数码管,3片75452,2片74 LS07组成,74LS07为段驱动器,EL-I型相应输入插孔为CZ4(A~Dp);

EL-II型相应输入插孔为ZP9(A~Dp),75452为驱动器,EL-I型相应输入插孔为CZ3(LD1~LD6).

(2)LED灯显示电路

该电路由2片74LS07,EL--I 型12支EL-II型8支二极管组成。EL-I型相应输入插孔为CZ2(LI1~LI12);EL-II型相应输入插孔为ZP3(L1~L8) 1.3.2信号发生器

(1)开关量输入电路

该电路由8路开关组成,每个开关有两个位置,分别代表高电平和低电平。EL—I型相应插孔为CZ1(K4—L8);EL--II型相应输入插孔为K1-K8.

(2)时钟输入电路

该电路由1片74LS161组成,当CPU为8051,80C198,80C196时,CLK的输入时钟为晶振频率,当CPU为8086时,CLK的输入时钟为2MHZ。

输出时钟为该CLK的2分频(CLK0),4分频(CLK1),8分频(CLK2),16分频(CLK3),相应输出插口为(CLK0—CLK3)。

(3)单脉冲发生器电路

该电路由一个按纽,一片74LS04,74LS132组成,具有消颤功能,正反相脉冲,相应插孔为P0.P1。

(4)模拟量输入电路

该电路由3只可变电位器组成,输出为0—5V连续可调。EL--I型相应输出插孔为CZ27,CZ28,CZ29(KB1—KB3);EL--II型相应输出插孔为ZP10(KB1—KB3)。

(5)键盘输入电路

该电路由28只通用键1只SHIFT键1只CTRL组成,28只通用键采用8根列扫线,4根行扫线,无外部信号输入时均为高电平,有外部信号输入时,电平状态由外部输入信号决定,作键盘实验时,一般行,列扫线分别定义为输入,输出,即4根行扫线为输入,8根列扫线为输出。EL-I型相应输出插孔为CZ5(KB0—KB3),CZ6(KA0—KA7);EL-II型相应输出插孔为ZP1(KB0—KB3),RS3(KA0—KA7)。

(6)复位电路

按动复位键,将对8255,8279,8250复位,以及对CPU板起复位作用。

1.3.3可编程定时器8253电路

该电路由1片8253组成,8253的片选输入端插孔为 CS8253,数据口,地址,读写线均已接好,T0,T1的时钟为 74LS161的输出CLK3,T2的时钟用户可自己接。

注:GATE信号无输入时钟时为高电平,EL-I型T2的时钟为 CLK3。

1.3.4可编程并行口8255电路

该电路由1片8255组成,8255数据口,地址,读写线,复位控制线均已接好,片选输入端插孔为CS8255,A.B.C三端口的插孔为:

EL-I型:A:CZ16(PA0—PA7);B:CZ15(PB0—PB7);C:CZ17(PC0—PC7)。

EL-II型:A:PA0—PA7;B:PB0—PB7;C:PC0—PC7。

1.3.5可编程键盘显示控制器电路

该电路由一片8279,74LS138组成,8279的数据口,地址,读写线,复位,时钟,片选控制线均已接好,显示输出,键盘行列扫描线军有插孔输出。

EL-I型相应输出插孔为:CZ21,CZ25,相应标号均为KS0—KS7。另外该电路在进行实验时还要用到一组反向器,其输入插孔为 CZ24(S0—S5),输出插孔为CZ33(S0\--S5\)。

EL—II型相应输出插孔为:ZP5(RL0—RL7),ZP13(KS0—KS5)。

1.3.6可编程串行口8250电路

该电路由1片8250,1片1488,1片1489组成,该电路中8250的控制线均已接好,EL--I型串行口输入插座为J1,T为发送,R为接收;EL—II型的串行口被用作与PC机通讯用。

1.3.7简单数字量输出缓存电路

该电路EL-I型由2片74LS273组成,其片选信号分别为CSU8\,CSU9\,输出插孔为CZ10(SO0—SO7)和CZ7(SO8—SO15);EL—II型由1片74LS273组成,输出插孔为ZP17(SO0—SO7),其片选信号为CSU8\,该电路中74LS273的输入均已接好数据线。

1.3.8简单数字量输入缓冲电路

该电路由1片DAC0832,1片74LS00,1片LM324组成,其输入均以接在数据线上,EL-I型输入插孔为cz9(S10-S17),片选信号为CSU10/ ;EL-II型输入插空为ZP18(S10-S17),片选信号为CSU10/。

1.3.9八路八位A/D转换电路该电路

由一片DAC0832,一片74LS02组成,该电路中,ADC0809的参考电压,数据总线输出,通道控制线均以接好,其它信号线由插孔接入,ADC0809的片选信号为CS0809,转换结束标志输出插孔为VOUT和OUT,模拟量输入通道插孔为IN0-IN 7。通过调接KB6可调节参考电压Vref。

1.3.10八位双缓冲D/A转换电路

该电路由一片DAC0832,一片74LOO,一片LM324组成。该电路中除0832的片选未接好外,其他信号均以接好,DAC0832的片选信号为CS0832,输入插孔为AOUT(EL-I)和OUT(EL—II型)。该电路为非偏移二进制D/A 转换电路,通过调节KB4(EL—II),可调节转换器的满偏值,调节KB5(FL—II型为PT2),可调节转换器的零偏值。

1.3.11存储器扩展电路

该电路由1片62256和1片6264(EL—II型为2片6264)组成,该电路的所有信号线均接好,可直接进行存储器读写实验,对8051和8098实验来说,62256的起始地址为4000H,长度为32K.8051和8098的数据与程序存储区多统一编址为64K.其中0~16K被系统使用,后48K(EL—II型为32K)供用户作仿真或实验用。

1.4 8051CPU板的结构

EL-I型8051CPU板含1片8031CPU,1片地址锁存器74LS373,两片GALI6V8地址译码器,一个时钟发生电路产生6MHZ脉冲。该CPU板有用于系统扩展和更改配置的跳线、插孔,详述如下:

J2为8051方真头插座,它可以通过仿真电缆与目标相连,用于仿真调试。

J3为8051全部引脚的引出孔,可用来做面包板实验或与其他实验相连接。

J4为8051通过地址锁存器锁存后的低八位地址。

CLOCK 跳线用来设置仿真时用用户时钟还是用CPU板上的时钟,跳为SYSTEM 时,使用系统时钟,跳为USER时使用用户时钟。

BNAK跳线用来确定64k,4000~7FFFH,8000~BFFFH,C000~FFFFH,这三段空间是分配给系统还是用户板,着主要是为避免访问出现总线冲兔,右1控制4000~7FFFH 段,中2控制8000-BFFFH,左1控制C000H~FFFH。跳为SYS时,分配给系统,跳为USER时,分配给用户板。

EL—II型8051CPU板有一个仿真头插座,和全部引脚的引出孔,以及CLOCK 跳线,功能和EL—I的一样。

8051的实验系统将PSEN与RD信号统一使用,系统内所有存储器都统一编址,既可以作数据存储器,也可作程序存储器,所有地址译码均采用全地址译码。通用

片选地址见下述:

CS0: CFA0H-CFA7H 实验程序、芯片可用的通用片选

CS1: CFA8H-CFAFH 实验程序、芯片可用的通用片选

CS2: CFB0H-CFB7H 实验程序、芯片可用的通用片选

CS3: CFB8H-CFBFH 实验程序、芯片可用的通用片选

CS4: CFC0H-CFC7H 实验程序、芯片可用的通用片选

CS5: CFC8H-CFCFH 实验程序、芯片可用的通用片选

CS6: CFD0H-CFD7H 实验程序、芯片可用的通用片选

CS7: CFD8H-CFDFH 实验程序、芯片可用的通用片选

CS8250:CFE0H—CFE7H 实验程序、芯片可用的通用片选

CS8279:CFE8H—CFEFH 实验程序、芯片可用的通用片选

1.5 实验系统电源

该系统的电源提供了两种解决方案:

(1)利用PC机电源,从系统的+5V、+12V、-12V电源插座中引入。该电路具有短路保护。

(2)外接开关电源,内置在实验箱里。

第二章软件操作说明

CIDE8051集成开发环境是为开发8051程序而开发的多窗口源程序级开发调试软件,它的多窗口技术为用户提供了一个极为友好方便的人机界面。它集编辑、编译、连接、调试于一体,极大地提高了程序开发的效率。

一软件的运行环境及安装启动

1.运行环境要求:

本系统提供两套菜单完全相同,功能完全相同的调试环境,一套是中文界面系统,一套是西文界面系统。

中文界面系统要求运行环境:PC系列微机,640K内存,VGA显卡,DOS3.3以上操作系统,2M以上硬盘。

西文界面系统要求运行环境:PC系列微机,512K内存,双频单显或CGA或EGA 显示器,DOS3.3以上操作系统,2M以上硬盘。

注:本系统不能在一些仿真DOS下运行,如WIN95自带的MS-DOS方式,推荐在DOS6.22下运行。

2.系统安装:

将标有DB51的软盘拷入已建好的DB51子目录中。

3.系统的启动

在DOS提示符:\DB51>下,运行DB51即可。

4.软件的组成:

DB51.EXE集成开发程序即ASM语言调试环境

ASM51.EXE8051汇编程序

RL51.EXE8051连接程序

0H.EXE十六进制转换文件

CCLIB.DAT文本处理文件

SYMBLE.EXE符号化程序

5.系统运行结果:

运行DB51,对源程序进行编译、连接后,如果没有错误,系统将产生几个具有以下后缀的文件:

源文件前缀.OBJ编译后生成的目标文件

源文件前缀.LST机器代码与源文件对照的列表文件,如果编译时有错误,可打开此文件查看错误信息

源文件前缀.EPR烧写EPROM的烧录文件

工程文件前缀.M51连接后的符号对应表及连接后的错误报告

工程文件前缀.EOB实验系统调试的下载文件

二实验程序开发的基本步骤

1、首先用EDIT或其他编辑软件,编好源程序(假设文件名为:TLASM)。

2、启动DB51,选择正确的串行口、合适的波特率并回车确认,复位实验系统进行通讯连接。

3、激活“工程文件“菜单,选中”“打开”菜单项,键入工程文件名(假设为TT1.prj),回车确认。工程文件名不能与原文件名重名。

4、用“INSET”键给TT1.prj输入源文件,弹出源文件窗口后,击打“ENTER”键,移动上、下光标键,寻找T1.ASM,回车确认,如果选择错误,可用“DELETE”键删除该源文件,用“INSERT”键重新输入。

5、按“F9”键或用“ALT+C”,编译并连接该工程文件,编译时将出现信息窗口。如果有错误,查看T1.LST文件中的错误信息,然后选种“文件”菜单中的“编译文件”选项,对T1.ASM进行修改,修改后返回主界面,再按“F9”键。如果编译无误,按任何键进入连接,连接如果有错误,查看TT1.M51文件中的错误信息,

错误修改同上,如果没有错误,则进入下一步。

6、选中“运行”菜单中的“单步运行”选项或按“F8”键,弹出源文件窗口。

7、利用“运行”菜单中各种调试手段对源程序进行运行调试,同时可打开寄存器或内存窗口来观察程序运行结果。

三、常见故障及其解决措施

1、不能与PC机进行通讯,即不能进入到“C”状态

①检查软件是否在DOS3.3以上的操作系统下运行,本软件不能在一些仿真DOS下运行,如WIN95自带的MS-DOS方式下将不能正常通讯。推荐在DOS6.22下运行。

②检查是否已接入或产生±12V电压,因为负责电平转换的MC1488芯片的供电电压为±12V。

③检查串行口的选择是否正确,通讯电缆、8250串行口芯片是否出现故障。

④检查监控(一片27C64,一片27C256)及存储器(2片6264)是不是好的。

2、产生花屏,或不断提示“存在太多的校验错误”

这一般是在进入开发环境后,软件提示“请复位开发系统”时,操作者多次按下复位按钮引起的。此时应关掉实验箱的电源,并退出软件开发环境,回到DOS 状态,再重新启动软件、打开实验箱电源开关,再重新建立通讯联系。

3、提示“软件超时,请重新复位开发系统”等

这一般是操作者没及时复位实验系统所产生的。注意:在已经进入到软件环境后,如果一开始通讯不成功,或在实验工程中通讯被中断,又希望在不退出软件的条件下重新建立通讯,必须在“运行”菜单中选择“系统复位”项,并及时按下实验箱的上的复位键才能实现。而其它的诸如“软件超时,请重新复位开发系统”、“通讯错误,请返回复位系统…”等,都是一些提示消息窗口,此时按下实验箱上的复位键将不能进入计算机监控状态。

4、提示“工程软件未编译,EOB文件找不到!”

有可能是工程文件的确没编译,只需对工程文件重新编译、连接即可。如工程文件已经编译连接过了,仍出现以上错误提示,此时查看一下工程文件名与源程序名是否重名了,这一般在DB51开发软件中很常见。此时只需新建一个与源程序名不重名的工程文件,将目标源程序包含到工程文件中去,在进行编译、连接。

5、在打开多窗口后,运行、调试程序时出现死机现象,且使用Ctrl+Q失效。

此时一般是因为在当前被激活的窗口是内存窗口的情况下,运行、调试程序所产生的。当需要打开多窗口时,注意应用Alt+N将主窗口即文件窗口激活(一般是Alt+2,视窗口右上角的编号而定),即让主窗口作为当前窗口,此时如果内存窗口被主窗口覆盖了,可用F5将内存窗口缩放回来:如果源文件没有弹到主窗口上来,就应激活寄存器窗口或其他窗口,如工程文件窗口。再运行、调试可恢复正常。

6、在使用“执行到光标行”或在已经设置短点的情况下,选择“运行”程序,程序不能停留在预想的位置上,程序失去控制。

此时一般是光标的位置或断点所设置的位置不合理造成的。注意:光标或断点不能设置在跳转目标语句之前的三字节代码内,在这种情况下,将不能正常返回监控,以致程序失控。

四硬件安装

1、电源安装

实验系统内已安装电源,则将220V电源线接到220v电源插座上即可。

实验系统如需外接电源,则将+5v、+12v 、-12v电源线接到CPU板的+5v、+12v 、-12v的插座上。

2、通讯电缆的安装

将电缆的9针或3针的一头接到实验箱的电源的插座上,25针的一头接到计算机的串行口。

五、源程序的编辑

源程序的编辑可以在集成环境外进行,编辑完成后,进入集成环境。也可以进入集成环境之后进行,打开“文件”菜单项选中“编辑文件”项,即请用户输入所选用的编辑器名,此编辑器必需在当前目录中或在autoexec.bat所指定的路径中。

5.1 PL/M源程序的编辑

请参考《PL/M程序设计语言及其应用》第十一章

5.2 ASM源程序的编辑

5.21 ASM51的基本成分

1、字符集:ASCII字符集。

2、数字:二进制数,后缀为B;八进制数,后缀为O或Q;十进制数,后缀为D或无后缀;十六进制数,后缀为H。

3、符号:第一个字符必须是字母、“?”或“-”,最多31个字符。

4、串:串是用单引号括起来的可打印的 ASCII字符系列,串长度控制0-225

之内,串可用DCB伪指令初始化。

5.22表达式和基本操作数:

1、ASM51有以下5种基本操作数:

1)符号:可用来表示地址和常数

2)数字:可用来表示二、八、十、十六进制数

3)以“:”为后缀表示定位程序计数器的当前制值

4)STACK::预定义的变量STACK表示栈底

5)串:只含有一个或两个字符的串可用来作操作数,一个字符串被认为是值等于其ASCⅠⅠ码的字节常数,两个字符的串被认为是字常数

2.表达式

表达式用于定义常数,表达式有三种属性;

1)类型:表达式所属的段的类型

2)可重定位性:表达式分为绝对的表达式和可重定位的表达式。绝对的表达式的值在汇编期间计算,而可重定位的表达式的值,在连接定位期间计算。绝对的表达式可出现在程序的任意位置。而唯一合法的可重定位的表达式是一个可重定位的符号或一个可重定位的符号加上一个常数。

3)值:表达式的值以十六位二进制的补码形式表示,表达式的值在汇编期间计算或连接定位期间计算。

5.23 堆栈的处理办法

若你的目标模块是由PL/M-51编译生成的,你不必在连接时指定STACK控制。PL/M-51编译自动产生一个堆栈段STACK,在连接时STACK段将被定义在IDATA空间的最高端。若你使用ASM51,则不会自动STACK段,推存用下述步骤处理堆栈:1)在汇编语言文件的主模块中定义一个如下段:

DSEG AT 30H ;内存地址

STACK1 DS 10H ;堆栈保留16字节

2)在汇编语言源文件主模块入口处使用下述指令初始化堆栈指针SP;

MOV SP, #STACK1

3)在连接时,无须使用STACK控制项指定上面定义的堆栈段

5.24 处理器结构控制项

结构控制项为51系列不同处理器指定片内RAM空间的大小,在主模块开始声明,格式如下;RAMSIZE(Value)

其中Value是128-255之间的任意数。缺省的RAMSIZE是128

5.25 定位,地址指针的控制伪指令

CSEG:声明代码段

DSEG:声明数据段

RSEG:声明不可覆盖的各种段(包括数据,代码堆栈)

AT:指定该段是绝对的,从地址base address开始

REL:指定该段是可重定位的,如果REL和 AT都未指定,缺省的是REL

说明:一个程序中,最好主模块中只含有一个绝对项,其他段的定位都在连接时再确定,各段中可使用的的语言有以下限制:

1)寄存器段和数据段不能定义代码和常数

2)代码段不能含有数据变量

如果在源程序中用伪指令定义了代码段、数据段、堆栈段、内部数据段以及寄存器工作区,在连接定位时直接写模块名,无须指出各段的定位地址。

5.26符号定义伪指令

1.EQU/SET

语法:symbo1 name{ EQU/SET }expression[: data type]:

其中:symbo1 name 是被定义的符号名

EQU 用于定义不可重新定义的符号;SET 用于定义可重新定义的符号;Expression 合法的ASM51表达式(表示地址);Data type可以是BYTE、WORD 、LONG

2.DB

语法:[labe1: ]DB{ expression/string} [,…]

其中:labe1是合法的符号;expression是合法的表达式;string是合法串;说明:DB用于定义代码段的字节常数

3.DW

语法:[labe1:] DW expression [,….]

其中:1abe1是合法的符号;expression 是合法的表达式

说明:DW用于定义代码段的字节常数,占两个字节,低字节在前面,高字节在后面

5.27变量定义伪指令

语法:[labe1:] {DSB/DSW/DSL} expression\;

其中:1abe1是合法的符号;expression是保留该类型变量的个数;DS定字节变量

说明:变量定义伪指令为变量保留表达式指定个数的存储空(在

内部RAM和外部数据RAM),表达式必须是绝对的。

5.3 ASM源文件的注意事项

1.文件结束

汇编结束伪指令(END)必须处在文件的最后一行。

2.行宽的规定

ASM51允许的最大的行宽是105

3.主模块入口的规定

在汇编语言模块中你必须在000H处定义一个绝对的段,其中放一条长跳转指令,转入主程序入口,例如:

CSEG AT 0000H;定义在0000H的绝对段

LJMP START;转入主程序入口

CSEG AT 4100H

START:MOV SP, # START1;主程序入口

六、编译

6.1编译的作用

编译可将源程序汇编成可执行的机器代码(十六进制)。但并不确定机器代码位以系统程序的那一段地址。

6.2编译前的准备工作

无论你是在集成环境内部编译完源程序,还是在外部编辑器中编辑完源程序,在进入集成环境编译之前,需进行以下两个步骤:

6.3确认需编译的源程序是否包含在当前已打开的工程文件中,如果没有,则需要重新建立或打开新的工程文件,并包含源文件。

6.4 检查“任选项”中“编译参数”设置情况,各控制参数意义如下:

Debug/nodebug:生成调试信息,ASM、PLM、C必须有效

Fast: C编译是尽量使用内部RAM

Obiect Noobject:建立目标文件ASM、PLM、C必须有效

Optimizo:程序编译优化,缺省为“1”,PLM必须有效

Regoverlayer:控制寄存器覆盖(详见PLM教材)ASM中无用

Symbds/No:列出源文件中所有符号,PLM、C必须有效

Code/Nocode:生成对应的汇编语言代码,PLM、C必须有效

List/Nolist:所有源程序列表,ASM、PLM、C必须有效

6.5 编译

完成上述两个步骤之后,可以执行“编译”菜单中的“编译”项,编译完成后,屏幕会显示编译是否有错,并在信息窗口提示错误的所在位置,如果无错,会自动生成一个目标文件。

七、连接与定位

7.1连接与定位的作用

连接与定位是将一个或多个目标文件连接成一个可调文件,并确定程序中的机器代码、数据变量、堆栈空间的具体地址。

7.2连接与定位前的准备

确认需要连接的目标文件的源文件名全部包含在当前以打开的工程文件中,如果没有,则需要重新建立或打开新的工程文件,并包含源文件。

(1)在源程序为汇编语言时,程序定位的方法为:在源文件中给定,使用多个CSEG AT XXXXH定位每个程序段,这样就不用在此参数项中输入参数。

注意:除在程序第一段必须定位在复位起始PC0000H处之外,其它程序段必须定位在4100H以后,中断入口定位见键盘监控部分的系统资源分配章节。

对于8051的源程序,程序开头应包含如下语句:

CSGE AT 0000H

LJMP START

CSGE AT 4100H

START:MOV SP,60H

…….

END

(2)在源程序为高级语言时,程序定位的方法只能使用在此参数项中输入参数来解决。

(3)堆栈大小参数,该选项只有在高级源程序连接时才有效,在汇编语言中,堆栈的大小和位置可直接用伪指令在源程序中说明。

DSEG AT XXH (位置)

STACK1: DS XXH (长度

在源程序中包含如下语句:

MOV SP,#STACK1或者:

LD SP,#STACK1

在高级语言中,输入堆栈的大概长度,堆栈的位置由RAM参数设定。

(4)库参数

该选项只有在高级语言源程序连接时才有效,填入参数为源程序的函数库、运算库、浮点库,这些库函数的使用,请参考该语言的其它教材。

对于8051CPU来说,应写入PLM51.LIB或C51.LIB等。

对于8098CPU来说,应写入PLM96.LIB或C96.LIB等。

八、调试

该系统所有调试手段都包含在集成环境中的“运行”菜单项中。

九、软件的详细说明

1.软件的总体说明

该软件为两级菜单加弹出式窗口结构。

2.通用的操作说明

①波特率设置:运行DB51,进入主界面,既弹出串行口设置窗口,串行口可用上、下光标键选择COM1或COM2(视通讯电缆所接的串行口而定),波特率可选9600~600波特,TAB键用于可选项之间的切换,上、下光标键用于被设置项的参数选择,ENTER用于确定选定的参数。

②TAB键通常用来进行弹出选择窗口的选择项间的切换。

③文件选择窗口的操作

文件选择窗口,用TAB键或鼠标进行各种选择窗口间的切换,文件的选择通过光标键进行选择,选定后通过回车键确认。

④窗口切换

通过按ALT+(1~9)即可进入相应的窗口,或用ALT+0弹出选择窗口选择相应的窗口。其中1~9为已打开窗口右上角的数字标号。

3.各菜单项的详细操作说明

●F—文件

①编辑文件

通过给定的编辑器对当前已打开的文件进行编辑修改。当选此菜单项时将出现编辑器名输入窗口,输入欲使用的编辑器后(系统默认的是PE2编辑器,也可输入EDIT等其它编辑器),按回车键即进入相应的编辑环境,可对当前文件进行编辑,退出编辑器后,按任一键可回到主界面。

②打开文件F3

打开一个文件,打开后可以进行浏览查看,但不能进行编辑。当选择此菜单项

后,或按动热键F3,将弹出文件选择窗口,此时可选择欲浏览的文件打开浏览。注意,在此只能打开小于64K的文本文件。

③保存文件 F2

暂时无相应功能

④另存为…..

暂时无相应功能

⑤退出

退出系统,当选择此项后,退出本系统,进入DOS环境.

●E_编辑

暂时无相应功能。

●S-查找

①查找 ctrl-QF

查找欲查找的字符串。当选择此菜单项,或按下热键Ctrl-QF时,将弹出查找窗口,在查找字符串输入窗口输入欲查找的字符串,在选项中选择查找方式,全局:指从文件的头部开始查找;向前:指从当前光标所在行向前寻找;向后:指从当前所在行向后寻找。

②替换 Ctrl-QA

暂时无相应功能。

③继续查找 Ctrl-L

继续查找欲查找的字符串,热键为CTRL-L。

④移动光标

把光标定位于给定行,选择此项后将弹出光标行输入窗口,输入相应的行号,如果合法,则光标移动到相应行,否则,要求再次输入合法的行号。

●R-运行

①程序复位 CTRL-F2

选择此项,或热键CTRL-F2使用户的被调试程序复位,即程序指针指向初始值。

②运行 CTRL-F9

全速运行程序,程序将从当前PC处开始往下执行,遇到断点后,返回监控。无断点时,程序将失去控制。

③执行到光标行 F4

从当前PC处开始运行到当前光标处,忽略程序中的所有断点,如果不能执行到光标行,程序将失去控制。

注意:光标不能放在跳转目标语句之前的三字节代码内,否则,将不能正常返回监控。此时可用热键CTRL-Q键终止运行,并复位实验系统,激活主界面。

④从光标行执行

从光标行开始往下执行程序,并忽略光标行前的所有程序行。如果遇到断点将返回监控,无断点时,程序将失去控制。

⑤单步执行 F8

单步执行程序,不跟踪子程序。

⑥跟踪执行 F7

跟踪执行程序,跟踪子程序。

⑦设置断点 CTRL-F8

在当前光标行设置断点。当光标行不是可执行指令时,系统将以叫声提示,如当前光标行已设置断点,则执行此菜单项后将清除次断点。总共可允许设置5个断点。

注意:断点不能设在跳转目标语句之前的三字节代码内,否则,将不能正常返回监控。此时可用热键CTRL-Q键终止运行,并复位实验系统,激活主界面。

⑧清除所有断点 CTRL-F7

清除已设的所有断点。

⑨系统复位

执行此项菜单项,在出现请求复位信息后,用户必须按复位键复位实验系统,系统才能正常操作,此项操作一般是在系统出现通讯错误后,使系统复位继续进行正常工作。

●C-编译

①编译 ALT-F9

当选此项时,系统将对当前工程中的源文件逐个进行编译,如果编译过程中有错误发生,则停止编译,并显示错误提示,如果当前文件窗口中的文件为对应的源文件,则可以给出错误定位。

注意:工程文件及源文件必须在当前工作目录中。

②连接

连接当前文件。当选择此项后,将对工程文件中包含的文件和在连接选项中定义的库文件进行连接,生成可执行文件和调试符号文件,并自动载入实验系统。

注意:如果未打开工程文件或工程文件为空,则选择此项无效。

(3)编译连接 F9

选此项时将编译连接工程文件,其操作等效于前述两项。

●P-工程文件

①打开

选择此项后,可打开一个已经存在的工程文件或建立一个新的工程文件。系统将弹出一个PRJ文件选择窗口,此时如需建立一个工程文件,则输入欲建立的工程文件名,后缀必须是PRJ,且不可缺省。建立后可用INSERT键对其进行增删操作。即用INSERT键选择欲加入的源文件加入到工程文件中,用DELETE键可删除欲删除的源文件。如需打开一个已经存在的工程文件,只需待PRJ文件选择窗口弹出后,按ENTER键在选择窗口中选择欲打开的工程文件即可。

②关闭

关闭当前工程文件。选择此项后,将关闭当前的所有窗口,只保留主界面。

●O-任选项

①编译参数

设定编译参数。当选则此项后,将弹出编译参数设定窗口,此时即可用光标键和空格键或鼠标对各参数进行选择。各控制参数意义见本章6.22节。

②连接参数

设定连接参数。当选择此项后,将弹出连接参数设定窗口,要求设定内存ROM 定位、RAM定位、堆栈大小以及库连接等,在库连接选项中包括欲连入的OBJ文件及LIB文件,中间用逗号分开。

●W-窗口

①缩放窗口 F5

选择此项,或用热键F5,将放大或缩小窗口,此项只对窗口即文件窗口有效。

②下一个窗口 F6

选择此项,或用热键F6,将进入下一个窗口。

③关闭窗口 ALT-F3

选择此项,或用热键ALT-F3,将关闭当前窗口,进入下一个窗口。

④关闭所有窗口

选择此项后将关闭当前所有活动窗口。

⑤寄存器窗口 CTRL-R

在寄存器窗口中,可以更改或查看寄存器的值,若想更改某寄存器的值,可将光标移动到相应的寄存器位置上,按回车后将弹出输入窗口,即可输入新的寄存器的值。

⑥内存窗口

打开或进入内存窗口,通过它可以更改或查看内存值。只需将光标移动到头部的地址显示区,再按回车键后,即弹出地址输入窗口,输入相应的地址即可。也可以将光标移动到相应的地址单元后,直接输入新值。

注意:外部内存从4000H~FFFFH用户可以观察。

⑦观察窗口

打开或进入观察口中,通过它可相应符号的值,按CTRL_F7可增加一个观察,按Delete删除一个观察。

⑧工程文件

进入工程文件窗口,当工程文件示打开此选择项操作无效。

⑨消息窗口

打开或进入消息窗口。

⑩波形显示和测量窗口

波形显示:此选项必须配合波形数据采集卡才能有效。它可以观察实验系统上的输出波形。此数据采集卡应插计算机里面

测量窗口:此选项必须配合波形数据采集卡才能有效。它可以测量实验系统上的输出电压、频率和正负脉宽。此数据采集卡应插到计算机里面。

各热键定义如下:

Ctrl_F2………………………………………………………………程序复位

F3……………………………………………………………………打开文件

Alt_F3………………………………………………………….关闭当前窗口

F4……………………………………………………………….执行到光标行

F5………………………………………………………………….主窗口缩放

F6……………………………………………………………….更改活动窗口

F7…………………………………………………………………….跟踪执行

F8…………………………………………………………………….单步执行

F9………………………………………………………………….编译并连接

Ctrl_F8……………………………………………………….设置或清除断点

Ctrl_F9 ……………………………………………………………全速执行

Ctrl_QF……………………………………………………………查找字符串

Ctrl_Q……………………………………………退出全速执行,激活主界面

Alt_O……………………………………………………..弹出窗口选择窗口

相关主题
相关文档
最新文档