单片机原理与接口技术李朝青版课后习题答案_第1页
单片机原理与接口技术李朝青版课后习题答案_第2页
单片机原理与接口技术李朝青版课后习题答案_第3页
单片机原理与接口技术李朝青版课后习题答案_第4页
单片机原理与接口技术李朝青版课后习题答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言址方式寄存器R0-R7、A、B、C、DPTR程序存储器(@A+PC,@A+DPTR)程序存储器256B围(PC+偏移量)立即数寻址直接寻址寄存器寻址寄存器间接寻址址相对寻址址址空间MOVR0,A;寄存器寻址(A)→R0MOVP1,#0F0H;立即数寻址0F0→P1MOV@R0,30H;直接寻址(30H)→(R0)MOVDPTR,#3848H;立即数寻址3848H→DPTRMOV40H,38H;直接寻址(38H)→40HMOVR0,30H;直接寻址(30H)→R0MOVP0,R0;寄存器寻址(R0)→P0MOV18H,#30H;立即数寻址30H→18HOVARRAMOVP2,P1;直接寻址(P1)→P2=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38HMOVA,DATA;直接寻址2字节1周期MOVA,#DATA;立即数寻址2字节1周期MOVDATA1,DATA2;直接寻址3字节2周期MOV74H,#78H;立即数寻址3字节2周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录AMOVA,@R0;((R0))=80H→AMOV40H,A;(A)=80→40HMOVR0,#35H;35H→R0最后结果:(R0)=35H(A)=80H,(32H)=08H,(40H)=80H10、用直接寻址,位寻址,寄存器寻址11、只能采用寄存器间接寻址(用MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)高128字节:直接寻址,位寻址,寄存器寻址13、采用变址寻址(用MOVC指令)14、压缩BCD码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此20、CLRC时得到的结果不正确。用DAA指令调整(加06H,60H,66H)5、用来进行位操作16、ANLA,#17H;83H∧17H=03H→AORL17H,A;34H∨03H=37H→17HXRLA,@R0;03H⊕37H=34H所以(A)=CBHSETBACCSETBE0H;E0H是累加器的地址CCLRACC.6CLRACC.5CLRACC.4CLRACC.5CLRACC.4CLRACC.318、MOV27H,R7MOV26H,R6MOV25H,R5MOV24H,R4MOV23H,R3MOV22H,R2MOV21H,R1MOV20H,R019、MOV2FH,20MOV2EH,21MOV2DH,22MOVA,#5DH;被减数的低8位→AMOVR2,#B4H;减数低8位→R2SUBBA,R2MOV30H,A;低8位结果→30HMOVA,#6FH;被减数的高8位→AMOVR2,#13H;减数高8位→R2SUBBA,R2MOV31H,A;高8位结果→30H注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清0进位位21、(1)A≥10CJNEA,#0AH,L1;(A)与10比较,不等转L1LJMPLABEL;相等转LABELL1:JNCLABEL;(A)大于10,转LABELCLRCSUBBA,#0AHJNCLABEL(2)A>10CJNEA,#0AH,L1RETL1:JNCLABELRETCLRCSUBBA,#0AHJNCL1RETL1:JNZLABEL;(A)与10比较,不等转L1;(A)大于10,转LABEL;(A)小于10,结束RET(3)A≤10CJNEA,#0AH,L1;(A)与10比较,不等转L1L2:LJMPLABEL;相等转LABELL1:JCL2;(A)小于10,转L2RETCLRCSUBBA,#0AHJCLABELJZLABELRET22、(SP)=23H,(PC)=3412H参看书上80页23、(SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H参看书上79页CLRCSUBBA,#0AAHJZL1DJNZR2,LOOP;不是,地址增1,指向下一个待查数据;数据块长度减1,不等于0,继续查找MOV51H,#00HRETL1:MOV51H,#01HRET;等于0,未找到,00H→51H;找到,01H→51HJNZL1;不为0,转L1INC51H;为0,00H个数增1L1:INCR0;地址增1,指向下一个待查数据DJNZR2,LOOP;数据块长度减1,不等于0,继续查找RETOVRDISTRLOOP:MOVXA,@DPTR;传送一个字符MOV@R0,AINCDPTR;指向下一个字符CJNEA,#24H,LOOP;传送的是“$”字符吗?不是,传送下一个字符RETANLA,#80H;取出该数符号判断JZL1;是正数,转L1MOVA,R4;是负数,将该数低8位→ACPLA;低8位取反ADDA,#01H;加1MOVR4,A;低8位取反加1后→R4MOVA,R3;将该数高8位→ACPLA;高8位取反ADDCA,#00H;加上低8位加1时可能产生的进位MOVR3,A;高8位取反加1后→R3L1:RETMOVA,31H;取该数低8位→ARLCA;带进位位左移1位MOV31H,A;结果存回31HMOVA,30H;取该数高8位→ARLCA;带进位位左移1位MOV30H,A;结果存回30HCLRC;清进位位LOOP:MOVA,@R0;取一个加数ADDCA,@R1;两个加数带进位位相加DAA;十进制调整MOV@R0,A;存放结果INCR0;指向下一个字节INCR1;DJNZR2,LOOP;数据块长度减1,不等于0,继续查找RETTRLOOP:MOVXA,@DPTR;传送一个数据MOV@R0,ANCDPTR;DJNZR2,LOOP;数据块长度减1,没传送完,继续传送RET32、(1)MOVR0,0FH;2字节,2周期4字节4周期(差)(2)MOVR0,#0FH;2字节,1周期4字节3周期(中)(3)MOVB,#0FH;3字节,2周期3字节2周期(好)33、(1)功能是将片RAM中50H~51H单元清0。7850(第一个字节的后三位是寄存器,前一个条指令是010也就是指的R2,在这里是R0,所以应该是78,后一个字节存放的是立即数)DAFC(这里涉及到偏移量的计算,可以参考书上56页)INCR0;(R0)=7FHINC@R0;(7FH)=39HINCDPTR;(DPTR)=10FFHINCDPTR;(DPTR)=1100HINCDPTR;(DPTR)=1101H35、解:(1000H)=53H(1001H)=54H(1002H)=41H(1003H)=52H(1004H)=54H(1005H)=12H(1006H)=34H(1007H)=30H(1008H)=00H(1009H)=70H36、MOVR0,#40H;40H→R0MOVA,@R0;98H→AINCR0;41H→R0ADDA,@R0;98H+(41H)=47H→AMOV@R0,ACLRAADDCA,#0MOV@R0,A;进位位存入43H(A)=1,(40H)=98H,(41H)=AFH,(42H)=47H,(43H)=01HMOVB,#02HMULABADDA,62HMOV63H,ACLRAADDCA,BMOV64H,A;F2H×O2H=E4H→A;积的低8位加上CCH→AH;积的高8位加进位位→AH:将61H单元的容乘2,低8位再加上62H单元的容放入63H,将结果的高8位放在64H单元。(A)=02H,(B)=01H,(61H)=F2H,(62H)=CCH,(63H)=B0H,(64H)=02H39、MOVA,XXHORLA,#80HMOVXXH,A40、(2)MOVA,XXHMOVR0,AXRLA,R0U来被终止的地方,继续原来的工作。这种过程称为中断,实现这种功能的部件称为中断系(1)使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理(2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率(3)实现实时控制2、试编写一段对中断系统初始化的程序,使之允许INT0,INT1,TO,串行口中断,且使T0中断为高优先级中断。MOVIP,#02H答:有三种功能:分时操作,实时处理,故障处理C1共有哪些中断源?对其中端请求如何进行控制?①:外部中断0请求,低电平有效②:外部中断1请求,低电平有效③T0:定时器、计数器0溢出中断请求④T1:定时器、计数器1溢出中断请求⑤TX/RX:串行接口中断请求(2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现各种中断控制功能么?(1)先响应优先级高的中断请求,再响应优先级低的(2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止应该响应哪个中断请求查询顺序:外部中断0→定时器0中断→外部中断1→定时器1中断→串行接口中断6、说明外部中断请求的查询和响应过程。条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。CPU在每个SP中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。中断服(1)有中断源发出中断请求(2)中断中允许位EA=1.即CPU开中断(3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽(4)无同级或更高级中断正在服务(5)当前指令周期已经结束8、简述89C51单片机的中断响应过程。先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入PC,以便进入相应的中断服务程序。一旦响应中断,89C51首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务CPU中断标志。除各个中断的中断矢量地址。10、试述中断的作用及中断的全过程。答:作用:对外部异步发生的事件作出及时的处理过程:中断请求,中断响应,中断处理,中断返回11、当正在执行某一个中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:(1)符合以下6个条件可响应新的中断请求:a)有中断源发出中断请求c)申请中断的中断源的中断允许位为1,即中断没有被屏蔽d)无同级或更高级中断正在被服务e)当前的指令周期已结束条指令已被执行完12、89C51单片机外部中断源有几种触发中断请求的方法?如何实现中断请求?答:有两种方式:电平触发和边沿触发电平触发方式:CPU在每个机器周期的S5P2期间采样外部中断引脚的输入电平。若为低电IEIE“1”,申请中断;若为高电平,则IE1(IE0)清零。边沿触发方式:CPU在每个机器周期S5P2期间采样外部中断请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一置0。13、89C51单片机有五个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。试问以下几种中断优先顺序的安排(级别由高到低)是否可能:若可能,则应如何设置中断源的中断级别:否则,请简述不可能的理由。⑴定时器0,定时器1,外中断0,外中断1,串行口中断。⑵串行口中断,外中断0,定时器0,外中断1,定时器1。⑶外中断0,定时器1,外中断1,定时器0,串行口中断。果将INT0,T1设置为高级,而T0级别高于INT1.⑷外中断0,外中断1,串行口中断,定时器0,定时器1。⑸串行口中断,定时器0,外中断0,外中断1,定时器1。⑹外中断0,外中断1,定时器0,串行口中断,定时器1。⑺外中断0,定时器1,定时器0,外中断1,串行口中断。U答:各中断标志的产生和清“0”如下:(1)外部中断类外部中断是由外部原因引起的,可以通过两个固定引脚,即外部中断0和外部中断1输外部中断1请求信号,功能与用法类似外部中断0(2)定时中断类发生计数溢出的,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位。这种中断请求是在单片机芯片部发生的,无需在芯片上设置引入端,但在计数方式时,中断源可以由外部引入。TF0:定时器T0溢出中断请求。当定时器T0产生溢出时,定时器T0请求标志TF0=1,请求中断处理。使用中断时由硬件复位,在查询方式下可由软件复位。TF1:定时器T1溢出中断请求。功能与用法类似定时器T0(3)串行口中断类串行口中断是为串行数据的传送需要而设置的。串行中断请求也是在单片机芯片部发RI或TI:串行口中断请求。当接收或发送一串帧数据时,使部串行口中断请求标志外部中断0入口地址0003H外部中断10013H串行口中断0023H答:中断响应时间不是确定不变的。由于CPU不是在任何情况下对中断请求都予以响应的;此外,不同的情况对中断响应的时间也是不同的。下面以外部中断为例,说明中断响应的会查询这些值。这时满足中断响应条件,下一条要执行的指令将是一条硬件长调用指令“LCALL”,使程序转入中断矢量入口。调用本身要用2个机器周期,这样,从外部中断请求有效到开始执行中断服务程序的第一条指令,至少需要3个机器周期,这是最短的响应时如果遇到中断受阻的情况,这中断响应时间会更长一些。例如,当一个同级或更高级的中断服务程序正在进行,则附加

温馨提示

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

评论

0/150

提交评论