《模拟电子元器件应用技术》-任务1-1_第1页
《模拟电子元器件应用技术》-任务1-1_第2页
《模拟电子元器件应用技术》-任务1-1_第3页
《模拟电子元器件应用技术》-任务1-1_第4页
《模拟电子元器件应用技术》-任务1-1_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

三、相关知识1.计算机语言基础知识2.AT89C51单片机汇编源程序结构及语法要素3.AT89C51单片机常用汇编伪指令4.AT89C51的寻址方式任务1分析AT89C51的汇编语言程序结构(一)计算机语言基础知识任务1分析AT89C51的汇编语言程序结构1.计算机语言分类(1)机器语言:二进制,计算机能识别并直接执行。特点:指令难记,程序易读性和通用性差。(2)汇编语言:符号助记式语言。如“MOVA,30H”,“MOV”是数据传送指令的助记符特点:比机器语言程序更具易读性,对指令的记忆也更方便。(3)高级语言:接近人类自然语言,如语句“C=A+B;”。特点:易于识读和理解,不依赖于机器,具有可移植性。(一)计算机语言基础知识任务1分析AT89C51的汇编语言程序结构2.汇编源程序及执行计算机仅能够识别并直接执行机器语言程序,用汇编语言和高级语言编写的程序称“源程序”,在执行时需将其转换成机器语言“目标程序”最后经过链接后生成可执行程序,才能由计算机执行。链接的功能是将零散的目标文件链接成一个完整的可执行文件(二)AT89C51单片机汇编源程序结构及语法要素任务1分析AT89C51的汇编语言程序结构1.程序结构(1)程序案例:ORG0000h START:CLRA

MOVR0,#0AHLOOP:ADDA,R0 DECR0 CJNER0,#00H,LOOP MOV30H,A

ENDSTART ;汇编开始;累加器清0;R0←0AH;A←(R0);R0←(R0)-1;(R0)≠0,转到LOOP处执行;30H←(A);汇编结束(二)AT89C51单片机汇编源程序结构及语法要素任务1分析AT89C51的汇编语言程序结构(2)结构特点:①单片机汇编源程序以ORG伪指令开始,以END伪指令结束;②单片机汇编源程序的核心是指令,由操作码和地址码(或操作数)两部分构成。指令格式:LOOP:MOVA,R0;将R0的内容送A

标号

操作码

第一操作数,第二操作数

注释

目的操作数

源操作数操作码:告诉计算机做什么地址码:告诉计算机对谁操作。操作码与地址码间需用空格间隔。(二)AT89C51单片机汇编源程序结构及语法要素任务1分析AT89C51的汇编语言程序结构(2)结构特点:指令种类:一操作数指令、二操作数指令、三操作数指令等。如:“CLRA”、“DECR0”为一操作数指令;“MOVR0,#0AH”、“ADDA,R0”为二操作数指令;“CJNER0,#00H,LOOP”为三操作数指令。③程序开始和程序转移的目标指令处需用“标号”,标号由字符串和“:”组成。如“START:”和“LOOP:”。④单片机汇编源程序中可使用注释,注释内容前需用英文标点的“;”,注释用于程序阅读提示和说明,即“;”后的内容是不执行的部分。⑤单片机源程序中的字符不区分大小写。(二)AT89C51单片机汇编源程序结构及语法要素任务1分析AT89C51的汇编语言程序结构2.语法要素(1)伪指令:指示与控制汇编过程的一些命令,如定义数据、预留存储空间等。伪指令编译时不翻译成对应的机器代码,如程序案例中的“ORG”、“END”。(2)标识符:用户可自行定义的字符串,用来表示标号、数据区、符号、数据地址等。标识符定义原则是不能与系统的保留字重复,为便于识读,最好“见其名、知其义”。(3)保留字:用于表示指令、伪指令的助词符,寄存器名等的字符串。(4)标号:指令的符号地址,由标识符和“:”构成。(三)AT89C51单片机常用汇编伪指令任务1分析AT89C51的汇编语言程序结构1.汇编起始伪指令ORG(1)功能:用于规定目标程序段或数据块的起始地址。(2)格式:ORG16位地址或标号。(3)应用案例:ORG0300H;表示其后的目的程序或数据块存放在以0300H为起始地址的程序存储器中。2.汇编结束伪指令END(1)功能:告诉汇编程序,对源程序的汇编到此结束。一个程序中在末尾只出现一次。(2)格式:END[起始指令的标号](3)应用案例:

END

START;表示源程序到此结束,目的程序从START单元开始执行。(三)AT89C51单片机常用汇编伪指令任务1分析AT89C51的汇编语言程序结构3.赋值伪指令EQU(1)功能:告诉汇编程序,将汇编语句操作数的值赋予本语句的标识符。先定义后使用,放在程序开头。标号在源程序中可以作数值使用,也可以作数据地址、位地址使用。(2)格式:标识符EQU表达式、数值或汇编符号(3)应用案例:VAREQU45+3 ;把表示式的值48赋给VAL。REG1EQUR1 ;对寄存器R1符号重新定义为REG1。(三)AT89C51单片机常用汇编伪指令任务1分析AT89C51的汇编语言程序结构4.定义字节伪指令DB(1)功能:告诉汇编程序从指定的地址单元开始,定义若干字节存储单元并赋初值。只能用于程序存储器。(2)格式:[标识符:]DB字节数据项或项表(3)应用案例:SQTB:DB00H,01H,04H,09H,10h;定义一个从SQTB开始的存储空间,其中存放0~4的平方值。(三)AT89C51单片机常用汇编伪指令任务1分析AT89C51的汇编语言程序结构5.定义字伪指令DW(1)功能:从指定地址开始,定义若干个16个位数据。只能用于程序存储器。(2)格式:[标识符:]DW字数据项或项表(3)应用案例:TAB:DW1234H,56H,“AB”;定义一个从TAB开始的存储空间,依次存放12H、34H、00H、56H、41H(字符“A”的ASC码)和42H(字符“B”的ASC码)。(三)AT89C51单片机常用汇编伪指令任务1分析AT89C51的汇编语言程序结构6.地址赋值伪指令DATA(1)功能:将表达式指定的地址赋值给标识符。与EQU指令相似,可先使用后定义,放于程序开头、结尾均可,但不能对标号重定义。(2)格式:标识符DATA表达式(3)应用案例:PORT1DATA90H;把P1口寄存器的地址90H赋给PORT1。(三)AT89C51单片机常用汇编伪指令任务1分析AT89C51的汇编语言程序结构7.定义存储区伪指令DS(1)功能:从指定地址开始,保留指定数目的字节单元作为存储区,供程序运行使用。只能用于程序存储器。(2)格式:[标识符:]DS表达式(3)应用案例:TIME:DS8;从TIME地址开始,预留8个连续存储单元(三)AT89C51单片机常用汇编伪指令任务1分析AT89C51的汇编语言程序结构8.定义位伪指令BIT(1)功能:将位地址赋予规定的字符名称。(2)格式:字符名称BIT位地址(3)应用案例:P1_0BIT90H.0;定义P1_0为P1.0。(四)AT89C51的寻址方式任务1分析AT89C51的汇编语言程序结构1.立即寻址(1)特点:指令中直接给出操作数,称“立即数”,用“#”作前缀。(2)应用案例:MOVA,#60H ;将立即数60H赋给累加器ACC。MOVDPTR,#1808H;将立即数1808H赋给数据指针寄存器DPTR。2.直接寻址(1)特点:操作数在片内数据存储器或特殊功能寄存器中,指令中给出操作数的存储单元地址、位地址或特殊功能寄存器。(2)应用案例:MOVA,40H;将存储单元40H中的操作数传送给累加器ACC。MOVA,P0 ;将端口寄存器P0中的操作数传送给累加器ACC。MOVC,40H;将位地址为40H中的1位操作数传送给PSW.7。(四)AT89C51的寻址方式任务1分析AT89C51的汇编语言程序结构3.寄存器寻址(1)特点:操作数在工作寄存器或特殊功能寄存器中,指令直接给出寄存器名。(2)应用案例:MOVA,R0;将工作寄存器R0中的操作数传送给累加器ACC。MOVA,B ;将寄存器B中的操作数传送给累加器ACC。MOVA,DPH;将数据指令指针寄存器高8位操作数传送给累加器ACC。4.寄存器间接寻址(1)特点:操作数在片内数据存储器或片外数据存储器中,指令中给出存放操作数地址的的寄存器,用“@”作前缀。(2)应用案例:MOVA,@R1;将地址为(R1)的片内存储单元的操作数送给累加器ACC。MOVXA,@DPTR;将地址为(DPTR)的片外存储单元的操作数送给ACC。(四)AT89C51的寻址方式任务1分析AT89C51的汇编语言程序结构5.变址寻址(1)特点:以DPTR或PC为基址寄存器,以ACC为变址寄存器。操作数地址=变地址+基地址。(2)应用案例:MOVCA,@A+DPTR ;将地址为(A)+(DPTR)的程序存储单元的内容传送给累加器ACC。MOVCA,@A+PC ;将地址为(A)+(PC)的程序存储单元的内容传送给累加器ACC。(四)AT89C51的寻址方式任务1分析AT89C51的汇编语言程序结构6.相对寻址(1)特点:把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。目标地址=PC当前值+rel(2)应用案例:SJMP38H ;跳转至地址为38H的指令处执行。SJMP$ ;反复执行当前指令。7.位寻址(1)特点:操作数是位地址。(2)应用案例:MOVC,37H;把位地址为37H中的1位操作数送CY。CLRC ;CY标志清0,即(PSW.7)=0。四、任务实施汇编源程序案例分析。任务1分析AT89C51的汇编语言程序结构(1)语句①中的“ORG”为

。(2)语句②为该程序的第一条指令,“START:”为

。该指令为

操作数指令,采用

寻址方式。(3)语句③为

操作数指令,源操作数采用

寻址方式,0AH为

,“#”为

;目的操作数采用

寻址方式。(4)语句④为

操作数指令,源操作数用

寻址方式,目的操作数采用

寻址方式。“LP:”是

。汇编起始伪指令标号一寄存器二立即立即数立即数前缀寄存器二寄存器

温馨提示

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

评论

0/150

提交评论