单片机单片机原理与应用第4版习题答案(赵德安)_第1页
单片机单片机原理与应用第4版习题答案(赵德安)_第2页
单片机单片机原理与应用第4版习题答案(赵德安)_第3页
单片机单片机原理与应用第4版习题答案(赵德安)_第4页
单片机单片机原理与应用第4版习题答案(赵德安)_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

单片机单片机原理与应用第4版习题答案第一章序只能委托半导体厂家"写入",一旦写入后不能修改。此类单片机适合大批量使用。3.单片机的主要特点是什么?它适宜构成通用微机系统还是专用微机系统?为什么?片机型号,这样可以减少能量的消耗,延长设备的使用寿命。从而降低硬件成本,同时也有助于电磁兼容设计。产品内部具有固化的软件?该软件能否被所有用户所使用?怎样使用该种产品?托半导体厂家“写入”,一旦写入后不能修改。2、8751、87C51、8752。此类芯片带有4K字节的PROM,带有透明窗口,可通过紫外擦除重新写入。3、8031、80C31、8032。此类芯片片内无ROM,使用时必须在外部并行扩展程序存储器应用程序只能委托半导体厂家“写入”。2.MCS-51中无ROM型单片机在应用中P2口和P0口的输出信号都是不稳定的,不能直接作3.什么是堆栈?8032的堆栈区可以设在什么地方?一般应设在什么区域?如何实现?试举例说明。方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。堆栈操作指令PUSHdirect、POPdirect只能采用直接寻址方式,8032的片内RAM中只有低128字节可以采用直接寻址方式访问,因此,尽管8032片内RAM的地址范围是可以通过赋值的方式设置堆栈区,如:MOVSP,#60H。4.8031的内部RAM中,哪些可以作为数据缓冲区?单元,必须使用寄存器间接寻址方式访问。程序存储器的开始地址都必须是0000H。8.MCS-51单片机构成系统时,外部数据存储器的容量最大是多9.当单片机系统外部数据存储器的容量为8KB时,数据存储器的开始地址一定要是答:不一定。答:MCS-51系列运行时耗电小,还提供两种节电工作方式——空闲方式和掉电方式。后继续进入空闲方式,就这样断断续续的工作以达到节电目的。11.CHMOS型单片机,进入掉电方式时,单片机的振荡器是否工作?采用什么办法能使答:不工作。在掉电方式中,振荡器停止工作,单片机内部所以功能部件停止工作。在掉电方式期间,内部RAM和寄存器的内容维持不变。退出掉电方式的唯一方法是硬件复位。12.CHMOS型单片机,进入空闲方式时,单片机的振荡器是否工作?采用什么办法能使其他特殊功能寄存器内容维持不变。有两种方法退出空闲方式,一是采用被允许的中断源请求中断;二是硬件复位,因为空闲方式中,振荡器在工作,所以仅需两个机器周期便完成复位。1.指出下列指令中划线作数的寻址方式和指令的作功能。MOVMOVPUSHACC;CPL30H;位寻址,将位变量30H的内容取反SJMP$;相对寻址,原地等待MOVCA,@A+PC;基寄存器加变址寄存器间接寻址,程序存储器PC和累加器A中内容相加形成ROM地址,取数送到累加器A。DECDPTRMOVA,@R2MOVR1,@R0MOVP1.1,30HMOV#30H,AMOV20H,21HMOVA,@A+DPTRANL20H,#30HMOVA,@R2MOVA,@R1MOVR1,@R0MOVA,@R0MOVP1.1,30HMOVC,30H和MOVP1.1MOV#30H,AMOVA,#30HMOVA,@A+DPTRMOVCA,@A+DPTRRRC30HRRCA因为所有的移位指令均是对累积器A进行的XRLC,30H错,因为位操作指令中,没有位的异或运算3.如何将1个立即数30H送入内部RAM90H单元?如何将立即数送特殊功能寄存器P1?MOV@R0,#30H(2)MOVP1,#30H4.执行下列一段程序后,试分析有关单元内容。ADDCA,#0CEH(A)=40H+0CEH+0=0EHPSW=10000001B=81H6.试编写一段程序,根据累加器A的内容,到程序存储器1000H起始的表格中取一双7.试编写一段程序,进行两个16位数的相减运算:6483H-56E2H。结果高8位存内部RAM40H,低8位存41H。8.试编写一段程序,将30H、31H单元中存放的BCD数,压缩成一个字节(原30H单元内容为高位),并放入30H单元。9.试编写一段程序,将30H~32H单元中的压缩BCD拆成6个单字节BCD数,并放入33HMOVR0,#33HACALLLPMOVA,31HACALLLPMOVA,32HACALLLPLP:MOVB,AMOV@R0,AMOVA,BMOV@R0,ADELAY:MOVR0,#248;1T子程序运行机器周期数为:1T+248*2T+1T+2T=500T,500T=1ms主程序为:MOVPSW,#00HLOOP:SETBP1.0ACALLDELAYACALLDELAYCLRP1.0ACALLDELAY读P1时才能准确读取外部电路的输入信息。方式处理的。实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。作用1)子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时(2)保护现场/恢复现场(3)数据传输部的机器周期数进行计数,计数器方式是对T0、T1引脚上输入的外部脉冲(方波)信号进行计数器方式可以用来检测外部信号的频率和脉宽。计数1、采用方式0,定时器的方式字TMOD=00H,定时器的计数初值为TC=M-T/T计数2、采用方式1,定时器的方式字TMOD=01H,定时器的计数初值为TC=M-T/T计数相同)的周期?又如何测试频率为0.5MHz左右的脉冲频率?T2作为波特率发生器的方式字和计数初值。由:波特率=2SMOD*振荡器频率/[32*12*(256-X)]0*11059200/32/12/(256-X可得的计数初值X=250=0FAH,MOVTMOD,#20H;T1方式2MOVTH1,#0FAH初始化编程,再置“1”TR2,具体略。8.串行口方式0能否外接多个74LS164?若不可以,说明原因;若可以,画出逻辑框图和Vcc端接+5V,Vss端接地,后一片74LS164的数据输入端DSA和DSB接前一片74LS164的Q7。只要将数据载入SUBF之后,时钟脉冲和数据就会自动出现在单片机的I/O端口,程入SUBF,就可以在多个74LS164的输出端逻辑框图略,可参考教材的例4-8.答:可以。因为每个中断源的中断入口地址处均预留了8个单元的空间,8个单元足够存放一条跳转指令,使程序转向64KB程序存储区的任意区域。在相的中断入口使用JMP指令进行跳转就可以实现。10.在一个8031系统中,晶振为12MHz,一个外部中断请求信号是一个宽度为500ms由于外部中断请求信号长期存在,可能会引起重复中断。11.若外部中断请求信号是一个低电平有效的信号,是否一定要选择电平触发方式?为答:不一定。因为采用边沿触发,能自动锁存中断信号,是一种可靠的中断管理方式。DJNZR7,DL0;2T2.试编制一个子程序,对串行口初始化,使串行口以方式1,波特率1200bit/s(晶振为11.059MHz)发送字符串“MCS-51”。3.晶振为11.059MHz,串行口工作与方式3,波特率为2400bit/s,第9位数据为奇校验位。编制一个程序,对串行口初始化,并用查询方式接受串行口上输入的10个字符存入NEXT:;串行口方式3允许接收;T1方式2定时;设数据指针;接收数据长度;等待串行口接收;取一个接收字符;奇偶校验;P≠RB8,数据出错;P=RB8,数据正确COMP:JBRIGHT:MOVDJNZERR:SETBRB8,ERR@R0,AR7,WAIT;保存一个字符;修改指针;全部字符接收完?4.写一个子程序,其功能是将(R0)指出的两个RAM单元中的数转化为ASCII字符,并用查询方式从串行口上发送出去。答:设串行口以方式1工作,波特率为1200bit/s,晶振为11.059MHz。AJMPMAINMAIN:MOVTMOD,#20HMOVTL1,#0E8HMOVTH1,#0E8HMOVSCON,#42HMOVR4,#2FS1:MOVA,@R0ANLA,#0FHMOVDPTR,#TABMOVCA,A+DPTRFS2:JBCTI,FS3FS3:MOVSBUF,ADJNZR4,FS1FSJS:SJMP$TAB:DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,41H,43H,44H,45H,46H5.试编写一个子程序将字符串“MCS-51Microcomputer”装入外部RAM8000H开始的AJMP0030HMIAN:MOVMOVMOVLOOP:MOVADDDPTR,#8000HR1,#0R0,#20A,R1A,#6MOVCA,@A+PCANLA,#0FHMOV@DPTR,ADJNZR0,LOOPTAB:DB‘MCS-51Microcomputer’6.试设计一个n字节的无符号十进制数加法子程序,其功能为将(R0)和(R1)指出的内部RAM中两个n字节压缩BCD码无符号十进制数相加,结果存放于被加数单元中。子AJMPMAINMAIN:MOVSP.#60HMOVR2,#LENACALLADDNBYTE_ADDNBYTE:CLRC_LOOP:MOVA,@R0ADDCA,@R1DAAMOV@R0,ADJNZR2,LOOP7.试设计一个n字节的无符号十进制数减法子程序,其功能是将R0指出的内部RAM中MOVA,@R0ANLA,#0FHMOV63H,AMOVA,@R0MOVINCMOVANLMOVMOVA,@R0A,#0FHA,@R0ANLA,#0FHMOV62H,ADTB:MOVR0,#60HMOVR3,#3MOVR3,#0MOVA,@R0MOVR4,ALOOP:MOVA,R4MOVB,#10MULABMOVR4,AMOVA,BXCHA,R3MOVB,#10MULABADDA,R3MOVR3,AMOVA,R4ADDA,@R0MOVR4,AMOVA,R3ADDCA,#0MOVR3,ADJNZR2,LOOP2.用相同程序可将2字节无符号压缩BCD码减数转换4位BCD码,存入60H~63H,再转换为二进制数,存R5R6。3.双字节无符号数减法程序,差存入R7R1NSUB1:MOVA,R4SUBBA,R6MOVR1,AMOVA,R3SUBBA,R5MOVR7,AJBCPOUTCMPT:MOVA,R1;负数求补MOVR1,MOV,R7MOVDECMOVINC@R0,R10,若最高位为0,且该十进制数不为0,则通过左移使最高位不为0。略9.试设计一个双字节无符号整数乘法子程序,其功能将R3R2和R5R4相乘,积存于MOV30H,MOV31H,MOV32H,MOV33H,MOVR0,#30HMOV,R2MOVB,R4MULBMOV,R2MOVB,R5MULBDECR0MOVMOVMULDECDECB,R3BMOV,R5MOVB,R3MULBDECR0RADD:ADDA,@R0MOV@R0,AMOVA,BADDCA,@R0MOV@R0,AMOVA,@R0ADDCA,#00MOV@R0,A10.试设计一个子程序,其功能将无符号二进制整数R2R3R4R5除以R6R7,其商存放于略11.试设计一个子程序,其功能为将R0指出的内部RAM中6个单字节正整数按从小到LOOP1:MOVA,R0MOVR1,AMOVSUM2,SUM1DJNZSUM1,LOOP2SJMPDONELOOP2:DJNZSUM2,LOOP3SJMPLOOP1LOOP3:MOVA,@R0SUBBA,@R1JCNEXTXCA,@R1MOV@R0,ASJMPLOOP2DONE:END值,结果送入A,入口时A<15。MOVCA,@A+PCTAB:DB0,1,4,9,16,25,36,49DB64,81,100,121,144,169,196,22513.试设计一个子程序,其功能将R0指出的内部RAM中双字节压缩BCD码转化为二进制数存放于R1指出的内部RAM中,并将结果再转化为BCD码存放于30H开始的单元中。答:先将压缩BCD码转化为BCD码存放于30H开始的单元中MOVR2,R0MOVA,@R0PUSHACCANLA,#0FHMOV30H,APOPACCANLA,#0FHMOV31H,ANCR0MOVA,@R0PUSHACCANLA,#0FHMOV32H,APOPACCANLA,#0FHMOV33H,AMOVA,31H;((R1))=(31H)*10+(3MOVB,#10MULABADDA,30HMOV@R1,AMOVA,32H;((R1)+1)((R1))=(32H)*100+((R1))MOVB,#100MULABADDA,@R1MOV@R1,ANCR1MOVA,BADDCA,@R1MOV@R1,AMOVB,#232MULABDECR1ADDA,@R1PUSHPSWMOVINCMOVMOVMOVMULPOP@R1,A@R1,BA,33HB,#3ABPSWADDCA,@R1MOV@R1,A14.若晶振为6MHz,用T0产生500us的定时中断,试编写有关的初始化程序和对时钟答:晶振为6MHz,机器周期T为2μs,500usSMPMAINMAIN:MOVTMOD,#02HMOVTH0,#6MOV30H,AMOV31H,AMOV32H,AMOV33H,AMOV34H,AMOV35H,AMOVR7,#40MOVR6,#50PT0:DNZR7,A1MOVR7,#40DNZR6,A1MOVR6,#50CJNE33H,#60,A2MOV33H,#0MOV30H,#0CJNE34H,#60,A3MOV34H,#0MOV31H,#0CJNE35H,#24,A4MOV35H,#0MOV32H,#0A1:RETIA2:MOVA,33HMOVB,#10DIVABMOV30H,BMOVR0,#30HXCHDA,@R0MOV30H,ASJMPA1A3:MOVA,34HMOVB,#10DIVABMOV31H,BMOVR0,#31HXCHDA,@R0MOV31H,ASJMPA1A4:MOVA,35HMOVB,#10DIVABMOV32H,BMOVR0,#32HXCHDA,@R0MOV32H,ASJMPA11,每到1分钟将各路计数值拆分成2位十六进制数送显示缓冲区70H-7FH,并清零各计数器,试编写有关程序。SJMPMAINMAIN:MOVTMOD,#01HMOVTH0,#0FCHMOVTL0,#18HMOV60H,AMOV61H,AMOV62H,AMOV63H,AMOV64H,AMOV65H,AMOV66H,AMOV67H,AMOV70H,AMOV71H,AMOV72H,AMOV73H,AMOV74H,AMOV75H,AMOV76H,AMOV77H,AMOV78H,AMOV79H,AMOV7AH,AMOV7BH,AMOV7CH,AMOV7DH,AMOV7EH,AMOV7FH,AMOVR7,#8MOVR0,#60HMOVR1,#70HMOV68H,P1MOV69H,P1PT0:MOV6AH,P1MOV6BH,P1PUSACCA3:MOVA,68MOVA,6AJNCA1MOVA,@R0ANLA,#0FMOV@R1,AMOVA,@R0ANLA,#0FMOV@R1,ADECR1A2:DJNZR7,A3POPACCRETIA0:MOVA,6AA1:SJMPA216.在某应用系统中,有A-T20个单字符合法命令,这些命令的处理程序入口地址依次存放在标号为CADR开始的地址表中,若输入的命令字符存放于A,试编写一个散转程序,其功能为:若(A)为非法字符,则转CDER;若为合法字符,则转相应的入口地址。PUSACCSUBBA,#55POPACCPUSACCSUBBA,#411.一个8051扩展系统,用线选法最多可以扩展几片6264?画出原理图,并确定每片6264的地址范围解:一个8051扩展系统,用线选法最多可以扩展3片6264。扩展电路中6264的地址线A0-A12与地址锁存器373的输出及P2.0-P2.4的对应线相连,6264的数据线D0-D7与P0口对应相连,6264的读写控制端OE2.MCS-51单片机用地址译码法最多可扩展多少片6264?它们的地址范围各是多少?试画出其逻辑图。解:最多可扩展8片6264,地址范围如下:译码器译码器GCBA3733858883.一个8032扩展系统,扩展了一片27256、一片62256、一片74LS377、一片74LS245、一片8255、一片0809、一片0832,试画出其逻辑图,并写出各器件的地址范围。解:8032扩展一片27256、一片62256的逻辑图如图所示,P2.7低电平时可选中62256,27256、62256的地址范围均为0000H-7FFFH。下图中,扩展一片27256(32K),一片62256(32K)88Ao-A,Ag-A₄A~A,Ag~A₁4G7ALS3738P8RAM的地址为:0~7FFFH(P₂为片选信号,P2₇=0) 设3-8译码器的Y连74LS377的片选信号端E,8032的WR连74LS377的CLK端,则74LS377的地址范围为:8000H-8FFFH;设3-8译码器的Y连74LS245的片选信号端G,8032的RD连74LS245的DIR端,则74LS245的地址范围为:9000H-9FFFH;设3-8译码器的Y连8255的片选信号端CS,地址锁存器373的输出A、A,分别接8255的A、A,8032的WR、RD连8255的WR、RD端,则8255的PA口地址范围为:1010XXXXXXXXXX00;PB口地址范围为:1010围为:1010XXXXXXXXXX11。X为0和1之间的任意数。 设3-8译码器的Y与8032的RD、WR信号分别或非后连0809的OE端及START/ALE并连端,0809的EOC端经非门连接8032的NTI,8032的ALE经2分频后接0809的CLOCK端,地址锁存器373的输出AA、A2分别接0809的A、A、A,则0809的8个通道地址范围为:1011XXXXXXXXX000、1011XXXXXXXX设3-8译码器的Y接0832的片选信号端CS/XFER并连端,8032的WR接0832的WRI/WR2并连端,则0832的地址范围为:1100XXXXXXXXXXXX。由于P2口接I/0设备,应采用MOVX@Ri,A、MOVXA,@Ri类指令访问8255和0832,74LS373的Q7连8255的CS端,Q6连0832的CS端和XFER端,其他如8255的A口地址为70H、B口地址为71H、C口地址为72H、控口地址为73H,0832地址为ODFH,8255的控制字为10000010BEEEFF1F2F4F5F8F9FAFBFCFD7.在一个8031扩展系统中,以中断方式通过外接并行口8255读取MC133D的A/D转换结果,存入内部RAM20H~21H,试画出有关逻辑图,并编制读取A/D结果的中断服

温馨提示

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

评论

0/150

提交评论