T598-96使用说明.doc_第1页
T598-96使用说明.doc_第2页
免费预览已结束,剩余46页可下载查看

下载本文档

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

文档简介

t598_96使用说明第一章 系统安装和启动一. 实验系统工作方式 爱迪克t598实验系统可以工作在三种方式下:1. 爱迪克t598实验系统工作在51串口实验/仿真方式2. 爱迪克t598实验系统工作在在88串口实验方式3. 爱迪克t598实验系统工作在96串口实验/仿真方式 方式1,2 的具体操作参见爱迪克t598_51使用说明和爱迪克t598_88使用说明。 下面对方式3进行详细介绍。(1)进行mcs-96单片机实验时,将t598a-96板插入xc9(cpu插座)和xc5(cpu96插座),xc6(cpu88插座)和xc1(cpu51插座)空。 (2)用实验机配套的串行通讯电缆,将9芯电缆的一端与实验机上的9芯插座相连,另一端与pc机的串行口相连。(3) 打开电源,运行仿真调试软件lca96et,具体操作参见爱迪克t598_96使用说明。二. 爱迪克t598实验系统在96方式下各开关初始状态l xb、xb1 : 短路套全插上。l xb2,xb5 : 短路套向上插(speak端),第10模块处于放音功能。l 第模块中:k3拨向最左(温度控制)端,做温度控制实验用。l 第模块中:短路套全部套向右边,由8279来控制键盘、显示。l t598a-96板插入xc9(cpu插座)和xc5(cpu96插座),xc6(cpu88插座)和xc1(cpu51插座)空。第二章 96单片机实验系统地址空间分布aedkt598实验系统96方式地址空间状态分i状态和o状态。可以通过监控命令选择当前地址空间状态。i状态时程序存贮器和数据存贮器由本系统的ram区提供,ram最大可用空间为31.75k。o状态时程序和数据存贮器由用户系统提供。1. i状态:0000h00ffh(80c196kb) :0000h01ffh(80c196kc) :单片机sfr和片内ram,只能用作数据区。0000h03ffh(80c196kd) :0100h3fffh(80c196kb) :0200h3fffh(80c196kc) :实验机上ram区,可作程序区或数据区, 0400h3fffh(80c196kd) 分写保护和不写保护(见注意部分)。4000h7effh:实验机上ram区,可作程序区或数据区。7f00h7fffh:为实验机上ram,由监控占用,用户不得使用8000hbfffh:可供寻址的程序、数据空间。用户可以用此空间在扩展板上扩展器件,或用作在用户系统中扩展器件。另外,也可使用实验机上的资源,地址8000h87ffh为138译码器(d21)的译码输出。例如用户对实验机上的a/d芯片进行编程时,用导线将138译码器d21的某一输出脚和a/d芯片的片选cs/相连,则该输出脚的译码地址即为a/d芯片的编程地址。现地址译码线8700h固定接至8279,8701h为状态命令口,8700h为数据口。此外实验系统还提供了一个片选译码9000afffh,并引出到1个标准连线插孔eram/,供实验中扩展存储器空间使用。c000hfdffh:监控程序用。fe00hffffh:实验机上监控使用的i/o地址。 2.o状态:0000h00ffh(80c196kb) :0000h01ffh(80c196kc) :单片机sfr和片内ram,只能用作数0000h03ffh(80c196kd) : 据区。0100h7fffh(80c196kb) :0200h7fffh(80c196kc) :仿真用户系统提供的程序区、数据区0300h7fffh(80c196kd) :8000hbfffh:同i状态。c000hfdffh:同i状态。fe00hffffh:同i状态。【注意】1.对于写保护区,用户可用监控命令去掉写保护(w0写保护,w1不写保护)。上电总清时为写保护状态。2.写保护的目的:当写保护区空间作为程序区时,为防止执行用户程序时误改变程序区的内容,对此空间进行了保护。用户可在4000h开始的实验机上ram区中安排好自己的数据区,当用户的数据区大于16k时,并确认用户程序不会冲掉程序区内容的情况下可考虑用命令(w1命令)去掉写保护。一般情况下,建议用户不要去掉写保护。3. aedkt598实验系统96方式不占用单片机的串行口,使用机上自己配置的串行口。如果用户调试程序时,希望单片机的串口与pc机连通,在串行监控状态下使用gr命令即可。(参见第四章中串行监控命令部分介绍的gr命令)第三章 t598a-96板说明aedkt598实验系统主板配t598a-96板即可进行mcs-96系列单片机实验,支持mcs96/196模式。再配f96/196仿真头可仿真8096、8097、80c196kb、80c196kc、80c196kd等芯片。一插座和跳线说明如图3.1所示,图中的“口”为硬导线插孔,用于实验连线。图3.1 t598a-96板原则上t598a-96板上所插的芯片应与欲仿真的芯片一致。只要与80196芯片管脚兼容的plcc封装的芯片,都可插入t598a-96板,并可得到相应的仿真。 xb1:跳线,接vcc。用短路套接通,则t598a-96板的vcc接入用户板;断开,则t598a-96板的vcc不接入用户板。 j3:40芯联接电缆插座,用联接电缆接至f96/196仿真头。 j2:30芯联接电缆插座,用联接电缆接至f96/196仿真头。 d30: 68芯plcc封装芯片插座。可插入80x196系列芯片(出所时插80196kb芯片)。插入时请注意芯片的插入方向,芯片第一脚位置务必与cpu卡上所标位置一致。二t598a-96板的安装使用1做实验 将t598a-96板插入xc9(cpu插座)和xc5(cpu96插座)。 进行实验。2仿真 与1. 步相同。 40芯联接电缆一端接t598a-96板的j3插座,一端接f96/196仿真头;30芯联接电缆一端接t598a-96板的j2插座,一端接f96/196仿真头。 将f96/196仿真头插至用户板。 进行仿真。有关仿真的步骤和建议请参见第六章第三节。第四章 串行监控命令介绍 用户启动lca96et软件,可以在调试中的对话窗口下使用监控命令对实验机进行操作。 监控命令格式一般如下: 命令字 参数1,参数2,式中,参数1,参数2,为可选择项,根据各命令字的不同而不同。表示回车键,每个命令应以回车键结束。如:d0,1fff一 96串行监控命令1.i命令格式 i 进入i状态(实验或仿真状态)监控提示符为“i .”2.o命令格式 o 进入o状态(全仿真状态)监控提示符为“o .”3.r命令格式 r 显示当前pc、psw、sp、intpen的值。读/写片内ram的值。 读:格式 r地址 写:格式 r地址 ,值4.rw命令rw指令与r指令格式和意义相同,但r指令是以字节为单位操作,rw指令是以字为单位操作。5.s命令读/写程序空间某一单元的值。 读:格式 s地址 写:格式 s地址 ,值6.sw命令sw指令与s指令格式和意义相同,但s指令是以字节为单位操作,sw指令是以字为单位操作。7.d命令成组显示程序空间的内容。 同时,数据代表的ascii字符显示在右边,不可显示的ascii字符用“.”表示。格式1:d接着上一次地址,成组显示128个字节的内容。格式2:d开始地址从开始地址处,成组显示128个字节的内容。格式3:d开始地址,结束地址显示从开始地址到结束地址的内容。8.dr命令成组显示片内ram和特殊功能寄存器的内容。 同时,数据代表的ascii字符显示在右边,不可显示的ascii字符用“.”表示。格式同d命令。9.y命令设置长期断点。所谓长期断点,就是用户设置以后一直存在,程序执行到断点时停下,也不清除,除非用断点清除命令z清除。用户最多可设8个断点,断点仅在g命令(执行用户程序)时起作用,一旦程序指针(pc)内容与断点一致,立即停下,保护用户现场,返回监控,供用户查看程序执行到断点处的情况(断点必须设在指令的第一个字节)。格式1:y断点号,断点地址以命令中的断点地址设置断点。格式2:y显示当前断点设置情况,若无断点存在,则直接返回监控状态提示符。否则显示断点的设置情况,如:若用户设有1号断点2090,2号断点2100,则显示:break p.02090 break p.1210010.z命令清除长期断点。格式1:z断点号清除命令中所给出的断点。断点号取07。格式2:z清除所有断点。11.n命令跟踪型单步执行命令,执行一条指令后返回监控。若遇到子程序调用,则跟踪进入子程序内部。格式1:n从当前pc指针开始单步执行程序。格式2:n开始地址从开始地址开始单步执行程序。12.j命令通过型单步执行命令,执行一条指令后返回监控。若遇到子程序调用,则连续执行完子程序后返回监控。若遇到的不是子程序,则n命令与j命令具有相同的效果。格式同n命令。13.g命令全速执行程序。此时系统的表现完全由用户的程序确定。格式1 g从当前pc指针开始执行程序,若执行到断点则停下。格式2 g起始地址从指定起始地址开始执行程序,若执行到断点则停下。格式3 g,一次性断点地址从当前pc指针开始执行程序,若执行到断点则停下。格式4 g起始地址,一次性断点地址从起始地址开始执行程序,若执行到断点则停下。所谓一次性断点,就是设置以后,无论碰到与否,只要停下,返回监控,即自动取消(断点必须设在指令的第一个字节)。14.gr命令t598_96不占用单片机的串行口,使用机上自己配置的串行口。如果用户调试程序时,希望单片机的串口与pc机连通,使用gr命令即可。gr命令格式同g命令。15.m命令搬迁命令。格式 mi/o 源起始地址,源结束地址,目标起始地址把从源起始地址至结束地址的整块数据内容搬迁(或者说复制)到目标起始地址的地方。中参数为可选。i/o指定源数据来自什么空间状态,缺省为当前空间状态。典型格式如下:格式1 m 源起始地址,源结束地址,目标起始地址 把当前状态从源起始地址至结束地址的整块数据内容搬迁(或者说复制)到当前目标起始地址的地方。例如:若当前为i状态,则 m 0,1ff,100 表示把i状态程序空间01ff内容搬到i状态程序空间100开始的地方。格式2 mi/o 源起始地址,源结束地址,目标起始地址 把i/o状态中从源起始地址至结束地址的整块数据内容搬迁(或者说复制)到目标起始地址的地方。例如:若当前为i状态,则 mo 2080,3fff,2080 表示把o状态程序空间(即用户板上程序eprom内容)20803fff内容搬到i状态程序空间2080开始的地方。16.mf命令填充命令。格式 mf 起始地址,结束地址,欲填入的数据把当前状态(即提示符说指明的状态)的从起始地址到结束地址的空间全部填充为一个数据。例如:若当前为i状态,则 mf 300,1fff,55 表示把i状态程序空间3001fff内容填充为55。17.q命令软件复位命令。格式q复位实验机。18.w命令写保护命令。格式1w0 写保护。格式1w1 不写保护。第五章 汇编 asm96编译器能对用户在编辑中形成的用mcs-96指令助记符编写的程序进行汇编,形成机器代码文件(后缀为obj)、标号文件(后缀为.tbl)、列表文件(后缀为.lst)。.obj文件传送到aedk机上后,可仿真、调试、执行,最后固化入eprom,插入用户系统。.lst文件用于源语句调试,亦可让用户显示或打印形成文档。asm96模块是615所自己设计的,其特点是汇编速度快,例如16k 左右的机器码只要12分钟即可完成。另外,专门产生.tbl文件。但这个汇编不支持宏功能。asm96模块已集成在源语句调试软件lca96中;asm96模块也可以在dos命令行状态直接使用。第一节asm96语法规定1.字符集 数字符“09”,字母“az”(大小写无区别)。 分隔符“:”、“,”、“;”“空格”和“tab”(制表键)。其中的“:”作为标号定义标志,“,”、“空格”和“tab”作为助记符的分隔符,“;”作为语句注释标志,其后任何字符不作为asm96的处理对象,因此在注释中,字符集可扩充为pc机上所有字符。2.标号名字 标号,它是一个后面跟“:”的字符串,必须以字母开头,后面可跟字母、数字以及下划线“_”,长度最多不能超过14个字符。标号表示其“: ”后面的指令所在的地址,它可以作为立即数在指令中出现,也可以在跳转、调用指令中引用。名字,它的定义基本同标号,不同的是后面“:”可有可无。它用在伪指令中定义数据、表格单元的地址,或者定义程序中要使用的参数。标号名字禁止与mcs-96系列单片机的保留名(见表7-1)相同,例如p1、ioc1、 sp等,也不能与指令助记符和伪指令相同,例如add、ljmp等。 标号名字也可组成表达式,例如abc+3,tled-20h。3.助记符 助记符的格式与mcs-96指令系统规定一致,请参阅有关mcs-96书。 asm96允许“#”后面的立即数用字符表示ascii码,例如:ldb 1ah,#a等同于ldb 1ah,#41h。4.数据、直接地址 除了用标号或名字表示数据、地址外,数据、地址也可直接用数字符键入,asm96规定,十六进制数后须跟“h”,二进制数后须跟“b”, 十进制数后不跟任何字符。数字不允许以字母开头,16进制数如最高位以af开头,则在数前应冠以一前导零(如0ah、0ffffh等)5.指令格式 标号:助记符操作数;注释“ ”表示里面内容可有可无。操作数按指令规定可有一至三个,其间用“,”分开,也可无操作数。 例如: begn: nop clrb 1ah djnz 1ah, ;wait ldb 1ah,tled ;read led data scall dsplay ljmp -0dh ;same as ljmp begn dsplay:ldb 1ah,tled00 ld 1eh,#tled ret tled db 40h 此程序无特别意义,只是说明合法的语句格式。 程序中的“”有特别含义,它是一种隐含标号,代表所在指令开头的地址。djnz 1ah,意义同wt:djnz 1ah,wt。也可组成表达式,例如+5、-6等,应用时对指令字节须计数正确,不要转移错或转到多字节指令的中间字节上去,否则汇编结束时屏幕上将显示: disp isnt a correct address line no. error address: xxxx * 其中xxxx为出错行的行号,十进制数表示,*为错误跳转地址,使用“”的优点是减少标号。 按照mcs-96指令规定,字操作数寻址的物理地址须能被2整除,长字(4字节)寻址的物理地址须能被4整除,用户尤其须注意。 按照mcs-96指令规定,不能对外部空间直接寻址,只能间接寻址或变址寻址,但本汇编语言允许用户使用直接寻址,例如上例中的ldb 1ah,tled等价于ldb 1ah,tled00。这样,可给用户带来方便。 6.伪指令 asm96接收并处理8条伪指令 (1).指令指针定义org org表达式 把当前的指令地址指针设置成表达式所表示的值。如缺省,则汇编时初始指针为零。 在程序中多次使用org伪指令时,必须从小到大,中间的指令代码不能重叠。 表达式中的标号名字应在org使用前确切定义。 org 1000h org tled+0afh (2).数据字节定义db 名字db操作数 名字可有可无。操作数可以是数据或标号或名字。操作数可一个,或多个,其间用“,”隔开。操作数的值为00ffh。 把操作数填入当前指令指针指向的字节单元。填一个,指令指针就加1。 abc db 02,0ffh,04h db 78 cccc db abc 将把abc的低8位作为操作数 bbbb db 10h dup (0ffh) 将把连续10h个字节填入0ffh。 (3).数据字定义dw 名字 dw操作数 名字可有可无。操作数可以是数据、标号或名字。操作数可一个或多个,其间用“,”隔开。操作数的值为00ffffh。 把操作数填入当前指令指针指向的字单元,低八位先填,高八位后填,填一个,指令指针就加2。若当前指针值不能被2整除,则asm96将当前指针加1,然后再完成以上功能。 wr dw 0abch,1234h dw 3456 dw wr (4).字符串定义ds 名字 ds字符串,操作数 名字可有可无。后面的操作数也可有可无。 将字符串所表示的ascii码填入当前指令指针指向的字节单元,若有操作数也挨个填入。填一个,指令指针加1。 abc ds abcdefg,0dh,0ah ds hijk 它将从当前指令指针开始填入:41h,42h,43h,44h,45h,46h,47h,0dh,0ah,48h,49h,4ah,4bh。 (5).等值定义 equ 名字 equ 表达式 把表达式表示的值赋给名字,即名字的值即为表达式的值。 表达式中的标号名字应在该条伪指令使用前确切定义。 在这条伪指令使用后,才能使用被等值定义的名字。 cba equ 0b800h abc equ cba abc3 equ cba+3 aabb equ abc-30h (6).源文件结束 end end 表示汇编源文件到此结束。end后的字符asm96不予理睬。 (7).伪指令 cpu asm96交叉汇编支持对下列cpu类型的汇编指令系统进行编译,形成可在目标机上直接运行的机器码程序。对于不同的cpu类型,其指令系统亦有些不同,因此asm96交叉汇编根据cpu伪指令来识别不同的cpu类型,从而达到正确编译的目的。如用户不使用cpu伪指令,则认为是8095,8096,8097,或8098。 cpu cpu型号 该伪指令定义cpu的型号,因为不同型号其指令系统也有些不同,汇编将根据cpu类型,自动调整编译相应的指令系统。 目前cpu型号必须为下列之一(今后根据需要不断补充) 8095 8096 8097 8098 80c198 80c194 在8096基础上增加6条指令: 80c196kb pusha,popa,idlpd,bmov,cmpl,djnzw 80c196kc 在8096基础上增加12条指令: 80c196kd pusha,popa,idlpd,bmov,cmpl,djnzw 80c196mc xch,xchb,bmovi,tijmp,dpts,epts 80c196md注意:aedk实验系统并不保证对以上所有芯片进行在线仿真,但asm96可支持对其程序汇编。 asm96保留名 表 7-1是在用户不作任何定义的情况下使用特殊功能寄存器表。用户也可自定义一个特殊功能寄存器表,其方法是编制一个.sfr文件。该文件各跟用户程序中使用的伪指令cpu后定义的cpu类型必须一致,其扩展名为.sfr。如:cpu 80c196kb,那么编制一个80c196kb.sfr文件,如缺省,那么默认保留名文件为 8096.sfr。在该文件中,用户可以自定保留名,并将其赋值。保留名可以与表7-1保留名表中的保留名同名,但不可在该 .sfr文件中有重定义,否则报错。其形式为: .sfr error!line(*)其中括号中的数为该出错行在xxxx.sfr文件中的行号。 保留名定义方式为: 保留名 值 将该值赋给保留名作为地址 ico1 16h name1 0ffh asm96交叉汇编在编译过程中对保留名查询的次序为先查用户定义的保留名 (如果有的话),后查表7-1定义的保留名表。用户定义的保留名进.tbl文件。 (8).伪指令“include”的使用 伪指令include插入一个汇编文件到本文件中。 include 文件名 当程序汇编到该伪指令时,它打开后面指定的源文件和别的语句一样编译。当所有的语句被处理完时,asm96继续处理紧跟在伪指令include后面的语句。 include后面的文件名所指定的文件必须是一个包含正确的汇编语句的已存在文件。如果不指明目录路径,则表明在当前目录中,否则应加以注明目录路径。如: include c:xxx.asm使用注意事项:用户程序中所定义的变量均是全局变量,因此在主程序中使用伪指令db、dw、ds定义过的变量不可以在include指定的文件中重定义,只能用equ语句赋值,且其值必须与主程序中使用的一致,否则报错。第二节 asm96的使用 首先,用户必须在编辑模块(集成软件或其它编辑器)中产生xxx.asm文件(用户程序源文件),xxx表示文件名。然后才可使用asm96。使用方法有两种。1.在源语句调试软件lca96中使用 asm96已被集成在上述软件环境中,具体使用方法参见lca96软件。2.在dos提示符下直接使用 asm96文件名 这样就可进行汇编。若用户打入的文件名带.asm后缀,则汇编除产生.obj、.tbl文件外,还产生.lst文件。若用户打入文件名不带.asm后 缀,而以“;”结尾,则不产生.lst文件。例如;。这样,可以减少占用 磁盘容量,并加快汇编速度。 编译后,将显示: assembler 96 version 2.0 615 institution xx.xx.xx (其中xx.xx.xx为该汇编版本日期)汇编中有语法错,将显示错误信息。最后显示“end”表示汇编完成。第三节 错误信息错误信息的格式为: 错误行号error_错误原因说明 出错语句 例如: 0007 error _ illegal symbol/label err 错误原因说明见表7-2 asm96对源程序汇编时,发现语法错误,则在屏幕上显示错误信息,同时也在.lst文件中记录错误信息,不另外产生错误信息文件。如果错误语句很多,并且影响代码生成,将会显示error too more! continuing(y/n)? ,表示错误太多,是否要继续汇编下去 ,按y,则要继续,按n,则终止汇编。 警告性错误信息以warning开头,提醒用户是否有必要这样使用,并不影响机器码产生,汇编继续进行。警告性错误信息不记录在列表文件中。如果汇编错误信息和警告性错误信息太多,来不及细看,而到.lst文件中查找又比较麻烦,故可以在dos命令提示符下键入: asm96 xxx;xxx.err 其中asm96 xxx;意为对xxx.asm汇编(不产生xxx.lst文件),xxx.err表示其错误信息送xxx.err文件,待汇编结束后,可用pe将文件xxx.err调出查看。 asm96只能查出程序的语法错误,不能查出程序的逻辑错误。 注意:在.lst文件中改错是无意义的,必须在编辑模块中调出程序源文件 (.asm)进行修改。改错后,再进行汇编,直至无错。表7-1 asm96保留名 保留名 值 保留名 值 保留名 值 保留名 值 r0 00h hsocom 06h baudra 0eh ioc1 16h roh 01h sbufrx 07h port1 0fh iosi 16h adcom 02h sbuftx 07h port2 10h pwmcon 17h ad 02h intmas 08h spstat 17h stackp 18h adh 03h intpen 09h spcon 11h sp 18h hsimod 03h timer1 0ah ios0 15h p3 1ffeh hsitim 04h watchd 0ah ioc0 15h p4 1fffh hsotim 04h time1h 0bh hsith 05h timer2 0ch hsoth 05h time2h 0dh hsista 06h porto 0eh表7-2 汇编错误原因说明end of file,no end directive 文件结束,无end语句no enough memory 内存不足file not found 文件未找到files opening too more 文件打开太多 (跟config.sys有关)writing/reading file error! 读写文件错program nesting error 程序嵌套出错syntax error 语法出错symbol not defined 符号未定义 symbol not defined or your 符号未定义或者用户96运算子程calcl96.lib need to update! 序库必须更新!symbol is reserved word 符号是保留字extra characters on line 行上有额外字符symbol is multi-defined 符号多重定义relative jump out of range 跳转出范围value is out of range 值超出范围must be variable or program name 必须是变量或程序名illegal symbol 非法符号 illegal immediate operand 非法立即操作数illegal use of register or operand 非法使用寄存器或操作数write wrong 写出错file pointer error 文件指针错addressing error 寻址方式错operand was expected 应有操作数illegal symbol/label 非法符号标号illegal data 非法数据pass1 pointer not equal 第一遍扫描指针与第二遍 pass2 pointer 扫描指针不等binary error 二进制错operand too more 操作数太多bit addressing error 位寻址出错org is overlap org 重叠must be declared during pass 必须先定义 address must be even 必须是偶地址address must be fourfold 必须是能被4整除的地址error too more, continuing(y/n)? 表示汇编错误太多,是否要继续汇 编下去? (y表示继续,n表示终止)警告错误:warning: this symbol is never used 符号/标号定义从未使用过第六章 仿真功能介绍本公司是长期从事仿真开发系统研制的专业单位,在单片机仿真领域具有丰富经验。在aedkt598实验系统的设计中,成功地引入了仿真技术。其强大的仿真功能可以帮助教师方便地扩充实验项目、完成较复杂的综合实验设计和用户系统硬件的开发。大大提高了系统的可扩展能力和二次开发能力。用户调试硬件时,使用串行监控命令方式较为方便、快捷。用户可通过lca96et软件的对话窗口项,进入串行监控命令状态(详见第四章)。本章所述的调试方法都是使用串行监控命令实现的。第一节 仿真性能介绍1.支持开发芯片种类多 51系列,如8031、80c31、8032、80c32等 96系列如8096、8097、80c196kb、80c196kc、80c196kd等2.软件断点3.少占用单片机资源 仿真时,用户单片机的资源几乎都向用户开放,实验系统系统不占用用户单片机资源(片内ram、sfr、中断、i/o口等)。4.系统可使用键盘和led数码管显示单机独立工作,以便用户现场调试,检测用户系统。5.接口驱动隔离 仿真电缆经驱动隔离后,同用户板连接,可调试用户系统硬件线路,对硬件查错。6.汇编 ibm-pc交叉汇编(51、96)。7.反汇编 可对机器码程序反汇编,并自动加上标号,形成汇编源文件,帮助用户仿制、修改其它样机。【说明一】进行仿真时,51仿真电缆应接在主板的j1插座;【说明二】aedkt598机在线开发mcs-51和mcs-96单片机应用产品时,可以将单片机出借给用户系统,只在单步、断点时会“透明”地(即用户通常感觉不到地)借用用户堆栈区6个单元。用户在设计堆栈区大小时,请多考虑6个单元。一般同类仿真系统都有此特性。【说明三】在仿真mcs-96单片机时,本机不支持仿真80196的hold功能,也不支持仿真mcs96的wrl、wrh方式。用户对于这些功能的调试,可以在用常用方式调试完毕,脱机后进行调试。注意:以上性能特点只适合于aedkt598实验系统,aedk其他系列仿真机将提供比这更完善的仿真开发功能,如开发过程中觉得功能欠缺可于航虹公司联系,我们将提供最佳的解决方案。第三节 96仿真调试步骤及建议 以下将讨论与mcs-96芯片特性有关的内容(由于本系统仿真96系列芯片必须配t598a-96板,以下内容只适用于配置了t598a-96板的系统)。一 仿真调试步骤. 设计前的摸索试验 用户系统设计方案的决定,有赖于对单片机从硬件到软件的全面了解:它能做什么,怎么做,性能如何。这些工作需要用户仔细阅读有关资料,aedkt598也提供了用户上机实验,验证设计方案的手段,可设计一些需验证的程序,调试运行,由此决定方案和关键程序。 . 完成用户系统的设计和制造 . 调试硬件 (1) 实验系统和用户系统联机 首先检查、排除用户板电源与地线的开路或短路。按照第一章的工作模式连接电源和机,然后用联接电缆将t598a-96板与f96/196仿真头,t598a-96板与实验系统主板联接起来。再将仿真头插到用户板上。 注意:仿真头连到用户机时,不要插错、插反,必要时用万用表确认一下双方的号脚。 由于仿真头只有根线使aedk机与用户系统共地,因此若在仿真调试时碰到时好时坏的情况, 应另外取较粗的线连接aedk机电源和用户系统的地线,以便减小干扰,保证正确仿真调试;如果用户系统退耦电容太少或分布不匀,即使如此也不易减小毛刺,用户应对用户系统加装退耦电容。另外,降低仿真器+5v电源,例如降至4.7v,仿真效果可能更好。 接通用户系统电源,用户系统应能正常工作。仿真联接电缆是经过信号驱动器隔离的,因此,既使用户系统线有短路、开路,一般也不会影响实验系统工作。如果不工作,首先检查电源,再检查用户系统单片机的rst脚电平状态。(2) 调试用户系统程序、数据空间 仿真器进入仿真状态,使用程序、数据读写类命令对用户系统的程序eprom、ram和i/o芯片进行读写,应正常。如不正常,则数据、地址总线、rd/、wr/、片选等信号有故障,可在i状态用命令打入如下程序: 地址0200: b21c1a ldb 1ah,1ch 读数 0203: c61c1e stb1eh,1ch 写数 0206: e7f7ff ljmp 0000h 循环 地址0200: b21c1a ldb 1ah,1ch 读数 0203: b21c1a ldb 1ah,1ch 读数 0206: e7f7ff ljmp 0000h 循环 地址0200: c61c1e stb 1eh,1ch 写数 0203: c61c1e stb 1eh,1ch 写数 0206: e7f7ff ljmp 0000h 循环 用命令对1ch置欲访问的地址(该地址应在8000h0bfffh范围内),对1eh中写入要输出的数据(如55h,aah,00h,ffh等),在i状态下用命令连续执行地址0处的程序1,用示波器观察所关心的用户系统的芯片,其cs/、rd/、wr/信号应有一组负脉冲,地址线和数据线应符合所设置的地址、数据规律,若不正常,则向前逐级观察波形找出故障原因,改掉。 程序 能对读和写一起检查 程序 能对读操作检查 程序 能对写操作检查 用户还应仔细校对芯片引脚是否按正确的资料连接,曾有用户使用6116,劣质资料上rd/、wr/脚印错,曾有用户使用8155,劣质资料上的数据线引脚排列印错。这样6116总是读写不正确,8155总是不能正确编程,既使使用上述三程序也很难查出。解决办法很简单,设法另外再找几本有关6116、8155的资料校对这些引脚是否定义一致,如不一致,应按权威性资料定,或找使用过这些芯片的人员咨询。 用户系统有关总线方面的故障排除后,可使用命令对用户系统i/o芯片直接编程,送控制字,输入输出,检查最终信号是否正常。不正常则向前逐级检查故障原因。也可对 i/o 芯片编些小的验证程序运行,检查功能是否正常。对ram芯片,可使用命令对其成片读写,验证每个单元是否都能正常读写,高位地址线是否有错。等等。 在状态下,应能读出用户系统程序eprom内容。如不正确,可使用以上程序进行检查。必须确认eprom芯片定义和联接正常。注意eprom芯片的pp脚,pgm/脚应接+5v,曾有用户悬空,结果数据读出时好时坏。. 编写用户程序 aedk实验系统脱开用户系统。编写用户程序可在集成环境中进行。 注意: mcs96地址空间规定,1ffe207fh间不要编写程序。. 仿真调试用户程序 仿真联接电缆连上用户系统。在i状态下,通过pc机的主菜单上选择并且传送xxxobj文件至aedk机。 用户可使用开窗、单步、断点等手段调试用户程序,随时使用、等命令显示,修改程序、数据。在此过程中,用户须充分熟悉、 熟练且灵活应用所有监控命令和各种实验系统上的功能,当然对单片机本身及所用ram、i/o芯片的功能和设计目标也要非常熟悉,查出并修改用户程序中的错误和用户系统隐含的错误。对于程序的简单修改,可直接使用机器码,用命令完成,并记下修改内容,将来在xxx.asm中反映出来。若程序中有大的修改,可退出监控,在编辑中修改xxx.asm,重新汇编通过后,再将xxx.obj传送至实验系统再次调试。 直到用户系统的功能全部调试完成且满意后,把用户程序固化入eprom,插上用户板,在o状态下直接执行eprom中的程序,应能达到设计要求。 若用户系统ccr设置与aedk机不一致(aedk机为0adh),用户可用c命令执行用户程序。用户不要设置成机不支持的方式。 若用户程序使用mcs96看门狗,则在适当地方须有清看门狗指令,进入仿真器监控时,也应激活看门狗。 二 用户系统脱离实验系统经过上述步骤后,可脱机了。首先拨去仿真插头,插上用户单片机,插上仿真调试完毕的eprom,接通用户系统电源,绝大多数情况下应能正常工作。如果不能,可从以下几个方面查找原因: 1. 上电总清电路 仿真器能对按总清键电路进行检查,但上电总清功能检查不到,一般由两个方面原因引起。 (1) 上电总清不可靠用慢扫描示波器观看上电总清信号应无振荡,总清信号宽度应符合要求(大于10个状态周期)。 (2) 系统中各种芯片上电总清不一致例如:mcs96上电总清时间小于8155上电总清时间,mcs96先复位,马上执行程序对8155送控制字,由于8155还未复位,接收不了控制字,8155当然不能正常工作。这种故障联机仿真调试时,是查不出的。 解决办法:mcs96进入初始程序入口后,先延迟零点几秒至一秒,等待系统中其他芯片复位,然后再送初始化控制字;所有需上电总清的芯片应使用同一个上电总清信号。2负载能力联机仿真时,地址数据线,读写控制线是经驱动后与用户系统连接的,即使能通过,也不能保证用户系统设计是否超出单片机规定的负载能力。可用示波器检查用户系统

温馨提示

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

评论

0/150

提交评论