单片机原理与应用第四章作业答案

合集下载

林立张俊亮版单片机原理及应用第四章答案

林立张俊亮版单片机原理及应用第四章答案

第四章习题1.C语言的优点是什么?C程序的主要结构特点是什么?答:C语言是一种高级语言,与51汇编语言相比,它代码紧凑,程序可读性强,编程工作量小,功能强,且容易掌握。

C程序以函数为单位,由一个主函数和若干个其他函数构成,主函数是程序的入口,其他函数由主函数直接或间接调用。

程序可以由一个文件或多个文件组成。

文件类型包括头文件和C语言源文件,也可以是汇编语言文件,C程序可与汇编语言混合编程。

2.C51语言的变量定义包含哪些关键因素?为何这样考虑?答:C语言的变量定义格式如下:[存储种类] 数据类型[存储类型] 变量名存储种类有:自动型(auto)、外部型(extern)、静态型(static)、寄存器型(register)。

数据类型有:字符型(char),整型(int),长整型(long),浮点型(float),双精度型(double),还有二进制位型(bit),特殊功能寄存器型(sfr),SFR可位寻址的位类型(sbit)。

存储类型有:片内低128B RAM区(data)、片内可位寻址区(bdata),片内高128B RAM间接寻址区(idata),片外页RAM寻址区(pdata),片外64KB RAM 区(xdata)、程序ROM区(code)。

变量名由字母、数字和下划线组成,且第一个字符不能为数字。

C51语言比标准C语言多了存储类型,因为MCS-51单片机的存储结构中有四个物理存储空间(片内RAM、片内ROM,片外RAM,片外ROM),三个逻辑地址空间(片内RAM,片外RAM,ROM),而且有多种寻址方式(直接寻址、间接寻址、页面寻址、位寻址),所以在定义变量时,要根据其所在位置和寻址方式明确指定存储类型。

3.C51与汇编语言的特点各有哪些?怎样实现两者的优势互补?答: C51是结构化语言,代码紧凑,接近自然语言,程序可读性强,易于调试、维护,库函数丰富,编程工作量小,可使产品开发周期短,具有机器控制能力,功能很强,适合于嵌入式系统开发。

单片机原理及应用第四章课后题答案

单片机原理及应用第四章课后题答案

第四章作业答案16.MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突?解:数据存储器的读和写由RD和WR信号控制,而程序存储器由读选通信号PSEN控制,这些信号在逻辑上时序上不会产生冲突;程序存储器访问指令为MOVC,数据存储器访问指令为MOVX。

程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于二者访问指令不同,控制信号不同,所以两者虽然共处于同一地址空间,不会发生总线冲突。

18.某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,采用地址译码法,画出硬件连接图,并指出各芯片的地址范围。

解:硬件连接电路图如图4.18所示。

各芯片的地址范围为:2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH图4.18 4.18题硬件连接电路图21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B口按方式1输出。

解:程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR,#7F03HMOV A,#10010100BMOVX @DPTR,ASJMP $END25.使用8255A或者8155的B端口驱动红色和绿色发光二极管各4只,且红、绿发光二极管轮流发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写控制程序。

解:使用8255A,电路连接图如图4.25所示。

图4.25 4.25题硬件连接电路图其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。

设MCS-51单片机主频为12MHz。

程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR, #7FFFH ; 数据指针指向8255A控制口MOV A, #80HMOVX @DPTR, A ; 工作方式字送8255A控制口MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口MOV A, #0FH ; 置红色发光二极管亮LP1:MOVX @DPTR, A ; 置红色发光二极管亮LCALL DELAY ; 调用1S延时子程序CPL A ; 置发光二极管亮反色SJMP LP1 ; 循环执行DELAY:MOV R7,#10 ; 1s延时子程序D1:MOV R6,#200D2:MOV R5,#248D3:NOPDJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RETEND采用定时器T0方式1中断实现1s定时。

单片机原理与应用第四章作业答案

单片机原理与应用第四章作业答案

4-9 试计算片内RAM区40H~47H单元中8个数据的平均值,结果存放在4Ah中;说明:先对8个数求和,结果放在30h,31h;然后用右移3次求平均。

ORG 0000HSJMP MAINORG 0030HMIAN: MOV R0,#40HMOV R1,#30HMOV 30H,#00HMOV 31H,#00HMOV R2,#8CLR CL1: MOV A,@R1ADDC A,@R0MOV @R1,AINC R0INC R1MOV A,@R1ADDC A,#00HMOV @R1,ADEC R1DJNZ R2,L1INC R1L2: MOV R2,#03HMOV A,@R1RRC AMOV @R1,AINC R1MOV A,@R1RRC AMOV @R1,ADEC R1DJNZ R2,L2DEC R1MOV 4AH,@R1SJMP $4-10 在起始地址为2100H,长度为64H的数表中查找ASCII码’F’,如果有,将其值送到1000H单元,如果没有,将0FFH送1000H单元.ORG 0000HSJMP MAINORG 0030HMAIN: MOV R2,#64MOV DPTR,#2100HL2: MOVX A,@DPTRCJNE A,#’F’,L1MOV DPTR,#1000HMOV A,#00HMOVX @DPTR,ASJMP LASTL1: INC DPTRDJNZ R2,L2MOV A,#0FFHMOVX @DPTR,ALAST: SJMP $4-11 试编写将片内40H~60H 单元中的内容传送到外部RAM以2000h为首地址的存放区域中,并将原数据全部清零。

ORG 0000HSJMP MAINORG 0030HMIAN: MOV R0,#40HMOV DPTR,#2000HMOV R1,#20HL1: MOV A,@R0MOVX @DPTR,AMOV @R0,#00HINC R0INC DPTRDJNZ R1,L1SJMP $4-12 编写,内部RAM50H‐59H 10个单元内容的平均值,并存放在5AH单元。

《单片机原理与应用开发技术》第四章习题答案

《单片机原理与应用开发技术》第四章习题答案

《单片机原理与应用开发技术》第四章习题答案(P90-91):4. 每条语句分析如下:POP DPH ;(DPH)=0FFH,(SP)=41HPOP DPL ;(DPL)=0FFH,(SP)=40HMOV DPTR,#3000H ;(DPTR)=3000HRL A ;左移,(A)=04HMOV B,A ;(B)=04HMOVC A,@A+DPTR ;(A)=50HPUSH ACC ;(SP)=41H,(41H)=50HMOV A,B ;(A)=04HINC A ;(A)=05HMOVC A,@A+DPTR ;(A)=80HPUSH ACC ;(SP)=42H,(42H)=80HRET ;(PC15~8)=80H,(SP)=41H,(PC7~0)=50H,(SP)=40H ORG 3000HDB 10H,80H,30H,80H,50H,80H所以,A=80H,SP=40H,(41H)=50H,(42H)=80H,PC=8050H。

8.先把2000H~20FFH(共256个字节单元)内容移至3000H~20FFH处,一共循环了256次,再单独地把2100H内容移至3100H处。

因为前256个单元的源地址和目标地址的高八位都是从20##H移至30##H,所以此时只需要修改低八位即可。

而2100H(共1个字节单元)内容移至3100H,高八位是从21##H 到31##H,单独处理。

DPL EQU 82HDPH EQU 83HMOV R2,#00HMOV DPL,#00HLOOP: MOV DPH,#20H ;移2000H~20FFH内容,共循环256次MOVX A,@DPTRMOV DPH,#30HMOVX @DPTR,AINC DPTRDJNZ R2,LOOPMOV DPTR,#2100H ;单独移动2100H内容至3100HMOVX A,@DPTRMOV DPTR,#3100HMOVX @DPTR,ARET9.MOV R0,#40H ;放首址MOV R2,#0AH ;设置循环次数MOV 30H,#00H ;三个单元内容清零MOV 31H,#00HMOV 32H,#00HSTART: CLR C ;CY位清零CJNE @R0,#00H,LOOP1 INC 30H ;为零,加一SJMP NEXTLOOP1: MOV 2FH,@R0JB 7FH,LOOP2INC 31H ;CY=0,正数,加一SJMP NEXTLOOP2: INC 32H ;CY=1,负数,加一NEXT: INC R0 ;下一个数DJNZ R2,STARTRET。

单片机原理与应用第4章参考答案

单片机原理与应用第4章参考答案

第4章 AT89S51汇编语言程序的设计与调试参考答案1.答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编过程的命令。

所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。

常用伪指令及其功能如下:ORG(ORiGin)汇编起始地址命令;END(END of assembly)汇编终止命令;EQU(EQUate)标号赋值命令;DB(Define Byte)定义数据字节命令;DW(Define Word)定义数据字命令;DS(Define Storage)定义存储区命令;BIT 位定义命令2.答:手工汇编:通过查指令的机器代码表(表3-2),逐个把助记符指令“翻译”成机器代码,再进行调试和运行。

这种人工查表“翻译”指令的方法称为“手工汇编”。

机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。

通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。

反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。

3.答:从1000H开始的各有关存储单元的内容(16进制)如下:4D 41 49 4E 12 34 30 0000 704.在编写子程序时应注意以下问题:(1)子程序的第一条指令前必须有标号。

(2)主程序调用子程序,有如下两条子程序调用指令:①绝对调用指令ACALL addr11。

被调用的子程序的首地址与绝对调用指令的下一条指令的高5位地址相同,即只能在同一个2KB区内。

②长调用指令LCALL addr16。

addr16为直接调用的目的地址,被调用的子程序可放置在64KB程序存储器区的任意位置。

(3)子程序结构中必须用到堆栈,用来保护断点和现场保护。

(4)子程序返回时,必须以RET指令结束。

(5)子程序可以嵌套,但要注意堆栈的冲突。

5.答:参考程序如下:MOV A,45HANL A,#0FHORL A,#0FHMOV 45H,A6.答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,PC=8050H7.答:参考程序如下:START:MOV R0,#30HMOV R2,#20HLOOP: MOV A,@R0CJNE A,#0AAH,NEXTMOV 51H,#01HLJMP EXITNEXT: INC R0DJNZ R2,LOOPMOV 51H,#00HEXIT: RET8.答:参考程序如下:START:MOV 41H,#0MOV R0,#20HMOV R2,#20HLOOP:MOV A,@R0JNZ NEXTINC 41HNEXT: INC R0DJNZ R2,LOOPRET9.答:参考程序如下:ORG 0100HMOV R2, #20H 要比较的数据字节数MOV A , #21HMOV R1 , ADEC R2MOV A , @R1LOOP: MOV R3,ADEC R1CLR CSUBB A,@R1JNC LOOP1MOV A,@R1SJMP LOOP2LOOP1: MOV A,R3LOOP2: DJNZ R2, LOOPMOV @R0,ARET10.答:(1)SP=SP+1=61H (61H)=PC的低字节=03HSP=SP+1=62H (62H)=PC的高字节=20H(2)PC=3456H(3)不可以(4)2KB=2048 Byte11.答:可对程序做如下修改:ORG 0100HDEL: MOV R7, #200DEL1: MOV R6, #123 ;将原来的立即数125改为123DEL2: DJNZ R6, DEL2NOP ;增加的指令DJNZ R7, DEL1RET程序修改后的延时时间为:1+(1+123*2+1+2)*200+2=50003us=50.003ms。

单片机第4章习题答案

单片机第4章习题答案

第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。

2.汇编语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。

(2)定义字节伪指令格式:[标号:] DB X1,X2, (X)功能:从指定地址开始,存放若干字节数据。

(3)字定义伪指令格式:[标号:] DW Y1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。

(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。

(5)赋值伪指令格式:标号 EQU 表达式功能:将表达式的值(数据或地址)赋给标号。

(6)位定义伪指令格式:[标号] BIT 位地址功能:将位地址赋给标号。

4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。

7.分析下列程序的功能。

X DATA 30HY DATA 32HMOV A,XJNB ACC.7,TRUECPL AADD A,#01HTRUE:MOV Y,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。

单片机第四章课后答案

单片机第四章课后答案
多机通信介绍:
TXD RXD 8051 TXD RXD 8051 1#从机 TXD RXD 8051 2#从机 TXD RXD 8051 3#从机
主机
多机通信的实现,主要依靠主、从机之间正确地设置与判断 SM2和发送或接收的第9位数据(TB8或RB8)完成的。现 将二者的作用总结如下: 在单片机串行口以方式2或方式3接收时,一方面,若SM2=1, 表示置多机通信功能位,这时有两种情况: ①接收到第9位数据为1,此时数据装入SBUF,并置RI=1,向 CPU发中断请求; ②接收到第9位数据为0,此时不产生中断,信息将丢失,不能 接收。另一方面,若SM2=0,则接收到的第9位信息无论是1还 是0,都产生RI=1的中断标志,接收的数据装入SBUF。根据这 个功能,就可以实现多机通信。
对主机随后发来的信息不理睬,直到发送新的一帧地址信息。
(4)主机发送控制指令和数据信息给被寻址的从机。其中,主机置TB8=0,表 示发送的是数据或控制指令。对于没选中的从机,因为SM2=1,RB8=0,所以
不会产生中断,对主机发送的信息不接收
第四章
MCS-51存储器和I/O扩展
§4-1 §4-2 存储器扩展 并行I/O口扩展
74HC373
8031
6116
G OE
EA
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7
ALE
(3)连线说明 地址线:A0~A10连接单片机地址总线的A0~A10,即P0.0~P0.7、 P2.0、P2.1、P2.2共11根 数据线:D0~D7连接单片机的数据线,即P0.0~P0.7 控制线:片选端CE连接单片机的P2.7,即单片机地址总线的最高位 A15;读允许线OE连接单片机的读数据存储器控制线RD;写允许线 WE连接单片机的写数据存储器控制线WR

西单电子科技大学出版社单片机原理及应用第4章习题

西单电子科技大学出版社单片机原理及应用第4章习题

西单电⼦科技⼤学出版社单⽚机原理及应⽤第4章习题第4章习题⼀、填空题1、AT89C51单⽚机(内部有4K字节Flash程序存储器)再加上外接的电路和电路即可构成最⼩系统。

2、8031单⽚机加上外接的时钟电路、电路和存储器才可构成最⼩系统。

3、8051单⽚机以总线的⽅式进⾏系统扩展时,⽤于⽚外程序存储器的取指控制信号;⽤于⽚外数据存储器的写控制信号。

4、8051以总线的⽅式扩展并⾏I/O⼝(16位地址)时,⽤于向扩展出的并⾏I/O ⼝写数据的指令是;⽤于从扩展出的I/O⼝读数据的指令是。

⼆、单项选择题1、2764是⼀种EPROM芯⽚,容量为8K个字,每个字8bit,则()A、该芯⽚有8根数据线B、该芯⽚有13根地址线C、该芯⽚有16根地址线D、该芯⽚有12根地址线2、某常⽤EPROM芯⽚,有11根地址线,有8根数据线,则其容量为()A、16K位B、2K位C、256*11位D、219位3、2114是⼀种1K×4位RAM芯⽚,如果⽤它扩展4K×8位RAM,则需要( )⽚2114芯⽚A、4B、8C、16D、324、2732是⼀种4K×8位EPROM芯⽚,如果⽤它扩展16K×8位ROM,则需要( )⽚2732芯⽚A、4B、8C、16D、25、2864是⼀种8K×8位E2PROM芯⽚,如果⽤它扩展32K×16位ROM,则需要( )⽚2864芯⽚A、4B、8C、16D、26、6116是⼀种2K×8位静态RAM芯⽚,如果⽤它扩展4K×32位ROM,则需要( )⽚6116芯⽚A、4B、8C、16D、27、2817A是⼀种2K×8位EEPROM芯⽚,如果⽤它扩展4K×16位EEPROM,则需要( )⽚2817A芯⽚A、4B、8C、16D、28、6264是⼀种8K×8位静态RAM芯⽚,则其地址线和数据线分别为()A、12根、8根B、13根、8根C、16根、4根D、8根、16根三、简答题1、51单⽚机扩展外部ROM如右图所⽰,则:2764(1)的基本地址范围为2764(2)的基本地址范围为2、8051单⽚机在系统扩展时,会涉及到存储器芯⽚地址线和8051地址总线连接问题,对多于地址线的处理有哪两种⽅式?如果只扩展了1⽚RAM芯⽚HY6264(8K×8位),要使其地址范围唯⼀,应该采⽤哪种处理⽅式?3、下图8051单⽚机扩展并⾏输⼊⼝电路,写出接⼝芯⽚的地址范围,⽤汇编语⾔实现:读取数据到寄存器R2中。

单片机原理及应用第三版课后答案

单片机原理及应用第三版课后答案

单片机原理及应用第三版课后答案1. 第一章题目答案:a) 单片机的定义: 单片机是一种集成电路,具有CPU、存储器和输入输出设备等功能,并且可以根据程序控制进行工作的微型计算机系统。

b) 单片机的核心部分是CPU,它可以通过执行程序指令来完成各种计算、逻辑和控制操作。

c) 存储器分为程序存储器和数据存储器,程序存储器用于存放程序指令,数据存储器用于存放数据和暂存中间结果。

d) 输入输出设备用于与外部环境进行数据交换,如开关、LED、数码管等。

e) 单片机的应用广泛,包括家电控制、智能仪器、工业自动化等领域。

2. 第二章题目答案:a) 单片机中的时钟系统用于提供CPU运行所需的时序信号,常见的时钟源有晶体振荡器和外部信号源。

b) 时钟频率决定了单片机的运行速度和精度,一般通过控制分频器、定时器等来调整时钟频率。

c) 单片机中的中断系统用于处理紧急事件,如外部输入信号、定时器溢出等,可以提高系统的响应能力。

d) 中断源包括外部中断、定时器中断和串口中断,通过编程设置中断向量和优先级来处理不同的中断事件。

e) 中断服务程序是处理中断事件的程序,包括保存现场、执行中断处理和恢复现场等步骤。

3. 第三章题目答案:a) I/O口是单片机与外部设备进行数据交换的接口,包括输入口和输出口两种类型。

b) 输入口用于接收外部信号,如开关、传感器等,可以通过编程设置输入口的工作模式和读取输入口的状态。

c) 输出口用于控制外部设备,如LED、继电器等,可以通过编程设置输出口的工作模式和输出口的状态。

d) I/O口的工作模式包括输入模式、输出模式和双向模式,可以根据具体应用需求设置相应的模式。

e) 串行通信接口是单片机与外部设备进行数据传输的一种常见方式,包括UART、SPI和I2C等多种通信协议。

4. 第四章题目答案:a) 定时器的作用是产生指定时间间隔的定时信号,可以用于延时、计时、PWM等功能。

b) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。

单片机原理与应用及C51程序设计(第三版)(1、2、3、4、7章课后习题答案)

单片机原理与应用及C51程序设计(第三版)(1、2、3、4、7章课后习题答案)

第一章:1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。

+45 -89 -6 +112答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101【-89】原=11011001,【-89】反=10100110,【-89】补=10100111【-6】原=10000110,【-6】反=11111001,【-6】补=11111010【+112】原=01110000,【+112】反=01110000,【+112】补=011100002. 指明下列字符在计算机内部的表示形式。

AsENdfJFmdsv120答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H3.何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。

答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成,是微型计算机运算和控制中心。

存储器是用来存放程序和数据的记忆装置。

输人设备是向计算机输人原始数据和程序的装置。

输出设备是计算机向外界输出信息的装置。

I/O接口电路是外部设备和微型机之间传送信息的部件。

总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。

微型计算机的各大功能部件通过总线相连。

4.简述8086CPU的内部结构。

答:8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。

执行部件由运算器(ALU)、通用寄存器、标志寄存器和EU控制系统等组成。

EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。

总线接口部件BIU由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。

总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。

5.何谓总线?总线按功能可分为哪几种?答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。

单片机第四章课后答案.

单片机第四章课后答案.

00000000000
0800H~0FFFH 00001
②数据线 2716的8位数据线直接与单片机的P0口相连。因此P0 口是一个分时复用的地址/数据线
③控制线 CPU执行2716中存放的程序指令时,取指阶段就是对 2716进行读操作。
注意:CPU对EPROM只能进行读操作, 不能进行写操作。
CPU对2716的读操作控制都是通过控制线实现的,2716控制线的 连接有以下几条: CE 直接接地,若同时扩展多片,需通过译码器来完成片选工作 OE 接8031的读选通信号 PSEN 端。在访问片外程序存储器时, 只要 PSEN 端出现负脉冲,即可从2716中读出程序。
如:MOV SCON,#0F0H;设串口为方式3,SM2=1,允许接收 (3)各从机接收到地址信息,因为RB8=1,则置中断标志RI,中断后,首先判断主 机送过来的地址信息与自己的地址是否相符,对于地址相符的从机,置SM2=0, 以接收主机随后发来的所有信息;对于地址不相符的从机,保持SM2=1的状态, 对主机随后发来的信息不理睬,直到发送新的一帧地址信息。 (4)主机发送控制指令和数据信息给被寻址的从机。其中,主机置TB8=0,表 示发送的是数据或控制指令。对于没选中的从机,因为SM2=1,RB8=0,所以 不会产生中断,对主机发送的信息不接收
(5)连线说明: ①地址线 单片机扩展片外存储器时,地址是由P0和P2口提供的。 2716的11条地址线(A0~A10)中,低8位A0 ~A7通过锁存器 74LS373与P0口连接,高3位A8~A10直接与P2口的P2.0~P2.2连接 由于P2口只用作地址总线,所以高三位地址信息的传送不必加用地 址锁存器。锁存器的锁存使能端G必须和单片机的ALE管脚相连。 但必须注意:P2口既已用于传送片外程序存储器的地址 ,余下的引脚也不能再作为一般的I/O引脚

单片机原理与应用技术江力版第三四六章答案(最新整理)

单片机原理与应用技术江力版第三四六章答案(最新整理)

第三章作业参考答案3-10. 己知(A)=7AH,(R0)=34H,(34H)=A5H,请写出分别执行下面各条指令后累加器A的内容。

(1)MOV A,R0 ;(A)=34H(2)MOV A,@R0 ;(A)=A5H(3)MOV A,34H ;(A)=A5H(4)MOV A,#34H ;(A)=34H3-12. 1设(R0)=32H,(A)=48H,片内RAM中(32H)=60H,(40H)=61H。

请指出在执行下列程序段后上述各单元内容的变化。

MOV A,@R0 ; (A)=(32H)=60HMOV @R0,40H ; (32H)=61HMOV 40H,A ; (40H)=(A)=60HMOV R0,#40H ; (R0)=40H即:执行完程序段后,(R0)=40H, (A)=60H, 片内RAM中,(32H)=61H, (40H)=60H3-13已知(A)=83H,(R0)=47H,(47H)=34H。

请写出执行完下列程序段后A的内容。

ANL A,47H ;(A)=83H∧34H=00HORL 47H,A ;(47H)=34H∨00H=34HXRL A,@R0 ;(A)=00H34H=34HSWAP A ;(A)=43H答:执行完程序段后,(A)=43H3-14 14. 说明下段程序执行过程中,SP的内容及堆栈中内容的改变过程。

MOV SP,#30H ;(SP)=30HMOV 30H,#55HMOV 40H,#66HPUSH 30H ;(SP)=31H, 堆栈区中(31H)=55HPUSH 40H ;(SP)=32H, 堆栈区中(32H)=66HPOP 30H ;先将堆栈区中32H单元的内容送入30H单元,使(30H)=66H, 再使;SP值减1,即: (SP)=31HPOP 40H ;先将堆栈区中31H单元的内容送入40H单元,使(40H)=55H, 再使;SP值减1,即: (SP)=30H最终,(SP)=30H, 内部RAM中,(30H)=66H, (40H)=55H.3-15编程实现两个16位二进制数的减法。

单片机原理及应用第四章课后题答案

单片机原理及应用第四章课后题答案

单片机原理及应用第四章课后题答案
1.什么是单片机?
单片机是一种微型、多功能的数字集成电路,其中集成了计算机的核心功能,包括存储器、定时/计数器、输入/输出外设、可编程逻辑电路、音频处理等功能。

它可以执行复杂的运算和控制任务,并且比传统的微机更小、更节能、更耐用。

2.简述单片机的结构特点
单片机的结构特点主要有:(1)内置处理器:单片机内置着微处理器,它完成程序控制和数据处理;(2)内存:内置存储器,用以存放程序指令和运算数据;(3)输入/输出口:接口用于连接外围设备;(4)时序功能:提供定时、定时/计数功能;(5)可编程逻辑电路:可根据用户要求定义自己的逻辑电路功能;(6)多种功能模块:可连接有多种功能的模块,如ADC、UART、I2C等。

3.谈谈单片机的应用领域
单片机的应用领域极其广泛,主要涉及家电、工控自动化、汽车、影音机顶盒、游戏机、消费类电子产品、工业控制、公共交通等。

其核心技术、节能和灵活性使其在各个领域有着重要的应用,使其成为近年来电子设备的重要组成部分。

4.什么是常用的单片机?。

单片机第四章答案

单片机第四章答案

单片机第四章习题答案选择题1-5 BACAA, 6-10 BAADA, 11-14 CCAD问答题1.MCS-51系列单片机定时计数器的定时功能和计数功能有什么不同?分别应用在什么场合?答:当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。

定时器的定时时间与系统的振荡频率紧密相关,如果单片机系统采用12M晶振,则计数周期为:,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。

当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。

计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。

当需要准确计算时间时往往采用定时器的定时方式,而当要对一些外部事件计数时则采用定时器的计数方式。

2.软件定时与硬件定时的原理有何异同?答:软件定时是通过编写一段延时程序来实现定时,这段延时程序不完成任何操作,只是通过一些空操作浪费掉一段时间。

这样的软件定时往往浪费CPU的工作效率,并且定时不够准确,前面三章的各个任务中均采用了这种方法。

硬件定时是通过单片机的定时器来实现时间的计算,用户只需要对定时器的工作方式、初始值赋予合适的数值,启动定时器后,定时器将自动按照机器周期定时。

这种由定时器实现的定时方式,定时时间准确、CPU的工作效率高。

3.MCS-51单片机的定时计数器是增1计数器还是减1计数器?增1和减1计数器在计数和计算计数初值时有什么不同?答:MCS-51系列单片机的定时/计数器是增1计数器。

对于增1计数器,计数初值应等于最大计数值减去所需要的计数值。

而减1计数器,计数初值就等于所需要的计数值。

例如:假设需要计数50000次。

对于增1计数器的单片机,若采用方式1的定时器,最大计数值为65536,则初值应为:65536-50000=15536。

单片机原理及应用课后习题参考答案1~6章

单片机原理及应用课后习题参考答案1~6章

《单片机原理及应用》习题答案第一章计算机基础知识1-1 微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。

CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。

存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。

按其功能可分为RAM和ROM。

输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。

总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。

1-3 什么叫单片机?其主要由哪几部分组成?答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。

1-4 在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用?答:单片机片内ROM的配置状态可分四种:(1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产;(2)片内EPROM型单片机(如8751),适合于研制产品样机;(3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品;(4)EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。

1-5 写出下列各数的另两种数制的表达形式(二、十、十六进制)1-6 写出下列各数的BCD参与:59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010389.41:001110001001.01000001第二章MCS-51单片机的硬件结构2-1 8052单片机片内包含哪些主要逻辑功能部件?答:8052单片机片内包括:①8位中央处理器CPU一个②片内振荡器及时钟电路③256B数据存储器RAM。

《单片机原理及应用》各章课后习题参考答案

《单片机原理及应用》各章课后习题参考答案

第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。

而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。

目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。

嵌入式微处理器相当于通用计算机中的CPU。

与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。

而嵌入式微处理器仅仅相当于单片机中的中央处理器。

为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。

6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。

它们的差别是在片内程序存储器上。

8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K 字节的程序存储器EPROM。

7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。

9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。

单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。

DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。

由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。

单片机原理及应用-习题及参考答案(共10章)

单片机原理及应用-习题及参考答案(共10章)

《单片机原理及应用》习题参考答案第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。

可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。

十六进制数可以简化表示二进制数。

2.(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH(4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 4315.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100(5) 10000001 11111110 111111116.00100101B 00110111BCD 25H7.137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。

一般情况下,可分为系统总线和外总线。

系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。

地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。

在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。

控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。

CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。

单片机第四章答案

单片机第四章答案

第四章习题与思考答案4-3外设端口有哪两种编址方法?各有什么特点?答:微型计算机对 I/O 端口进行编址的方式有两种:单独编址和统一编址。

1.外设端口单独编址特点:(1) 需要专用 I/O 指令,实现 CPU 和外设间数据传送。

(2)I/O端口地址的独立。

2.外设端口与存储器统一编址特点: (1) 无需专用 I/O 指令(2)I/O端口地址是内存地址中的一部分。

4-4 I/O 数据有哪四种传送方式?各有什么特点?CPU 与外设之间的数据传送方式有无条件传输方式、查询方式、中断方式和 DMA 方式。

1.无条件传输方式无条件传送又称为同步传送或直接传送方式。

CPU 在与外设进行数据交换时,外设随时处于准备好的状态,这样 CPU 不必查询外设的状态,也不必等待,而是直接进行数据的输入输出。

2.查询传输方式查询传输方式也称为异步传输、条件传输方式。

采用查询方式时, CPU 每次与外设进行数据传输前,都要先读取状态端口的信息,查询外设是否准备就绪,只有在外设处于“就绪”状态时,才能向外设的数据端口发送数据或从其中读取数据,如果外设未就绪,就需要 CPU 原地循环等待外设完成准备工作,所以 CPU 的工作效率不高。

3.中断传输方式在中断传输方式中,以外设为主动方,每次外设准备好就可以向 CPU 发出一次中断请求,使 CPU 暂停当前正在执行的程序,转去与外设进行一次数据传输工作,当完成了本次数据的输入或输出后,再回到原先被打断的地方继续执行原来的程序。

中断方式可以大大提高 CPU 的效率和系统的实时性。

4. DMA 方式DMA 方式即直接存储器存取方式,是一种在DMA控制器的控制下实现的外设与存储器之间的直接数据传输方式。

在整个DMA 传输过程中,是不需要 CPU 参与的,完全是通过硬件逻辑电路用固定的顺序发地址和读写信号来实现的,数据不需要经过 CPU 而是在外设和存储器之间高速传输。

4-5 8051 内部的并行I/O 口有哪些?各有什么功能?1.P0 口P0 口的第一功能是作为通用I/O 口使用。

单片机原理及应用习题4-6章

单片机原理及应用习题4-6章

《单片机原理及应用》课后习题库第四章(P122)画出MCS-51系列单片机最小应用系统的原理结构图。

参考答案:片内带程序存储器的8051、8751本身即可构成一片最小系统, 只要将单片机接上时钟电路和复位电路即可, 同时接高电平, ALE、EA PSEN 信号不用, 系统就可以工作。

如图所示该系统的特点如下:(1) 系统有大量的I/O线可供用户使用: P0、P1、P2、P3四个口都可以作为I/O口使用。

(2) 内部存储器的容量有限, 只有128 B的RAM和4 KB的程序存储器。

MCS—51系列最小化系统试说明存储器的译码选择方法积及特点。

参考答案:存储器芯片的选择有两种方法: 线选法和译码法。

1. 所谓线选法, 就是直接以系统的地址线作为存储器芯片的片选信号, 为此只需把用到的地址线与存储器芯片的片选端直接相连即可。

其优点是简单明了,不需要另外增加译码电路,成本低。

缺点是浪费了大量的存储空间。

2. 所谓译码法就是使用地址译码器对系统的片外地址进行译码, 以其译码输出作为存储器芯片的片选信号。

该方法能有效地利用存储空间,适用于大容量多芯片存储器的扩展。

什么是完全译码?什么是部分译码?各有什么特点?参考答案:完全译码是指地址译码器使用了全部地址线,地址与存储单元一一对应,即一个存储单元只占用1个唯一地址。

部分译码是指地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而是1个存储单元占用了几个地址。

1根地址线不接,一个单元占用2(21)个地址;2根地址线不接,一个单元占用4(22)个地址;3根地址线不接,则占用8(23)个地址,依此类推。

参考答案:其所占有的地址范是:8000H~9FFFH 。

其中片内译码有13根地址线和片外译码有3根地址线。

参考答案:该题为部分译码法。

其所有占用的全部地址范围是:0000H~1FFFH 、2000H~3FFFH 、4000H~5FFFH 6000H~7FFFH 。

(完整word版)第4章单片机原理课后答案

(完整word版)第4章单片机原理课后答案
DB 38H,391H,41H,42H,43H,44H,45H,46H
12.设8051的P1中各位接发光二极管,分别用汇编语言和C语言编程实现逐个轮流点亮二极管,并循环显示。
参考程序:
ORG 0000H
LJMPMAIN
ORG 0100H;主程序
MAIN:MOV A,#01H
LOOP:MOV P1,A
(5)C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容
(6)C51编译器从绝对地址8m+3处产生一个中断向量
(7)中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明
6.按给定的存储类型和数据类型,写出下列变量的说明形式。
(1)在data区定义字符变量val1。
char data varl;
DW 5567H,87H
(2000H)=01H;(2001H)=34H;(2002H)=61H;(2003H)=43H;
(2004H)=55H;(2005H)=67H;(2006H)=00H;(2007H)=87H;
8.编程实现将片外RAM的20H~30H单元的内容,全部移到片内RAM的20H单元的开始位置,并将原位置清零。
MOVDPTR,#1000H
MOVR2,#50
MOVR7,#00
MOVR6,#00
LOOP:MOVXA,@DPTR
ADDA,R6
MOVR6,A
Mபைடு நூலகம்VA,R7
ADDCA,#0
MOVR7,A
INCDPTR
DJNZR2,LOOP
SJMP$
10.编程实现R4R3R2,结果存放于R7R6R5中。
程序:
ORG0100H
0——外部中断0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4-9 试计算片内RAM区40H~47H单元中8个数据的平均值,结果存放在4Ah中;说明:先对8个数求和,结果放在30h,31h;然后用右移3次求平均。

ORG 0000HSJMP MAINORG 0030HMIAN: MOV R0,#40HMOV R1,#30HMOV 30H,#00HMOV 31H,#00HMOV R2,#8CLR CL1: MOV A,@R1ADDC A,@R0MOV @R1,AINC R0INC R1MOV A,@R1ADDC A,#00HMOV @R1,ADEC R1DJNZ R2,L1INC R1L2: MOV R2,#03HMOV A,@R1RRC AMOV @R1,AINC R1MOV A,@R1RRC AMOV @R1,ADEC R1DJNZ R2,L2DEC R1MOV 4AH,@R1SJMP $4-10 在起始地址为2100H,长度为64H的数表中查找ASCII码’F’,如果有,将其值送到1000H单元,如果没有,将0FFH送1000H单元.ORG 0000HSJMP MAINORG 0030HMAIN: MOV R2,#64MOV DPTR,#2100HL2: MOVX A,@DPTRCJNE A,#’F’,L1MOV DPTR,#1000HMOV A,#00HMOVX @DPTR,ASJMP LASTL1: INC DPTRDJNZ R2,L2MOV A,#0FFHMOVX @DPTR,ALAST: SJMP $4-11 试编写将片内40H~60H 单元中的内容传送到外部RAM以2000h为首地址的存放区域中,并将原数据全部清零。

ORG 0000HSJMP MAINORG 0030HMIAN: MOV R0,#40HMOV DPTR,#2000HMOV R1,#20HL1: MOV A,@R0MOVX @DPTR,AMOV @R0,#00HINC R0INC DPTRDJNZ R1,L1SJMP $4-12 编写,内部RAM50H‐59H 10个单元内容的平均值,并存放在5AH单元。

ORG 0000HSJMP MAINORG 0030HMIAN: MOV R1,#50HMOV 30H,#00HMOV 31H,#00HMOV R2,#0AHMOV 5AH,#00HL1: MOV A,@R1ADD A,@R1MOV 30H,AMOV A,#00HADDC A,31HMOV 31H,AINC R1DJNZ R2,L1MOV R3,31HMOV R2,30HMOV R4,#10ACALL DIV16_8MOV 5AH,R5SJMP $;*********************************; 除法子程序中;被除数(R3,R2),除数(R4),结果(R6,R5) ;*********************************DIV16_8: CLR AMOV R5,AMOV R6,ACLR PSW.5GAOWDIV: CLR CMOV A,R3SUBB A,R4JC LOOP2MOV R3,AINC R6SJMP GAOWDIV; MOV A,R6; ADDC A,#00H; MOV R6,ALOOP2: MOV R7,#08HDIWDIV: CLR C; MOV A,R5;RLC A;MOV R5,AMOV A,R2RLC AMOV R2,AMOV A,R3RLC AMOV R3,AMOV PSW.5,CCLR CSUBB A,R4JB PSW.5,DIWDIV1JC DIWDIV2DIWDIV1: MOV R3,AINC R2DIWDIV2: DJNZ R7,DIWDIVMOV A,R2MOV R5,ACLR PSW.5RET;********************************4-14 试编写内部RAM40H为首地址的连续20个单元的内容按降序排列,并存放到外部RAM 2000H为首地址的存储区中。

汇编程序:Size equ 20 ;数据个数Array equ 40h ;数据起始地址Change bit 0 ;交换标志ORG 0000HSJMP SortORG 0030HSort: MOV R0, #ArrayMOV R7, #Size-1CLR ChangeGoon: MOV A, @R0MOV R2, AINC R0MOV B, @R0CJNE A, B, NotEqualSJMP NextNotEqual:JC Next ;前小后大,不交换SETB Change ;前大后小,设交换标志XCH A, @R0 ;交换DEC R0XCH A, @R0INC R0Next:DJNZ R7, GoonJB Change, SortMOV R0, #ArrayMOV R7, #SizeMOV DPTR,#2000HL1: MOV A,@R0MOVX @DPTR,AINC ROINC DPTRDJNZ R7,L1LJMP $4-15 试编写一查表程序,从首地址为2000H,长度为16的数据快中找出ASCII码D,将其地址送到20A0H~20A1H单元中。

ORG 0000HSJMP MIANORG 0030HMAIN: MOV DPTR,#4000HMOV R0,#16-1L1: MOV A,R0MOVC A,@A+DPTRCJNE A,#43H,L2SJMP L3L2: DJNZ R0,L1SJMP LASTL3:ADD A,DPLMOV 30H,A ;结果暂存在31h,30hMOV A,#00HADDC A,DPHMOV 31H,AMOV DPTR,#20A0H ;结果存入到片外20A1h,20A0hMOV A,30HMOVX @DPTR,AINC DPTRMOV A,31HMOVX @DPTR,ALAST: SJMP $ORG 2000HDB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H4-16 试编写表程序,将存放在内部RAM起始地址为30h的20个十六进制数分别转换为相应的ASCII码,结果存入内部RAM起始地址为50h的连续单元中。

ORG 0000HSJMP MAINORG 0030HMAIN: MOV R0,#30HMOV R1,#50HMOV R2,#20LOOP:MOV A,@R0MOV DPTR,#TABMOVC A,@A+DPTRMOV @R1,AINC R1INC R0DJNZ R2,LOOPSJMP $TAB: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H程序,将存放在内部RAM起始地址为40H的N个ASCII码分别转化为相应的十六进制数,结果存入内部RAM起始地址为60H的连续单元中。

解答:N EQU 20HORG 0000HSJMP MAINORG 0030HMAIN: MOV R0,#40HMOV R1,#60HMOV R2,#NBCD1: MOV A,@R0ACALL HBCDMOV @R1,50HINC R0INC R1DJNZ R2,BCD1SJMP $HBCD: CJNE A,#30H,L1L1: JC LASTCJNE A,#40H,L2L2: JC L3CJNE A,#46H,L4L4: JC L5SJMP NONUML5: CLR CSUBB A,#36HMOV 50H,ASJMP LASTL3: CLR CSUBB A,#30HMOV 50H,ASJMP LASTNONUM: MOV 50H,#0FFHLAST: RET4-18 设在外部RAM 2000h~2014h单元中,存放有5个压缩BCD码,试编写程序将它们转换成ASCII码,存放在以2005H单元为首地址的存储区中。

ORG 0000HSJMP MAINORG 0030HMAIN: MOV R0,#40H ;压缩BCD码变成非压缩BCD码MOV R1,#5MOV DPTR,#2000HL1: MOVX A,@DPTRMOV 30H,AANL A,#0FHMOV @R0,AINC R0MOV A,30HSWAP AANL A,#0FHMOV @R0,AINC R0INC DPTRDJNZ R1,L1MOV R0,#40H ;40H存储区的非压缩BCD码转换成ASCII码,存放在以40H单元为首地址的存储区中。

MOV R1,#0AHMOV DPTR,#TABL2: MOV A,@R0MOVC A,@A+DPTRMOV @R0INC R0DJNZ R1,L2MOV DPTR,#2005H ;存放在2005H单元为首地址的存储区中。

MOV R1,#0AHMOV R0,#40HL3: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R1,L3SJMP $TAB: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,40H,41H,42H,43H,44H,45H。

相关文档
最新文档