已知8051单片机引脚图的fosc=12MHz,要求串行口工作于工作方式1下,波特率为9600

第5章练习题答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第5章练习题答案
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢1、试编写一段对中断系统初始化的程序,使之允许I;2、复位后,跳过中断区,重新设置堆栈,并将工作寄;3、以中断方法设计单片机秒、分脉冲发生器,假定P;4、试用中断方法,设计秒、分脉冲发生器;5、试用中断技术设计一个秒闪电路,其功能是发光二;第七章定时器/计数器一、填空题:;1、当定时器T0工作在方式3时,要占用定时器T1;①80C51的作串行接口方式1和方式
1、试编写一段对中断系统初始化的程序,使之允许INT0,INT1,T0,串行接口中断,且使T0中断为高优先级中断。 2、复位后,跳过中断区,重新设置堆栈,并将工作寄存器切换至3区。 3、以中断方法设计单片机秒、分脉冲发生器,假定P1.0每秒钟产生一个机器周期的正脉冲,P1.1每 分钟产生一个机器的正脉冲。 4、试用中断方法,设计秒、分脉冲发生器。 5、试用中断技术设计一个秒闪电路,其功能是发光二极管LED每秒闪动400ms。主机频率为6MHZ。
第七章 定时器 / 计数器 一、填空题: 1、当定时器T0工作在方式3时,要占用定时器T1的TR1和
两个控制位。 2、定时器和串行接口 ①
作串行接口方式1和方式3的波特率发生器.
8052除可用
外,尚可用T2作其串行接口方式1和方式3的波特率发生器. ③
若8031AH的fosc=12MHZ,则其两个定时器对重复频率高于
MHZ的外部事件是不能正确记数的。 ④
在定时器T0运作模式3下,TH0溢出时,
标志将被硬件置1去请求中断。 ⑤
在运作模式3下,欲使TH0停止运作,应执行一条CLR
在多机通信中,若字符传送率为100B/s,则波特率等于
在多机通信中,主机发送从机地址呼叫从机时,其TB8位为
;各从机此前必须将其SCON中的REN位和
位设置为1。
二、简答题: 1、定时器模式2有什么特点?使用与什么应用场合? 2、单片机用内部定时方式产生频率为100KHz等宽矩形波,假定单片机的晶振频率为12MHz ,请编程实现。 3、8051定时器有哪几种工作模式?有何区别? 4、8051单片机内部设有几个定时器/计数器?它是由哪些特殊功能寄存器组成?
5、定时器用做定时器时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制? 6、简述定时器4种工作模式的特点,如何选择设定? 7、当T0用作模式3时,由于TR1位已被T0占用,如何控制T1的开启和关闭? 8、以定时器/计数器1进行外部事计数,每计数1000个脉冲后,定时器/计数器1转为定时工作制,定时10ms后又转为计数方式,如此循环不止。假定fosc为6MHZ,用模式1编程。 9、一个定时器的定时时间有限,如何实现两个定时器的串行定时以满足较长定时时间的要求? 10、使用一个定时器,如何通过软硬件结合方法实现较长时间的定时? 11、8051定时器作定时和计数时其计数脉冲分别由谁提供? 12、 8051定时器的门控信号GATE设置为1时定时器如何启动? 13、当定时器T0工作于模式3进,如何使运行中的定时器T1停止下来?
四、计算题: 1、已知8051单片机的fosc=6MHz,利用T0和P1.0输出矩形波,矩形波高电平宽50us,低电平宽300us。 2、单片机8031的时钟频率为6MHz,若要求定时为0.1ms、1ms、10ms,定时器工作在模式0、模式1、模式2、,其定时器初值各应是多少? 3、8051单片机的定时器在何种设置下提供3个8位计数器/定时器?这时。定时器1可作为串行接口波特率发生器。若波特率按1600b/s,4800b/s,1200b/s,600b/s,100b/s来考虑,则此时可选用的波特率是多少?(允许存在一定误差。)设fosc=12MHz.。 4、设fosc=12MHz,试编写程序,功能为:对定时器T0初始化,使之工作在模式2产生200us定时,并用查询T0溢出标志的方法控制P1.0输出2ms周期方波。 5、在P1.0引脚接一驱动放大电路驱动扬声器,利用T1产生1000Hz的音频信号从扬声器输出。 设fosc=12MHz。 6、已知89C51单片机系统时钟频率为6 MHz,利用定时器T0使P1.2每隔350
输出一个50
脉宽的正脉冲。 7、晶振fosc=6MHZ,T0工作在模式1,最大定时=? 8、已知8051单片机的fosc=12MHz用T1定时。试编程由P1.0和P1.1引脚分别输出周期为2ms和500us的方波。
五、编程题: 1、试编制一段程序功能为:当P1.2引脚的电平上跳时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平下跳时停止计数,并将数值写入R6、R7。 2、利用89C51的T0计数,每计10个脉冲,P1.0变反一次,用查询和中断两种方式编程。
第八章 串行接口 一、填空题: 1、要串口为10位UART,工作方式应选为
。 2、用串口扩并口时,串行接口工作方式应选为方式
。 3、在串行通信中,有数据传送方向
三种方式。 4、MCS―51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器
加以选择。 5、异步串行数据通信的帧格式由
位组成。 6、异步串行数据通信有
共三种传送方向形式。 7、使用定时器T1设置串行通信的波特率时,应把定时器T1设定为工作模式
二、单选题: 1、控制串形接口工作方式的寄存器是(
TMOD 2、当MCS-51进行多机通信时,串行接口的工作方式应选择(
(A)方式0
(B)方式1
(C)方式2
(D)方式0或方式2 3、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(
(A)读锁存器
(B)读数据
(C)读A累加器
(D)读CPU 4、MCS-51的并行I/O口读-改-写操作,是针对该口的(
(B)片选信号
(C)地址线
(D)内部锁存器
三、判断并改正: 1、要进行多机通信,MCS-51串行接口的工作方式应选为方式1。(
) 2、使用可编程接口必须初始化。(
) 3、MCS-51的串行接口是全双工的。(
四、简答题: 1、串行数据传送的主要优点和用途是什么? 2、什么是串行异步通信,它有哪些特征? 3、80C51单片机的串行接口由哪些功能部件组成?各有什么作用? 4、简述串行接口接收和发送数据的过程。 5、80C51串行接口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定? 6、80C501中SCON的SM2、TB8、RB8有何作用? 7、为什么定时器T1用作串行接口波特率发生器时,常选用工作模式2?若已知系统时钟频率发生器和通信用的波特率,如何计算其初值? 8、简述单片机多机通信的原理。 9、串行通信的总线标准是什么?有哪些内容? 10、80C51单片机4种工作方式的波特率应如何确定?
五、计算题: 1、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少? 2、若晶振为11.0592MHZ,串行接口工作方式1,波特率为4800b/s。写出用T1作为波特率。写出用T1作为波特率和通信用的波特率的模式字和计数初值。 3、定时器T1设置成模式2作波特率发生器,已知fosc=6 MHz,求可能产生的最高和最低的波特率。 5、串行接口在方式1和方式3时,其波特率与fosc、定时器T1工作模式2的初值及SMOD位的关系如何?设fosc =6MHz,现利用定时器T1工作模式2产生的波特率为110b/s,试计算出定时器初值。
六、编程题: 1、请编制串行通信的数据发送程序,发送片内RAM 50H~5FH的16B 数据,串行接口设定为方式2。设晶振频率为6MHz。 2、请编制串行通信数据接收程序,将接收的16B数据送入片内RAM58H-5FH单元中。串行接口设定为工作方式3,波特率为1200波特,fosc=6MHz. 3、在89C51片内RAM20H---3FH单元中有32B数据,若采用方式1进行串行通信,波特率为1200波特,fosc=12MHZ,用查询和中断两种方式编写发送/接收程序。 4、设fosc=11.0592 MHz,试编写一段程序,其功能为对串行接口初始化,使之工作与方式1,波特率为1200b/s,并用查询串行接口状态的方法,读出接收缓冲器的数据并回送到发送缓冲器。 5、以80C51串行接口按工作方式1进行串行数据通信。假定波特率为1200,以中断方式传送数据。请编写全双工通信程序。 6、以80C51串行接口按工作方式3进行串行数据通信。假定波特率为1200b/s,第9数据位作奇偶校验位,以中断方式传送数据。请编写通信程序。 7、设计一个单片机的双机的通信系统,并编写通信程序。将甲单片机内RAM30H~3FH存槠区的数据块通过串行接口传送到乙机片内 40H~4FH存储区去。 8、设A、B两89C51单片机采用方式1通信,波特率4800 b/s ,A机发送0,1,2,……,1FH,B机接收存放在片内RAM以20H为首地址的单元,试编写A、B两机的通信程序(两机的fosc=6MHz)。
9、A、B两89C51单片机组成双机通讯系统,以串行通讯方式3进行数据通讯,波特率为9600b/s。A机发送,B机接收,将A机片外RAM FH中的数据块传送到B机片外RAM 2000H开始的单元中去,请用查询方式编写程序。
第九章MCS―51系统扩展技术 一、填空题: 1、12根地址线可寻址
KB存储单元。 2、写8255A控制字时,需将A1、A0置为
。 3、MCS―51机扩展片外I/O口占用片外
存储器的地址空间。 4、MCS―51单片机访问片外存储器时,利用
信号锁存来自
口的低8位地址信号。 5、12根地址线可选
个存储单元,32KB存储单元需要14根地址线。 6、三态缓冲寄存器输出端的“三态”是指
态。 7、74LS138是具有3个输入的译码芯片,其输出作为片选信号时,最多可以选中
块芯片。 8、74LS138通常用来作为简单
接口扩展;而74LS244则常用来作简单输入接口扩展。 9、A/D转换器的作用是将
量;D/A转换器的作用是将
量。 10、A/D转换器的三个最重要指标是
。 11、从输入模拟量到输出稳定的数字量的时间间隔是A/D转换器的技术指标之一,称为
。 12、若某8位D/A转换器的输出满刻度电压为+5V,则该A/D转换器的分辨率为
二、单选题: 1、用 MCS-51串行接口扩展并行I/O口时,串行接口工作方式应选择(
) (A) 方式0
(B)方式1
(C)方式2
(D)方式3 2、使用8255可以扩展出I\\O口线是(
32根 3、当8031外扩程序存储器8KB时,需使用EPROM 2716(
(D)5片 4、.74LS138芯片是(
(A)驱动器
(B)译码器
(C)锁存器
(D)编码器 5、MCS-51外扩8255时,它需占用(
)端口地址。
三、判断并改正: 8155的复位引脚可与89C51的复位引脚直接相连。(
四、简答题: 1、单片机用于外界过程控制中,为何要进行A/D、D/A转换? 2、具有8位分辨率的A/D转换器,当输入0V~5V电压时,其最大量化误差是多少?、 3、A/D转换芯片中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么? 4、简述单片机系统扩展的基本原则和实现方法。 5、8031的P0口是否可无限多的扩展74LS273芯片?如不够,如何解决多片扩展问题? 6、说明8155的内部结构特点。 7、8155有哪几种工作方式?怎样进行选择? 8、在80C51扩展系统中,程序储存器和数据存储器共用16位地址线和8位数据线,,为什么两个存储空间不会发生冲突? 9、为什么当P2作为扩展存储器的高8位地址后,不再适宜作通用I/O口了? 10、8255有哪几种工作方式?怎样选择其工作方式? 11、8155有哪几种工作方式?怎样进行选择? 12、说明8155工作方式控制字的作用及各位的功能。 13、什么是D/A转换器?简述T形电阻网络转换器的工作原理。 14、波特率、比特率和数据传送速率的含意各是什么? 15、8051单片机如何访问外部ROM及外部RAM?
16、试用Intel 为8031单片机设计一个存储器系统,它具有8K EPROM(地址由0000H~1FFFH)和16K的程序、数据兼用的RAM存储器(地址为2000H~5FFFH)。具体要求:画出该存储器系统的硬件连接图。 17、8255A,8155分别有哪几种工作方式?怎样进行选择? 18、试编程对8155进行初始化。设A口为选通输出,B口为基本输入,C口作为控制联络口,并启动定时器/计数器按方式1工作,定时时间为10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fosc=12MHZ。 19、在一个8031应用系统中扩展一片2764,一片8155和一片6264。试画出其系统框图,并指出所扩展的各个芯片的地址范围
五、分析题: 1、以8031为主的系统拟采用2片2764EPROM芯片扩展16KB程序存储器,请设计出硬件连接图。 2、请利用译码器74HC138设计一个译码电器,分别选中4片2764,且列出各芯片所占的地址空间范围。 3、编程对8255进行初始化,使其A口按方式0输入,B口按方式1输出,C口上半部按方式0输出,C口下半部按方式1输入。 4、说明8155的内部结构特点,其定时器/计数器与80C51内部的定时器/计数器有何异同? 5、试编程对8051进行初始化,使其A口为选通输出,B口为基本输入,C口作为控制端,并启动定时器/计数器,按方式1定时工作,定时时间为10ms,输入时钟频率为500KHz。 6、说明I2C、SPI两种串行总线接口的传输方法。它们与并行总线相比各有什么优缺点?
六、编程题: 1、8255A控制字地址为300FH,请按:A口方式0输入,B口方式1输入,C口高位输出、C口低位输入,确定8255A控制字并编初始化程序。 2、试用DACO832芯片设计单缓冲方式的D/A转换接口电路,并编写两个程序,分别使DAC0832输出负向锯齿波和15个正向阶梯波。 3、试设计ADC0809对1路模拟信号进行转换的电路,并编制采集100个数据存入89C51的程序。 4、用单片机89C51设计一个两位LED动态显示电路,并编程使其输出显示数字8。 5、现有一蜂鸣器,用89C51设计一系统,使蜂鸣器周而复始地响20ms,停20ms。请编程序。 6、设计一个有4个独立式按键的键盘接口,并编写键扫程序。 7、使用89C51片内定时器编一个程序,从P1.0输入50Hz的对称方波(fosc=12MHz)。 8、设计一个TpuP-401A的打印机接口,将打印缓冲区中从20Hz开始的10B数据输到打印机,编写程序。 9、用传送带送料,已知原料从原料口到料口的时间为20ms,卸料时间为10ms。设计一个控制系统,使传送带不间断的供料。 10、试变成对8155进行初始化,设A口为选通输出,B口选通输入,C口作为控制联络口,并启动定时器/计数器按方式1工作,工作时间我10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fosc=12MHZ。 11、画出由一片80C32 CPU、一片27128EPROM、一片6462 SRAM组成的单片机应用系统,要求给出有关信号的连接及各自的存储空间地址范围。
三亿文库3y.uu456.com包含各类专业文献、外语学习资料、专业论文、文学作品欣赏、幼儿教育、小学教育、行业资料、应用写作文书、各类资格考试、中学教育、35单片机模拟试题库等内容。 
 单片机期末考试试题库试题 1 一、填空题(25 分,每空 1 分) 1. 2. 3. ...DAC0832 的应用电路,DA 转换时数字量 FFH 与 00H 分别对应于模拟量+5V 与 ...  单片机试题4 暂无评价 5页 免费单​片​机​考​试​题​库 ...执业医师实践技能考试模拟试题©2014 Baidu 使用百度前必读 | 文库协议...  单片机模拟试题以及测验答案_信息与通信_工程科技_专业资料。单片机模拟试题答案可在上面查找 第二章 单片机硬件结构测试 1、AT89S51 单片机都集成了哪些功能部件? ...  单片机模拟试卷 001 一、选择题(每题 1 分,共 ...51单片机期末试题 30页 免费
超全――含答案~~~...单片机考试题库 19页 1下载券 ©2015 Baidu 使用...  中国海洋大学单片机考试题库 中国海洋大学单片机模拟试卷 1 一、填空题(每空格 ...单片机试题库1 32页 2下载券
单片机分章试题库 31页 1下载券 喜欢...  单片机原理及应用模拟试题_工学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档单片机原理及应用模拟试题_工学_高等教育_教育专区。一、选择题 1.单片机...  51单片机考试试题带答案_从业资格考试_资格考试/认证_教育专区。51单片机考试试题带答案单片机原理及应用试卷 A 题号 得分 一 二 三 四 五 六 七 八 九 总分 ...  单片机期末考试模拟试题与参考答案_建筑/土木_工程科技_专业资料。单片机期末考试试题 01、单片机是将微处理器、一定容量的 RAM 和 ROM 以及 I/O 口、定时器等...单片机原理及应用试题
10:33:26&&&来源:diangon &&
可采用双重循环实现冒泡法排序,外循环控制进行比较的次数,内循环实现依次比较交换数据。
程序如下:
ORG&&&&&&&&&&&&&&&&&& 0000H
BLOCK&&&& EQU&& 30H&&&&&&&&&&&&&&&&&& ;设BLOCK为30H单元&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&& MOV&&&&&&&& R7,& #9H&&&&&&&&& ;设置外循环计数器
NEXT:&&&&& MOV& A,&& R7
MOV& 80H,& A&&&&&&&&&
&&&&&&&&&&&&&&&&& MOV& R6,&& A&&&&&&&&&&&&&& ;设置外循环计数器
&&&&&&&&&&&&&&&&& MOV& R0,& #30H&&&&&&&&&&&& ;设置数据指针
COMP:&&&&& MOV& A,& @R0
&&&&&&&&&&&&& MOV& R2,& A
&&&&&&&&&&&&& INC&&& R0
&&&&&&&&&&&&& CLR C
&&&&&&&&&&&&& SUBB& A,& @R0
&&&&&&&&&&&&& JC&&& LESS
&&&&&&&&&&&&& MOV&&&&&&& A,& R2
&&&&&&&&&&&&& XCH&&&&&&&& A,& @R0
DEC&&&&&&& R0
&&&&&&&&&&&&& MOV&&&&&&& @R0,& A
&&&&&&&&&&&&& INC&&&&&&&& R0
LESS:&&&&&&& DJNZ&&&&&&&& R6,COMP&&&&&&&&&& ;(R6)-1不等于0,转COMP继续内循环
MOV&&&&&&&& R0,#30H&&&&
&&&&&&&&&&&&& DEC&&&&&&&& 80H
MOV&&& R6,& 80h
&&&&&&&&&&&&& DJNZ&&&&&&& R7,&& COMP
&&&&&&&&&&&&& RET
&&&&&&&&&&&&& END
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个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。问以下几种中断优先级顺序的安排(级别由高到低)是否可能?如可能,则应如何设置中断源的中断级别?否则,请叙述不可能的理由。
(1)定时器0,定时器1,外中断0,外中断1,串行口中断。
可能。其中:定时器0,定时器1为高优先级。
(2)串行口中断,外中断0,定时器0,外中断1,定时器1。
可能。其中:串行口中断为高优先级。
(3)外中断0,定时器1,外中断1,定时器0,串行口中断。
(4)外中断0,外中断1,串行口中断,定时器0,定时器1。
可能。其中:外中断0,外中断1,串行口中断为高优先级。
(5)串行口中断,定时器0,外中断0,外中断1,定时器1。
(6)外中断0,外中断1,定时器0,串行口中断,定时器1。
(7)外中断0,定时器1,定时器0,外中断1,串行口中断。
可能。其中:外中断0,定时器1为高优先级。
第5章习题答案
1.8051定时器/计数器有哪几种工作模式?各有什么特点?
答:8051定时器/计数器有0,1,2,3四种工作模式。模式0为13位1定时器/计数器,模式1为16位1定时器/计数器,模式2为自动赋初值的8位定时器/计数器,模式3可以增加一个8位定时器(T1没有模式3)。
2.8051定时器作定时和计数时,其计数脉冲分别由谁提供?
答:8051定时器作定时器时,输入的记数脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器可看作是对单片机机器周期的计数器。8051定时器作计数器时,则对外部事件进行计数。
3.8051定时器的门控信号GATE为1时,定时器如何启动?
答:8051定时器的门控信号GATE为1时,只有 (或 )引脚为高电平且TR0(或TR1)置1时,相应的T0或T1才能选通工作。
4.定时器/计数器0已预置为156,且选定用于模式2的计数方式,现在T0引脚上输入周期为1ms的脉冲,问:
(1) 此时定时器/计数器0的实际用途是什么?
(2) 在什么情况下,定时器/计数器0溢出?
答:(1)此时定时器/计数器0的实际用途是0。1S脉冲信号发生器。
&& (2)当T0每记数100次后定时器/计数器0溢出。
5.设fosc=12MHz,定时器0的初始化程序和中断服务程序如下:
MAIN:&&&&& MOV&&&&&&& TH0, #9DH
MOV&&&&&&& TL0, #0D0H
MOV&&&&&&& TMOD, #01H
SETB&&&&&&& TR0
&&&&&&&&&&&&&&&&&&&&&&&&&& &
中断服务程序:
MOV&&&&&&& TH0, #9DH
MOV&&&&&&& TL0, #0D0H
问:(1) 该定时器工作于什么方式?
&&& (2) 相应的定时时间或计数值是多少?
答:(1)该定时器以模式1工作于定时方式。
&& (2)相应的定时时间为25。136ms.
6.8051单片机的fosc=6MHz,如果要求定时时间分别位0.1ms和5ms,当T0工作在模式0、模式1和模式2时,分别求出定时器的初值。
答:(1)定时时间分别位0.1ms时:模式0初值为8142、模式1初值为65486,模式2初值206。
&& (2)定时时间分别位5ms时:模式0初值为5692、模式1初值为63036,模式2此时定时时间不够。
7.以定时器1进行外部事件计数,每计数1000个脉冲后,定时器1转为定时工作方式。定时10ms后,又转为计数方式,如此循环不止。设fosc=6MHz,试用模式1编程。
解:先确定T1作为计数器时初值为:6H)
&&&&&&&&& T1作为定时器时初值为:6H)
&&& 程序:SETB& TR1
& LOOP: MOV& TMOD,#50H&
&&&&&&&&& MOV& TH1,#0FCH&
&&&&&&&&& MOV& TL1,#68H
& AA :& JBC&& TF1,AA
&&&&&&&&& MOV& TMOD,#10H
&&&&&&&&& MOV& TH1,#0E0H
&&&&&&&&& MOV& TL1,#78H
& BB:&& JBC&& TF1,BB
&&&&&&&&& SJMP& LOOP
&&&&&&&&& END&&&&&&&&&
8.已知8051单片机的fosc=6MHz,试利用T0和P1.0输出矩形波。矩形波高电平宽100&s,低电平宽300&s。
解:先确定 T0作为定时器工作于模式2时初值为:高电平为50,低电平为150。
采用中断方式编程。
&&&&& ORG&& 0000H
&&&&& AJMP& MAIN
&&&&& ORG&& 001BH
&&&&& AJMP& TIM0
&&&&&&&&& ORG&& 0030H
&MAIN:& MOV& SP,#30H&&&&&&&&&& ; 设置栈底
&&&&&&&&& MOV& TMOD,#02H
&&&&&&&&& MOV& TL0,#50
&&&&&&&&& MOV& IE,#82H
&&&&&&&&& SETB&& P1.0
&&&&&&&&& SETB&& TR0
&&&&&&&&& SJMP&& $
&&&&&&&&& ORG&& 0100H
&TIM0:&&& JNB& P1.0, AA
&&&&&&&&& CLR& P1.0
&&&&&&&&& MOV& TL0,#150
&&&&&&&&& RETI
&AA:&&&&& SETB& P1.0
&&&&&&&&& MOV& TL0,#50
&&&&&&&&& RETI
&&&&&&&&& END
9.设fosc=12MHz,试编写一段程序,功能为:对定时器T0初始化,使之工作在模式2,产生200&s定时,并用查询T0溢出标志的方法,控制P1.1输出周期为2ms的方波。
解:先确定 T0作为定时器时初值为:56
&& 程序:& MOV& TMOD,#02H
&&&&&&&&&& MOV& TL0,#56
&&&&&&&&&& MOV& TH0,#56
&&&&&&&&&& MOV& R7,#5&&&&&&& ; 设置循环次数
&&&&&&&&&& SETB& TR0
AA:&&& JBC& TF0,AA
&&&&&&&&&&& DJNZ& R7,AA
&&&&&&&&&&& CPL& P1.1
&&&&&&&&&&& MOV& R7,#5
&&&&&&&&&&& SJMP& AA
&&&&&&&&&&& END
10.已知8051单片机系统时钟频率为6MHz,利用其定时器测量某正脉冲宽度时,采用哪种工作模式可以获得最大的量程?能够测量的最大脉宽是多少?
答:首先设置TMOD中GATE为1,以定时方式工作在模式1,外部正脉冲从外部中断引脚引入,可获得最大的量程。
&&& 能够测量的最大脉宽为:131ms.
第6章习题答案
1.异步通信和同步通信的主要区别是什么?MCS-51串行口有没有同步通信功能?
异步通信因为每帧数据都有起始位和停止位,所以传送数据的速率受到限制。但异步通信不需要传送同步脉冲,字符帧的长度不受限制,对硬件要求较低,因而在数据传送量不很大。同步通信一次可以连续传送几个数据,每个数据不需起始位和停止位,数据之间不留间隙,因而数据传输速率高于异步通信。但同步通信要求用准确的时钟来实现发送端与接收端之间的严格同步。
MCS-51串行口有同步通信功能。
2.解释下列概念:
(1) 并行通信、串行通信。
(2) 波特率。
(3) 单工、半双工、全双工。
(4) 奇偶校验。
(1)并行通信:数据的各位同时进行传送。其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。当数据位数较多和传送距离较远时,就会导致通信线路成本提高, 因此它适合于短距离传输。
串行通信:数据一位一位地按顺序进行传送。其特点是只需一对传输线就可实现通信,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。
(2)波特率:每秒钟传送的二进制数码的位数称为波特率(也称比特数),单位是bps(bit per second),即位/秒。
(3)单工:只允许数据向一个方向传送,即一方只能发送,另一方只能接收。
半双工:允许数据双向传送,但由于只有一根传输线,在同一时刻只能一方发送,另一方接收。
全双工:允许数据同时双向传送,由于有两根传输线,在A站将数据发送到B站的同时,也允许B站将数据发送到A站。
(4)奇偶校验:为保证通信质量,需要对传送的数据进行校验。对于异步通信,常用的校验方法是奇偶校验法。
采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是&0&或&1&,以便使校验位和所发送的字符(或字节)中&1&的个数为奇数&&称为奇校验,或为偶数&&称为偶校验。接收时,检查所接收的字符(或字节)连同奇偶校验位中&1&的个数是否符合规定。若不符合,就证明传送数据受到干扰发生了变化,CPU可进行相应处理。
3.MCS-51串行口控制寄存器SCON中SM2、TB8、RB8有何作用?主要在哪几种方式下使用?
SM2:多机通信控制位,主要在方式1、2、3下使用;
TB8:存放发送数据的第9位,主要在方式2、3下使用;
RB8:存放接收数据的第9位或停止位,主要在方式1、2、3下使用。
4.试分析比较MCS-51串行口在四种工作方式下发送和接收数据的基本条件和波特率的产生方法。
发送数据的基本条件:
方式0、1、2、3:CPU执行一条将数据写入发送缓冲器SBUF的指令;
接收数据的基本条件:
方式0:用软件使REN=1(同时RI=0);方式1:用软件使REN=1,一帧数据接收完毕后,必须同时满足以下两个条件:①RI=0;②SM2=0或接收到的停止位为1,这次接收才真正有效,将8位数据送入SBUF,停止位送RB8,置位RI。否则,这次接收到的数据将因不能装入SBUF而丢失。方式2、3:软件使REN=1,同时满足以下两个条件:① RI=0;② SM2=0或接收到的第9位数据为1(SM2=1),则这次接收有效,8位数据装入SBUF,第9位数据装入RB8,并由硬件置位RI。否则,接收的这一帧数据将丢失。
波特率的产生方法:
在方式0下,串行口的波特率是固定的,即波特率=fosc /12;在方式1、3下,串行口波特率由定时器T1的溢出率和SMOD值同时决定。相应公式为:波特率=2SMOD&T1溢出率/32;在方式2下,串行口的波特率可由PCON中的SMOD位控制:若使SMOD=0,则所选波特率为fosc/64;若使SMOD=1,则波特率为fosc/32。即
5.为何T1用作串行口波特率发生器时常用模式2?若fosc=6MHz,试求出T1在模式2下可能产生的波特率的变化范围。
答案:定时器T1作为波特率发生器可工作于模式0、模式1和模式2。其中模式2在T1溢出后可自动装入时间常数,避免了重装参数,因而在实际应用中除非波特率很低,一般都采用模式2。
若fosc=6MHz,T1在模式2下可能产生的波特率的变化范围为:61.04 bps ~ 15625 bps。
6.简述多机通信原理。
答案:当主机选中与其通信的从机后,只有该从机能够与主机通信,其他从机不能与主机进行数据交换, 而只能准备接收主机发来的地址帧。上述要求是通过SCON寄存器中的SM2和TB8来实现的。当主机发送地址帧时使TB8=1,发送数据帧时使TB8=0,TB8是发送的一帧数据的第9位,从机接收后将第9位数据作为RB8,这样就知道主机发来的这一帧数据是地址还是数据。另外,当一台从机的SM2=0时,可以接收地址帧或数据帧,而当SM2=1时只能接收地址帧,这就能实现主机与所选从机之间的单独通信。
7.试用8051串行口扩展I/O口,控制16个发光二极管自右向左以一定速度轮流发光,画出电路并编写程序。
答案:电路如下:
程序如下:
&&&&&&&&&&&&& AJMP&&& MAIN
ORG&&&&&&&&& 0023H
AJMP&&&&&&& SBS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 转向串行口中断服务程序
ORG&&&&&&&&& 2000H
MAIN:&& MOV&&&&&& SCON, #00H&&&&&&&&&&&&&&&&&&&&&&& ; 串行口设置为方式0
MOV&&&&&&& A, #01H&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 最右边一位发光二极管先亮
CLR&&&&&&&&&& P1.0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 关闭并行输出,熄灭显示
CLR&&&&&&&&&& P1.1&&
MOV&&&&&&& SBUF,A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 开始串行输出
LOOP:&&&&&& SJMP&&&&&&&& LOOP&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 等待中断
SBS:&&&&&&&&& INC&&&&& R0
CJNE&&&& R0, #11H, DSP
MOV&&&& R0, #01H
DSP :&& CJNE&&&& R0, #08H, DSPR
SETB P1.1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 启动高8位并行输出
DSPR: SETB P1.0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 启动低8位并行输出
ACALL&&&& DELY&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 显示延迟1s
CLR&&&&&&&&&& TI&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 清发送中断标志
RL&&&&&&&&&&&& A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 准备点亮下一位
CLR&&&&&&&&&& P1.0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 关闭并行输出,熄灭显示
CLR&&&&&&&&&& P1.1&&
MOV&&&&&&& SBUF, A&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 串行输出
ZDFH:&& RETI
DELY:&&&&&& MOV&&&&&&& R2, #05H&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 延时1s子程序(fosc=6MHz)
DELY0:&&&& MOV&&&&&&& R3, #0C8H
DELY1:&&&& MOV&&&&&&& R4, #0F8H
DELY2:&&&& DJNZ&&&&&&&& R4, DELY2
DJNZ&&&&&&& R3, DELY1
DJNZ&&&&&&& R2, DELY0
8.试设计一个8051单片机的双机通信系统,串行口工作在方式1,波特率为2400bps,编程将甲机片内RAM中40H~4FH的数据块通过串行口传送到乙机片内RAM的40H~4FH单元中。
双方约定的通信协议如下:
甲机先发送请求乙机接收信号&0AAH&,乙机收到该信号后,若为准备好状态,一个则发送数据&0BBH&作为应答信号,表示同意接收。当甲机发送完16个字节后,再向乙机发送一个累加校验和。校验和是针对数据块进行的,即在数据发送时,发送方对块中的数据简单求和,产生一个单字节校验字符(校验和),附加到数据块结尾。在数据接收时,接收方每接收一个数据也计算一次校验和;接收完数据块后,再接收甲机发送的校验和,并将接收到的校验和与乙机求出的校验和进行比较,向甲机发送一个状态字,表示正确(00H)或出错(0FFH),出错则要求甲机重发。甲机收到收到乙机发送的接收正确应答信号(00H)后,即结束发送,否则,就重发一次数据。
甲机采用查询方式进行数据发送,乙机采用中断方式进行数据接收。双方约定传输波特率为2400bps,两机主频均为11.059MHz,双机串行口都工作于方式1,查表6-2可知SMOD=0,定时器T1采用工作模式2,初值为F4H。
甲机发送子程序:
ORG&&&&&&&&& 2000H
SEND:&&&&&& MOV&&&&&&& TMOD, #20H&&&&&&&&&&&&&&&&&&&&&& ; 定时器1设为模式2
MOV&&&&&&& TL1, #0F4H
MOV&&&&&&& TH1, #0F4H&&&&&&&&&&&&&&&&&&&&&&&& ; 置定时器初值
SETB&&&&&&& TR1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 启动T1
MOV&&&&&&& SCON, #50H&&&&&&&&&&&&&&&&&&&&&&& ; 设串行口为方式2
MOV&&&&&&& PCON, #00H&&&&&&&&&&&&&&&&&&&&&&& ; SMOD=0
TLLS:&&& MOV&&&&&&& SBUF, #0AAH&&&&&&&&&&&&&&&&&&&& ; 发送请求接收信号
WFS1:&&& JBC&&&&&&&&& TI, RYD1&&&&&&&&&&&&&& ; 等待发送
SJMP&&&& WFS1
RYD1:&&& JBC&&&&&&&&& RI, RYD2&&&&&&&&&&&&&& ; 等待乙机回答
SJMP&&&& RYD1
RYD2:&&& MOV&&& A, SBUF&&&&&&&&&&&&&&& ; 接收应答信号
XRL&&&& A, #0BBH&
JNZ&&&&& TLLS&&&&&&&&&&&&&&&&&& ; 乙机未准备好,继续联络
SDD1:&&& MOV&&&&&& R0, #40H&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 首地址40H&R0
MOV&&&&&&& R1, #10H&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 数据个数&R1
MOV&&&&&&& R2, #00H&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 清校验和寄存器
SDD2:&&& MOV&&&&&&& SBUF, @R0&&&&&&&&&&&&&&&&&&&&&&&& ; 发送一个数据
MOV&&&&&&& A, R2
ADD&&&&&&&& A, @R0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 求校验和
MOV&&&&&&& R2, A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 保存校验和
INC&&&&&&&&& R0&
WFS2:&&& JBC&&&&&&&&& TI, SDD3&&&&&&&&&&&&&&& ; 等待发送
SJMP&&&& WFS2
SDD3:&&& DJNZ&&&&&&& R1, SDD2&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 数据块是否发送完
MOV&&&&&&& SBUF, R2&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 发送校验和
WFS3:&&&&&& JBC&&&&&&&&&& TI, RYD3&
SJMP&&&& WFS3&
RYD3:&&&&&& JBC&&&&&&&&&& RI, RYD4&&&&&&&&&&&&&& ; 等待乙机回答
SJMP&&&&&&& RYD3
RYD4:&&& MOV&&&&&&& A, SBUF
JNZ&&&&&&&&& SDD1&&&&&&&&&&&&&&&&& ; 回答出错则重发
乙机接收子程序:
ORG&&&&&&&&& 2000H
RECV:&&&&&& MOV&&&&&&& TMOD, #20H&&&&&&&&&&&&&&&&&&&&&& ; 定时器1设为模式2
MOV&&&&&&& TL1, #0F4H
MOV&&&&&&& TH1, #0F4H&&&&&&&&&&&&&&&&&&&&&&&& ; 置定时器初值
SETB&&&&&&& TR1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 启动T1
MOV&&&&&&& SCON, #50H&&&&&&&&&&&&&&&&&&&&&&& ; 设串行口为方式2
MOV&&&&&&& PCON, #00H&&&&&&&&&&&&&&&&&&&&&&& ; SMOD=0
MOV&&&&&&& R0, #40H&&&&&&&&&&&&&&&&&&&&&&&&& ; 首地址40H&R0
MOV&&&&&&& R1, #10H&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 数据个数&R1
MOV&&&&&&& 50H, #00H&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 清校验和寄存器
SETB&&&&&&& 7FH
SETB&&&&&&& 7EH&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 标志位初始置1
SETB&&&&&&& ES&&&&&&&&&&&&&&&&&&&& ; 允许接收中断
SETB&&&&&&& EA&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 开中断
LOOP:&&&&&& SJMP&&&&&&&& LOOP&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 等待中断
中断服务子程序:
CLR&&&&&&&& EA&
CLR&&&&&&&& RI&&&&&&&&&&&&&&&&&&&&& ; 清中断
JB&&&&&&&&&& 7FH, RCMD&&&&&&&&&&&&&&&&&&&&&&&& ; 是请求接收信号吗
JB&&&&&&&&&& 7EH, DATA&&&&&&&&&&&&&&&&&&&&&&&& ; 是数据块吗
MOV&&&&&&& A, SBUF&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 接收校验和
CJNE&&&&&&& A, 50H, ERR&&&&&&&&&&&&&&&&&&&&&&& ; 判断发送是否正确
MOV&&&&&&& A, #00H&
MOV&&&&&&& SBUF, A&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 正确,发00H
WFS1:&&& JNB&&&&&&&&& TI, WFS1&&&&&&&&&&&&&&& ; 等待发送
CLR&&&&&&&& TI
SJMP&&&&&&& RETN
ERR:&&&& MOV&&&&&&&& A, #0FFH&
MOV&&&&&&& SBUF, A&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 出错,发0FFH
WFS2:&&& JNB&&&&&&&&& TI, WFS2&&&&&&&&&&&&&&& ; 等待发送
CLR&&&&&&&& TI
SJMP&&&&&&& AGAN
RCMD:&& MOV&&&&&&& A, SBUF&&&&&&&&&&&&&&& ; 接收甲机请求信号
XRL&&&&&&&&& A, #0AAH&
JZ&&&&&&&&&&& TYDX&
SJMP&&&&&&& RETN
TYDX:&& MOV&&&&&&&&&&&&&&&&& SBUF, #0BBH&&&&&&&&&& ; 发送应答信号0BBH
WFS3:&&& JNB&&&&&&&&& TI, WFS3&&&&&&&&&&&&&&& ; 等待发送
CLR&&&&&&&& TI
CLR&&&&&&&& 7FH
SJMP&&&&&&& RETN
DATA:&& MOV&&&&&&&&&&&&&&&&& A, SBUF&&&&&&&&&&&&&&& ; 接收数据
MOV&&&&&&& R0, A
INC&&&&&&&&& DPTR
ADD&&&&&&&& A, 50H&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; 求校验和
MOV&&&&&&& 50H, A&
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
单片机原理相关资源
应用试题相关资源
编辑:什么鱼
本文引用地址:
大学堂最新课程
本周热门资源推荐
EEWORLD独家}

我要回帖

更多关于 8051单片机最小系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信