51单片机的串行口扩展方法
- 格式:docx
- 大小:167.17 KB
- 文档页数:5
单片机原理及接口技术(C51编程)(第2版)-习题答案汇总23单片机答案第1章单片机概述思考题及习题1 参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为()或()。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将()、()和()三部分,通过内部()连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S51单片机工作频率上限为()MHz。
答:24MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低()和提高()。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便 B.受器件的物理性能限制C.为了通用性 D.为了提高运算数度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用 B.测量、控制应用C.数值计算应用 D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制 C.数据库管理D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章 AT89S51单片机片内硬件结构思考题及习题2 参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为()。
(C 语言版)绝密版 C51 单片机复习题及答案一填空题1、计算机中最常用的字符信息编码是( ASCII 码)。
2、MCS-51 系列单片机为( 8 )位单片机。
3、若不使用 MCS-51 片内存储器引脚( /EA )必须接(地)。
4、8031 内部有 ( 128 )个 RAM; 8051 内部有 (4K ROM )和( 128 个 RAM)。
5 、堆栈的地址由 ( SP ) 内容确定,其操作规律是“(先 ) 进(后)出”。
6 、在单片机扩展时, ( P0 ) 口和 ( P2 ) 口为地址线, (P0 ) 口又分时作为数据线。
7 、在 MCS-51 单片机中,如采用 6MHZ 晶振,一个机器周期为( 2us )。
8、当 80C51 的 RST 引脚上保持 ( 2 ) 个机器周期以上的低电平时,80C51 即发生复位。
9、当 P1 口做输入口输入数据时,必须先向该端口的锁存器写入( 1 ),否则输入数据可能出错。
10、若某存储芯片地址线为 12 根,那么它的存储容量为( 4K B )。
11、程序状态寄存器 PSW 的作用是用来保存程序运行过程中的各种状态信息。
其中 CY 为 (进位) 标志,用于无符号数加 (减) 运算,当进行(位)操作时作为位累加器。
OV 为(溢出)标志,用于有符号数的加(减)运算。
12、消除键盘抖动常用两种方法,一是采用(硬件去抖电路),用基本 RS 触发器构成;二是采用(软件去抖程序),既测试有键输入时需延时 ( 约大于 10 毫秒) 后再测试是否有键输入,此方法可判断是否有键抖动。
13、若 MCS-51 单片机采用 12MHz 的晶振频率,它的机器周期为( 1us ),ALE 引脚输出正脉冲频率为(2 MHZ )。
14 、 8051 有两个 16 位可编程定时/计数器,T0 和 T1。
它们的功能可由两个控制寄存器( TCON ) 、 ( TMOD ) 的内容决定,且定时的时间或计数的次数与( TH)、 ( TL)两个寄存器的初值有关。
在以单片机为核心的多级分布式系统中,常常需要扩展单片机的串行通信口,本文分别介绍了基于SP2538专用串行口扩展芯片及Intel8251的两种串行口扩展方法,并给出了实际的硬件电路原理及相应的通信程序段。
关键词:串口扩展;单片机;SP2538;Intel82511 引言在研究采场瓦斯积聚模拟试验台的过程中,笔者设计了主从式多机采控系统结构。
主从式多机控制系统是实时控制系统中较为普遍的结构形式,它具有可靠性高,结构灵活等优点。
当选用单串口51单片机构成这种主从式多机系统时,51单片机一方面可能要和主机Computer通信,一方面又要和下位机通信,这时就需要扩展串行通道。
本文具体介绍了两种串行通道的扩展方法。
2 串行口的扩展方法常用的标准51单片机内部仅含有一个可编程的全双工串行通信接口,具有UART的全部功能。
该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。
当以此类型单片机构成分布式多级应用系统时,器件本身的串口资源就不够用了。
笔者在实际开发中,查阅了有关资料,总结出如下两种常用而有效的串行通道扩展方法。
2.1 基于SP2538的扩展方法SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。
利用该器件可将现有单片机或DSP 的单串口扩展至5个全双工串口。
使用方法简单、高效。
在应用SP2538扩展串行通道时,母串口波特率K1=2880*Fosc_in,单位是MHz,且Fosc_in小于20.0MHz 在SP2538输入时钟Fosc_in =20.0MHz时母串口可自适应上位机的56000bps和57600bps两种标准波特率输入。
子串口波特率K2=480*Fosc_in。
母串口和所有子串口都是TTL电平接口,可直接匹配其他单片机或TTL数字电路,如需连接PC机则必须增加电平转换芯片如MAX202 、MAX232 等。
第8章思考题及习题8参考答案、填空1. _______________________________ AT89S51的串行异步通信口为 (单工/半双工/全双工)。
答:全双工。
2. 串行通信波特率的单位是______ 。
答:bit/s3. AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为_________答:12004•串行口的方式0的波特率为 ______ 。
答:fosc/125. AT89S51单片机的通讯接口有 ______ 和________ 两种型式。
在串行通讯中,发送时要把数据转换成 _____ 数据。
接收时又需把______ 数据转换成______ 数据。
答:并行,串行,并行,串行,串行,并行6•当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 ______ z 。
答:11.05927. AT89S5单片机串行口的4种工作方式中,______ 和______ 的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
答:方式1,方式38 •帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式________ 。
答:方式1。
9•在串行通信中,收发双方对波特率的设定应该是 _______ 的。
答:相同的。
10.串行口工作方式1的波特率是________ 。
答:方式1波特率=(2SMO D32 )X定时器T1的溢出率二、单选1. _____________________________________________________________ AT89S51的串行口扩展并行I/O 口时,串行接口工作方式选择____________________________ 。
A.方式0B. 方式1C. 方式2D. 方式3答: A2. 控制串行口工作方式的寄存器是______ 。
A. TCONB.PCONC. TMODD.SCON答:D三、判断对错1串行口通信的第9数据位的功能可由用户定义。
第一章单片机概述与构造一、选择题1.访问片外部数据存储器时,不起作用的信号是〔C〕。
A./RD B./WE C./PSEN D.ALE2.51 单片机P0 口用作输出时,应外接〔 A 〕。
A.上拉电阻B.二极管C.三极管D.下拉电阻3.进位标志CY 在〔C 〕中。
A.累加器B.算逻运算部件ALU C.程序状态字存放器PSW D.DPTR4.堆栈数据的进出原则是〔 D 〕。
A.先进先出B.进入不出C.后进后出D.先进后出5.51 单片机系统中,假设晶振频率为6MHz,一个机器周期等于〔D 〕μ。
sA.1.5 B.3 C.1 D.26.在家用电器中使用单片机应属于微计算机的〔 B 〕。
A.关心设计应用B.测量、把握应用C.数值计算应用D.数据处理应用7.PC 的值是〔C 〕。
A.当前正在执行指令的前一条指令的地址B.当前正在执行指令的地址C.当前正在执行指令的下一条指令的地址D.把握器中指令存放器的地址8.单片机应用程序一般存放在〔 B 〕中。
A.RAM B.ROM C.存放器D.CPU9.在堆栈操作中,当进栈数据全部弹出后,这时SP 应指向〔 D 〕A.栈底单元B.7FH 单元C.栈底单元地址加1 D.栈底单元地址减1 10.51单片机的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是〔A〕。
A.读锁存器B.读数据库C.读A 累加器D.读CPU二、填空题1.单片机复位后,SP、PC 和I/O 口的内容分别为07H\000H\FFH 。
2.单片机有四个工作存放器区,由PSW 状态字中的RS1 和RS0 两位的状态来打算。
单片机复位后,假设执行SETB R S0 指令,此时只能使用 1 区的工作存放器,地址范围是08H---0FH 。
3.51 单片机驱动力量最强的并行端口为P0 端口。
4.51 单片机PC 的长度为16 位,SP 的长度为8 位,DPTR 的长度为_16位。
5.访问51 单片机程序存储器地址空间、片内数据存储器地址、片外数据存储器地址的指令分别为movc ,MOV 和_movx 。
MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。
单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。
例如,⽬前的有线电视节⽬,只能单⽅向传送。
半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。
也就是说,半双⼯通信可以分时双向传送数据。
例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。
全双⼯通信:数据可同时向两个⽅向传送。
全双⼯通信效率最⾼,适⽤于计算机之间的通信。
此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。
实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。
异步通信在异步通信中,数据⼀帧⼀帧地传送。
每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。
每⼀帧的数据格式如图7-1所⽰。
⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。
起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。
通信线在不传送字符时,⼀直保持为“1”。
接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。
起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。
数据位数据位是要传送的数据,可以是5位、6位或更多。
当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。
奇偶校验位奇偶校验位只占⼀位,其数据位为D8。
当传送数据不进⾏奇偶校验时,可以省略此位。
此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。
停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。
停⽌位必须是⾼电平。
接收端接收到停⽌位后,就知道此字符传送完毕。
51单片机的串行口扩展方法
--------------------------------------------------------------------------------
摘要:在以单片机为核心的多级分布式系统中,常常需要扩展单片机的串行通信口,本文分别介绍了基于SP2538专用串行口扩展芯片及Intel8251的两种串行口扩展方法,并给出了实际的硬件电路原理及相应的通信程序段。
关键词:串口扩展;单片机;SP2538;Intel8251
1 引言
在研究采场瓦斯积聚模拟试验台的过程中,笔者设计了主从式多机采控系统结构。
主从式多机控制系统是实时控制系统中较为普遍的结构形式,它具有可靠性高,结构灵活等优点。
当选用单串口51单片机构成这种主从式多机系统时,51单片机一方面可能要和主机Computer通信,一方面又要和下位机通信,这时就需要扩展串行通道。
本文具体介绍了两种串行通道的扩展方法。
2 串行口的扩展方法
常用的标准51单片机内部仅含有一个可编程的全双工串行通信接口,具有UART的全部功能。
该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。
当以此类型单片机构成分布式多级应用系统时,器件本身的串口资源就不够用了。
笔者在实际开发中,查阅了有关资料,总结出如下两种常用而有效的串行通道扩展方法。
2.1 基于SP2538的扩展方法
SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。
利用该器件可将现有单片机或DSP的单串口扩展至5个全双工串口。
使用方法简单、高效。
在应用SP2538扩展串行通道时,母串口波特率K1=2880*Fosc_in,单位是MHz,且Fosc_in 小于20.0MHz, 在SP2538输入时钟Fosc_in =20.0MHz时母串口可自适应上位机的56000bps 和57600bps两种标准波特率输入。
子串口波特率K2=480*Fosc_in。
母串口和所有子串口都是TTL电平接口,可直接匹配其他单片机或TTL数字电路,如需连接PC机则必须增加电平转换芯片如MAX202 、MAX232 等。
SP2538具有内置的上电复位电路和可关闭的看门狗*电路。
上位机写命令字0x10可实现喂狗,写命令字0x15关闭看门狗,初次上电后看门狗处于激活状态或写命令字0x20激活看门狗*功能。
上位机可通过芯片复位指令0x35在任何时候让芯片进行指令复位,也可通过芯片睡眠指令0x55在任何时候让芯片进入微功耗睡眠模式以降低系统功耗。
初次上电后芯片不会自行进入睡眠模式,但只能由上位机通过母串口任意发送一个字节数据将其唤醒,其他子串口不具备这一功能。
图(1)是AT89C52单片机与SP2538的电路连接,图中,AT89C52的全双工串口与SP2538的母串口5相连,该串口同时也作为命令/数据口。
SP2538的ADRI0、ADRI1、ADRI2分别与AT89C52的P2.3、P2.4、P2.5口相连,可用于选择发送数据是选择相应的串口0~4;ADRO0、ADRO1、ADRO2与P2.0、P2.1、P2.2相连,用于判断接收的数据来自哪一个串口。
SP2538的时钟频率选为20.0MHZ,此时母串口5的波特率为57600bps,串口0~4的波特率为9600bps。
下面是与上述硬件电路相关的接口程序,该程序用A51汇编语言编制,程序仅说明了中断方式下对子串口0(TX0、RX0)的操作,其它子串口类似。
TBLOCK DATA 20H
RBLOCK DATA 30H
LENGTH DA TA 14H
…
TXR_REV_SEND: CLR ES
JBC RI,RECEIVE
CLR TI
MOV A,@R0
CLR P2.0 ; 写数据到"SBUF"前必须先置欲发送子串口的地址
CLR P2.1
CLR P2.2
MOV SBUF,A
DJNZ R2,NEXT
SJMP $
NEXT: INC R0
RETI
RECEIVE: MOV A,P2
AND A,#31H ;判断是否为子串口0
JNZ ELSE
MOV A,SBUF
MOV @R1,A
INC R1
RETI
图(1) AT89C52与SP2538的电路连接
2.2 基于Intel8251的串行口扩展方法
上面基于SP2538的串口扩展方法可以说是一种串行的扩展方法,这里基于Intel8251的扩展方法则是一种并行的方法。
Intel8251是一种通用的同步/异步发送器(USART),它的工作方式可以通过编程设置。
能够以同步或异步串行通信方式工作,能自动完成帧格式。
Intel8251具有独立的接收/发送器。
在异步方式下,用于产生8251内部时序的时钟CLK 输入至少应为发送或接收时钟的4.5倍。
接收/发送(RXC/TXC)时钟应为波特率的1倍、16倍或64倍(由8251的工作方式字设定)。
图(2)是用Intel8251扩展一个串行通道的电路原理,图中,11.0592MHZ晶振经ALE6分频后于、组合,产生1.8432MHZ的时钟频率,分别作为8251与8253的时钟输入,若设定8251通信波特率为9600bps,波特率因子为16,则需要153.6KHZ的接收/发送时钟频率,该频率可由8253的OUT0产生。
下面的A51程序段说明了如何设置8253使其产生153.6KHZ的方波,以及如何用8251收/发数据:
;设置8253的程序段:
MOV A,#36H ; 计数器0输出方波控制字
MOV DPTR,#0FFFFH ; 指向控制字寄存器
MOVX @DPTR,A
MOV DPTR,#0FFFCH ; 指向0计数器地址
MOV A,#0DH
MOVX @DPTR,A
MOV A,#0
MOVX DPTR,A
SETB P1.0
;操作8251的程序段:
…
START: MOV DPTR,#7FFFH ;8251控制、命令口地址
MOV A,#5EH ;一个停止位,奇校验,8位数据,异步*16
MOVX @DPTR,A ;写入方式字
MOV A,#15H
MOVX @DPTR,A ;命令字,启动发送和接收器
…
LOOP: SJMP LOOP ;等待8251中断
8251_INT: ;现场保护
MOV DPTR,#7FFFH
MOV A,@DPTR
JB ACC.0,TX_INT
JB ACC.1,RX_INT
INT_EXIT: ;恢复现场
RETI
;发送数据
TX_INT: MOV DPTR,#7FFEH ;8251数据口地址
MOV A,20H
MOVX @DPTR,A
…
AJMP INT_EXIT
;接收数据
RX_INT: MOV DPTR,#7FFEH
MOVX A,@DPTR
MOV 30H,A
…
AJMP INI_EXIT
图(2)用8251扩展串行通道的硬件电路原理
3 结束语
以单片机为核心的多级分布式系统的应用越来越广泛,上面讨论的两种串行口的扩展方法为此类多串口应用领域提供了一个良好的解决方案。
笔者在实际中采用基于SP2538的扩展方法,设计了采场瓦斯积聚模拟试验台的多级分布式采控系统,效果良好。
本文来自: 原文网址:/mcu/51mcu/0071005.html。