首页 avr教程 avr单片机开发工具

avr教程 avr单片机开发工具

举报
开通vip

avr教程 avr单片机开发工具第三章AVR开发工具31广州天诃双龙电子有限公司http://WWW.SL.COM.CN第三章AVR单片机开发工具说明:为了使读者和用户迅速掌握AVR指令系统的功能,边学习,边实践,希望大家先学习<<第三章AVR开发工具>>根据我们的实际教学经验,有的书籍是根据英文源文翻译,程序及说明可能不合中国人习惯,又由于印刷等多种原因,内容有出入,学起来较难我们是参考有关资料,并在实际工作中验证,并编写有关测试程序(含中文注释),在模拟调试软件窗口观察通过,或在实时仿真器或在SL-AVR开发下载实验器...

avr教程 avr单片机开发工具
第三章AVR开发工具31广州天诃双龙电子有限公司http://WWW.SL.COM.CN第三章AVR单片机开发工具说明:为了使读者和用户迅速掌握AVR指令系统的功能,边学习,边实践,希望大家先学习<<第三章AVR开发工具>>根据我们的实际教学经验,有的书籍是根据英文源文翻译,程序及说明可能不合中国人习惯,又由于印刷等多种原因,内容有出入,学起来较难我们是参考有关资料,并在实际工作中验证,并编写有关测试程序(含中文注释),在模拟调试软件窗口观察通过,或在实时仿真器或在SL-AVR开发下载实验器上验证通过,把测试实验程序刻在光盘上(也可上网下载http://WWW.SL.COM.CN),保证用户学习实验时少走弯路所以我们先学习系统软件的使用,然后学指令系统,用户一边学习AVR指令系统,一边学习系统软件编程调试,这样使指令功能流向看得见听得见,学习起来有声有色,达到事半功倍的效果当学完所有指令,你也学会了用软件编程开发调试我们的想法希望你能去边学边实践,并得到你的认可,我们就谢谢了AVR编辑编译,调试,下载软件升级较快,书本内容永选跟不上技术的发展,你要获得最新软件只有上网下载3.1AVR单片机的编辑编译AVR单片机实用程序源文件供用户学习参考,今后还将不断增加新内容,也欢迎用户来交流新程序源程序在:\AVR\AVR\asmpack\appnotes或SL-AVR 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 下,源程序经编译(Assembler)后生成.OBJ调试文件,HEX下载文件,LIS列表打印文件3.1.1AVRAssembler编辑编译文件的安装与打开:打开光盘文件*:\AVR\AVR\asmpack文件夹,双击图标安装安装好后双击图标进入源文件编辑编译窗口,也可使该图标移到桌面成快捷菜单,点击图标进入AVRAssembler源文件编辑汇编窗口图3.1编辑窗口中工具条的快捷按钮(图标)第三章AVR开发工具32广州天诃双龙电子有限公司http://WWW.SL.COM.CN图3.2编辑编译窗口菜单3.1.2AVR单片机汇编语言源程序举例:例一:文件头不可少,以便了解该程序有关资料;*************应用举例AVR3411.asm************************;*<4411>表示对应第几章第几节第几段第几个实例;*标 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :测试指令功能原理;*版本:1.0;*最后更新日期:2000.08.08;*支援E-mail:gzsl@sl.com.cn;*描述;*用AVRStudio调试软件窗口观察指令执行变化情况;*作者:SL.;*程序适用于所有单片机;***************************************************************************.include"8515def.inc";在编译调试中用到,决不可少"*.inc"文件头.org$0000rjmpRESET;复位;****************************************************************************;*第三章AVR开发工具33广州天诃双龙电子有限公司http://WWW.SL.COM.CN;*测试指令ADD功能,用单步或连续单步调试;*;****************************************************************************.org$0010;跳过中断区RESET:LP:LDIR16,0X11;立即数送寄存器,LDI指令中寄存器必须RR16,才能汇编成功!LDIR17,$33;0X11,$33均为十六进制表示法ADDR17,R16;R17=0X44SREG=0X00,H=0,S=0,V=0,N=0,Z=0,C=0,高位低位均无进位STS0X0060,R16;内部SRAM地址必须0X0060,0X0060=0X11STS0X0061,R17;0X0011=0X44LDSR0,0X0060;R0=0X11LDSR1,0X0061;R1=0X44ADDR1,R0;R1=0X55SREG=0X00,高位低位均无进位LDIR20,0XC1;LDIR21,0XAA;ADDR21,R20;R21=0X6BSREG=0X19,S=1,V=1,C=1,高位有进位,低位无进位LDIR22,0X46;LDIR23,0X6A;ADDR23,R22;R23=0XB0SREG=0X2C,H=1,V=1,N=1,高位无进位,低位有进位LDIR24,0XFF;LDIR25,0XFF;ADDR25,R24;R25=0XFESREG=0X35,H=1,S=1,N=1,C=1,高位有进位,低位有进位RJMPLP;可循环反复调试检查;调试时打开Registers(寄存器窗口),;Processor(处理器窗口--程序,堆栈,状态寄存器,X/Y/Z等项),;NewMemoryView(存储器窗口--数据,I/O,E2PROM,程序存储器窗口,;该程序仅需打开片内SRAM数据窗口)例二:利用另存文件名,把例一变为例二,仅略修改文件头;**************应用举例AVR4411B.asm************************;*标题:测试指令功能原理;*版本:1.0;*最后更新日期:2000.08.08;*支援E-mail:gzsl@sl.com.cn;*描述;*在AVRStudio调试软件窗口中置数方法输入数据,用单步观察指令执行变化情况;*作者:SL.;*程序适用于所有单片机;***************************************************************************.include"8515def.inc";在编译调试中用到,绝不可少"*.inc"文件头.org$0000rjmpRESET;复位第三章AVR开发工具34广州天诃双龙电子有限公司http://WWW.SL.COM.CN;****************************************************************************;*;*测试指令ADD功能,用置数方法输入数据,用单步或连续单步调试;*;****************************************************************************.org$0010;跳过中断处RESET:LP:;在寄存器窗口中点击R16,修改R16=0X11;在寄存器窗口中点击R17,修改R17=0X33ADDR17,R16;R17=0X44SREG=0X00,H=0,S=0,V=0,N=0,Z=0,C=0,高位低位均无进位;在寄存器窗口中点击R0,修改R0=0X11;在寄存器窗口中点击R1,修改R1=0X44ADDR1,R0;R1=0X55SREG=0X00,高位低位均无进位;在寄存器窗口中修改R20=0XC1;在寄存器窗口中修改R21=0XAAADDR21,R20;R21=0X6BSREG=0X19,S=1,V=1,C=1,高位有进位,低位无进位;在寄存器窗口中修改R22=0X46;在寄存器窗口中修改R23=0X6AADDR23,R22;R23=0XB0SREG=0X2C,H=1,V=1,N=1,高位无进位,低位有进位;在寄存器窗口中修改R24=0XFF;在寄存器窗口中修改R25=0XFFADDR25,R24;R25=0XFESREG=0X35,H=1,S=1,N=1,C=1,高位有进位,低位有进位RJMPLP;调试时打开Registers(寄存器窗口),;Processor(处理器窗口--程序,堆栈,状态寄存器,X/Y/Z等项),;NewMemoryView(存储器窗口--数据,I/O,E2PROM,程序存储器窗口,;该程序仅需打开片内SRAM数据窗口)编辑源程序文件注意事项:程序编译出错,有程序错误定位提示,指示错误原因及错误行号,只需鼠标点击错误提示,光标自动转到源程序的错误行,该行变为红色,以示注意,请修改,见图3.3注意指令中的Rd,Rr,K,k,P,SRAM等的数据选择范围;指令中小写d为16d31的指令有:SUBI/SBCI/CPI/ANDI/CBR/ORI/SBR/SER/LDI;其余指令中Rd,Rr的R为0d31,0r31;指令中大写K为0K63的指令有:ADIW/SBIW;指令中小写k为-64k+63的指令有:BRBS/BRBC/BREQ/BRNE/BRCS/BRCC/BRSHBRLO/BRMIBRPL/BRGE/BRLT/BRHS/BRHC/BRTS/BRTCBRVS/BRVC/BRIE/BRID;指令中小写k为0k255的指令有:SUBI/SBCI/CPI/ANDI/CBR/ORI/SBR/LDI;指令中小写k为-2Kk2K的指令有:RJMP/RCALL;指令中小写k为0k65535的指令有:LDS/STS;指令中小写k为0k4M的指令有:JMP/CALL;指令中大写P为0P31的指令有:SBI/CBI;指令中大写P为0P63的指令有:IN/OUT;片内SRAM地址0X0060;第三章AVR开发工具35广州天诃双龙电子有限公司http://WWW.SL.COM.CN图3.3编译出错,错误定位窗口3.1.3源文件说明:供用户学习AVR汇编语言编程时参考1.avrled.asm验证SL-AVR万用串行下载开发实验器及AT90S1200的A口B口LED灯亮灭程序,也同时验证实验器通讯接口连机正常否,avrled2.asm和avrled3.asm仅延时常数不同,所以LED闪动快慢不同;2.AVRSTEP.ASM用模拟调试单步验证AT90S1200B口D口的输出状态;3.DIP40LED.ASM验证SL-AVR万用串行下载开发实验器及具有DIP40封装的AT90S4414/AT90S8515/AT90S8535等器件的A口B口C口D口LED灯亮灭程序,可修改延时常数;4.AVR100.ASM(访问E2PROM);5.AVR102.ASM(数据块传送);6.AVR108.ASM加载程序存储器;7.AVR128.ASM安装和应用相同比较仪;8.AVR200.ASM(乘法和除法应用一);9.AVR200B.ASM(乘法和除法应用二);10.AVR202.ASM(16位运算);11.AVR204.ASM(BCD运算);12.AVR220.ASM(冒泡分类算法);13.AVR222.ASM(8点平均滤波);14.AVR235.ASM(CRC程序存储的检查);15.AVR240.ASM(4X4键区休眠触发方式);16.AVR242.ASM(多工法驱动和键区扫描);17.AVR300.ASM(I2C总线);18.AVR302.ASM(I2C工作);19.AVR304.ASM(半双工中断方式UART应用一);20.AVR305.ASM(半双工中断方式UART应用二);21.AVR320.ASM(SPI软件);第三章AVR开发工具36广州天诃双龙电子有限公司http://WWW.SL.COM.CN22.AVR400.ASM(设置和使用模拟比较器);23.AVR401.ASM(8位精度A/D转换器);3.1.4AVR汇编器AVR汇编器覆盖了AT90S微控制器家族的全部范围汇编器用于把汇编代码编译成目标代码生成的目标代码可以用于模拟仿真器的输入或ATMELAVR在线仿真器的输入汇编器还能产生能够直接写入程序存储器和E2PROM存储的PROM可编程只读存储器代码和一个任意E2PROM文件汇编器产生固定的代码分配因此没有链接的必要汇编器可在MiccrosoftWindows3.11MicrosoftWindows95/98/2000和MicrosoftWindowsNT下运行另外还有一个MSDOS版本Windows版本包括一个在线帮助功能覆盖了所有这些说明3.1.4.1编译器快速启动AVR编译器和所有配的程序文件都正确地安装在你的计算机上请参考3.1.1安装与打开一开始开始编辑AVR文件通过从菜单中选择FileOpen或按下工具条中的图标打开文件4411.asm这样就把汇编文件装入了编辑窗口读读程序头看看程序但是不要改动它二编译第一个文件一旦看完了这个程序从菜单中选择编译第二个窗口信息窗口就会出现并包括一些错误信息这个窗口将会覆盖编辑窗口所以在屏幕上应先清除工作空间选择包含程序代码的编辑窗口并从菜单中选择WindowTileHorizontal让编辑窗口比信息窗口大一些是比较好的所以让信息窗口向下移动一点并让它挨着编辑窗口的底部屏幕上将会出现如图3.3所示的内容三寻找和纠正错误从信息窗口来看好像正尽力编译一个有很多缺陷的程序为了进行下一步错误必须被发现和纠正指向信息窗口中的第一个错误按下鼠标左键注意在编辑窗口一个红色的横条覆盖在行上错误信息指出R必须等于大于R16修改后再编译就OK四重新编译为查明是否所有的错误都已改正双击任意一个错误为了激活编辑窗口或在再次编译之前单击编辑窗口如果到现在你都这样做了信息窗口会告诉你已经顺利完成了3.1.4.2Microsoft窗口特性本节描述WAVRASM的特性仅描述汇编器菜单项的特性这是假设用户已经对Windows菜单项比较熟悉一个汇编器编辑的典型例子如图3.3所示一打开一个汇编文件可以在WAVRASM中打开一个新的或已经存在的文件理论上来说一次打开多少个文件是没有限制的但是WAVRASM有一个限制就是每个文件的尺寸必须限制在28K以下编辑比这大的汇编文件也是可能的但是它们不能在一个完整的编辑器中编辑每打开一个汇编文件都将产生一个新的编辑窗口打开二个汇编窗口,对复制程序,程序注释带来方便单击工具条中的新建按钮或从菜单中选择FileNewCtrl+N以创建一个新的汇编文件单击工具条中的打开按钮或从菜单中选择FileOpenCtrl+O以打开一个已经存在第三章AVR开发工具37广州天诃双龙电子有限公司http://WWW.SL.COM.CN的汇编文件二完整的编辑器当WAVRASM装入了一个文件文本编辑器将被激活一旦一个文件被装入汇编器的编辑窗口插入点光标就出现在窗口的左上角三输入和格式文本当输入时插入点光标向右移动如果文本输入超过右边边界文本将自动向左滚动以使插入点光标可见四移动插入点只要把鼠标光标移动到想放插入点的地方并按下左键插入点光标就可以移动到任何地方用键或键的组合移动插入点见表3.1移动插入点按键移动插入点按键向文本的右边移动右方向键到一行文本的起点Homn键向文本的左边移动左方向键到一行文本的结尾End键向文本的上边移动上方向键到文本的起点Ctrl+Home键向文本的下边移动下方向键到文本的结尾Ctrl+End键表3.1键盘移动插入法五格式文本表3.2中描述的键是为了得到一定文本形式的必要操作表3.2用键格式文本操作按键操作按键插入一个空格Spacebar结束行Enter向右删除一个字符Del缩排一行Tab向左删除一个字符Backspace插入一个制表停止位Tab为了分开一行可以把插入点移动到要断开的位置然后按下Enter键为了连接两行可以把插入点移动到要移动行的开始位置然后按下Backspace键编辑器就会把这一行连接到前一行上六滚动如果文本的一行要比上一次能够显示的长或者宽这个文件可以通过滚动条来移动七编辑文本编辑菜单中包含一些功能能够对编辑工作提供很多帮助文本可以被删除移动或复制到新的位置Undo命令可以用于取消上一次的编辑操作文本与别的窗口或应用程序之间的文本传输可以通过剪贴板实现当文本通Cut或Copy命令删除或复制这些文本就放置在剪贴板中粘贴命令把文本从剪贴板复制到编辑器中八选择文本从Edit菜单中选择一个命令去编辑文本之前被操作的文本必须首先被选择用键盘来选择文本(1)用方向键把插入点移动到要选择文本的起始部位(2)按住Shift键直到把插入点移动到要选择文本的结束部位释放Shift键取消这次选择按任一个方向键第三章AVR开发工具38广州天诃双龙电子有限公司http://WWW.SL.COM.CN用鼠标来选择文本(1)把鼠标光标移动到要选择文本的起始部位(2)按住鼠标左键直到把插入点移动到要选择文本的结束部位释放鼠标键3取消这次选择按下鼠标左键或任一个方向键九替换文本当文本被选择时可以通过输入新的文本立即替换被选择的文本当第一个新的字符被输入时所选择的文本就被删除了要替换文本1选择要被替换的文本2输入新的文本要删除文本1选择要被删除的文本2按下Del键要恢复被删除的文本在删除文本后应立即单击工具条中的恢复按钮或从菜单中选择EditUndoAltBackspace移动文本要想在编辑器中移动文本可以通过Cut命令把要移动的文本复制到剪贴板中然后用Paste命令把它粘贴到新的位置要移动文本(1)选择要移动的文本(2)在工具条中按下剪切按钮或从某单中选择EditCutShiftDel文本就被放置在剪贴板中(3)把插入点移动到新的位置4在工具条中按下复制按钮或从菜单中选择EditPasteShiftIns复制文本如果一些文本要用到一次以上不必每次都重新输入它文本可以用Copy命令复制到剪贴板中然后用Paste命令把它粘贴到其它地方要复制文本(1)选择要复制的文本2在工具条中按下副本选择按钮或从菜单中选择EditCopyCtrlIns文本就被放置在剪贴板中3把插入点移动到要放置文本的位置4在工具条中按下复制按钮或从某单中选择EditPasteShiftIns复制文本十一取消一次编辑保作Undo命令可以用于取消上一次的编辑操作例如文本可能被意外地删除或复制到一个错误的位置如果在错误发生后立即选择Undo命令文本将被恢复到错误发生以前的状态为了取消上一次的编辑操作在工具条中按下恢复按钮或从菜单中选择EditUndAltBackspace十二单击错误信息汇编器有一个单击错误信息的功能当编译完一个程序时一个信息窗口将出现在屏幕上如果有错误出现这些错误将排列在信息窗口中如果信息窗口中的一个错误信息被单击相应的源代码行就变成了红色,见3.3图如果错误信息出现在包含文件中什么也不会发生如果信息窗口行被双击,包含错误信息的窗口将变成活动窗口,光标将放置在包含错误信息行的起始部位如果包含错误信息的文件未被打开这个文件将被自动打开注意这个功能仅对编译过的文件有效这就是说如果源代码文件的行被增加或重新移动过这个文件必须被重新编译以得到正确的行数第三章AVR开发工具39广州天诃双龙电子有限公司http://WWW.SL.COM.CN十三设置程序选项WAVRASM的一些缺省值可以在选项菜单中被修改如果在某单中选择Option图3.4所示的对话框将被弹出在标有Listfileextension的框中缺省的列表文件扩展名被填写在标有Outputfile-extension的框中缺省的输出文件扩展名HEX被填写在标有Outputfileformat的框中输出文件的格式可以被选择如果单击了OK按钮这些值将在以后汇编器运行时出现注意目标文件用于模拟仿真将不被这些选项影响目标文件的扩展名总是OBJ格式也是相同的如果在源代码中定义了E2PROM段汇编器将产生一个以EEP为扩展名的文件这个文件图3.4汇编器程序选项用于初始化E2PROM存储器的值E2PROM初始化文件的格式与被选择的输出文件的格式相同Wraprelativejumps选项告诉汇编器使用地址约束方式这个特性仅用于有4K程序存储器的器件的编译在那样的器件上用此选项相应的跳转指令和调用指令将能到达所有的程序空间Savebeforeassemble选项使汇编器在编译之前自动地保存编辑器中的内容十四命令行 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 在MSDOS命令行方案中汇编器可以通过命令调用AVRASMmIgwinput.asmoutput.lstoutputromAVRASM将从input.asm中读入源代码产生列表文件output.lstoutput.asm和目标文件input.obj目标文件将被MSWindows模拟仿真器调用用户可以通过选项-mMotoloraS-record-I(IntelHex)-gGeneric中的一个选择所产生的输出文件的格式缺省值是Generic文件格式w选项告诉汇编器使用地址约束方式这个特性仅用于有4K程序存储器的器件的编译在那些器件上用此选项相应的跳转指令和调用指令将能到达所有的程序空间第三章AVR开发工具310广州天诃双龙电子有限公司http://WWW.SL.COM.CN3.2模拟调试窗口AVRStudio是AVR微处理器的开发调试工具AVRStudio允许用户在AVR在线仿真器或内建AVR指令集模拟器上软件模拟仿真控制程序的运行AVRStudio支持为AVR微控制器的AVRAssembler编译器生成的*.OBJ或*.HEX文件和IARC编译器编译的源代码层次的执行AVRStudio在MicrosoftWindows95/98/2000和MicrosoftWindowsNT上运行3.2.1安装AVRStudio调试工具打开光盘,*:\avr\avr\Studio3.X,双击安装图标,安装结束,双击调试工作图标进入调试窗口,也可把该图标移到桌面成快捷菜单方式,双击桌面调试工作图标进入AVRStudio调试窗口,如图3.5图3.5AVRStudio调试窗口3.2.2设置器件配置文件*.aio方法:在AVRStudio窗口下,打开了顶项菜单,OptionsSimulatorOptions出现复选框,在Device栏下选择相应器件名,单击OK键确认然后再打开菜单ViewNewIOView出现器件配置窗口,双击左侧出现对应观察窗,程序调试时对应参数会变化尤其对模拟调试观察器件引脚的输出状态,直观明了第三章AVR开发工具311广州天诃双龙电子有限公司http://WWW.SL.COM.CN图3.6器件配置窗口3.2.3AVRStudio调试窗口下拉菜单一旦安装了AVRStudio调试软件就能够通过双击AVRStudio的图标运行它如果一个仿真器是期望的执行对象记住在运行AVRStudio之前连接好AVR在线仿真器下面将对AVRStudio主要特性进行简要的描述AVRStudio允许在AVR在线仿真器或内建AVR指令集模拟器上运行AVR程序用AVRStudio运行程序必须首先用IAR系统的C编译器或用ATEML的AVR汇编器生成一个能被AVRStudio识别的目标文件AVRStudio在执行一个程序时的状态如图3.5所示另外相对于源程序窗口AVRStudio定义了一些窗口用于观察微控制器的不同源程序版本更高的AVRStudio调试窗口,增加了直接进入在线仿真器相关操作及Tools选择图3.7AVRStudio3.0主菜单工具条窗口图3.8AVRStudio3.2主菜单工具条窗口在AVRStudio中最关键的窗口是源程序窗口当打开目标文件时源程序窗口也就自动产生了源程序窗口显示在执行对象如仿真器或模拟仿真中当前正被执行的代码文本指示总是放在下一条将被执行的语句上状态条指出执行目标是AVR在线仿真器还是内建指令集模拟第三章AVR开发工具312广州天诃双龙电子有限公司http://WWW.SL.COM.CN器缺省时假设是在源代码层次上执行所以如果源程序存在程序将在源代码层次模式启动另外相对于C和汇编程序的源代码(*.OBJ)层次执行AVRStudio也能够在(*.HEX)反汇编层次上执行程序当一个执行的程序被停止后用户可以在源模式和反汇编模式下互相转换在AVRStudio中所有必要的执行命令都是有效的用户可以通过跟踪执行单步执行功能把光标放在一条语句上直到执行到那条语句停止执行来执行程序另外用户可以有不限数量的代码断点每个断点都能定义为可用或不可用断点在对话中被装入源程序窗口结出关于程序控制结果的信息另外AVRStudio提供一些其它的窗口便于用户对执行目标的每个元素的状态都能完全控制有如下可用的窗口(1)监视窗口显示定义符号的值在监视窗口中用户可以监视如C程序中变量的值2寄存器窗口显示寄存器文档的内容当执行停止后可用于修改寄存器的内容3存储器窗口显示程序存储器的内容如数据存储器IO存储器或E2PROM存储器程序存储器,这些存储器可用十六进制值或ASCII码观察当执行停止后存储器的内容都能被修改4外设窗口显示与不同外设相联系的状态寄存器的内容如E2PROM寄存器IO端口定时器等5信息窗口显示AVR给用户的信息6处理器窗口显示执行目标的重要信息包括程序计数器堆栈指针状态寄存器时钟周期数当执行停止后这些单元可以被修改当首次打开一个目标文件用户需要设置一些便于程序观察的窗口由此把屏幕上的信息做成特殊的工程文件当下次这个目标文件被调入时设置就自动的恢复了3.2.4AVRStudio窗口一源程序窗口在AVRStudio对话框中源程序窗口是一个重要的窗口当打开一个目标文件时它就被创建了并一直贯穿于整个过程如果关掉源程序窗口对话也就被中断源程序窗口显示当前正被执行的代码图3.9就是一个源窗口的例子图3.9第三章AVR开发工具313广州天诃双龙电子有限公司http://WWW.SL.COM.CN下一条将被执行的指令总是被AVRStudio标注着如果标注被用户移动在先前被标注的文本变成红色之后这下一条语句仍被识别源程序窗口中在语句的左边有断点的地方用一个圆点作为断点的标识如果按下模式选择框的右边按键源窗口将在源代码层次和反汇编层次执行上互相转换当AVRStudio在反汇编模式时所有的操作例如单步执行将在反汇编级别上执行如在一些情况中没有源代码层次的信息可用如把一个Intel十六进制文件作为目标文件没有源代码层次信息可用时执行只能在反汇编层次上进行触发断点运行到光标处和复制功能也可以通过在源程序窗口中按下鼠标右键来实现当鼠标右键被按下一个菜单就出现在屏幕上如图3.10所示如果光标放在一条指令上一个运行到光标处的命令被给出则程序将一直执行到光标放置的那条指令上以同样的方式可以设置断点把光标放在一条语句上给出一个ToggleBreakpoint的命令如果断点已经设置在这条语句上则断点将被解除如果没有断点设置在这条语句上则就产生一个断点一个目标文件可以由几个模块构成在同一时刻只能显示一个模块但是用户可以通过选择在源程序窗口左上方的选择框转换到别的模块这是一个有用的特性可以在一个当前模块激活时在其它模块观察和设置断点源程序窗口支持Windows剪贴板用户可以选择源程序窗口中全部或一部分内容然后通过从编辑图310设置断点菜单中选择复制的方法把它复制到剪贴板上二监视窗口监视窗口可以显示像C程序中变量一样符号的类型和值因为AVR汇编器不会产生任何符号信息这个窗口只能在执行C程序时有意义图311给出一个监视窗口的例子图311这个监视窗口有三部分第一部分是被监视符号的名字第二部分是符号的类型第三部分是符号的值监视窗口在缺省状态下是空的即用户所有想监视的变量必须被加到监视窗口中一旦一个符号加了进去在下次程序执行时它就会重新出现当监视窗口关闭时这些加入的监视量也被保存这里有增加监视量删除监视量和删除所有监视量的命令一个监视量的加入可第三章AVR开发工具314广州天诃双龙电子有限公司http://WWW.SL.COM.CN以通过从调试条或监视菜单中给出一个增加监视量命令如果监视窗口是活动窗口也可以通过按下Ins键给出一个增加监视量命令增加监视命令给出后用户必须键入符号的名字用户也可以输入一个带有或没有范围信息的符号名字AVRStudio先以符号包含范围信息来搜寻符号如果那样的符号没有找到AVRStudio把符号的名字放在当前的范围上然后搜寻这个新符号如果仍没有这样的符号被发现这个符号就被解除了在类型部分出现值的部分一直空着如果找到了这个符号名称这个符号就被限制带有范围信息的符号就显示在监视块类型和值域也被填充每当程序执行停止时,AVRStudio都试着用当前的范围来赋值无限制的符号浮点符号是不可用的一旦符号被限制它将保持赋值这些监视量在对话中被保存不论符号是否被赋值都是这些信息的一部分如果程序进入一个范围那里一个被赋值的符号是无效的值域将变成”outofscope”为了删除一个监视量符号名称必须首先用鼠标左键点上当用这种方法标注了一个符号AVRStudio接收监视菜单中的删除监视量命令如果监视窗口是当前活动窗口标注的符号也可以通过Del键进行删除监视窗口可以用于像监视单个变量一样监视C数组和结构体语法同C语言(用定义数组用定义结构体没有提及的指针不被支持当监视数组时变量可以用于动态地索引数组例如可以监视my_arrayi如果i是一个与数组my_array同样范围的整型变量同一时刻只能有一个激活的监视窗口监视符号在对话窗口中恢复监视窗量也同样地被恢复和保存三寄存器窗口寄存器窗口显示AVR寄存器文件中的32个寄存器的内容图3.12所示是一个寄存器窗口的例子当寄存器窗口大小变化时里面的内容会为更好地适应窗口形状而重新组织当执行停止后寄存器窗口里的值可以被改变为了改变寄存器的内容首先确定执行是停止的然后把光标放置在要改变的寄存器上按鼠标左键两下不是双击要在两次击打之间有一个停顿寄存器就可以被改变了以十六进制的形式键入新的内容,这对调试程序的参数很有用最后按下回车键确认或ESC键撤消改变同一时刻只能有一个寄存器窗口被激活四信息商口信息窗口显示AVRStudio给用户的信息当一个复位命令执行后信息窗口的内容被消除图7.13是一个信息窗口的例子图3.12图3.13第三章AVR开发工具315广州天诃双龙电子有限公司http://WWW.SL.COM.CN当信息窗口被关闭和再打开时里面的内容也被恢复在同一时刻也只能有一个被激活的信息窗口五存储器窗口存储器窗口允许用户观察和修改当前执行对象的不同存储器的内容同样的窗口可以用来观察所有的存储器形式存储器窗口可以用来观察数据存储器程序存储器IO存储器和E2PROM存储器用户可以有几个共存的存储器窗口图3.14是一个存储器窗口的例子图3.14想看哪一种存储器形式可在存储器窗口左上角的存储器选择框中进行选择当打开一个新的存储器窗口数据存储器是缺省的存储形式十六进制表示的存储器地址和内容总是显示着的另外用户还可以看到存储器内容的ASCII码表示用户也可以选择把十六进制值组织成十六位组或八位组当看程序存储器时在地址列中显示的是字地址在数据列中MSB列在LSB列前用户可以通过在包含被修改项的行上双击来修改存储器内容当存储器上的一行被双击一个窗口出现在屏幕上如果存储器以八位组观察修改也是以八位组操作如果以十六位组观察则修改也是以十六位组操作当以八位组操作就会出现如图3.14所示的窗口当以十六位组操作就会出现如图3.15所示的窗口在两种情况下操作是相同的如果按下Cancel键不会有任何改变如果按下OK键存储器内容就会根据改变而更新图3.14存储器以八位组观察图3.15存储器以十六位组观察第三章AVR开发工具316广州天诃双龙电子有限公司http://WWW.SL.COM.CN六处理器窗口处理器窗口包含执行对象的重要信息图3.16是一个处理器窗口的例子程序计数器指出下一条将被执行指令的地址且以十六进制形式显示当执行停止后也可以被改变当前的指令在程序计数器改变时被取消了程序计数器改变后用户必须执行单步功能跳到新的地址上堆栈指针装着放在IO区的堆栈指针的当前值如果执行对象有一个硬堆栈代替一个基于SRAM的堆栈就会在堆线指针域中指出当执行停止后堆栈指针值可以被改变图3.16处理器窗口周期计数器给出自上次复位取消后时钟周期的数据AVRStudio在线仿真器运行时不支持周期计数器因此以仿真器为执行对象时周期计数器一直为0且以十进制显示在执行停止后也能被改变计时栏StopWatch,在调试程序时很有用,可测某段程序执行多少时间,测延时子程序时间,计算脉冲周期频率等标志位显示当前状态寄存器的值当执行停止时这些位可以通过在这些标志上单击来改变复选的标志指出这个标志被置位在状态寄存器中相应位是1在同一时刻只能有一个处理器窗口被激活七外设窗口用户可以在存储器窗口监视IO的内容但以连续存储结构的方式查看IO区域并不是方便地观察众多IO设备状态的方法特殊的外设窗口更具体使观察IO设备变得简单(1)8位定时器计数器窗口或16位定时器计数器:8位定时器计数器窗口显示8位定时器计数器0的所有重要信息当从快捷键菜单中选择8位定时器计数器时定时器计数器窗口出现在屏幕上如图3.17所示定时器计数器框给出8位定时器计数器的值初值框给人相应的初值O通常指出定时器计数器是关闭的初值必须在O7之间选择溢出标志控制框在溢出标志位为1时复选在溢出标志位为0时为空溢出中断框根据允许或屏蔽溢出中断而复选或空当执行停止后所有的值都可以被用户改变图3.17外设窗口第三章AVR开发工具317广州天诃双龙电子有限公司http://WWW.SL.COM.CN2端口窗口:端口窗口显示通常与一个端口联系的三个不同IO寄存器相应的端口窗口就会出现如图3.17所示端口窗口以十六进制值和一位值显示IO区域的端口的设置引脚和直接数据寄存器的值当执行停止后寄存器的值都可以被改变(3)E2PROM寄存器图3.17所示的窗口就会出现AVRStudio知道在执行对象上有多少E2PROM存储器可用因此如果需要地址框中包含地址的高位和低位3.2.5AVRStudio命令AVRStudio使用了一定数量的命令命令可用通过不同的方式结出菜单选择工具条按钮和热键一管理(1)打开文件当从File菜单中选择了Open一个文件选择对话框就会出现在屏幕上注意AVR设定文件扩展名为OBJ因此在缺省状态下仅是有OBJ扩展名的文件被列出用户必须选择目标文件去执行AVRStudio支持下面的格式IARUBROF通过ATEMLAVR汇编器生成的AVR目标文件IntelHexAVRStudio自动识别目标文件格式四个最近使用的文件可以在File菜单中直接被选择装入当打开文件时AVRStudio寻找具有相同名字但扩展名为AVD的文件它包含关于工程的信息包括窗口的位置如果AVD工程文件没有找到那就仅创建一个源程序窗口AVD文件也包含关于断点的信息在上次对话中定义的断点重新被装入如果目标文件比工程文件新断点就被忽略了如果源代码层次信息可用程序将执行到第一条源语句2关闭文件当从File菜单中选择Close对话中所有的窗口都被关闭AVRStudio还在同目标文件一样的目录下写一个文件包含项目信息这个文件与目标文件的名称相同但扩展名为AVD(3)复制文本用户可以在源程序窗口中标记文本并通过选择Edit菜单中的Copy命令把文本复制到Windows剪贴板中二执行控制执行控制用于控制程序运行所有执行命令通过菜单热键和调试工具条给出都有效(1)全速执行Debug菜单中的GO命令开始或确定程序的执行程序一直执行到被停止用户操作或断点出现GO命令仅当程序停止时有效热键为F5(2)运行停止Debug菜单中的Break命令用于停止程序的执行当运行停止后窗口中所有的信息都被更新Break命令只在程序运行时有效热键为CtrlF5(3)跟踪进入Debug菜单中的Traceinto命令执行一条指令当AVRStudio是在源模式一条源代码层次的指令被执行如果在反汇编层次一条汇编指令被执行当Traceinto执行后所有窗口中的信息都被更新热键为F114单步执行Debug菜单中的Stepover命令执行一条指令如果指令包含一个功能子程序调用功能子程序调用也被当一步执行(可称宏单步)如果在Stepover中有用户断点执行就被挂起当Stepover执行后所有的窗口中的信息都被更新热键为F105单步退出Debug菜单中的Stepout命令执行直到当前功能完成如果在Stepover中有用户断点执行就挂起如果当程序在顶层时Stepout命令就发出程序将一直执行到一个断点或被用户停止当Stepout命令完成后所有窗口中的所有信息都被更新热键为Shift第三章AVR开发工具318广州天诃双龙电子有限公司http://WWW.SL.COM.CNF116运行到光标处Debug菜单中的RuntoCursor命令执行直到程序运行到源程序窗口中光标指出的那条指令如果在执行RuntoCursor命令时有一个用户断点执行不被挂起如果光标指出的指令不能到达程序只能被用户停止当RuntoCursor命令完成后所有窗口的信息都被更新热键为F7(7)复位Reset命令完成执行对象的复位功能如果程序正在执行当这个命令给出时执行将被停止如果用户在源代码层次程序在复位后将一直执行到第一条源语句当复位命令完成后所有窗口中的信息都被更新热键为ShiftF5三监视量当在C语言源层次上执行监视窗口可以用来监视符号当执行由ATEMLAVR汇编器生成的目标文件时没有符号信息是可用的因此监视窗口不能用来监视任何信息(1)添加监视量为了插入一个新的监视量用户必须在监视窗口中选择AddWatch命令或者在Debug工具条中按下AddWatch按钮如果当AddWatch命令给出时监视窗口未被打开将创建一个监视窗口已经定义的监视量被插入如果监视窗口是活动窗口增加一个新的监视也可以通过按下Ins键2删除监视量用户可以删除一个监视量首先在监视窗口选定要删除的符号(通过移动鼠标指针指向监视的名字按下鼠标左键选定一个监视量然后从Watch菜单或调试工具条中给出一个DeleteWatch命令如果监视窗口是活动窗口一个选定的符号也可以通过按下Del键进行删除3删除所有的监视量Watch菜单中的Deletea11watches命令是有效的当使用了这个命令所有定义的监视量都将被从监视窗口中删除四断点用户可以设置不限数量的代码断点除非产生了一个新的目标文件否则断点就在对话中恢复如果目标文件比工程文件新断点也会被忽略当在某处设置了一个断点在指令左边将有一个圆点指出这是一个断点(1)触发断点Togglebreakpoint命令触发光标处指令的断点状态注意这个功能仅当源视图是活动视图时有效图3.18断点设置列表窗口2清除所有的断点这个功能清除所有定义的断点包括已经被忽略的断点图3.183查看列表当Showlist被选择,图3.18所示的对话框就会出现在断点对话框中用户可以观察已经存在的断点增加一个新的断点删除一个断点或允许屏蔽断点五工具条AVRStudio包含下面描述的三种不同的工具条工具条可以被单独地插入和移动如第三章AVR开发工具319广州天诃双龙电子有限公司http://WWW.SL.COM.CN果需要也可通过ViewToolbars菜单控制或解控图3.19(1)通用工具条包括 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 窗口命令的按钮通用工具条有图3.19所示的按钮2调试工具条包含执行控制和监视窗口控制的按钮调试工具条有图3.19所示的按钮(3)视图工具条包含允许和屏蔽许多常用窗口和增加存储器窗口的按钮视图工具条有图3.19所示按钮六热键摘要部分热键在AVRStudio中的定义见表3.3表3.3部分热键定义命令热键命令热键命令热键改变寄存器窗口Alt+0复制到剪贴板Ctrl+C运行到光标处F7改变监视窗口Alt+1打开文件Ctrl+O改变断点F9改变信息窗口Alt+2帮助F1单步执行F10改变处理器窗口Alt+3全速执行F5跟踪进入F11增加存储器窗口Alt+4运行停止Ctrl+F5单步选出Shift+F11显示断点列表Ctrl+B复位Shift+F5第三章AVR开发工具320广州天诃双龙电子有限公司http://WWW.SL.COM.CN3.2.6执行对象AVRStudio可以面向一个AVR在线仿真器或内建AVR指令集模拟仿真器当用户打开一个文件AVRStudio自动地识别系统的一个串行端口是否有一个仿真器可用如果发现了一个仿真器就把它作为执行对象如果没有仿真器则执行被AVR内建指令集模拟仿真器软件模拟仿真)代替状态条指出执行目标是在线仿真器还是内建指令集模拟仿真器一AVR在线仿真器如果系统中AVR在统仿真器有效它就会自动地被作为执行对象仿真器必须连接在一个串行口上如果仿真器已与系统相接但是不能被识别关掉文件复位仿真器再试一次想了解关于AVR在线仿真器的信息请看AVRICE-200用户 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 若用户想用模拟仿真器即使仿真器在系统上也可用在打开文件前断开或关掉仿真器用户可以选择仿真器是用板上的可编程时钟还是用外部时钟(请看在线仿真器手册以获取更多的信息)如果内部晶振作为时钟来源用户可以选择从4O020MHz的频率(根据器件允许的频率选择)用户可以选择列表中的典型频率也可以在信息窗口自定义一个频率图3.20在对话框中仿真器的速度被恢复图3.20选择器件和频率窗口二AVR指令模拟仿真器如果AVRStudio不能成功地证明存在一个仿真器它就用一个内建模拟仿真器代替模拟仿真器也支持一些IO设备有不少不同的选项如果从Option菜单中选择SimulatorOptions图3.21所示的对话框就会出现在屏幕上在对话框中模拟仿真器选项也被恢复对话框中所有的数据都是十进制值改变这些值的任何一个都会迫使AVRStudio执行一个复位命令(1)设备选择在设备框中用户可以在多种不同的标准配置中选择如果选择了一个标准配置存储器配置和结构细节就相应地填写了用户也可以定制配置2定制选择如果定制选择按钮被按下则允许用户输入存储器和结构栏的值图3.21I/O设备窗口第三章AVR开发工具321广州天诃双龙电子有限公司http://WWW.SL.COM.CN程序存储器大小以字计算可以键入的最大值为65536超出这个选择范围操作是不确定的数据存储器以字节计算可以键入的最大值为6553664K字节注意指针寄存器不是循环的如果用户使用SRAM超过选择的范围操作是不确定的在数据存储器栏中的值是能用于寻址SRAM的最高地址寄存器文档的大小和IO区如果映射在SRAM区必须加到SRAM的值上以得到这个栏的正确值E2PROM的大小以字节计算可键入的最大值为6553664K字节E2PROM地址寄存器仅仅包括能够寻址E2PROM的必要多的位I/O地址大小以字节计算I/O地址大小允许的值为64128256用户可以选择模拟仿真器是否使用硬难栈若选择了硬堆栈用户可以设置硬堆栈的数目用户不能让模拟仿真器管理几个寄存器文档用户可以选择IO区域是否占用SRAM的地址空间如果IO可以在SRAM区寻址它将在地址0x20以上使用(2)记录端口用户可以记录输出口的活动如果从选项某单中选择了I/O快捷图标,I/O对话框就会出现在屏幕上用户必须选择的那个端口将被记录如果选择了一个端口用户还必须选择一个文件用于放置记录数据文件上的内容是端口寄存器的内容记录文件的每行都有下面的格式周期:数据周期栏中以十进制格式数据栏中以十六进制格式如果在一个周期中端口寄存器的内容没有改变就没有输出产生记录文件在每次程序复位时被删除在每次程序装入AVRStudio时记录都必须被人工激活三外部激励用户可以设置端口的值如果选择了一个端口用户必须指出激励文件的位置激励文件中的值将在指定的周期放在指定端口的PIN寄存器中激励文件的格式与端口记录文件格式相同注意仅当引脚设为输入时有效四定时器计数器0模拟仿真器支持定时器计数器0如果选择了一个标准设备定时器计数器0的溢出中断向量和外围计数器引脚被相应地设置如果选择了定制外围设备定时器计数器0的溢出中断向量和外围计数器引脚同AT9OS12OO设置五外部中断模拟仿真器支持外部中断如果选择了一个标准外围设备外部中断就被相应地设置了如果选择了一个定制设备对于AT90S12O0将有一个外部中断可用第三章AVR开发工具322广州天诃双龙电子有限公司http://WWW.SL.COM.CN3.3AVR单片机开发下载实验器SL-AVRAVR编程有二种方法:用万用编程器并行编程,适合大批量生产;利用ISP信号线实现串行在线下载编程,这是今后IC器件发展必然趋势,不需拆下器件编程,对产品升级带来方便,更适合远距离对设备监控维护为配合<<AVR高速嵌入式单片机原理与应用>>一书的出版,在ATMEL北京与香港办事处及华东师范大学电子科学技术系ATMEL实验室的大力协助下,我们顺利设计完AVR单片机开发串行下载实验器SL-AVR(简称开发实验器)该开发实验器采用双龙电子的专利技术(专利号:98226094.6),是为ATMEL的AVR单片机特别研制的单5V串行下载开发(软件摸拟仿真)实验工具该开发实验器适用于ATMEL公司所有具有串行下载功能的AVR单片机,同时还可做AVR单片机的I/O口A/DD/A音频输出,键盘LED数码管16X2LCD液晶显示器步进马达等实验该开发实验器提供了ATMEL的集成模拟仿真调试软件,对初学AVR单片机的设计者,可暂时节省购买较昂贵的实时仿真器及万用编程器的费用SL-AVR开发实验器实物图如图3.22:3.3.1SL-AVR开发下载实验器硬件结构AVR单片机开发下载实验器SL-AVR(等于AVR编程器+模拟仿真器+实验器),SL-AVR开发实验器硬件采用模块化设计,便于用户灵活组成你的科研项目所需的硬件结构硬件有RS232通信接口;串行下载监控;DIP8-DIP40通用锁紧插座,DIP40端口用短路块连接作输出,用LED发光二极管显示器件引脚高低电平,也可用短路块断开,作输入或其它用途;有6位LED数码管作显示;有2X16点阵LCD液晶显示器;有17键的键盘;有网络电阻作高精度A/D转换;图3.22SL-AVR编程开发实验器实物图有步进电机驱动电路模块;模拟比较输入电路;音响电路;复位电路;模拟电压输入电路等,随机附120X170mm万通实验板及一片AT90S8515器件SL-AVR适用于所有具有串行下载编程功能的AVR单片机,用户板上的AVR器件无需拆下即可编程,同时还可做AVR单片机的I/O口A/DD/ALEDLCD键盘输入步进电机控制音频输出模拟比较等开发实验;提供功能强大的WIN版汇编级编译器WAVRASM模拟仿真调试软件AVRStudio3.X及串行下载软件AVRPROG,同时也提供限时版的C(IARIcc)编译器,不限时的(限2KB)BASCOM-AVR编译器;对初学AVR单片机的设计者,可暂时节省购买较昂贵的实时仿真器及万用编程器的费用SL-AVR开发实验器提供的几十个实用实验程序,你也可改变硬件接口,修改程序,实现原程序的功能;这对大专院校学生发挥其第三章AVR开发工具323广州天诃双龙电子有限公司http://WWW.SL.COM.CN创造性思维及动手能力的培养特别有用,可改变我国传统教育下的高分低能的弊病本开发实验器也可当科研样机使用3.3.2SL-AVR硬件接口电路说明如下:1.CZ1:电源及通讯下载插座,电源线为地及+5V,通讯电缆一头接CZ1,另一头接计算机RS232九针插座;2.CZ2:该列八针的(ISP)插座,即AVR单片机的下载信号插座本开发实验器配一片AT90S8515器件,绝大多数实验使用该器件,硬件(用短路块)连接也按该器件连接,其它器件作为选购件;(1)CZ2(ISP)下载插座图3.23:引脚功能从上到下分别为VCC,SCK,MISO,MOSI,RESET,GND,XTAL2,XTAL1;随机附有一条8线信号线,由用户接插到对应AVR单片机(AT1-AT5)的信号脚上,CZ2:也可接到用户板作AVR单片机的串行下载编程用,如用户板有晶振,则XTAL1/XTAL2两信号线无需接出;;(2)AT1插针座为:AT90S4433/AT90S2333ISP下载信号线座;AT2插针座为:AT90S1200/AT90S2313ISP下载信号线座;AT3插针座为:AT90S4414/AT90S8515ISP下载信号线座;AT4插针座为:AT90S4443/AT90S8535ISP下载信号线座;AT5(90SX1)插针座,留给用户连线,接到其它AVR单片机下载信号引脚上,作为ISP下载信号线座;图3.23CZ2下载信号线插
本文档为【avr教程 avr单片机开发工具】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
小辉
小学教师
格式:pdf
大小:3MB
软件:PDF阅读器
页数:0
分类:工学
上传时间:2020-05-18
浏览量:17