单片机第四章答案
- 格式:docx
- 大小:53.87 KB
- 文档页数:9
第四章作业答案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章习题答案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.试用中断技术设计一发光二极管LED闪烁电路,闪烁周期为2s(方波)。
答:用定时器实现ORG 0000HAJMP STARTORG 00B0HAJMP INT-T0START MOV TMOD, #01HMOV TH0,#3CHMOV TL0,#0B0HMOV R0,#10SETB ET0SETB EASETB TR0SJMP $INT-T0:MOV TH0, #3CHMOV TL0,#0B0HDJNZ R0,END-PCPL P1.0MOV R0,#10END-P RETIEND7.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。
第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 章 单片机内部功能模块习题解答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。
单片机原理及应用第三版课后答案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) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。
第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地址范围的任何位置。
单片机原理及应用第四章课后题答案
1.什么是单片机?
单片机是一种微型、多功能的数字集成电路,其中集成了计算机的核心功能,包括存储器、定时/计数器、输入/输出外设、可编程逻辑电路、音频处理等功能。
它可以执行复杂的运算和控制任务,并且比传统的微机更小、更节能、更耐用。
2.简述单片机的结构特点
单片机的结构特点主要有:(1)内置处理器:单片机内置着微处理器,它完成程序控制和数据处理;(2)内存:内置存储器,用以存放程序指令和运算数据;(3)输入/输出口:接口用于连接外围设备;(4)时序功能:提供定时、定时/计数功能;(5)可编程逻辑电路:可根据用户要求定义自己的逻辑电路功能;(6)多种功能模块:可连接有多种功能的模块,如ADC、UART、I2C等。
3.谈谈单片机的应用领域
单片机的应用领域极其广泛,主要涉及家电、工控自动化、汽车、影音机顶盒、游戏机、消费类电子产品、工业控制、公共交通等。
其核心技术、节能和灵活性使其在各个领域有着重要的应用,使其成为近年来电子设备的重要组成部分。
4.什么是常用的单片机?。
《单片机原理与接口技术》习题解答第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的地址空间寻址要注意什么?答用直接寻址,寄存器寻址,位寻址。
单片机第四章习题答案选择题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。
第四章习题与思考答案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制。
每个中断源都对应有各自的中断屏蔽位,当中断屏蔽位为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)初值H213=200081926192Nx1830=-=-=(2)初值HF216=20006553663536Nx830=-=-=4-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 TH0,#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 T H1,#3CH ;计数器初始化MOV T L1,#0B0HMOV R1,#10HMOV R0,#70HMOV R2,#5 ;传送次数MOV R3,#02H ;定时两次,每次50msMOV IE,#88H ;开T1中断SETB TR1 ;启动T1计数器LOOP: SJMP $BRT1: MOV TH1,#3CH ;定时50msMOV TL1,#0B0HDJNZ R3,DONEMOV R3,#02HDJNZ R2,LOOPDCLR E T1 ;传送数据完毕,关闭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,采用偶校验(数据块长度不发送)。
主程序:RBLOCK DATA 2000HLEN DATA 30ORG 0000HLJMP STARTORG 0023HLJMP RXSVESTART: MOV TMOD, #20H ;T1为方式2 MOV TL1,#0E6H ;时间常数初值送T1MOV TH1,#0E6H ;波特率为600bpsMOV PCON,#00H ;SMOD=0SETB TR1 ;启T1MOV SCON,#50H ;串口方式1,允许接收MOV DPTR,#RBLOCK ;接收数块始址送DPTRMOV A,#LENMOV R2,A ;块长送R2SETB EA ;开所有中断SETB ES ;允许串口中断WAIT: SJMP WAIT ;等待中断ORG 0150HRXSVE: CLR ES ;关串口中断CLR RI ;清接收中断标志MOV A,SBUF ;读接收缓冲区中内容MOV C,P ;取出校验位JC ERROR ;若有错,则转ERRORANL A,#7FH ;无就删去校验位MOVX @DPTR,A ;送入接收缓冲区DJNZ R2,NEXT ;若接收未完,则NEXTCLR EA ;关所有中断NEXT: INC DPTR ;接收区指针加1SETB ESRETI ;中断返回ERROR: ……. ;出错ERRORRETIEND当PCON的值为80H时(SMOD=1),定时器初值应设TH1为0CCH,TL1为0CCH。