单片机第四章答案
单片机原理及应用第四章课后题答案
![单片机原理及应用第四章课后题答案](https://img.taocdn.com/s3/m/ef5f7618844769eae009eda4.png)
第四章作业答案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章
![单片机微型计算机原理及接口技术课后习题答案第4章](https://img.taocdn.com/s3/m/7d5108cef78a6529657d536a.png)
单片机微型计算机原理及接口技术课后习题答案第4章4-2 试述指令MOV A,R0和MOV A,@R0的区别两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOV A,R0 指令的源操作数就是R0寄存器的内容;而MOV A,@R0 指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。
4-3 试述指令MOV A,20H和MOV A,#20H的区别MOV A,20H 源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。
MOV A,#20H 源操作数是立即数寻址,#20H是立即数,也就是源操作数。
4-4 说明一下指令中源操作数所在的存储器类型。
(1)MOV A,#30H; 立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。
(2)MOV A,30H; 30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。
(3)MOVC A,@A+DPTR;源操作数是变址寻址, 助记符MOVC表示源操作数位于程序存储器。
(4)MOVX A,@DPTR; 源操作数是寄存器间接寻址, 助记符MOVX表示源操作数位于外部数据存储器。
4-5 判断下列指令书写是否正确:(1)MOV A,B; ✔(2)MOV A,#3000H ; ✘,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里(3)INC,#20H ; ✘只能INC A/direct/Rn/@Ri/DPTR(4)MOV 5,A ; ✔,注意目的操作数是直接寻址方式,不是立即寻址(5)MOV 30H,40H; ✔(6)MOV B,@DPTR ; ✘,@DPTR寻址用于MOVX指令,不能用于MOV指R(7)CJNE 30H,#80H,NEXT ; ✘,CJNE指令格式只能是CJNE A/Rn/@Ri,#data,rel或CJNE A,direct,rel(8)POP A ; ✘只能是直接寻址方式POP direct,正确的是POP ACC(9)PUSH ACC; ✔(10)SJMP 2000H ; ✘rel的范围是-128~127(用补码表示其值)共256B范围4-6 设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。
单片机第4章习题答案
![单片机第4章习题答案](https://img.taocdn.com/s3/m/fb9a2c05482fb4daa58d4be3.png)
第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单元。
北京交通大学单片机第4章参考答案
![北京交通大学单片机第4章参考答案](https://img.taocdn.com/s3/m/2a86d46fddccda38376bafb0.png)
3-5 指出下列指令中45H代表什么。
MOV A,#45HMOV A,45HMOV 45H,46HMOV C,45HMOV A,#45H中的45H代表立即数45H,该立即数为16进制。
MOV A,45H 中的45H代表直接地址45H单元。
MOV 45H,46H中的45H代表目的操作数所指定的单元为45H。
MOV C,45H中的45H代表45H位。
3-6 分析下列程序执行的结果。
(1)MOV A,#60HMOV R0,#40HMOV @R0, AMOV 41H, R0XCH A, R0执行结果为:(A)=40H(R0)=60H(40H)=60H(41H)=40H (2)MOV DPTR,#2003HMOV A,#18HMOV 20H,#38HMOV R0,#20HXCH A,@R0执行结果为:(DPH)=20H(DPL)=03H(A)=38H(20H)=18H(R0)=20H(3)MOV 20H,#01HMOV A,20HINC ACPL AMOV DPTR,#2000HMOVX @DPTR, A执行结果为:(20H)=01H(A)=FDH(DPTR)=2000H(2000H)=FDH3-8 按要求写出相应的指令。
(1)把寄存器R6的内容送到累加器A中。
(2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。
(3)清除内部RAM 3FH 单元的高4位。
(4)使累加器A的最低位置1。
(5)清除进位位。
(6)使ACC.4和ACC.5置1。
(7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。
(8)把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。
(1)MOV A,R6(2)MOV DPTR,#1000HMOVX A,@DPTRMOV R0,#30HMOV @R0,A(3)ANL 3FH,#0FH(4)ORL A,#01H(5)CLR C(6)ORL A,#30H(7)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(8)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV DPTR,#3000HMOVX @DPTR,A3-10 编写程序段完成如下要求。
单片机第四章习题答案
![单片机第四章习题答案](https://img.taocdn.com/s3/m/c6800676b307e87101f696d0.png)
第 4 章 单片机内部功能模块习题解答1. 什么是中断?中断有何优点?中断是指计算机在执行程序的过程中,由于计算机系统外界或内部发生某一紧急事件,要求CPU 暂时中止当前的工作转去处理所发生的紧急事件,待处理完后再回到原来被中止的地方,继续原来的工作的过程。
在计算机中引入中断技术具有以下优点:(1)可以提高CPU 的工作效率;(2)便于实时处理;(3)便于故障处理,提高系统的稳定性。
2. MCS-51单片机的中断系统有哪些功能部件组成?分别作什么用?MCS-51单片机的中断系统有4个与中断有关的特殊功能寄存器(TCON 、SCON ),中断允许控制寄存器IE ,中断优先级寄存器IP 和中断顺序查询逻辑等组成。
其功能分别为:TCON 用于寄存定时器T0、T1的溢出中断和外部0INT 、1INT 的中断请求及设置外部中断的触发方式;SVON 的低2位用于作串行发送和接收中断标志;IE 用于设置各中断源允许和禁止;IP 用于设置各中断源的优先级别;中断查询逻辑用于确定中断响应的次序。
3. MCS-51单片机有几个中断源?各中断标志如何产生,又如何清除?MCS-51有五个中断源,它们是:(1)外部中断0(0INT )中断,低电平有效。
通过P3.2引脚引入。
(2)外部中断1(1INT )中断,低电平有效。
通过P3.3引脚引入。
(3)定时/计数器0(T0)溢出中断。
(4)定时/计数器1(T1)溢出中断。
(5)串行口中断,当串行口完成一帧数据的发送和接收时,便请求中断。
中断标志位产生与复位:(1)外部中断0(0INT )中断标志:当外部中断0引脚0INT 上的电平由1变为0时,IE0由硬件置“1”,外部中断0请求中断。
在CPU 响应该中断时由硬件清0。
(2)外部中断1(1INT )中断标志:当外部中断1引脚1INT 上的电平由1变为0时,IE1由硬件置“1”,外部中断1请求中断。
在CPU 响应该中断时由硬件清0。
单片机第四章课后答案
![单片机第四章课后答案](https://img.taocdn.com/s3/m/c2f180f4a58da0116d174909.png)
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
单片机习题集答案(第四章)
![单片机习题集答案(第四章)](https://img.taocdn.com/s3/m/7e741362011ca300a6c39055.png)
第四章习题1、何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”?准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。
MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。
2、80C51单片机有几个定时/计数器?它们由哪几个功能寄存器组成?怎样实现定时功能和计数功能?80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。
通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。
3、定时/计数器T0有几种工作方式?各自的特点是什么?M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重置定时/计数器113两个8位定时/计数器(只有T0有)4、定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式的初值应是多少?有四种方式。
方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。
如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。
5、设振荡频率为12MHz,如果要用定时器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别是多少?只能选择方式1,初值为65536-50000=155366、何为同步通信?何为异步通信?各自的特点是什么?异步通信方式的特点是数据在线路上传送时是以一个字符(字节)为单位,未传送时线路处于空闲状态,空闲线路约定为高电平“1”。
特点是对发送时钟和接收时钟的要求相对不高,线路简单,但传送速度较慢。
同步通信方式的特点是数据在线路上传送时以字符块为单位,一次传送多个字符,传送时须在前面加上一个或两个同步字符,后面加上校验字符。
单片机第四章课后答案.
![单片机第四章课后答案.](https://img.taocdn.com/s3/m/3ab6c31c5901020207409cb1.png)
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引脚
单片机 第四章答案
![单片机 第四章答案](https://img.taocdn.com/s3/m/8dc8a67d1711cc7931b716e7.png)
LP1: JBC TF0 ,LP2
JB P3.2 , LP1
INC R0
;低电平到,停止定时器1,存储单元地址加1
SJMP LP0
;低电平到,停止定时器1 宽度
LP2: INC @R0
;存储溢出次数加1ms
MOV TH0,#0FCH ;定时1ms
MOV TL0,#18H SJMP LP1
INT1
INT1 为高时T1 开始计数
中断程序结构框架
20.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正 脉冲信号,晶振频率为12MHz。试设计程序。参照【例4-6】
解:因方式2是8位计数器,其最大定时时间为:256×1 s = 256 s,为实现1 s延时,
可选择定时时间为200 s,再循环5000次。定时时间选定后,可确定计数值为200,则定
时器0的初值为:X = M 计数值=256 200 = 56 。采用定时器0,方式2工作,因此,
TMOD =02H。
ORG 0000H
MOV TMOD,#02H ;置定时器0为方式2
MOV TH1,#56
;置定时器初值
MOV TL1,#56
CLR P1.0 MAIN: MOV R5,#50
;置20 ms计数循环初值 1s
②计算定时500us初值:方式0:X = 213 - 500 = 7692 = 1E0CH
ORG START:MOV
CLR CLR MOV MOV MOV SETB LOOP: JNB CLR MOV MOV INC CJNE MOV CPL JNB CPL SJMP END
0000H TMOD, #00H
ORG 0000H
START:MOV TMOD, #02H;定时器T0工作方式2
单片机四五章答案
![单片机四五章答案](https://img.taocdn.com/s3/m/e783ad050740be1e650e9a8f.png)
第三章1.在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。
答:A,PC,DPTR。
2.指令格式是由和组成,也可仅由组成。
答:操作码,操作数,操作码。
3.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器单元的内容送入累加器A中。
答:1031H。
4.在AT89C51单片机中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。
答:程序,数据。
5.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的。
答:地址。
6.已知程序执行前有(A) = 02H,(SP) = 52H,(51H) = FFH,(52H) = FFH。
下述程序执行后,(A) = ,(SP) = ,(51H) = ,(52H) = ,(PC) = 。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 4000HDB 10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H。
7.假定(A) = 83H,(R0) = 17H,(17H) = 34H,执行以下指令后,(A) = 。
ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=0CBH。
8.假设(A) = 55H,(R3) = 0AAH,在执行指令“ANL A,R5”后,(A) = ,(R3) = 。
答:(A)=00H,(R3)=0AAH。
9.如果(DPTR) = 507BH,(SP) = 32H,(30H) = 50H,(31H) = 5FH,(32H) = 3CH,则执行下列指令后,(DPH) = ,(DPL) = ,(SP) = 。
单片机第4章习题参考答案.docx
![单片机第4章习题参考答案.docx](https://img.taocdn.com/s3/m/bf14fa2f561252d381eb6e47.png)
第4章部分习题答案作业:7、8、9、10、11、15、17、19、204.7设内部RAM 20H单元有两个非零的BCD数, 编写求两个BCD数的积并把积送入21H单元的程序。
ORG 1000HMOV A, 20HMOV B, A ; 保存SWAP AANL A, #0FH ;取高4位ANL B, #0FH ;取低4位MUL ABMOV B, #0AHDIV AB ;转换成BCD码的形式SWAP AORL A, BMOV 21H, ASJMP $END4.8已知从内部RAM BLOCK单元开始存放有一组带符号数,数的个数存放在LEN单元。
编写可以统计正数和负数个数并分别存入NUM和NUM+1单元的程序。
num org lOOOh data 30hlen data 20hblock data 40hmov rO, #blockmov num, #00h ;保存正数个数mov b, #00h ;保存负数个数loop: mov a, @r0inc rOjb acc.7, neginc numsjmp nextneg: inc bnext: djnz len, loopmov num+1, bsjmp $end 4.9设X为一无符号数,存放在内部RAM的VAX 单元,Y存放在FUNC单元。
编写满足如下关系的程序:X X>50Y =(5X 50> X > 202X X<20org 2000hvax data 20hfunc data 30hmov a, vaxcjne a, # 32h, complcompl: jc nextlmov func, asjmp donenextl: cjne a, #14h、comp2comp2: jc next2mov b, #05hmul abmov func, asjmp donenext2: clr crlc amov func, adone: sjmp $end4.10在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范围的任何位置。
单片机课后习题答案(4~9章)
![单片机课后习题答案(4~9章)](https://img.taocdn.com/s3/m/ac340b20bcd126fff7050bb8.png)
《单片机原理与接口技术》习题解答第4章习题解答4-1.简述下列基本概念。
答指令:CPU根据人的意图来执行某种操作的命令。
指令系统:一台计算机所能执行的全部指令集合。
机器语言:用二进制编码表示,计算机能直接识别和执行的语言。
汇编语言:用助记符、符号和数字来表示指令的程序语言。
高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言。
4-2.什么是计算机的指令和指令系统?答见1题。
4-3.简述80C51汇编指令格式。
答操作码[目的操纵数][,源操作数]4-4.简述80C51的寻址方式和所能涉及的寻址空间。
答立即数寻址:程序存储器ROM。
直接寻址:片内RAM低128B和特殊功能寄存器。
寄存器寻址:R0~R7,A,B,C,DPTR。
寄存器间接寻址:片内RAM低128B,片外RAM。
变址寻址:程序存储器64KB。
相对寻址:程序存储器256B范围。
位寻址:片内RAM的20H~2FH字节地址,部分特殊功能寄存器。
4-5.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答 SFR:直接寻址,位寻址;片外RAM:寄存器间接寻址。
4-6.在80C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式及按顺序执行后的结果。
答 MOV A,40H 直接寻址MOV R0,A 寄存器寻址MOV P1,#0F0H 立即数寻址MOV @R0,30H 直接寻址MOV DPTR,#3848H 立即数寻址MOV 40H,38H 直接寻址MOV R0,30H 直接寻址MOV P0,R0 寄存器寻址MOV 18H,#30H 立即数寻址MOV A,@R0 寄存器间接寻址MOV P2,P1 直接寻址均为数据传送指令,结果(参见下图)为30H38H40H48H(18H)=30H,(30H)=38H,(38H)=40H (40H)=40H,(48H)=90HR0=38H,A=40H,P0=38H,P1=FOH,P2=FOH,DPTR=3848H 4-7.对80C51片内RAM高128B的地址空间寻址要注意什么?答用直接寻址,寄存器寻址,位寻址。
单片机第四章答案
![单片机第四章答案](https://img.taocdn.com/s3/m/9d7670add1f34693daef3ea5.png)
单片机第四章习题答案选择题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。
单片机原理及应用第2版课后答案第4章习题答案.
![单片机原理及应用第2版课后答案第4章习题答案.](https://img.taocdn.com/s3/m/7c00e96ba417866fb84a8e49.png)
第4章习题答案1.MCS-51系列单片机能提供几个中断源、几个中断优先级?各个中断源的优先级怎样确定?在同一优先级中,各个中断源的优先顺序怎样确定?答:MCS-51系列单片机能提供5个中断源,2个中断优先级。
各个中断源的优先级是由特殊功能寄存器IP来确定,IP中和各个中断源对应位为1时,此中断源为高优先级,否则为低优先级。
在同一优先级中,各个中断源的优先顺序是由自然优先级来确定的。
2.简述MCS-51系列单片机的中断响应过程。
答:MCS-51系列单片机的中断响应过程是按照以下顺序执行的:开中断-----中断请求------中断判断-------中断响应-------中断返回。
3.MCS-51系列单片机的外部中断有哪两种触发方式?如何设置?对外部中断源的中断请求信号有何要求?答:MCS-51系列单片机的外部中断有电平触发和边沿触发两种方式。
是由特殊功能寄存器TCON中IT0,IT1的状态确定的,如:IT0为1时外部中断0为边沿触发方式,当INT0外部引脚出现下降沿时向CPU提出中断请求,否则为电平触发方式,当INT0外部引脚出现低电平时向CPU提出中断请求。
4.MCS-51单片机中断响应时间是否固定?为什么?答:MCS-51单片机中断响应时间不固定,因为当中断源向CPU提出中断请求时,CPU 正在执行的指令的指令周期是不一样的。
5.MCS-51单片机如果扩展6个中断源,可采用哪些方法?如何确定它们的优先级?答:一般可采取中断加查询方式,软件先查询到的为高优先级,最后查询到的为低优先级。
6.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。
7.8051单片机有5个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。
单片机第4章参考答案
![单片机第4章参考答案](https://img.taocdn.com/s3/m/be7252da7f1922791688e868.png)
第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 70 78 7F E4 F6 D8 FD75 81 07 024.在编写子程序时应注意以下问题:(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=8050H 7.答:参考程序如下: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。
单片机第四章答案
![单片机第四章答案](https://img.taocdn.com/s3/m/ee56cbd30b4c2e3f5627632b.png)
第四章习题与思考答案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章](https://img.taocdn.com/s3/m/045dce30227916888486d7ab.png)
《单片机原理及应用》课后习题库第四章(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章单片机原理课后答案](https://img.taocdn.com/s3/m/edfd00a5453610661fd9f46e.png)
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
第4章《单片机原理与C51基础》赵丽清(课后习题及答案)
![第4章《单片机原理与C51基础》赵丽清(课后习题及答案)](https://img.taocdn.com/s3/m/5d85c8cd77a20029bd64783e0912a21614797f72.png)
第4章《单片机原理与C51基础》赵丽清(课后习题及答案)思考题:【4-1】说明伪指令的作用。
“伪”的含义是什么?常用伪指令有哪些,其功能如何?【4-2】解释下列术语:(1)手工编订(2)机器编订【4-3】下列程序段经汇编后,从1000h开始的各有关存储单元的内容是什么?org1000htab1equ1234htab2equ3000hdb0,1,4,5dwtab1,tab2,70h【4-4】设计子程序时应特别注意哪些问题?【4-5】试编写一个程序,将内部ram中45h单元的高4位清0,低4位置1。
【4-6】未知程序执行前存有a=02h,sp=42h,(41h)=ffh,(42h)=ffh。
下列程序执行后,a=();sp=();(41h)=();(42h)=();pc=()。
popdphpopdplmovdptr,#3000hrlamovb,amovca,@a+dptrpushaccmova,bincamovca,@a+dptrpushaccretorg3000hdb10h,80h,30h,80h,50h,80h【4-7】先行编写程序,搜寻在内部ram的30h~50h单元中与否存有0aah这一数据。
若存有,则将51h单元用为“01h”;若未找到,则将51h单元用为“00h”。
【4-8】试编写程序,查找在内部ram的20h~40h单元中出现“00h”这一数据的次数,并将查找到的结果存入41h单元。
【4-9】在内部ram的21h单元已经开始存一组单字节并无符号数,数据长度为20h,编写程序,建议找到最大数取走max单元。
【4-10】若sp=60h,标号label所在的地址为3456h。
lcall指令的地址为2000h,执行如下指令:2000hlcalllabel后,堆栈指针sp和堆栈内容发生了什么变化?pc的值等于什么?如果将指令lcall 直接换成acall是否可以?如果换成acall指令,可调用的地址范围是什么?【4-11】若80c51的晶振频率为6mhz,试计算延时子程序的延时时间?delay:movr7,#0f6;1个机器周期lp:movr6,#0fa;1个机器周期djnzr6,$;2个机器周期djnzr7,lp;2个机器周期ret;2个机器周期【4-12】撰写子程序,将r1中的2个十六进制数切换为ascii后取走r3和r4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章习题与思考答案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口使用。
P0口的第二功能是作为地址(低8位地址)/数据总线的复用口。
2.P1口P1口的第一功能是作为通用I/O口使用3.P2口P2口的第一功能是通用I/O口P2口的第二功能是作为地址总线,输出高8位地址信号,与P0口输出的低8位地址组合,共同完成外部存储器单元16位地址信号的输出。
4.P3口P3口的第一功能是通用I/O口,且各引脚有不同的第二功能。
4.8 中断处理的过程是怎样的?所谓中断是指CPU在正常执行程序的过程中,由于某种随机发生的事件使它暂停当前正在执行的程序,转而去执行另外的一段程序(中断服务程序),在这段程序完成后自动返回被打断的程序处继续执行的过程。
CPU与外设之间一个完整的可屏蔽中断传输过程包括:中断请求、中断响应、中断处理和中断返回。
4.9 8051单片机有几个中断源?各自对应的中断标志是什么?对应的中断服务子程序入口地址是什么?IE寄存器的作用是什么?8051单片机提供5个中断源,其中2个外部中断,2个定时器/计数器中断,1个串行口中断。
外部中断INT0/ INT1以各自引脚上输入低电平或负跳变信号作为中断触发事件。
当检测到外部中断请求时,外部中断的标志IE0/IE1被置为1定时器/计数器中断是由8051内部的定时器/计数器计满溢出产生的。
T0或T1计满溢出时,中断标志TF0或TF1被置1.串行口中断包括发送中断和接收中断, 当串行口接收完一组数据时,串行口接收中断标志RI被置 1; 当串行口发送完一组数据时,串行口发送中断标志TI被置 1。
IE寄存器:通过中断允许寄存器IE可以对中断实现两级控制。
每个中断源都对应有各自的中断屏蔽位,当中断屏蔽位为1时允许中断,当中断屏蔽位为0时禁止中断;IE寄存器还有一个总中断允许位EA,对整个中断系统进行开中断或关中断的控制。
4-10 MCS-51单片机的中断系统有几级中断优先级?IP寄存器的作用是什么?2级:高级中断优先级和低级中断优先级。
IP寄存器是中断优先级寄存器,用于选择各个中断源的中断优先级。
其各位的定义参见图4-12。
4-11 MCS-51单片机中断响应的条件有哪些?如何进行中断响应的操作?✧当前没有同级或高优先级的中断正在被服务。
✧CPU应保证执行完当前正在执行的指令。
✧如果当前正在执行的指令是RETI或任何访问IE、IP寄存器的指令,则应至少再执行一条其他指令。
中断响应条件满足时,硬件系统产生一个硬件长调用LCALL。
硬件长调用LCALL操作将当前程序计数器PC的值推入堆栈保存起来,并将不同中断源对应的中断入口地址转入PC。
4-12 MCS-51单片机内部定时器有几种工作方式?如何通过定时器方式控制寄存器进行设置?工作方式控制寄存器TMOD用来设定定时器/计数器T0和T1的工作方式。
其中M1M0两位可以选择4种方式:方式0、方式1、方式2和方式3。
具体设置的方法见图4-18。
4-13试比较MCS-51内部定时器在4种工作方式下的异同。
方式0是13位计数器方式,以T0为例,13位计数器由TH0的8位和TL0中的低5位组成,TL0的高3位不用,当计数器计满溢出时,由硬件将TF0标志置1。
由C/T控制位选择作为定时器还是计数器工作。
当GATE=0时,只要TR0置位,定时器即开始工作;当GATE=1时,TR0置1后,只有INT0上出现高电平信号时,T0才开始工作。
方式1是16位计数器方式,由TH0的8位与TL0的8位组成16位计数器,其它工作过程与方式0相同。
方式2是8位自动重装载计数器方式。
在计数器计满溢出时,可以自动重新装入计数初值,循环计数。
而方式0和方式1都不具备自动重装载的功能。
T0和T1的以上3种方式是完全相同的,而方式3下T0和T1是不相同的。
如果设置T1为方式3,则T1停止工作。
T0设置为方式3作为两个独立的8位计数器工作。
4-14设单片机时钟为12MHz,请分别计算定时器工作在方式0和方式1时定时2ms所需要的定时器初值。
(1)初值H-=-==8192Nx183061922000213=(2)初值H-==-=216=65536Nx830635362000F4-16 设单片机时钟为12MHz ,请利用定时器T0编出令P1.0引脚输出2ms 的矩形波程序,要求占空系数为1:2(高电平时间短)。
高电平: 2ms/3=667μs初值: 162655366676486965x N FD H =-=-==低电平: 20006671333s s s μμμ-=初值: 162655361333642030x N FACBH =-=-==ORG 0000HAJMP MAINORG 000BHAJMP T0INTMAIN: MOV TMOD,#01H ;T0选择工作方式1,16位定时器MOV T H0,#0FDH ;初始化T0值MOV TL0,#65HMOV IE,#82H ;开T0中断SETB TR0 ;启动T0定时器SJMP $T0INT: MOV C,P1.0JC NEXT ;判断P1.0的高低电平MOV TH0,#0FDH ;P1.0为低则装入高电平的初始值MOV TL0,#65HSJMP COMNEXT: MOV TH0,#0FAH ;P1.0为高则装入低电平的初始值MOV TL0,#0CBHCOM: CPL P1.0RETIEND4-17 已知8051单片机内部RAM 中以10H 为起始地址的数据区有50个字节,要求每隔100ms 向内部RAM 中以70H 为起始地址的数据区传送10个字节,通过5次传送完毕。
要求采用定时器T1定时,单片机时钟为12MHz ,请编写程序。
定时器50ms,循环2次可得100ms,设定初值3CB0HORG 0000HAJMP MAINORG 001BHAJMP BRT1MAIN: MOV TMOD #10H ;T1选择工作方式1,16位定时器MOV TH1,#3CH ;计数器初始化MOV TL1,#0B0HMOV R1,#10HMOV R0,#70HMOV R2,#5 ;传送次数MOV R3,#02H ;定时两次,每次50msMOV IE,#88H ;开T1中断SETB T R1 ;启动T1计数器LOOP: SJMP $BRT1: MOV TH1,#3CH ;定时50msMOV TL1,#0B0HDJNZ R3,DONEMOV R3,#02HDJNZ R2,LOOPDCLR ET1 ;传送数据完毕,关闭T1中断SJMP DONELOOPD: MOV R4,#10 ;每次传10个字节LOOP1: MOV A,@R1MOV @R0,AINC R1INC R0DJNZ R4,LOOP1DONE: RETIEND4-18 异步通信和同步通信的主要区别是什么?MCS-51串行口有没有同步通信功能?异步通信是字符帧通信通信原理:(1) ........................................... 发送/接收端有两个相互独立时钟源;(2) ........................................... 接收端检测到RXD线的低电平(起始位)接收端便知发送端已开始发送。
同步通信靠同步头通信通信原理:接收端检测RXD线上有同步头便知对方已开始发送。
MCS-51串行口无同步通信功能。
4-21 串行通信有哪几种制式?各有什么特点?通信方式可分为:单工通信、半双工通信与全双工通信。
(1) ........................................... 单工通信只支持数据在一个方向上传输(2) ........................................... 半双工通信允许数据在两个方向上传输,但在同一时刻,只允许数据在一个方向上传输(3) ........................................... 全双工通信允许数据同时在两个方向上传输,即通信的双方可以同时发送和接收数据。
4-24 MCS-51串行口工作方式有哪4种?如何设定?串行口的工作方式有方式0、方式1、方式2和方式3四种工作方式。
方式0:在方式0下,方式0时SM2位必须为0。
其波特率是固定的,为/12f。
osc方式1:在方式1下,串行口为10位通用异步接口。
方式2:在方式2下,串行口为11位通用异步接口。
先根据通信协议用软件设置TB8。
其信息传送波特率与SMOD有关。
方式3:方式3为波特率可变的11位异步通信方式。
4-26 请用中断法编出串行口方式1下的接收程序。
设8051单片机主频为6MHz,波特率为600b/s,接收数据缓冲器在外部RAM,起始地址为RBLOCK,接收数据区长度为30,采用偶校验(数据块长度不发送)。