EM78系列单片机的开发工具及编程器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章EM78系列单片机的开发工具及编程器武汉威帆(027)87644346第108页第六章EM78系列单片机的开发工具及编程器EM78单片机的开发工具一般包括:(1)宏汇编(交叉汇编)(2)仿真器(3)程序烧写器。单片机的开发过程如下:1)用编辑软件(如:EDIT、PE2等)输入源程序(扩展名DT)2)用宏汇编(ASM456/ASM447)对源程序(*。DT)进行汇编。3)使用仿真器(ICE456/447)进行程序调试。仿真调试正确转向下一步,不正确则修改源程序再转向“2”开始。4)将调试完毕的目标码(*.CDS)用烧写器烧入EM78单片机中。5)将烧好的单片机插入实际电路中检查,若正确则开发完毕,否则修改程序转向“2”开始。下面分别介绍上述三种开发工具。6.1.宏汇编(交叉汇编)与汇编语言格式6.1.1.宏汇编程序ASM456是EM78154/156/256/456的汇编程序。ASM447是EM78247/447的汇编程序。ASM456/447是台湾义隆电子公司设计的针对EM78单片机的汇编软件,该软件也包含在仿真器(E8-ICE)的集成调试软件中,也可以直接在仿真器软件中汇编,也可以单独使用。对源程序汇编后会产生如下文件:*.dt:源程序*.std:提供给程序设计者参考的标准文件*.cds:即一般所谓的目标文件(object文件).ice:提供给仿真器(E8-ICE)显示使用*.lin及*.adr:提供给仿真器(E8-ICE)的数据库使用注:*.ice及*.std为可读的文本文件,其余为不可读。若汇编失败,将产生一个*.err文件,内为错误信息,以便设计者排错用。6.1.2.汇编语言格式以下就该编译器的語法,作一詳盡介紹。(1)键入格式本编译器並不对字之大写或小写作区別,如MOV,Mov,mOV,和MoV在解释上是不做区別的。(2)在常数之前请加小鼠标@,其它如寄存器(r)及位(b)之前則不加@。例如MOVA,@0x55;add@beforeconstant0x55BC0x7,0x4;no@beforebothregister;7andbit4SUB0x10,A;no@beforeregister0x10第六章EM78系列单片机的开发工具及编程器武汉威帆(027)87644346第109页(3)数字格式a、十六进位制之前先加0x,例如0xA、0x55、0x11。PS只处理二位。b、十进位制之前不加辨识字元。(4);请置于备忘陈述或註解之前。例如;**********************************;Thisisanexampleofhowtowrite;anEMC8_bitprogram;Dateofprogramming:March12,1996;**********************************(5)ORG定义起始位址。其語法为ORGADDR。例如ORG0x000;addressbeginsfrom0x000NOPNOP:ORG0x600;anotheraddressstartsfrom0x600NOPNOP:(6)==定义一代号值。其語法为“SYMBOL==K”,例如TCC==0x01PC==0x02BUFFER==0x20COUNTER==0x21※a、代号字串長度不得大于11个字母。b、定义代号不一定在程序一开始,只要在使用之前定义即可。(7)面向寄存器型指令的語法可分为以下三类:a、直接对寄存器做运算。其語法为INSTREG。例如IOW0x05INC0x10DJZ0x10RRC0x10b、与A做运算,結果存入A中。其語法为INSTA,REG。例如MOVA,0x15ANDA,0x15SUBA,0x15c、与A做运算,結果存入寄存器中。其語法为INSTREG,A。例如MOV0x15,AAND0x15,ASUB0x15,A(8)位处理型指令的語法为INSTREG,BIT。例如BC0x05,0x1第六章EM78系列单片机的开发工具及编程器武汉威帆(027)87644346第110页BS0x05,0x1JBC0x05,0x1JBS0x05,0x1(9)标号的用法a、标号字串長度不得大于11个字母。b、标号字串之后要加一个冒号“:”。冒号之后要換行。6.1.3.錯誤信息说明:信息1:16charactersatmostforaname/label。说明:当定义代号或标号名大于16個字母時。信息2:outofrange,itmustbefrom0x5to0x7。说明:在試图定义一不存在的输出输入口(I/OPORT)時信息3:unknowninstruction,orsyntax。说明:在编译某一行之陳述(statement)時,发現指令以外之字元,或語法不符規定。信息4:outofrange,itmustbefrom0to0xFF。说明:在設定一常数值時,其值大于上限255。信息5:digitsonly。说明:以数字开头的字(word),会被解釋成十进位的語法。信息6:outofrange,itmustbefrom0to0x400。说明:在EOP之前,或EOP两之间程序長度大于1K(1024)。信息7:outofrange,itmustbefrom0to0x3F。说明:当企图使用寄存器的位置超过63。信息8:reservedwordorcomma',',required。说明:使用之代号名称或标号明是指令保留字。如com,tbl...等等。信息9:argumentdoesnotassignavalue。说明:在编译某一行之陳述(statement)時,发現代号名称之值並未事先以予設定。信息10:name/labelduplicates。说明:代号名称或标号名重複使用。信息11:namecannotmatchwithlabel。说明:某一代号名称与某一标号名雷同。信息12:outofrange,itmustbelessthan0x1FFF。说明:程序長度大于該一系列可编程的地址上限。信息13:toomanypages。说明:使用过多之EOP。信息14:thecurrentpageisoverlappingwiththelastpage。说明:在EOP之前,或EOP两之间程序長度大于1K(1024)。信息15:theORGoverlapswiththeaddressbeforeit。说明:目前ORG所定义之起始位址小于其上一行指令之位址。6.1.4.编译結果说明:(1)当编译失敗時,会產生一個.ERR檔,內容記載如上所述之錯誤信息。其格式如下:Compiling:dir\fname.dtErrorln_noinstructionstatement:errormessage第六章EM78系列单片机的开发工具及编程器武汉威帆(027)87644346第111页说明:dir:路径,fname:文件名称,ln_no:发生語法錯誤之行数,instructionstatement:該行之原始指令陳述,errormessage:錯誤信息。例如:Compiling:..\emc\data\example.dtError100IOW0x08:outofrange,...Error125AdA,0x10:unknown...(2)当编译成功時,会产生如下几个文件:a、.cds:即一般所说的目标文件(objectfile),b、.ice:提供E8-ICE显示使用,c、.std:提供程序設計者參考的标准文件。d、.lin、和.adr:提供E8-ICE内容庫使用。※.ice和.std为可读的Textfile,其余則为不可读的Binaryfile。6.2.软件仿真器使用说明6.2.1.软件仿真器WIM156基本介紹WIM156的设計是针对单片机的初学者﹐它提供了一个简单的使用环境﹐以及学习环境。WIM156软件设备中包括两个部分﹐第一个为编译器﹔第二个为软件仿真器。上述两个软件设备是相輔相成的﹐並不能分开。当使用者进入WIM156並打开文件之后﹐WIM156就完成编译的动作﹐並且已经进入仿真的功能了。开发这套设备的工程師所使用的工作环境如下:PC:ACERpowerDX4vp視窗环境:windows3.1英文版.(若是使用中文版会降低执行的速度)屏幕解析度:640*480pixel.鼠标:PS2mouseCPU:INTEL80486DS-75模拟对象:义隆电子公司的EM78156&EM78P156八位单片机WIM156是针对初学者所设計的一个单片机仿真器,並且提供一个简易的操作环境.我們所用的单片机主体是国內义隆电子所生产的8位单片机,EM78156&EM78P156.6.2.2.硬件设备介紹搭配WIM156的硬件裝备是由PRINTERPORT所延伸,在此我們称它为ADOPT.ADOPT的主要控制器为义隆电子公司的EM78447B或EM78P447B.ADOPT接受从PCPRINTERPORT过來的資料,真实的模拟各种不同的I/O动作,包括floating,input,output等.在ADOPT中,有一个插槽可以让你連接排线﹐以便于控制外部的电路.此外﹐在ADOPT板面上也有超过300个萬用孔﹐可供使用者接一些简易的电路.第六章EM78系列单片机的开发工具及编程器武汉威帆(027)87644346第112页下为PC外接ADOPT的简图﹕图6.1软件仿真器WIM156系统构成6.2.3.屏幕浏览器执行WIM156之后,在屏幕上会产生三块区分明显的方块,如下图所示﹐分別是:1.原始程序浏览区(sourcecodeviewer)2.通用寄存器以及特殊寄存器浏览区(generalregister&specialregisterviewer)图6.2WIM156进入时的画面第六章EM78系列单片机的开发工具及编程器武汉威帆(027)87644346第113页3.寄存器块浏览区(bankregisterviewer)原始程序浏览区主要的目的就是要观看使用者所写的組合語言.原始程序浏览区会在原先的程序之前加数字,代表程序指令执行的順序.不过有一点是要各位使用者注意的.原始程序浏览区的浏览程度大小是限制于32kbytes以下.並且有效的指令敘述也不要超过1000行,因为所模拟的单片机是EM78156&EM78P156,它們的記忆体大小等于1kwords.其他的两个浏览器分別显示各个寄存器的內含值,在这两个区域中,除了R3,R4之外﹐其他的寄存器都可以在屏幕上直接修改.6.2.4.功能描述功能名称快速鑑说明Brkpt-F2F2Brkpt是Breakpoint的縮写.当使用者执行这个功能時会产生一个如下图所示的对话窗.你可以在这个对话窗中加入中断的位址﹐使用者可以输入位址设定中断位址﹐也可以用标記设定中断点﹐分別使用对话窗的左方两个输入框。请注意﹐在输入完每一个中断位址﹐都必須要按下OK键。中断点的设定是沒有限制的﹐使用者可以將中断点设在任何須要的地方﹐若是所有的程序码都设成了中断点﹐那程序执行起來就像是单步执行了。在对话窗的左邊所显示的中断位址是以16进位的方式來显示的。Clear-F3F3这个功能会让使用者清除所有的中断点。Run-F5F5当始用者执行这个功能時会产生如下图的对话窗﹕如果你按下continue的按鈕﹐WIM156就会不停的执行程序﹐直到碰到中断点为才会停下來﹐使用者可以按下continue键继续往下执行﹐也可以按下stop按键跳出这个功能。使用者请注意﹐当你啟动这个功能時请記得要按下continue按键﹐程序才会开始起动。使用者可以在执行此功能的同時加上新的中断位址。Goto-F4F4当使用者执行这个功能時﹐会产生一个对话窗如下。第六章EM78系列单片机的开发工具及编程器武汉威帆(027)87644346第114页使用者必須要输出一个有效的位址﹐可以用10进位或16进位的方式输入数值。如果使用者采用16进位的输入方式﹐请在数值之前加上0x的符号。输入完毕之后按下OK按键即可执行。此時会产生另一个显示盒

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功