单片机原理接口技术及应用课后答案_第1页
单片机原理接口技术及应用课后答案_第2页
单片机原理接口技术及应用课后答案_第3页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、百度文库作业题及答案第 1 章完成下列数制的转换。(1)()D()H( 2)()D( )H(3)( .0100)B()H(4)()H( 10010010 0101 )BCD(5).01000101BCD ()D写出下列真值对应的原码、反码和补码。(1) 1100110B【 1100110B 】原码 =66H【 1100110B 】反吗 =66H【 1100110B 】补码 =66H(2) 1000100B【 1000100B 】原码 =C4H【 1000100B 】反码 =BBH【 1000100B 】补码 =BCH(3) 86【 86】原码 =D6H【 86 】反码 =A9H【 86 】补码

2、 =AAH1百度文库写出下列机器数分别作为原码、反码和补码时,其表示的真值分别是多少?(1)01101110B+110(6EH)(2)B-53(35H),-74(-4AH),-75(-4BH)已知 X 和 Y 的真值,试分别计算 XY补和 XY补,并指出是否产生溢出(设补码均用 8 位二进制表示)。(1)X 1000100B ,Y 0010010BX 补=01000100B,Y 补=BXY补:0100 01001110 11101 0011 0010C7=1 ,C6=1, 相同, 所以无溢出。XY补0100 01000001 00100101 01102百度文库C7=0 , C6=0, 相同,

3、所以无溢出。( 2) X 1100001B ,Y 1000010B XY 补:有溢出XY补无溢出( 3) X 1101001B ,Y 1010101B XY 补:有溢出XY 补:无溢出用十六进制写出下列字符的ASCII 码。(1)NBANBA =4E4241H( 2) HELLO !2009HELLO !2009 =48454C4C4F39H3百度文库第 2 章80C51 单片机的 EA 信号有何功能?在使用80C31 和 89C51 单片机时,EA 信号应如何处理?答: EA 是访问外部程序存储器选通信号。当其为低电平时,对ROM 的读操作限定为外部存储器;当其为高电平时,对ROM 的读操作

4、是从内部开始的,4百度文库当 PC 值大于内部程序存储器地址范围时, CPU 自动转向读外部程序存储器。80C31 单片机片内无 ROM ,应将 EA 引脚固定接低电平,以迫使系统全部执行片外程序存储器程序。89C51 单片机应将 EA 引脚接 +5V 电源。系统复位后, CPU 使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器组?答:系统复位后,CPU 使用 0 组寄存器,它们的地址分别是: R0-R7:00H 07H.可以通过改变 PSW 寄存器的和两位的值来改变工作寄存器组。80C51 单片机具有很强的布尔(位)处理功能?共有多少单元可以位寻址?采用布尔处理有哪些优点?答:

5、是的, 80C51 单片机具有很强的布尔处理功能,在内部RAM 区 20H 2FH的 16 个单元都可以位寻址;同时 21 个特殊功能寄存器中还有部分特殊功能寄存器可以位寻址。布尔(位)处理机,是 80C5l 系列单片机的突出优点之一,给“面向控制”的实际应用带来了极大的方便。布尔(位)处理机借用进位标志CY 作为位累加器,在布尔运算中,CY 是数据源之一,又是运算结果的存放处,位数据传送的中心。布尔(位)处理机指令系统中有专门进行位处理的指令集,利用位逻辑操作功能进行随机逻辑设计, 可把逻辑表达式直接变换成软件执行,方法简便,免去了过多的数据往返传送、 字节屏蔽和测试分支, 大大简化了编程,

6、 节省了存储器5百度文库空间,加快了处理速度,增强了实时性能。还可实现复杂的组合逻辑处理功能。所有这些,特别适用于某些数据采集、实时测控等应用系统。单片机的复位方法有哪两种?复位后各寄存器及RAM 中的状态如何?答:按键复位和外部脉冲复位。单片机复位后, 21 个寄存器中, SP=07H,P0 P3 均为 FFH,SBUF 为不定值,其余均为 0.80C51 单片机的 PSEN、 RD 、 WR、 XTAL1 和 XTAL2 引脚各有何作用?单片机时钟电路分别采用内部和外部振荡方式时,XTAL1 和 XTAL2 引脚应如何连接?答: PSEN 是片外程序存储器选通信号,低电平有效。RD (片外

7、数据存储器读选通) ,输出,低电平有效。WR (片外数据存储器写选通) ,输出,低电平有效。XTAL1 和 XTAL2内部振荡方式:在80C51 芯片内部有一个高增益反相放大器,其输入端为芯片引脚 XTALl ,其输出端为引脚XTAL2 。当使用芯片内部时钟时,这两根引线用于外接石英晶体和微调电容。外部振荡方式: 把外部已有的时钟信号引入单片机内。该方式适宜用来使单片机的时钟信号与外部信号保持同步。外部振荡信号由XTAL1 引入,XTAL2 端悬空不用。6百度文库7百度文库第 3 章用指令实现下述功能。(1)内部 RAM30H 单元内容送 R0 。MOV R0,30H(2)将立即数 10H 送

8、入内部 RAM30H 单元。MOV 30H,#10H(3)R0 内容送入 R1。MOV A,R0MOV R1,A(4)内部 RAM30H 单元内容送外部RAM30H 单元。MOV R0,#30H8百度文库MOV A,R0MOVX R0,A(5)外部 RAM3000H 单元内容送内部RAM30H 单元。MOV DPTR,#3000HMOVX A,DPTRMOV 30H,A( 6) ROM3000H 单元内容送内部 RAM30H 单元。MOV DPTR,#3000HMOV A,#00HMOVC A,(A+DPTR)MOV 30H,A已知内部 RAM 中,( 30H ) 40H ,(40H )50H

9、 ,(50H )5AH ,(5AH )60H ,ROM 中( 125AH ) 88H ,试分析下面程序的运行结果,并指出每条指令的源操作数寻址方式。MOVA,50H;直接寻址MOVR0,A;寄存器寻址MOVP1 , 0F0H;立即寻址MOVR0 , 30H;直接寻址MOVDPTR , 1200H;立即寻址MOVXDPTR , A;寄存器寻址MOVC A , ADPTR;变址寻址MOV40H ,50H;直接寻址9百度文库MOVP2 ,P1;直接寻址程 序 执 行 后 , P2=F0H;(40H)=5AH;(A)=88H;(1200H)=5AH;(5AH)=40H设( R1 ) 31H ,内部 R

10、AM31H 的内容为 68H , 32H 单元的内容为60H ,(A) 10H 。请指出运行下面的程序后各单元内容的变化。MOVA,R1;(A)=68HMOVR1 , 32H;(31H)60HMOV32H ,A;(32H)=68HMOVR1 , 45H;(R1)=45H程序前 3 条指令将内部 RAM31H 和 32H 单元内容互换。已知当前 PC 值为 2000H ,用两种方法将ROM207FH单元中的常数送入累加器 A。( 1) MOV DPTR,#207FHMOV A,#00HMOVC A,A+DPTR( 2)MOV A,#7CHMOVC A,A+PC已知延时程序为DELAY :MOVR

11、0, 0A0H10百度文库LOOP1 :MOVR1, 0FFHLOOP2 :NOPDJNZR1 , LOOP2DJNZR0 , LOOP1若系统的晶振频率为12MHz ,请指出该延时子程序的延时时间。机器周期数DELAY :MOVR0, 0A0H1LOOP1 :MOVR1, 0FFH1LOOP2 :NOP1DJNZR1 , LOOP22DJNZR0 , LOOP12由于晶振频率为 12MHz,1M=1 s该程序延时时间为:【 1+( 1+2 )*255+2 】 *160+1=11百度文库第 4 章编写程序将内部RAM40H60H 单元清 0MOV R7,#21HMOV R0,#40HLOOP:

12、MOV R0,#00HINC R0DJNZ R7,LOOPSJMP $12百度文库编程将外部 RAM 的 1000H 1FFF 区域的数据送到 2000H 2FFFH 区域。ORG 0100HMOV DPTR,#1000HMOVR7,#10HLL1:MOVR6,#00HLL: MOVXA,DPTRMOVB,AMOVA,DPHADDA,#10HMOVDPH,AMOVA,BMOVXDPTR,AMOVA,DPHCLRCSUBBA,#10HMOVDPH,AINC DPTRDJNZR6,LLINC DPHDJNZR7,LL1SJMP$已知一内部 RAM 以 BLOCK1 和 BLOCK2 为起始地址的存

13、储区中分别有5 字节13百度文库无符号被减数和减数(低位在前,高位在后。请编写减法子程序令它们相减,并把差放入以 BLOCK1 为起始地址的存储单元。BLOCK1 EQU 30HBLOCK2 EQU 40HORG 0000HLJMP STARTSTART:MOV R0,#BLOCK1MOV R1,#BLOCK2MOV R7,#1LP:MOV R6,#5CLR CLP1:MOV A,R0SUBB A,R1MOV R0,AINC R0INC R1DJNZ R6,LP1DJNZ R7,LPSJMP $END从内部 RAM20H 单元开始存有一组带符号数,其个数已存放在1FH 单元中。要求统计出大于

14、0、等于 0 和小于 0 的数的数目,并把统计结果分别存放在ONE 、14百度文库TWO 、 THREE 三个单元中。ONEEQU 1EHTWOEQU 1DHTHREE EQU 1CHORG 0000HLJMP STARTSTART:MOV ONE,#00HMOV TWO,#00HMOV THREE,#00HMOV R0,#20HMOV R7,1FHLOOP3: MOV A,R0INC R0JZLOOP1JB ,LOOP2INC ONESJMP HALTLOOP1: INC TWOSJMP HALTLOOP2: INC THREEHALT: DJNZ R7,LOOP3SJMP $15百度文库设

15、内部 RAM30H 单元有两个非零的BCD 数,请编写求两个BCD 数的积,并将积以压缩型 BCD 数形式送入 31H 单元的程序。ORG 0000HMOVA, 30HANLA, #0F0HSWAPAMOVB, AMOVA, 30HANLA, #0FHMULA, BMOVB, #0AHDIV ABSWAPAORLA, BMOV31H, ASJMP$编制绝对值函数程序。绝对值函数方程如下:X当 X0Y0当X0 X当 X0假设 X 存于 30H 单元, Y 存于 40H 单元。 X 及 Y 均为补码数 .16百度文库X EQU 30HY EQU 40HORG 0000HLJMP STARTSTAR

16、T: MOV A,XJZ LOOPJNB ,LOOPCPL AADD A,#01HLOOP: MOV Y,ASJMP $END试编写统计数据区长度的程序,设数据区从内RAM30H开始,该数据区以0结束,统计结果送人2FH 中。且数据区结束字符,也计入统计数据区的长度中去 .ORG 0000HLJMP STARTSTART:MOV R0,#30HMOV R7,#00HLOOP:MOV A,R0INC R017百度文库INC R7CJNE A,#00H,LOOPMOV 2FH, R7SJMP $巳知 R7 中为 2 位十六进制数,试编程将其转换为ASCII 码,存人内部 RAM 31H 、32H

17、中(低字节在前)。英文字母为大写 .ORG 0000HLJMP STARTSTART:MOV SP,#60HMOV A,R7LCALL BCDASCIIMOV 31H,AMOV A,R7SWAP ALCALL BCDASCIIMOV 32H,ASJMP $BCDASCII:ANL A,#0FHCJNE A,#10,LOOPLOOP: JC AD30HADD A,#07H18百度文库AD30H:ADD A,#30HHT: RETEND解法 2ORG 0000HLJMP STARTSTART: MOV DPTR,#TABMOV A,R7ANL A,#0FHMOVC A,A+DPTRMOV31H,A

18、MOV A,R7ANL A,#0F0HSWAP AMOVC A,A+DPTRMOV 32H,ASJMP$TAB:DB30H,31H,32H,33H,34H,35H,36H,37H,38HDB 39H,41H,42H,43H,44H,45H,46HEND设在 MA 和 MB 单元中有两个补码形式的8 位二进制带符号数。请编写求两数之和并把它放在 SUML 和 SUMH 单元 (低 8 位在 SUML 单元 )的子程序。19百度文库提示:在两个8 位二进制带符号数相加时,其和很可能会超过8 位数所能表示的范围,从而需要采用16 位数形式来表示。因此,在进行加法时、可以预先把这两个加数扩张成16 位

19、二进制补码形式,然后对它完成双字节相加。ORG 0000HLJMP STARTSTART:MOV A,MAJB ,LLAMOV R7,#00HSJMP LLLLLA: MOV R7,#0FFHLLL: MOV A,MB JB ,LLB MOV R6,#00HSJMP LADDLLB: MOV R6,#0FFHLADD:MOV A,MAADD A,MBMOV SUML,AMOV A,R6ADDC A,R7MOV SUMH,ASJMP$20百度文库设外部 RAM1000H 10FFH 数据区中的数均为无符号数。试编写程序,找出该区域中的数的最大值,并放人内部RAM30H 单元中。MOVDPTR,#

20、1000HMOVR7,#00H;计数器MOVB,#00H ; 放中间结果L1: MOVXA, DPTRCJNEA, B, L2L2: JC L3MOVB, A; B 中放大值L3: INC DPTRDJNZR7, L1MOV30H, BSJMP$已知 a、b、c 均为 0 9 的整数,试编程求解表达式Y=(a-b)2+(b-c)2+(c-a)2的值?AA EQU 31H?BB EQU 32H?CC EQU 33H?YEQU 34H?ORG 0000H21百度文库?LJMP START? START:MOV SP,#60H? MOV A,AA?CLR C?SUBB A,BB?ACALL CHUN

21、CI?MOV R6,A?MOV A,BB?CLR C?SUBB A,CC?ACALL CHUNCI?ADD A,R6?MOV R6,AMOV A,CCCLR CSUBB A,AAACALL CHUNCIADD A,R6MOV R6,AMOV Y,R6SJMP $CHUNCI:JNB ,SQR22百度文库CPLAADDA,#01HSQR: ADD A,#01HMOVC A,A+PCRETSQRTAB:DB 0,1,4,9,16,25,36,49,64,81从内部 RAM 的 SCORE 单元开始放有 16 位同学某门课程的考试成绩, 试编程求平均成绩,存入AVERAGE 单元。ORG 0100H

22、MOVR5,#00HMOVR6,#00HMOVR0,#SCOREMOVR7,#16LL: MOVA,R0ADDA,R5MOVR5,AMOVA,R6ADDCA,#00HMOVR6,AINC R0DJNZR7,LL23百度文库MOVR4,#04HLL1:CLRCMOVA,R6RRCAMOVR6,AMOVA,R5RRCAMOVR5,ADJNZR4,LL1MOVAVERAGE,R5SJMP$第 5 章80C51 外扩 ROM 时,为什么 P0 口要接一个 8 位锁存器,而 P2 口却不接?答: P0 口既作为地址线传送地址的低8 位,又要作为数据线传送8 位数据,只能分时用做地址线,故P0 口输出的低

23、 8 位地址数据必须用锁存器锁存。锁存器的锁存控制信号为引脚ALE 输出的控制信号。 P2 口只用作地址高8 位。若要设计一个 32K ×8 位的外 RAM 存储器,分别采用 2114( 1K×4 位)和 6264(8K ×8 位)芯片,各需多少块存储芯片?答: 2114 芯片需要:(8/4 )*(32/1 )=64 片24百度文库6264 芯片需要: 32/8=4 片80C51 扩展 2 片 6264 存储器芯片, 试用、对其片选,并指出它们的地址范围。答:地址范围:6264 ( 1) 10*0 0000 0000 0000 00001 1111 1111 11

24、11 11118000H 9FFFH6264(2)01*0 0000 0000 0000 00001 1111 1111 1111 11114000H 5FFFHABCD*P2.728P2.6278031P2.526WRRDALE/PP0.P0.P01.P02.P03.P04P0.5.P06.7P2.P20.P21.P2.P23.416173039 38 37 36 35 34 33 3221 22 23 24 2525+5V541236*ABC 74LE3 E2 E1百度文库26百度文库27百度文库第 6 章输入 /输出信息有哪几种?答:通过接口传送的信息包括数据信息、状态信息和控制信息。什

25、么是接口?接口应具有哪些功能?接口是将外设连接到总线上的一组逻辑电路的总称。功能: 1. 地址译码与设备选择2. 缓冲锁存数据3. 信息的输入输出4. 信息转换28百度文库什么是中断源? 80C51 有哪些中断源? CPU 响应中断时,其入口地址是什么?答:能引起中断的外部设备或内部原因称为中断源,包括外部中断源和内部中断源。80C51 中有 5 个中断源:(1) INT 0 ():外部中断 0。(2)INT 1():外部中断 1。(3)TF0 ():定时器 /计数器 T0 溢出中断。(4)TF1 ():定时器 /计数器 T1 溢出中断。(5)RX,TX:串行中断入口地址:外部中断 0( IN

26、T 0 ):0003H定时器 /计数器 0(T0 ): 000BH外部中断 1( INT 1):0013H定时器 /计数器 1(T1 ): 001BH串行口( RI、TI ): 0023H定时器计数器2(T2) (仅 80C52 有): 002BH80C51 的外部中断有哪几种触发方式?如何选择?答:有电平触发方式和边沿触发方式。通过对 ICON 寄存器的 D0 位 IT0 和 D2 位 IT1 置位或清 0 实现。该为为 0,为低电平触发方式,该位为1,为下降沿触发方式。29百度文库第 7 章8255A 各端口可以工作在几种方式下?当端口A 工作在方式 2 时,端口 B 和C 工作于什么方式

27、下?答:8255A 共有三种工作方式:方式0、方式 1 和方式 2。其中 A 口可以工作在方式 0、方式 1 和方式 2, B 口可以工作在方式0、方式 1,而 C 口只能工作在方式 0。在 A 口工作在方式2 时,B 口可以工作在方式0 或方式 1。C 口高 5 位为 A口提供联络信号, C 口低 3 位可作为输入输出线使用或用作B 口方式 1 之下的控制线。某 8255A 芯片的地址范围为 7F80H 7F83H ,工作于方式 0,A 口、 B 口为输出口。 C 口低 4 位为输入,高 4 位为输出,试编写初始化程序。MOV DPTR,#7F83H MOV A,#1000 0001BMOV

28、X DPTR, A30百度文库8255A 的方式控制字和C 口按位置位 /复位控制字都可以写入8255A 的同一控制寄存器, 8255A 是如何区分这两个控制字的?答:看控制字的最高位D7,如果该位的值为“1”,则认为是方式控制字;反之,则认为是 C 口置位 /复位控制字。编写程序,采用 8255A 的 C 口按位置位 /复位控制字,将 PC7 置 0,PC4 置 1,(已知 8255A 各端口的地址为 7FFCH-7FFFH )。MOV DPTR,#7FFFHMOV A,#0EHMOVX DPTR,AMOV DPTR,#7FFFHMOV A,#09HMOVX DPTR,A设 8255A 接到

29、系统中,端口 A、B、C 及控制口地址分别为 220H 、221H 、222H及 223H ,工作在方式 0,试编程将端口 B 的数据输入后,从端口 C 输出,同时,将其取反后从端口A 输出。MOV DPTR,#223HMOV A,#82HMOVX DPTR,AMOV DPTR,#221HMOVX A,DPTRINC DPTR31百度文库MOVX DPTR,ACPL AMOV DPTR,#220HMOVX DPTR,ASJMP $第 8 章定时器 T1 用于对外部脉冲计数,每计满1000 个脉冲后使内部RAM 60H 单元内容加一,要求T1 以方式 1 中断实现, TR1 启动。解:计数常数为

30、: TC 2161000 64536 FC18H ,由于采用 T1方式 1 计数方式,故方式控制字为:0101 0000B 50H程序如下:ORG0000HAJMPMAINORG001BHLJMPT1INTORG0200HMAIN :MOVTMOD , 50HMOVTH1 , 0FCHMOVTL1 , 18HSETBET132百度文库SETBEASETBTR1SJMP$ORG0800HT1INT :INC 60HMOVTH1 , 0FCHMOVTL1 , 18HRETI利用定时器 T0 方式 2 产生一个 5KHz 的方波,已知晶振频率为12MHz 。解:方波的周期为1/5000= ,故 T0 定时时间应为。定时常数为:TC280.1 10 312106 / 12256100

温馨提示

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

评论

0/150

提交评论