收藏 分享(赏)

《单片机原理与接口技术》课后答案(段晨东主编)详尽版.docx

上传人:dreamzhangning 文档编号:2702568 上传时间:2018-09-25 格式:DOCX 页数:104 大小:2.60MB
下载 相关 举报
《单片机原理与接口技术》课后答案(段晨东主编)详尽版.docx_第1页
第1页 / 共104页
《单片机原理与接口技术》课后答案(段晨东主编)详尽版.docx_第2页
第2页 / 共104页
《单片机原理与接口技术》课后答案(段晨东主编)详尽版.docx_第3页
第3页 / 共104页
《单片机原理与接口技术》课后答案(段晨东主编)详尽版.docx_第4页
第4页 / 共104页
《单片机原理与接口技术》课后答案(段晨东主编)详尽版.docx_第5页
第5页 / 共104页
点击查看更多>>
资源描述

1、第一章 复习思考题答案一、选择题1:B 2:C 3:B 4:A 5:B 6:D 7:D 8:C 9:B 10:B二、思考题1. 简述微型计算机的组成和工作原理。微型计算机主要由微处理器 CPU、存储器、输入设备和输出设备组成。当使用计算机解决某个具体问题时,首先,根据解决问题的方案,编写出一系列解决这个问题的程序;然后,把程序输入到计算机中,命令计算机按照这些事先拟定步骤顺序执行。CPU包括控制器和运算器。CPU是计算机中最重要的部件,由它实现程序控制、操作控制、时序控制、数据加工、输入与输出控制、对异常情况和请求的处理等等。存储器是计算机中的记忆部件,用来存储编写的程序,存放程序所用的数据以

2、及产生的中间结果。由输入设备把程序和数据送入计算机内部的“存储器”中保存,程序处理完毕把结果通过“输出设备”输出,以便人们识别。接通电源后,CPU会自动地从存储器中取出要执行的程序代码,通过译码解析出代码所赋予的功能,如果进行数据运算,则从存储器中提取运算所需要的数据,再进行运算操作,并把运算结果存储到程序指定的存储区域,结束本次执行操作;如果执行转移操作,则提取程序代码中的转移信息,计算出程序转移的目标地址,然后跳转。紧接着,CPU再从存储器中提取下一次要执行的代码,不断地重复上述操作过程。2. 简述单片机在结构上与微型计算机的区别与联系。微型计算机是以微处理器为基础,配以内存储器及输入输出

3、(I/0)接口电路和相应的辅助而构成。单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等集成到一块芯片上的微型计算机。3. 单片机与微处理器有什么不同?单片机也称微控制器,它集成 CPU、ROM、RAM、存储器、I/O 口等,而微处理器是是CPU,它仅集成了运算器和控制器,没有存储器和接口。4. 把下列十进制数转换为二进制数、八进制和十六进制数。(1)32768 (2)23.156 (3)-56.8125 (4)59解:(1)(32768) 10=(1000000000000000)2=(

4、100000)8=(8000)16(2)(23.156) 10=(10111.00100111)2=(27.116)8=(17.27)16(3)(-56.8125) 10=(-111000.1101)2=(-70.64)8=(-38.D)16(4)(59) 10=(111011)2=(73)8=(3B)165. 把下列二进制数转换为十进制数、十六进制数:(1)10001010111 (2)10110.11101解:(1)(10001010111) 2 =(1111)10=(457)16(2)(10110.11101) 2=(22.90625)10=(16.E8)166. 求下列数据的原码、反码

5、、补码(以 8 位表示)(1)73 (2)23 (3)1 (4)109解:(1)73 原 =01001011 73反 =01001011 73补 =01001011(2)23 原 =00010111 23反 =00010111 23补 =00010111(3)-1 原 =10000001 -1反 =11111110 -1补 =11111111(4)-109 原 =11101101 -109反 =10010010 -109补 =100100117. 求下列数据的原码、反码、补码(以 16 位表示)(1)-12137 (2)0 (3)-1 (4)23679解:(1)-12137 原 =101011

6、1101101001 -12137反 =1101000010010110 -12137补 =1101000010010111(2)+0 原 =0000000000000000 +0反 =0000000000000000 +0补 =0000000000000000-0原 =1000000000000000 -0反 =1111111111111111 +0补 =0000000000000000(3)-1 原 =1000000000000001 -1反 =1111111111111110 -1补=1111111111111111(4)+23679 原 =0101110001111111=+23679

7、反 =+23679补8. 把下列十进制数转换为二进制、十六进制数,并把它们用 BCD 码表示:(1)128 (2)7891 (3)819 (4)21解:(1)(128) 10=(1000 0000)2=(80)16=(0001 0010 1000)BCD(2)(7891) 10=(1111011010011)2 =(1ED3)16=(0111 1000 1001 0001)BCD(3)(819) 10=(1100110011)2 =(333)16 =(1000 1001 0001)BCD(4)(21) 10=(10101)2=(15)16=(0010 0001)BCD9. 写出下列数据的定点小

8、数和浮点数,定点小数的小数部分为 1 个字节,浮点数为 3 字节浮点数格式。(1)76.25 (2)3789 (3)32767 (2)1.109375解:(1)定点数 11001100.00100000 浮点数 87 98 40H(2)定点数 111011001101.00000000 浮点数 0C EC D0H(3)定点数 1111111111111111 浮点数 8F FF FEH(4)定点数 0001.00011011 浮点数 01 8D 80H10请把下列字符串用 ASCII 码表示。(1)WWW.CCTV.COM(2)Wo123_Password: 0解:(1)57 57 57 2E

9、 43 43 54 56 2E 43 4F 4D(2)57 6F 31 32 33 5F 50 61 73 73 77 6F 72 64 3A 30第二章 复习思考题答案一、选择题1: B 2: B 3: A 4: D 5: C 6: C 7: A 8: B 9: B 10:B11:B 12:D 13:B 14:A 15:B 16:C 17:B 18:C 19:C 20:B21:C 22:D 23:C 24:C 25:B 26:A 27:A 28:D 29:D 30:C31:A 32:B 33:C 34:D 35:B 36:D 37:A 38:A 39:B 40:C二、简答题1. MCS-51

10、 单片机芯片包含哪些主要逻辑功能部件?各有什么功能?中央处理器 CPU:完成运算和控制操作。存储器:内部数据存储器 RAM 用于存放程序的机器代码和常数;内部程序存储器用于存放可读写的数据。特殊功能寄存器用于存放相应功能部件的控制命令、状态和数据。并行口:P0P3 除了可以作为基本的 I/O 功能之外,P3 口的第二功能还提供了串行口、外部中断、外部计数等功能以及访问外部数据存储器和外部 I/O 口的控制信号。串行口:用于串行通信。定时/计数器:2 个 16 位定时器/计数器,具有多种工作模式,用于计数、定时和产生串行通信的波特率。中断系统:单片机有 5 个中断源,分别为 2 个外部中断、2

11、个定时器/计数器溢出中断、1 个串行口接收/发送中断,提供 2 个中断优先级。实现实时控制等。2. MCS-51 的控制总线信号有哪些?它们各起什么作用?ALE地址锁存控制信号,输出。ALE 用于锁存地址总线的低八位。该信号频率为振荡器频率的 1/6,可作为外部定时或时钟使用。外部程序存储器读选通信号,输出, 为低电平时,CPU 从外部程序存PSENPSEN储器的单元读取指令。内、外程序存储器选择控制端,输入,当 接地( 0)时,CPU 对程序AA存储器的操作仅限于单片机外部。当 接高电平( 1)时,CPU 对程序存储器的操作EA从单片机内部开始,并可延伸到单片机的外部。RESET复位信号。在

12、 RESET 引脚上保持 2 个机器周期以上的高电平,单片机复位。3. MCS-51 单片机的 信号有什么功能?在使用 8031 时, 引脚应如何处理?EE为内、外程序存储器选择控制端,当 接地( 0)时,CPU 对程序存储器的EAEA操作仅限于单片机外部。当 接高电平( 1)时, CPU 对程序存储器的操作从单片机A内部开始,并可延伸到单片机的外部。8031 无片内 ROM,所以 必须接地。4. 程序计数器 PC 的作用是什么?程序计数器 PC 是一个 16 位的寄存器,用来存放下一条即将执行指令的地址。CPU 每取一次机器码,PC 的内容自动加 1,CPU 执行一条指令,PC 的内容自动增

13、加该指令的长度(指令的字节数) 。CPU 复位后,PC 的内容为 0000H,它意味着程序从头开始执行。5. MCS-51 单片机有哪些控制信号需要芯片引脚以第二功能的方式提供?(1)串行口:P3.0 作为串行口数据的接收端 RXD;P3.1 作为串行口数据的发送端TXD;(2)外部中断触发信号的输入P3.2 作为外部中断 的中断触发信号的输入端;0INTP3.3 作为外部中断 的中断触发信号的输入端;1(3)外部计数脉冲的输入端P3.4 作为定时/计数器 T0 外部计数信号的输入;P3.5 作为定时/计数器 T1 外部计数信号的输入;(4)访问外部 RAM 的读写控制信号P3.6 作为外部数

14、据存储器写控制信号 ;WRP3.7 作为外部数据存储器读控制信号 D6MCS-51 单片机的存储器地址空间如何划分?各个空间的地址范围和容量是多少?MCS51 单片机的存储器地址空间可分为以下 5 类:程序存储器,最大空间 64K;片内数据存储器,128 个单元;特殊功能寄存器,共 21 个;位寻址空间,211 位;外部数据寄存器,最大空间 64K。7简述内部 RAM 的功能分区?说明各部分的使用特点。片内 RAM 分为 3 个区域:(1)001FH:32 个单元为工作寄存器区,包含 4 个工作寄存器组。(2)202FH:16 个单元为位寻址区。CPU 可以对每一位按位地址直接操作。(3)30

15、7FH:80 个单元为数据缓冲区。数据缓冲区作为数据缓冲、数据暂存、作为堆栈区使用;这些单元只能按单元访问。8如何选择 MCS-51 单片机的当前工作寄存器组?单片机当前工作寄存器组是由程序状态寄存器 PSW 中的 RS1、RS0 的状态决定:当 RS1、RS0=00 时,选择工作寄存器组 0 区,R0R7 对应单元地址为 00H07H;当 RS1、RS0=01 时,选择工作寄存器组 1 区,R0R7 对应单元地址为 08H0FH;当 RS1、RS0=10 时,选择工作寄存器组 2 区,R0R7 对应单元地址为 10H17H;当 RS1、RS0=11 时,选择工作寄存器组 3 区,R0R7 对

16、应单元地址为 18H1FH;9堆栈有哪些功能?堆栈指针 SP 是多少位的寄存器?SP 的作用是什么?在应用系统程序设计时,为什么要对 SP 重新赋值?堆栈的功能是保护 CPU 执行程序的现场(如子程序调用、中断调用等) ;堆栈指针 SP 是 8 位寄存器;其作用是指出栈顶位置;对 SP 重新赋值是为了避免堆栈向上生成时覆盖所存储的有效数据和标志,一般情况下,把堆栈区设在 30H 单元之后的区域。10MCS-51 单片机有多少个可以寻址的特殊功能寄存器(SFR)?简要介绍它们的功能。共 21 个,其中与 CPU 相关的有:ACC,B,PSW,SP,DPTR(DPH,DPL) 。与并行 I/O 口

17、相关的有:P0,P1,P2,P3。与串行口相关的有:SCON,SBUF,PCON。与定时器/计数器相关的有:TCON,TMOD,TH0,TL0,TH1,TL1。与中断系统相关的有:IP,IE。B 寄存器,用于乘除法运算,其他情况作为缓冲寄存器使用;ACC:累加器,用于算数运算,逻辑运算,移位运算以及传送运算;PSW:程序状态寄存器,用于反映累加器 ACC 参与运算时的一些特征,指出当前工作寄存器组;DPTR 可作为访问外部 RAM 的地址指针或作为访问程序存储器的基地址寄存器。堆栈指针 SP 指出栈顶位置;P0P3 作为 I/O 口,P0 和 P2 还可以作为地址和数据总线,P3 可提供第二功

18、能。中断优先级寄存器 IP 用于设置中断源的优先级;中断控制寄存器 IE 控制中断开放和禁止,串行口控制寄存器 SCON 用于定义串口工作方式,控制数据的接收和发送,记录工作状态标志。:定时/计数器控制寄存器 TCON 记录中断标志,控制定时/计数器。11在 MCS-51 单片机中,CPU 对特殊功能寄存器(SFR)访问有什么特点?CPU 访问这些 SFR 只能采用直接寻址方式,即按单元地址访问的模式。12简单说明 MCS-51 单片机 PSW 寄存器各个标志位的意义。Cy 进位位。在运算过程中,最高位 D7 有(借)进位时, (Cy)=1,否则, (Cy)=0;AC 辅助进位位。用于十进制数

19、(BCD)运算。在运算过程中,当 D3 向 D4 位(即低四位向高四位)进(借)位时, (AC)=1,否则, (AC)=0;OV 溢出标志位。在运算过程中,对于 D6、D7 两位,如果其中有一位有进(借)位而另一位无进(借)位时, (OV)=1,否则, (OV)=0;P 奇偶校验位。运算结束时,如果 ACC 中 1 的个数为奇数, (P)=1,否则, (P)=0。F0 用户标志位,用户在编程时可作为自己定义的测试标志位。RS0、RS1 寄存器组选择位,选择当前工作寄存器组。 。13简述 MCS-51 单片机的位寻址空间的构成?由两部分构成,一部分是内部 RAM 位寻址区 20H2FH 单元的

20、128 位,位地址范围为00H7FH,另一部分是 11 个单元地址尾数为 0 和 8 的 SFR 构成的位寻址区,共 83 位,位地址范围为 80HFFH。14MCS-51 单片机的 P0P3 口在结构上有何不同?在使用上各有什么特点?MCS51 系列单片机的 P0P3 并行口在结构上基本相同,每个并行口包含 1 个锁存器(特殊功能寄存器 P0P3) 、1 个输出驱动器和 1 个输入缓冲器。P0 当作为通用的 I/O 口使用时,输出电路是漏极开路的,因此,需要外接上拉电阻。另外,用作输入时,应先向输出口的锁存器写 1,然后再读相应的引脚。P0 可用作地址/数据总线,口的每位输出可以驱动 8 个

21、 TTL 负载。P1、P2、P3 口的输出电路含有内部上拉电阻,口的每一位能驱动 4 个 TTL 负载,在作为输入口时,必须先对相应的锁存器写 1,即进行设置输入口的操作。15把 P1.4 作为输入,外接一个开关,如果要读取开关的状态,如何操作?当将 P1.4 作为输入之前,必须先向锁存器写入 1,当 P1.4 输入数据时, “读引脚”信号有效,打开输入缓冲器,使数据进入内部总线,完成 P1.4 输入。16MCS-51 单片机的时钟电路有几种实现方式?请分别给出相应的电路。两种方式,内部方式和外部方式。内部方式利用单片机芯片上提供的反相放大器电路,在 XTAL1,XTAL2 引脚之间外接振荡源

22、构成一个自激振荡器,自激振荡器与单片机内部时钟发生器构成单片机的时钟电路;如图 1.1 所示。外部方式实现单片机的时钟电路时,单片机的时钟直接由外部时钟信号源提供,即单片机使用外部振荡器。如图 1.2 所示。17什么是时钟周期、机器周期和指令周期?如何计算机器周期?晶振频率为 12MHz 时,计算时钟周期、机器周期。时钟周期:振荡器信号的周期。机器周期:CPU 完成一个基本操作所用的时间。指令周期:执行一条指令需要的时间。计算公式: ,其中 为晶振频率。oscMfT/12oscf当晶振频率为 =12MHZ 时,时钟周期: 。机器周期:T M=1 。sf oscMf/1s18:MCS-51 单片

23、机的复位条件是什么?在应用系统设计时,实现单片机的复位有几种方法?请给出相应的电路原理图。单片机复位条件是在单片机 RESET 引脚上保持 2 个机器周期以上的高电平。有两种复位方式,上电自动复位电路,如图 1.3 所示;按钮开关及上电自动复位电路,如图 1.4 所示;MCS-51CR REST+5VCR1 5V RS MCS-51REST图 1.3 上电自动复位电路 图 1.4 按钮开关及上电自动复位电路19简述 MCS-51 单片机复位后的状态。单片机复位后,程序计数器 PC 内容为 0000H;累加器 A、B 寄存器、数据指针 DPTR 被清 0;程序状态字寄存器 PSW 的内容为 00

24、H,P0P3 寄存器中所有的位被置 1,I/O 口 P0P3的锁存器内容为 0FFH;除了串行口数据缓冲器 SBUF 的内容不确定外,其他与定时器/计数器、中断系统、串行口有关的特殊功能寄存器(SFR)中的有效位为全部被清 0。20MCS-51 单片机运行出错或程序进入死循环时,采用强制复位摆脱困境。在这种情况下,单片机内部 RAM 和特殊功能寄存器(SFR)的状态与复位前相比有什么变化?在单片机由于某种原因被强制复位时,内部 RAM 单元的内容不会受复位的影响,会保持复位以前的状态。对于位寻址空间来说,单片机工作过程中的强制复位,不会影响位于内部 RAM 的 202FH 单元中的位的状态,而

25、 SFR 中的可寻址位却被遗失了。特殊功能寄存器 A、B、DPTR 被清 0;PSW 的内容为 00H,P0P3 寄存器中所有的位被置1,I/O 口 P0P3 的锁存器内容为 0FFH;除了串行口数据缓冲器 SBUF 的内容不确定外,其他与定时器/计数器、中断系统、串行口有关的特殊功能寄存器(SFR)中的有效位为全部被清 0。第三章复习思考题答案一、选择题1. B 2. D 3. D 4. C 5. A 6. A 7. D 8. E 9. B 10.C11.D 12.C 13.A 14.B 15.A 16.C 17.C 18.D 19.D 20.A 21.C 22.B 23.C 24.B 25

26、:B 26.D 27.A 28.B 29.D 30.C二、思考题1. 寻址方式是 CPU 执行指令时获取操作数的方式。MSC-51 单片机有 7 种不同的寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、位寻址和相对寻址。2. (A) = 25H,(R0) = 50H,(50H)= 00H,(51H)= 25H3. (DPTR)=25F0H4. (A)= 30H,(B)= 20H5. (A)=80H6. XCH:字节交换指令,将源操作数与 A 累加器的内容互换,源操作数必须是工作寄存器、SFR 或内部 RAM 的存储单元。XCHD:半字节交换指令,把指定单元内容的低 4 位与

27、累加器 A 的低 4 位互换,而二者的高 4 位保持不变。SWAP:高低四位互换指令,将累加器 A 的高 4 位和低 4 位互换。7. MOVC A,A+DPTR:常数所在存储单元的地址由 DPTR 和累加器 A 的内容之和确定。常数表可以放在程序存储器 64K 的任何区域,最大长度可以是 64KB。MOVC A,A+PC:常数所在存储单元的地址由程序计数器 PC 和累加器 A 的内容之和确定。常数表紧随该指令存放,最大长度不能超过 256 个字节。8. 1030H9. 8140H10. (SP)=62H,60H单元内容不变,(61H)=30H,(62H)=70H11. (SP)=60H,60

28、H单元内容不变,(61H)=50H,(62H)=7AH,(DPTR)=7A50H12. (A)= 34H,(Cy)= 1,(AC)= 1,(OV)= 1,(P)= 113. (A)= 83H,(Cy)= 1,(AC)= 1,(OV)=0,(P)= 114. (A)=00H,(R3)=10H,(30H)=F1H,(R0)=01H15. (A)=23H,(Cy)=116. 20H、30H和31H单元进行了加法运算,结果存放在31H单元17. ADD:不带进位位的加法指令。ADDC:带进位位的加法指令。18. DA:其功能就是在用加法指令完成BCD码加法运算之后,对运算结果进行处理,把运算结果转换为

29、BCD码形式。使用方法:必须与加法指令联合使用; 19. (A)=0EH,(R7)=18H,(30H)=0FFH,(R1)=40H,(41H)=0FDH20. 20H和30H单元参与减法运算,程序的结果存储在2FH单元。21. (A)= 00H, (B)= 32H,(Cy)=0 ,(OV)=122. (A)=0DH,(B)=11H,(Cy)=0, (OV)=023. 0CBH24. (1) (A)=00H,(R5)=0AAH(2) (A)=0FFH,(R5)=0AAH (3) (A)=0FFH,(R5)=0AAH25. 2.1.0.3PP26. LCALL指令在调用前,先把下一条指令的地址推入

30、堆栈保留,以便执行子程序返回指令RET时能找到返回地址,实现正确返回;而转移指令LJMP指令不需要保护返回地址。27. 转移到REDO处28. 当ACC.7为1时,执行JB指令程序转移到LABEL处,执行JBC指令程序转移到LABEL处并将ACC.7淸0。29. RET:子程序返回指令 , 子程序的最后一条指令必须是 RET,它标志子程序结束。RETI:中断返回指令,令专用于中断处理程序,是中断处理结束的标志。RETI 指令与 RET指令的区别在于 RETI 指令在实现中断返回的同时,重新开放中断使 CPU 能够接收同优先级的另外一个中断请求。30. ,执行时间为:1 +125 +2 =753

31、 mssMTMTMTs75.0三、程序设计1. 把内部 RAM 的 20H、21H、22H 单元的内容依次存入 2FH、2EH 和 2DH 中。MOV 2FH,20HMOV 2EH,21HMOV 2DH,22H2. 把外部 RAM 的 2040H 单元内容与 3040H 单元内容互换。方法一:MOV DPTR,#2040HMOVX A,DPTRMOV 20H,AMOV DPTR,#3040HMOVX A,DPTRMOV 21H,APUSH 20HPUSH 21HPOP 20HPOP 21HMOV DPTR,#2040HMOV A,20HMOVX DPTR,AMOV DPTR,#3040HMOV

32、 A,21HMOVX DPTR,A方法二:MOV DPTR,#2040HMOVX A,DPTRMOV 20H,AMOV DPTR,#3040HMOVX A,DPTRXCH A,20HMOVX DPTR,AMOV DPTR,#2040HMOV A,20H20H12FHED题 框 图MOVX DPTR,A3. 把内部RAM的40H单元与5000H单元的低四位互换。MOV DPTR,#5000HMOVX A,DPTRMOV R1,#40HXCHD A,R1MOVX DPTR,A4. 已知一个 2 维数据表格如下,存储在程序存储器中,编程实现自动查表。X 0 1 2 3 4 0B 0C 0D 0E 0

33、FY 11 12 01 AD DD AB 24 4B 7C AAMOV DPTR,#5000HMOVC A,A+DPTRRET5000H DB 11H5001H DB 12H5002H DB 01H500EH DB 7CH500FH DB AAH5. 已知二进制数X和Y,X被存放在20H(高8位)和21H(低8位)单元,Y被存放在22H,编程实现下XY。MOV A,21HADD A,22HMOV 25H,AMOV A,20HADDC A,#00HMOV 24H,AMOV A,#00HADDC A,#00HMOV 23H,A6. 已知二进制数X和Y,X被存放在20H(高8位) 、21H、22H单

34、元,Y被存放在30H(高8位) 、31H、32H单元,编程实现下XY。MOV A,22HADD A,32HMOV 32H,AMOV A,21HADDC A,31HMOV 31H,AMOV A,20H ADDC A,30HMOV 30H,AMOV A,#00HADDC A,#00H20H21H252423H+05题 框 图21H2323130+202FH6题 框 图MOV 2FH,A7. 已知8位十进制数X和Y以压缩BCD的格式存储,X被存放在20H23H单元,Y被存放在40H43H,编程实现下XY。MOV R0, #20H MOV R1, #40H MOV A, R0ADD A, R1DA A

35、MOV 10H, A INC R0 INC R1MOV A, R0ADDC A, R1DA AMOV 11H, AINC R0 INC R1MOV A, R0ADDC A, R1DA AMOV 12H, AINC R0 INC R1MOV A, R0ADDC A, R1DA AMOV 13H, A MOV A, #00ADDC A, #00 MOV 14H, A8. 已知二进制数X和Y,X = 6F5DH,Y = 13B4H,编程求XY。MOV 21H,#5DHMOV 20H,#6FHMOV 23H,#0B4HMOV 22H,#13HMOV R0, #21H MOV R1, #23H MOV

36、A, R0CLR CySUBB A,R1MOV R0,A DEC R0 DEC R1+12H113 10HDADADA DA22123 20444 414H7题 框 图MOV A,R0SUBB A,R1MOV R0,A2 0 H 2 1 H2 3 H2 1 H2 0 H-2 2 H9. 已知二进制数X和Y,已知X被存放在20H(高8位) 、21H和22H单元,Y被存放在22H,编程实现下XY。MOV A,22HCLR C SUBB A,32HMOV 22H,AMOV A,21HSUBB A,#00HMOV 21H,AMOV A,20HSUBB A,#00HMOV 20H,A2 1 H 2 2

37、H3 2 H2 2 H2 1 H2 0 H-2 0 H10. 已知二进制数X和Y, X被存放在20H23H单元,Y被存放在30H33H单元,编程实现下XY。MOV A,23HCLR CSUBB A,33HMOV 23H,AMOV A,22HSUBB A,32HMOV 22H,AMOV A,21HSUBB A,31HMOV 21H,AMOV A,20HSUBB A,30HMOV 20H,A2 1 H 2 2 H3 2 H- 3 1 H2 0 H3 0 H2 3 H3 3 H2 1 H 2 2 H2 0 H 2 3 H11. 已知十进制数X和Y以压缩BCD码的格式存储,X被存放在20H(高位)和2

38、1H单元,Y被存放在22H和23H单元,编程实现下XY。MOV A, #9AHCLR C SUBB A, 23H MOV 23H, AMOV A, #9AHCLR C SUBB A, 22H MOV 22H, AMOV A,21HADD A, 23HDA A MOV 23H, A MOV A,20HADDC A, 22HDA A MOV 22H, A12. 已知二进制数X被存放在20H,编程实现下X 3。MOV A, 20HMOV B, 20H MUL ABMOV 21H, A MOV 22H, BMOV A, 21H MOV B, 20H MUL ABMOV 23H, A MOV 24H,

39、BMOV A, 20HMOV B, 22HMUL ABMOV 25H, AMOV 26H, BCLR CMOV A, 24HADD A, 25HMOV 24H, AMOV A, 26HADDC A, #0MOV 25H, A2 0 H2 0 H2 1 H2 2 Hx2 2 H 2 1 H2 0 H2 3 H2 4 H2 5 Hx2 6 H2 3 H2 4 H2 5 H13. 已知二进制数X被存放在20H(高8位)21H、22H单元,Y被存放在30H单元,编程实现下XY。MOV A,22HMOV B,30HMUL ABMOV 22H,AMOV 23H,BMOV A,21HMOV B,30HMUL

40、 ABMOV 24H,AMOV 25H,BMOV A,20HMOV B,30HMUL ABMOV 26H,AMOV 27H,BMOV A,23HADD A,24HMOV 23H,AMOV A,25HADDC A,26HMOV 24H,AMOV A,27HADDC A,#00HMOV 25H,A2 1 H 2 2 H3 0 H2 0 H2 3 H2 4 Hx2 5 H2 3 H2 4 H2 5 H2 6 H2 7 H2 2 H2 0 H14. 二进制数X被存放在20H(高8位)21H单元,用移位方法实现2X。MOV A, 21HCLR CRLC AMOV 21H, AMOV A, 20HRLC

41、AMOV 20H, ACLR ARLC AMOV 19H, AC yD 1D 2D 3D 4D 5D 6D 7 D 0D 1D 2D 3D 4D 5D 6D 7 D 0D 1D 2D 3D 4D 5D 6D 7 D 00C yC yC y2 1 H2 0 H1 9 H15. 4位十进制数X以压缩BCD的格式存储在内部RAM中,编程实现X乘以10。MOV R1, #20HSCALL BCD2BMOV 30H, R7MOV 31H, R6MOV A, 31HMOV B, #10MUL ABADD A, 30HMOV 30H, AMOV A, BADDC A,#00MOV 31H, AMOV R1,

42、 #21HSCALL BCD2BMOV 32H, R7MOV 33H, R6MOV A, 33HMOV B, #10MUL ABADD A, 32HMOV 32H, AMOV A, BADDC A,#00MOV 33H, ABCD2B:MOV A, #0XCHD A, R1MOV R7, AMOV A, R1SWAP AMOV R6, ARET16. 二进制数X被存放在20H(高8位)21H单元,用移位方法实现X/2。MOV A, 20HCLR CRRC AMOV 20H, AMOV A, 21HRRC AMOV 21H, AD 1D 2D 3D 4D 5D 6D 7 D 00D 9D 1 0

43、D 1 1D 1 2D 1 3D 1 4D 1 5 D 8C yC yC y17. 4位十进制数X以压缩BCD的格式存储在内部RAM中,编程实现X/10,并把小数部分存储在R6中。MOV 22H,#4REL:MOV A,21HCLR CRRC AMOV 21H,AMOV A,20HRRC AMOV 20H,ADJNZ 22H,RELMOV R6,CRET18. MOV A,21HXRL A,#FFHMOV 21H,AMOV A,20HXRL A,#7FHMOV 20H,AMOV A,21HADD A,#01HMOV 21H,AMOV A,20HADDC A,#00HMOV 20H,A19. M

44、OV DPTR,#JMP_TABLEMOV A,XJMP A+DPTRJMP_TABLE: AJMP PROG1AJMP PGOG2AJMP PGOG3AJMP PGOG420. X EQU 20HY EQU 21HZ EQU 22HMOV A, XCLR CSUBB A, YJC LOOPMOV A, XCLR CSUBB A, ZJC LOOP1MOV 50H, XJMP RRETLOOP:MOV A, YCLR CSUBB A, ZJC LOOP1MOV 50H, YJMP RRETLOOP1:MOV 50H, ZRRET:RET开始X 传送给 A判断 C 是否为 1 ?A 减去 YX

45、传送给 A判断 C 是否为 1 ?A 减去 Z判断 C 是否为 1 ?A 减去 ZY 传送给 AZ 传送给 5 0 HX 传送给 5 0 H Y 传送给 5 0 HYNNNY Y21. MOV R0, #20HMOV DPTR, #2000HMOV R1, #16LOOP: MOV A, R0MOVX DPTR, AINC R0INC DPTRDJNZ R1, LOOPRETN开始取内部 R A M 首地址循环 1 6 次 ?取外部 R A M 首地址将内部 R A M 内容传给外部 R A M内部 R A M 地址加 1外部 R A M 地址加 1结束Y22. MOV A, 5FHRR AX

46、RL A, 5FHMOV 5FH , A23. MOV C,P3.3ORL C,P1.2ANL C,P1.1MOV 20H.0,CMOV C,28H.1ANL C,/2EH.0CPL CMOV 21H.0,CMOV C, 20H.0ORL C,/TFOORL C,21H.0MOV P1.5,C24. MOV R0, #20HMOV R1, #100CLR R7MAIN: MOV A, R0CLR CSUBB A, #65HJZ LOOP1INC R0DJNZ R1, MAINRETLOOP: INC R7INC R0DJNZ R1, MAINRET开始取数据首地址设置循环次数 1 0 0设置计

47、数初值 0内容为 6 5 H ?计数 + 1数据地址 + 1循环次数 - 1数据地址 + 1循环次数 - 1循环次数等于 0 ?YN开始NY25. MOV R0, #10HMOV R7, #50MOV R1, #50HMAIN:MOV A, R0JNB ACC.0 , LOOPAJMP LOOP1LOOP: MOV R1,AINC R1LOOP1:INC R0DJNZ R7, MAINRET开始取数据首地址设置循环次数 5 0取偶数存放首地址数据为偶数 ?保存该偶数 , 地址 + 1数据地址 + 1循环次数 - 1数据地址 + 1循环次数 - 1循环次数等于 0 ?Y开始NNY26.MOV 2

48、0H,#7MOV R5,#00MOV R6,#00MOV DPTR,#3000HMOVX A,DPTRLOP:JNB ACC.0 LOOPINC R6RR AAJMP LOOP1LOOP:INC R5RR ALOOP1:DJNZ 20H, LOPRET开始数据第 0 位为 0 ?清零 0 计数值 , 1 计数值取外部 R A M 3 0 0 0 H 单元数据0 计数值加 1 1 计数值加 1数据右移一位移位 7 次 ?开始NYNY27. MOV R1, 20HSCALL EXCHMOV 30H, R6MOV 31H, R7MOV R1, 21HSCALL EXCHMOV 32H, R6MOV

49、33H, R7LOOP:NOPNOPSJMP LOOPEXCH:CLR AXCHD A, R1MOV R7,AMOV A, R1SWAP AMOV R6, ARET28.LIGHT EQU 20HORG 0000HJMP MAINORG 0030HMAIN:MOV LIGHT,#0FFHMOV P1,LIGHTLOP:MOV R1,#8LOOP:CLR CMOV A,LIGHTRLC AMOV LIGHT,AMOV P1,LIGHTLCALL DELAY200MSDJNZ R1,LOOPMOV R1,#8MOV LIGHT,#0LOOP1:SETB CMOV A,LIGHTRRC AMOV LIGHT,AMOV P1,LIGHTLCALL D

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报