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

下载本文档

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

文档简介

1、文档来源为 :从网络收集整理.word 版本可编辑.欢迎下载支持2作业题及答案第1章1.9完成下列数制的转换。1)1011.1101B = ( 11.8125) D= ( B.D ) H 110.101B= ( 6.625 ) D= ( 6.A ) H3)166.25 = ( .0100)B= ( A6.4 ) H4)1011011.101B =5B.A ) H= ( 1001 0001.0110 0010 0101BCD5)0011.01000101BCD863.45) D1.10写出下列真值对应的原码、反码和补码。反码和补码。1 ) 1100110B1100110B 】原码 =66H 11

2、00110B 】反吗 =66H 1100110B 】补码 =66H2) 1000100B1000100B 】原码 =C4H 1000100B 】反码 =BBH 1000100B 】补码 =BCH3 ) 8686】=D6H86】=A9H86 】补码 =AAH文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持1.11 写出下列机器数分别作为原码、反码和补码时,其表示的真值分别是多少?(1) 01101110B+110(6EH)B-53(35H),-74(-4AH),-75(-4BH)1.12 已知X和Y的真值,试分别计算X + Y补和X Y补,并指出是否产生溢出 (设补码均用8位二进制表

3、示)。(1) X=+ 1000100B , Y= 0010010BX 补=01000100B, 丫补-BX + Y补:0100 01001110 11101 0011 0010C7=1 , C6=1,相同,所以无溢出。X-Y补0100 0100C7=0 C6=0,相同2 所以无溢出。0001 0010(2) X=+ 1100001B , Y=+ 1000010B0101 0110X + Y补:有溢出X Y补无溢出(3) X= 1101001B, Y=1010101BX + Y补:有溢出X Y补:无溢出1.13用十六进制写出下列字符的ASCII码(1) NBANBA '=4E4241H

4、HELLO! 2009HELLO ! 2009 '=48454c4c4F39H2.6 80C51单片机的EA信号有何功能?在使用80C31和89C51单片机时,EA信号应如何处理?答:EA是访问外部程序存储器选通信号。当其为低电平时,对 ROM的读操作 限定为外部存储器;当其为高电平时,对 ROM的读操作是从内部开始的,当PC值大于内部程序存储器地址范围时,CPU自动转向读外部程序存储 器。80C31单片机片内无ROM,应将EA引脚固定接低电平,以迫使系统 全部执行片外程序存储器程序。89C51单片机应将EA引脚接+5V电源。2.9 系统复位后,CPU使用哪一组工作寄存器?它们的地址是

5、什么?如何改变当前工作寄存器组?答:系统复位后,CPU使用0组寄存器,它们的地址分别是:R0-R7:00H -07H.可以通过改变PSW寄存器的PSW.4和PSW.3两位的值来改变工作寄存器 组。2.10 80C51单片机具有很强的布尔(位)处理功能?共有多少单元可以位寻址?采用布尔处理有哪些优点?答:是的,80C51单片机具有很强的布尔处理功能,在内部 RAM区20H2FH 的16个单元都可以位寻址;同时21个特殊功能寄存器中还有部分特殊功 能寄存器可以位寻址。布尔(位)处理机,是 80C51系列单片机的突出优点之一,给“面向控制” 的实际应用带来了极大的方便。布尔(位)处理机借用进位标志

6、CY作为位累加器,在布尔运算中,CY是 数据源之一,又是运算结果的存放处,位数据传送的中心。布尔(位)处理机指令系统中有专门进行位处理的指令集,利用位逻辑操作功能进行随机逻辑设计,可把逻辑表达式直接变换成软件执行, 方法简便,免去 了过多的数据往返传送、字节屏蔽和测试分支,大大简化了编程,节省了存储器 空间,加快了处理速度,增强了实时性能。还可实现复杂的组合逻辑处理功能。所有这些,特别适用于某些数据采集、实时测控等应用系统。2.12 单片机的复位方法有哪两种?复位后各寄存器及 RAM中的状态如何? 答:按键复位和外部脉冲复位。单片机复位后,21个寄存器中,SP=07H,P0 P3均为FFH,S

7、BUF为不定 值,其余均为0.2.13 80C51单片机的PSEN、RD、WR、XTAL1和XTAL2引脚各有何作用?单片机时钟电路分别采用内部和外部振荡方式时,XTAL1和XTAL2引脚应如何连接?答:PSEN是片外程序存储器选通信号,低电平有效。RD (片外数据存储器读选通),输出,低电平有效。WR (片外数据存储器写选通),输出,低电平有效。5文档来源为 :从网络收集整理.word 版本可编辑.欢迎下载支持XTAL1 和 XTAL280C51 芯片内部有一个高增益反相放大器,其输入端为芯片引脚 XTALl ,其输出端为引脚 XTAL2 。当使用芯片内部时钟时,这两根引线用 于外接石英晶体

8、和微调电容。外部振荡方式: 把外部已有的时钟信号引入单片机内。 该方式适宜用来使单片机外部振荡信号由 XTAL1 引入, XTAL2 端悬空不用。第3章3.7 用指令实现下述功能。1 )内部 RAM30H 单元内容送R0 。MOV R0,30H2)将立即数10H 送入内部 RAM30H 单元。MOV 30H,#10H3 ) R0 内容送入 R1 。MOV A,R0MOV R1,A4 )内部RAM30H 单元内容送外部RAM30H 单元。MOV R0,#30HMOV A,R0MOVX R0,A5 )外部RAM3000H 单元内容送内部RAM30H 单元。MOV DPTR,#3000HMOVX A

9、,DPTRMOV 30H,A6) ROM3000H 单元内容送内部RAM30H 单元。MOV DPTR,#3000HMOV A,#00HMOVC A,(A+DPTR)MOV 30H,A3.8 已知内部 RAM 中,(30H) =40H, (40H) =50H, (50H) =5AH , (5AH)= 60H, ROM 中(125AH) = 88H ,试分析下面程序的运行结果,并指出每条指令的源操作数寻址方式。MOV A , 50H;直接寻址MOVR0 , A;寄存器寻址MOVP1 ,0F0H;立即寻址MOVR0 ,30H;直接寻址MOVDPTR , 1200H;立即寻址MOVX DPTR ,

10、A ;寄存器寻址MOVC A , A DPTR ;变址寻址MOV 40H , 50H ;直接寻址MOV P2 , P1 ;直接寻址;(1200H)=5AH;程 序 执行 后 , P2=F0H ;(40H)= 5AH ;(A)=88H(5AH)=40H3.9 设(R1) =31H,内部RAM31H的内容为68H , 32H单元的内容为 60H ,(A) =10H。请指出运行下面的程序后各单元内容的变化。MOVA , R1;(A)=68HMOVR1 , 32H;(31H)60HMOV32H , A;(32H)=68HMOVR1 , 45H;(R1)=45H程序前 3 条指令将内部RAM31H 和

11、32H 单元内容互换。3.10 已知当前 PC 值为 2000H ,用两种方法将ROM207FH 单元中的常数送入累加器A。( 1) MOV DPTR,#207FHMOV A,#00HMOVC A,A+DPTR( 2)MOV A,#7CHMOVC A,A+PC3.16 已知延时程序为DELAY :MOVR0,0A0HLOOP1 :MOVR1 ,0FFHLOOP2 :NOPDJNZR1 , LOOP2DJNZR0 , LOOP1若系统的晶振频率为 12MHz ,请指出该延时子程序的延时时间。机器周期数DELAY :MOVR0,0A0H1LOOP1 :MOVR1 ,0FFH1LOOP2 :NOP1

12、DJNZR1 , LOOP22DJNZR0 , LOOP12由于晶振频率为12MHz,1M=1 s该程序延时时间为:【1+ ( 1+2) *255+2 】 *160+1=122.881ms第4章4.13 编写程序将内部RAM40H60H 单元清 0MOV R7,#21HMOV R0,#40HLOOP:MOV R0,#00HINC R0DJNZ R7,LOOPSJMP $2FFFH 区4.15 编程将外部RAM的1000H1FFF区域的数据送到2000H 域。ORG 0100HMOV DPTR,#1000HMOV R7,#10HLL1:MOV R6,#00HLL: MOVX A,DPTRMOV

13、B,AMOV A,DPHADD A,#10HMOV DPH,AMOV A,BMOVX DPTR,AMOV A,DPHCLR CSUBB A,#10HMOV DPH,AINC DPTRDJNZ R6,LLINC DPHDJNZ R7,LL1SJMP $4.16 已知一内部RAM 以 BLOCK1 和 BLOCK2 为起始地址的存储区中分别有5字节无符号被减数和减数 (低位在前, 高位在后。 请编写减法子程序令它们相减,并把差放入以 BLOCK1 为起始地址的存储单元。BLOCK1 EQU 30HBLOCK2 EQU 40HORG 0000HLJMP STARTSTART:MOV R0,#BLOC

14、K1MOV R1,#BLOCK2MOV R7,#1LP:MOV R6,#5CLR CLP1:MOV A,R0SUBB A,R1MOV R0,AINC R0INC R1DJNZ R6,LP1DJNZ R7,LPSJMP $END4.17 从内部 RAM20H 单元开始存有一组带符号数,其个数已存放在1FH 单元中。要求统计出大于 0 、等于 0 和小于 0 的数的数目,并把统计结果分别存放在ONE 、 TWO 、 THREE 三个单元中。ONE EQU 1EHTWO EQU 1DHTHREE EQU 1CHORG 0000HLJMP STARTSTART:MOV ONE,#00HMOV TWO,

15、#00HMOV THREE,#00HMOV R0,#20HMOV R7,1FHLOOP3: MOV A,R0INC R0JZ LOOP1JB ACC.7,LOOP2INC ONESJMP HALTLOOP1: INC TWOSJMP HALTLOOP2: INC THREEHALT: DJNZ R7,LOOP3SJMP $4.18 设内部 RAM30H 单元有两个非零的 BCD 数, 请编写求两个BCD 数的积,并将积以压缩型BCD 数形式送入 31H 单元的程序。 ORG 0000HMOV A, 30HANL A, #0F0HSWAP AMOV B, A12文档来源为 :从网络收集整理.wo

16、rd 版本可编辑.欢迎下载支持MOV A, 30HANL A, #0FHMUL A, BMOV B, #0AHDIV ABSWAP AORL A, BMOV 31H, ASJMP $4.20 编制绝对值函数程序。绝对值函数方程如下:假设 X 存于 30H 单元, Y 存于 40H 单元。 X 及 Y 均为补码数.X EQU 30HY EQU 40HORG 0000HLJMP STARTSTART: MOV A,XJZ LOOPJNB ACC.7,LOOPCPL AADD A,#01HLOOP: MOV Y,AEND4.21 试编写统计数据区长度的程序, 设数据区从内 RAM30H 开始, 该数

17、据区以0 结束,统计结果送人2FH 中。且数据区结束字符,也计入统计数据区的长度中去 .ORG 0000HLJMP STARTSTART:MOV R0,#30HMOV R7,#00HLOOP:MOV A,R0INC R0INC R7CJNE A,#00H,LOOPMOV 2FH, R7SJMP $4.23 巳知 R7 中为 2 位十六进制数, 试编程将其转换为 ASCII 码, 存人内部 RAM31H 、 32H 中(低字节在前) 。英文字母为大写 .ORG 0000HLJMP STARTSTART:MOV SP,#60HMOV A,R7LCALL BCDASCIIMOV 31H,AMOV A

18、,R7SWAP ALCALL BCDASCIIMOV 32H,ASJMP $BCDASCII:ANL A,#0FHCJNE A,#10,LOOPLOOP: JC AD30HADD A,#07HAD30H:ADD A,#30HHT: RETEND解法 2ORG 0000HLJMP STARTSTART: MOV DPTR,#TABMOV A,R7ANL A,#0FHMOVC A,A+DPTRMOV 31H,AMOV A,R7ANL A,#0F0HSWAP AMOVC A,A+DPTRMOV 32H,ASJMP $TAB:DB30H,31H,32H,33H,34H,35H,36H,37H,38HD

19、B 39H,41H,42H,43H,44H,45H,46HEND4.24 设在 MA 和 MB 单元中有两个补码形式的 8 位二进制带符号数。请编写求两数之和并把它放在SUML 和 SUMH 单元 (低 8 位在 SUML 单元 )的子程序。提示:在两个8 位二进制带符号数相加时,其和很可能会超过8 位数所能表示的范围,从而需要采用 16 位数形式来表示。因此,在进行加法时、可以预先把这两个加数扩张成16 位二进制补码形式,然后对它完成双字节相加。ORG 0000HLJMP STARTSTART:MOV A,MAJB ACC.7,LLAMOV R7,#00HSJMP LLLLLA: MOV R

20、7,#0FFHLLL: MOV A,MBJB ACC.7,LLBMOV R6,#00H16文档来源为 :从网络收集整理.word 版本可编辑.欢迎下载支持SJMP LADDLLB: MOV R6,#0FFHLADD:MOV A,MAADD A,MBMOV SUML,AMOV A,R6ADDC A,R7MOV SUMH,ASJMP$4.25 设外部RAM1000H10FFH数据区中的数均为无符号数。试编写程序,找出该区域中的数的最大值,并放人内部RAM30H 单元中。MOV DPTR,#1000HMOV R7,#00H;计数器MOV B,#00H ;放中间结果L1: MOVX A, DPTRCJ

21、NE A, B, L2L2: JC L3MOV B, A ; B 中放大值L3: INC DPTRDJNZ R7, L1MOV 30H, B4.28的值已知a、b、c均为09的整数,试编程求解表达式 Y=(a-b)2+(b-c)2+(c-a)2AA EQU 31HBB EQU 32HCC EQU 33HY EQU 34HORG 0000HLJMP STARTSTART:MOV SP,#60HMOV A,AACLR CSUBB A,BBACALL CHUNCIMOV R6,AMOV A,BBCLR CSUBB A,CCACALL CHUNCIADD A,R6MOV R6,AMOV A,CCCLR

22、 CSUBB A,AAACALL CHUNCIADD A,R6MOV R6,AMOV Y,R6SJMP $CHUNCI:JNB ACC.7,SQRCPL AADD A,#01HSQR: ADD A,#01HMOVC A,A+PCRETSQRTAB:DB 0,1,4,9,16,25,36,49,64,814.29 从内部 RAM 的 SCORE 单元开始放有16 位同学某门课程的考试成绩, 试编程求平均成绩,存入 AVERAGE 单元。ORG 0100HMOV R5,#00HMOV R6,#00HMOV R0,#SCOREMOV R7,#16II: MOV A,R0ADD A,R5MOV R5,

23、AMOV A,R6ADDC A,#00HMOV R6,AINC R0DJNZ R7,LLMOV R4,#04HIII: CLR CMOV A,R6RRC AMOV R6,AMOV A,R5RRC AMOV R5,ADJNZ R4,LL1MOV AVERAGE,R5SJMP $第5章5.8 80C51 外扩 ROM 时, 为什么 P0 口要接一个8 位锁存器, 而 P2 口却不接?答: P0 口既作为地址线传送地址的低8 位,又要作为数据线传送8 位数据,只能分时用做地址线,故P0 口输出的低8 位地址数据必须用锁存器锁存。锁存器的锁存控制信号为引脚 ALE 输出的控制信号。 P2 口只用作地址

24、高8 位。5.9 若要设计一个32Kx8位的外RAM存储器,分别采用2114 (1KM位)和6264 (8KM位)芯片,各需多少块存储芯片?答: 2114 芯片需要: ( 8/4 ) * ( 32/1 ) =64 片6264 芯片需要: 32/8=4 片5.12 80C51 扩展 2 片 6264 存储器芯片,试用 P2.6 、 P2.7 对其片选,并指出它们的地址范围。答:地址范围:6264 (1) 10*0 0000 0000 0000 00001 1111 1111 1111 11118000H 9FFFH6264(2)01*0 0000 0000 0000 00001 1111 111

25、1 1111 11114000H 5FFFH尺K c第6章6.1 输入/输出信息有哪几种?答:通过接口传送的信息包括数据信息、状态信息和控制信息。6.2 什么是接口?接口应具有哪些功能?接口是将外设连接到总线上的一组逻辑电路的总称。功能: 1. 地址译码与设备选择2. 缓冲锁存数据3. 信息的输入输出21文档来源为 :从网络收集整理.word 版本可编辑.欢迎下载支持4. 信息转换6.7什么是中断源? 80C51有哪些中断源? CPU响应中断时,其入口地址是什 么?答:能引起中断的外部设备或内部原因称为中断源,包括外部中断源和内部中断 源。80C51中有5个中断源:(1) INTO (P3.2

26、):外部中断 0。(2) INT1 (P3.3):外部中断 1。(3) TF0 (P3.4):定时器/计数器T0溢出中断。(4) TF1 (P3.5):定时器/计数器T1溢出中断。(5) RX, TX:串行中断入口地址:外部中断 0 ( INT0): 0003H定时器/计数器0 (T0): 000BH外部中断1 (市!): 0013H定时器/计数器1 (T1): 001BH用行口(RI、TI): 0023H定时器/计数器2(T2)(仅80C52有):002BH6.11 80C51的外部中断有哪几种触发方式?如何选择?答:有电平触发方式和边沿触发方式。通过对ICON寄存器的D0位IT0和D2位I

27、T1置位或清0实现。该为为0,为低电平触发方式,该位为1,为下降沿触发方式。第7章7.8 8255A 各端口可以工作在几种方式下?当端口 A 工作在方式2 时,端口 B和 C 工作于什么方式下?答: 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 之下的控制线。7.9 某 8255A 芯片的地址范围为 7

28、F80H 7F83H ,工作于方式0 , A 口、 B 口为输出口。 C 口低 4 位为输入,高4 位为输出,试编写初始化程序。MOV DPTR,#7F83HMOV A,#1000 0001BMOVX DPTR, A7.11 8255A 的方式控制字和C 口按位置位/复位控制字都可以写入8255A 的同一控制寄存器, 8255A 是如何区分这两个控制字的?答:看控制字的最高位D7 ,如果该位的值为“1 ”,则认为是方式控制字;反之,则认为是 C 口置位/ 复位控制字。7.12 编写程序,采用 8255A 的 C 口按位置位/复位控制字,将PC7 置 0, PC4置 1 , (已知 8255A

29、各端口的地址为 7FFCH-7FFFH )。MOV DPTR,#7FFFHMOV A,#0EHMOVX DPTR,AMOV DPTR,#7FFFHMOV A,#09HMOVX DPTR,A7.13设8255A接到系统中,端口 A、B、C及控制口地址分别为 220H、221H、222H 及 223H ,工作在方式0 ,B 的数据输入后,从端口 C28输出,同时,将其取反后从端口A 输出。MOV DPTR,#223HMOV A,#82HMOVX DPTR,AMOV DPTR,#221HMOVX A,DPTRINC DPTRMOVX DPTR,ACPL AMOV DPTR,#220HMOVX DPT

30、R,ASJMP $第8章8.3 定时器 T1 用于对外部脉冲计数,每计满1000 个脉冲后使内部RAM 60H单元内容加一,要求T1 以方式 1 中断实现, TR1 启动。解:计数常数为:TC = 2161000=64536 =FC18H ,由于采用T1方式1计数方式,故方式控制字为:0101 0000B =50H程序如下:ORG 0000HAJMP MAINORG 001BHLJMP T1INTORG 0200HMAIN : MOV TMOD , 50HMOV TH1 , 0FCHMOV TL1 ,18HSETB ET1SETB EASETB TR1SJMP $ORG 0800HT1INT : INC 60HMOV TH1 , 0FCHMOV TL1 ,18HRETI8.4 利用定时器T0 方式 2 产生一个 5KHz 的方波, 已知晶振频率为 12MHz 。解:方波的周期为 1/5000=0.2ms ,故 T0 定时时间应为 0.1ms 。定时常数为:即 TCH=9CH

温馨提示

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

评论

0/150

提交评论