《单片机原理及应用作业参考答案.pdf》由会员分享,可在线阅读,更多相关《单片机原理及应用作业参考答案.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学习必备欢迎下载单片机原理及应用作业参考答案12 单片机的结构特点表现在哪些主要方面?答:(1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针;(2)在内部有一个全双工的串行接口;(3)有一个独立进行操作的位处理器。1 4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则是什么?答:通用单片机的供应状态主要取决于片内ROM 的配置状态。(1)片内 ROM 的配置状态掩膜 ROM,适合于低成本。大批量产品的场合(2)片内 EPROM 配置状态可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生
2、产。(3)片内无ROM 配置状态必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合。23 单片机的EA端有何功用?8031 的EA端应如何处理,为什么?答:EA端是访问外部程序存储器的控制信号:当EA无效时,访问内部ROM,当EA为有效时,访问外部 ROM。由于 8031 没有内部ROM,所以EA端必须接低电平。2 4 MCS 51 引脚中有多少I/O 线?它们与单片机对外的地址总线、数据总线和控制总线有什么关系?地址总线和数据总线各是几位?答:MCS-51 引脚中有32 根 I/O 线,一般由P0 口提供单片机对外的数据总线,同时作为分时复用的地址
3、总线的低8 位,由 P2口作为地址总线的高8 位,控制总线由第二功能的状态下的P3 口以及 RST、EA、ALE 和PSEN提供。25 8051 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?答:数据存储器主要分为两个区域:00H7FH 是真正的RAM 区,80HFFH 专门用作特殊功能寄存器的区域。其中 00H 7FH 可分为三个区域:00H1FH 为四组工作寄存器;20H2FH 为 128 位位寻址区,30H7FH 为一般 RAM 区。26 单片机对外有几条专用控制线?其功能是怎样的?答:单片机对外的专用控制线有4 条,分别是:(1)PSEN:外部取指操作,在访问外部ROM
4、 时,PSEN信号自动产生;(2)ALE/PROG:ALE 为地址锁存允许信号,在访问外部ROM 或 RAM 时,用来锁存P0 口的低8位地址。第二功能PROG是对 8751 的 EPROM 编程时,编程脉冲输入。-第 1 页,共 12 页精品p d f 资料 可编辑资料-学习必备欢迎下载(3)EA/VPP:EA是访问外部程序存储器的控制信号,EA无效时,访问内部ROM,EA有效时,访问外部 ROM,第二功能VPP为对 8751EPROM 的 21V 编程电源输入。(4)RST/VPD:RST 是复位信号输入端,第二功能VPD是备用电源输入端。28 有哪几种方法使单片机复位?复位后各寄存器、R
5、AM 中的状态如何?答:单片机的复位方式有两种,上电自动复位和按钮复位。复位后各寄存器状态为:PC 0000H ACC 00H PSW 00H SP 07H DPTR 0000H P0P3FFH IP XX000000B IE 0X000000B TMOD 00H TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H SCON 00H SBUF XXH PCON 0XXX0000B 29 在 8051 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线上出现争总线的现象?为什么?答:不会发生争总线的现象,因为从外部ROM 取指令需要用AL
6、E 和PSEN信号控制读取操作,由P2和 P0 提供地址;而片外数据存储器的读写除了地址之外还要RD、WR控制,所以不会争总线。210 如果 8051 端口 P0P3 作为通用I/O 口使用,则在输入引脚数据时应注意什么?答:8051 的 P1、P2 和作为一般输入I/O 口的 P 以及第一功能的P3 口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入。以使其场效应管T2 截止,才不会影响输入电平。32 若要完成以下的数据传送,应如何用MCS-51 的指令实现?(1)R1 的内容传送到R0 MOV A,R1 MOV R0,A(2)外部 RAM20H 单元的内容传送到R0 MOV
7、R0,#20H MOVX A,R0 MOV R0,A(3)外部 RAM20H 单元的内容传送到内部 RAM20H 单元MOV R0,#20H MOVX A,R0 MOV 20H,A(4)外部 RAM1000H 单元内容传送到内部 RAM20H 单元MOV DPTR,#1000H MOVX A,DPTR MOV 20H,A(5)ROM2000H 单元的内容传送到R0 MOV DPTR,#2000H CLR A MOVC A,A+DPTR MOVR0,A(6)ROM2000H 单元的内容传送到内部RAM20H 单元MOV DPTR,#2000H CLR A MOVC A,A+DPTR MOV 20
8、H,A(7)ROM2000H 单元的内容传送到外部RAM20H 单元MOV DPTR,#2000H CLR A MOVC A,A+DPTR MOV R0,#20H MOVX R0,A 33 间接转移指令JMP A+DPTR有何优点?为什么它能代替众多的判跳指令?试举例说明。答:该间接转移指令的转移地址由A 的内容和数据指针DPTR 的内容之和决定,且两者都是无符号数,由 DPTR 决定多分支转移程序的首地址,由 A 的不同值实现多分支转移。因为可以根据A 的内容进行分支转移,所以可以替代众多判跳指令。如:根据 A 的内容调用相应的程序,如A 为 0 调用 OP0,A 为 1 调用 OP1,这里
9、 A 的值小于128。MOV DPTR,#OPTAB-第 2 页,共 12 页精品p d f 资料 可编辑资料-文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8
10、I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S
11、2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1
12、S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4
13、O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I
14、5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7
15、A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3学习必备欢迎下载RL A JMP A+DPTR OPTAB:ACALL OP0 ACALL OP1 ACALL OP2 34 设内部 RAM 的 30H
16、 单元的内容为40H,即(30H)40H,还知(40H)10H,(10H)00H,端口 P10CAH。问执行以下指令后,各有关存储器单元、寄存器以及端口的内容(即R0、R1、A、B、P1 以及 40H、30H、10H 单元的内容)。MOV R0,#30H;(R0)30H MOV A,R0;(A)(30H)40H MOV R1,A;(R1)40H MOV B,R1;(B)(40H)10H MOV R1,P1;(40H)0CAH MOV P2,P1;(P2)0CAH MOV 10H,#20H;(10H)20H MOV 30H,10H;(30H)20H 35 已知 8751 单片机的P1 口为输出,
17、经驱动电路接有8 只发光二极管。当输出位是1 时,发光二极管点亮;输出位是0 时发光二极管熄灭。试分析下述程序的执行过程及发光二极管的发光情况。LP:MOV P1,#81H;1000 0001B LCALL DELAY MOV P1,#42H;0100 0010B LCALL DELAY MOV P1,#24H;0010 0100B LCALL DELAY MOV P1,#18H;0001 1000B LCALL DELAY MOV P1,#24H;0010 0100B LCALL DELAY MOV P1,#42H;0100 0010B LCALL DELAY SJMP LP 答:程序执行M
18、OVP1,#DATA后,根据DATA 的每位的值点亮相应的LED,调用延时程序使点亮的LED保持一段时间。LED 发光的情况为:每次同时点亮两个LED 并从两边向中间移动,然后再向两边移动,并一直循环。36 在上题中,若系统的晶体振荡器频率为6MHz,求子程序DELAY 的延时时间。DELAY:MOV R2,#0FAH;2 S L1:MOV R3,#0FAH;2 S L2:DJNZ R3,L2;4 S DJNZ R2,L1;4 S RET;4 S 0FAH 250D 其中执行250 次,执行时间为2504 S 其中循环250 次,该循环执行时间为(225044)250 S 加上和的执行时间,D
19、ELAY 的延时时间为2(22504 4)2504251.506ms 延时程序的设计:首先设计内循环:MOV R3,#data1;2 s NOP;2 s DJNZ R3,$;4 sdata1 延时时间t122 4data14(data11)1000 s1ms,则 data1249-第 3 页,共 12 页精品p d f 资料 可编辑资料-文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA
20、2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7
21、M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A
22、10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:
23、CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 H
24、T7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK
25、4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编
26、码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3学习必备欢迎下载若需要大于1ms 时间,则先增加一层循环MOV R2,#data2;2 s L1:MOV R3,#data1;2 s NOP;2 s DJNZ R3,$;4 sdata1 DJNZ R2,L2;(4 st1)data2 延时时间为:2(4 st1)data224 s4(data11)data22 4(data12)data2 250ms,这里将 data1 修正为 248,得24(2482)data2 21000data2250ms 则 data2250 37 根据图 3-3 线路,试设计灯亮移位程序,
27、使8 只发光二极管每次亮一个,循环右移或左移,一个一个地亮,循环不止。MOV A,#80H DIS:MOV P1,A ACALL DELAY RR A AJMP DIS 38 设逻辑运算表达式为:)()(FEDCBAY其中变量A,B,C 分别为 P1.0、P1.4、定时器 1 溢出标志TF1,D,E,F 分别为 22H.0、22H.3、外中断方式标志IE1;输出变量为P1.5。试编写实现上述逻辑功能的程序段。MOV C,P1.4 ORL C,/TF1;)(CBANL C,P1.0;)(CBAMOV F0,A;用户自定义标志位,暂存数据MOV C,22H.3 ORL C,/IE1;)(FEANL
28、 C,22H.0;)(FEDCPL C;)(FEDORL C,/F0;)()(FEDCBAMOV P1.5,C 41 试设计数据块传送程序,将起始地址为0400H 的 100 个连续单元中的内容送到以4000H 为首址的区域中去解:分析:地址为16 位,且进行数据传送,所以连续单元应为外部的存储器,只能使用外部数据传送指令,由于源和目的地址都为16 位,所以要保存DPTR 的值,但源低8 位和目的低8 位相同,可以用一个寄存器保存。MOV R0,#00 NEXT:MOV DPH,#04H MOV DPL,R0 MOVX A,DPTR MOV DPH,#40H MOVX DPTR,A INC R
29、0 CJNE R0,#100,NEXT 42 试编写程序,计算片内RAM 区 40H47H8 个单元中数的算术平均值,结果存放在4AH 中。解:分析:8 个数总和最大值为FFH87F8H,所以求和时必须用两字节加法,设R7 保存和高8 位,R6 保存低 8 位,求和后再除以8 即得算术平均值,这里需使用16/8 除法,但因为除数为23,所以可以直-第 4 页,共 12 页精品p d f 资料 可编辑资料-文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3
30、T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X
31、8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I
32、3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2
33、C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S
34、3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O
35、8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5
36、S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3学习必备欢迎下载接通过算术右移3 位实现除以8,前提存储的数据为无符号数。MOV R0,#40H MOV R6,#00H ;和低字节清零MOV R7,#00H ;和高字节清零NEXT:MOV A,R0;取出一个字节INC R0;地址指针下移ADD A,R6;低字节求和MOV R6,A;保存和的低字节CLR AADDC A,R7;如果低字节求和有进位,则加至高字节MOV R7,A;保存和的高字节CJNE R0,#48H,NEXT MOV R1,#03H
37、;循环移位3 次,实现除以8 DIV8:CLR C MOV A,R7 RRC A;高字节先移位,将D0 移至 C MOV R7,A MOV A,R6 RRC A;将 C 移入低字节的D7,从而实现16 位数据的移位MOV R6,A DJNZ R3,DIV8 16 位除以 8 位除法子程序:被除数 R6R5,除数 R4,商 R3R2,余数 R1 DIV168:MOV R3,#00H MOV R1,#00H NEXT2:CLR C MOV A,R5 SUBB A,R4 MOV R5,A MOVA,R6 SUBB A,#00H MOV R6,A JC NEXT MOV A,R2 ADD A,#01H
38、 MOV R2,A JNC NEXT2 INC R3 AJMP NEXT2 NEXT:MOV A,R5 ADD A,R4 MOV R1,A RET 43 设有两个长度为15 的数组,分别存放在0200H 和 0500H 为首地址的存储区域中,试编写程序求其对应项之和,结果存放在以0300H 为首地址的存储区域中。解:分析:0200H 和 0500H 都是片外地址,必须利用MOVX 指令获取数据,这将导致DPTR 使用不方便,解决办法:(1)0200H,0500H 和 0300H 低字节地址相同,可以共用DPL,DPH 单独处理;(2)可以考虑先将两个存储区的数据先转移到内部RAM 中,然后再进
39、行运算。这里只是求对应项之和,并不是多位数求和,两数相加,可能产生进位,这里应该只考虑没有进位的情况。这里采用第一种方法MOV R0,#15 MOV DPL,#00H-第 5 页,共 12 页精品p d f 资料 可编辑资料-文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A
40、1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A
41、4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2
42、I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M
43、7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A1
44、0A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:C
45、A2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3学习必备欢迎下载NEXT:MOV DP
46、H,#02H MOVX A,DPTR MOV B,A MOV DPH,#05H MOVX A,DPTR ADD A,B MOV DPH,#03H MOVX DPTR,A INC DPTR DJNZ R0,NEXT 44 在起始地址为2100H,长度为64 的数表中找F 的 ASCII 码,并将其地址送到1000H 和 1001H 单元中去。解:都为RAM 单元,只要找到“F”,则停止查找。利用寄存器R7 保存高 8 位地址,R6 保存低 8 位地址。SF:MOV DPTR,#2100H MOV R0,#64 NEXT1:MOVX A,DPTR CJNE A,#4FH,NEXT2 MOV R7,
47、DPH MOV R6,DPL MOV DPTR,#1000H MOV A,R6 MOVX DPTR,A INC DPTR MOV A,R7 MOVX DPTR,A AJMP SFEND NEXT2:INC DPTR DJNZ R0,NEXT1 SFEND:RET 45 设计一个多字节无符号数加法子程序和减法子程序。解:(1)多字节无符号数加法设 R0 为加数首地址,R1 为被加数首地址,R2为字节数JIAFA:CLR C NEXT:MOV A,R0 ADDC A,R1 MOV R0,A INC R0 INC R1 DJNZ R2,NEXT RET(2)多字节无符号数减法设 R0 为被减数首地址
48、,R1 为减数首地址,R2为字节数JIANFA:CLR C NEXT:MOV A,R0 SUBB A,R1 MOV R0,A INC R0 INC R1 DJNZ R2,NEXT RET 46 试设计一个双字节无符号数乘法子程序和除法子程序。解:设被乘数为R7R6,乘数为R5R4,结果存于R3R2R1R0 R7 R6R5 R4C2 C1C4 C3C6 C5C8 C7R6R4=C2 C1R7R4=C4 C3R6R5=C6 C5R7R5=C8 C7设被除数为R7R6,除数为R5R4,商存于R3R2,余数存于R1R0 将被除数减除数,够减商加1,然后将差作为被减数,继续前面的减法操作,直到不够减为止
49、,这时需要恢复余数。-第 6 页,共 12 页精品p d f 资料 可编辑资料-文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3
50、T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X8 ZK4A10A4O8I3文档编码:CA2I5S2C3T1 HT7M7A1S3X