单片机原理及应用教程第六章
- 格式:ppt
- 大小:3.46 MB
- 文档页数:80
单片机原理及应用第6章80C51单片机的串行口80C51单片机是一种基于哈佛架构的8位单片机,具有强大的串行口功能。
串行口是一种通信接口,可以通过单根线传输数据。
本章将介绍80C51单片机的串行口原理及其应用。
一、80C51单片机的串行口原理80C51单片机的串行口包含两个寄存器,分别是SBUF(串行缓冲器)和SCON(串行控制寄存器)。
SBUF寄存器用来存储待发送或接收到的数据,SCON寄存器用来配置和控制串行口的工作模式。
80C51单片机的串行口有两种工作模式:串行异步通信模式和串行同步通信模式。
1.串行异步通信模式串行异步通信是指通信双方的时钟频率不同步,通信的数据按照字符为单位进行传输,字符之间有起始位、数据位、校验位和停止位组成。
80C51单片机的串行口支持标准的RS-232通信协议和非标准通信协议。
在串行异步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持第9位,即扩展模式,可以用来检测通信错误。
其次,需要设置波特率。
波特率是指数据每秒传输的位数,用波特率发生器(Baud Rate Generator,BRGR)来控制。
然后,需要设置起始位、数据位和停止位的配置,包括数据长度(5位、6位、7位或8位)、停止位的个数(1位或2位)。
在发送数据时,将待发送的数据通过MOV指令传送到SBUF寄存器,单片机会自动将数据发送出去。
在接收数据时,需要检测RI(接收中断)标志位,如果RI为1,表示接收到数据,可以通过MOV指令将接收到的数据读取到用户定义的变量中。
2.串行同步通信模式串行同步通信是指通信双方的时钟频率同步,在数据传输时需要时钟信号同步。
80C51单片机的串行同步通信支持SPI(串行外设接口)和I2C(串行总线接口)两种协议。
在串行同步通信模式下,SCON寄存器需要配置为相应的工作模式。
首先,需要选择串行口的工作模式。
80C51单片机支持主从模式,可以作为主设备发送数据,也可以作为从设备接收数据。
第6章 AT89S51的定时/计数器参考答案1.答:(A )对;(B )错;(C )错;(D )错; 2.答:因为机器周期: 所以定时器/计数器工作方式0下,其最大定时时间为同样可以求得方式1下的最大定时时间为262.144ms ;方式2下的最大定时时间为1024ms 。
3.答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。
定时时间与时钟频率和定时初值有关。
4.答:由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。
5.答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。
除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。
参考程序如下:ORG 0000H LJMP MAIN ORG000BHLJMP IT0PMAIN: MOV TMOD,#06H ;定时器/计数器T0为计数方式2 MOV TL0,#156;计数100个脉冲的初值赋值MOV TH0,#156 SETB GATE ;打开计数门 SETB TR0 ;启动T0,开始计数 SETB ET0 ;允许T0中断 SETB EA ;CPU 开中断CLRF0;设置下一轮为定时方式的标志位WAIT: AJMP WAIT IT0P: CLREA ;CPU 关中断)(410312126s f T OSCcy μ=⨯==)(192.81042261313ms T T C MAX =⨯⨯=⨯=-JB F0,COUNT ;F0=1,转计数方式设置MOV TMOD,#00H ;定时器/计数器T0为定时方式0MOV TH0,#0FEH ;定时1ms初值赋值MOV TL0,#0CHSETB EARETICOUNT: MOV TMOD,#06HMOV TL0,#156SETB EARETI6. 答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。
单片机原理及应用第2版课后答案第6章习题答案1.异步通信和同步通信的主要区别是什么?MCS-51串行口有没有同步通信功能?答案:异步通信因为每帧数据都有起始位和停止位,所以传送数据的速率受到限制。
但异步通信不需要传送同步脉冲,字符帧的长度不受限制,对硬件要求较低,因而在数据传送量不很大。
同步通信一次可以连续传送几个数据,每个数据不需起始位和停止位,数据之间不留间隙,因而数据传输速率高于异步通信。
但同步通信要求用准确的时钟来实现发送端与接收端之间的严格同步。
MCS-51串行口有同步通信功能。
2.解释下列概念:(1)并行通信、串行通信。
(2)波特率。
(3)单工、半双工、全双工。
(4)奇偶校验。
答案:(1)并行通信:数据的各位同时进行传送。
其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。
当数据位数较多和传送距离较远时,就会导致通信线路成本提高,因此它适合于短距离传输。
串行通信:数据一位一位地按顺序进行传送。
其特点是只需一对传输线就可实现通信,当传输的数据较多、距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。
(2)波特率:每秒钟传送的二进制数码的位数称为波特率(也称比特数),单位是bp(bitperecond),即位/秒。
(3)单工:只允许数据向一个方向传送,即一方只能发送,另一方只能接收。
半双工:允许数据双向传送,但由于只有一根传输线,在同一时刻只能一方发送,另一方接收。
全双工:允许数据同时双向传送,由于有两根传输线,在A站将数据发送到B站的同时,也允许B站将数据发送到A站。
(4)奇偶校验:为保证通信质量,需要对传送的数据进行校验。
对于异步通信,常用的校验方法是奇偶校验法。
采用奇偶校验法,发送时在每个字符(或字节)之后附加一位校验位,这个校验位可以是“0”或“1”,以便使校验位和所发送的字符(或字节)中“1”的个数为奇数——称为奇校验,或为偶数——称为偶校验。
接收时,检查所接收的字符(或字节)连同奇偶校验位中“1”的个数是否符合规定。
第一章计算机基础知识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-6 写出下列各数的BCD参与:59:01011001,1996:000,::第二章 MCS-51单片机的硬件结构2-1 8052单片机片内包含哪些主要逻辑功能部件?答:8052单片机片内包括:①8位中央处理器CPU一个②片内振荡器及时钟电路③256B数据存储器RAM。
④8KB片内程序存储空间ROM⑤21个特殊功能寄存器SFR⑥4个8位并行I/O端口(32条线)⑦1个可编程全双工串行口⑧可寻址64KB的外部程序存储空间和外部数据存储空间⑨3个16位的定时器/计数器⑩6个中断源、2个优先级嵌套中断结构2-2 8052的存储器分哪几个空间?如何区别不同空间的寻址?答:⑴8052的存储器分为6个编址空间:①片内ROM的容量为8KB,其地址为0000H~1FFFH;②可扩展片外ROM的容量为64KB,其地址为0000H~FFFFH;片内RAM的容量为256B,其地址为00H~FFH分为二块:③地址00H~7FH共128B为片内RAM低区,④另128B为片内RAM高区,其地址空间为80H`FFH,其地址空间与SFR功能寄存器地址重叠;⑤可扩展片外RAM的容量为64KB,其地址为0000H~1FFFH;⑥特殊功能寄存器SFR的空间为128B,其地址为80H~FFH,但实际只定义了26B单元,这26B单元分散在80H`F0H。
第六章选择题(1)使80C51定时/计数器T0停止计数的C51命令为______。
A.IT0=0;B.TF0=0;C.IE0=0;D.TR0=0;(2)80C51单片机的定时器T1用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率定时,一个机器周期加1(3)80C51单片机的定时器T0用作计数方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部计数脉冲计数,一个脉冲加1D.由外部计数脉冲计数,一个机器周期加1(4)80C51的定时器T1用作计数方式时,______。
A.外部计数脉冲由T1(P3.5引脚)输入B.外部计数脉冲由内部时钟频率提供C.外部计数脉冲由T0(P3.4引脚)输入D.外部计数脉冲由P0口任意引脚输入(5)80C51的定时器T0用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1B.由外部计数脉冲计数,一个机器周期加1C.外部计数脉冲由T0(P3.4)输入定时D.由内部时钟频率定时,一个机器周期加1(6)设80C51晶振频率为12MHz,若用定时器T0的工作方式1产生1ms定时,则T0计数初值应为______。
A.0xfc18B.0xf830C.0xf448D.0xf060(7)80C51的定时器T1用作定时方式且选择模式1时,工作方式控制字为______。
A.TCON=0x01;B.TCON=0x0H;C.TMOD=0x10;D.TMOD=0x50; (8)80C51的定时器T1用作定时方式且选择模式2时,工作方式控制字为______。
A.TCON=0x60; B.TCON=0x02; C.TMOD=0x06; D.TMOD=0x20; (9)80C51的定时器T0用作定时方式且选择模式0时,C51初始化编程为______。
第6章MCS-51的定时器/计数器1.如果晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少?2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?4.定时器/计数器的工作方式2有什么特点?适用于什么应用场合?5.一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?6.定时器/计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度是多少?7.判断下列说法是否正确?(1)特殊功能寄存器SCON,与定时器/计数器的控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器的控制无关。
(3)特殊功能寄存器IE,与定时器/计数器的控制无关。
(4)特殊功能寄存器TMOD,与定时器/计数器的控制无关。
8.设定1ms的定时,可以在P1.0引脚上产生周期为2ms的方波输出,设晶体振荡器的频率为6MHz,分别写出在方式0和方式1时,赋给T0的常数。
9.设MCS-51单片机的晶振频率为12MHz,请编程使P1.O端输出频率为20kHz的方波。
10.要求采用定时中断的方式,实现下图所示流水灯的双向循环(D1—D8—D1)流动功能。
其中流水灯的闪烁速率为每秒1次。
11.设单片机的fosc = 12MHz,使P1.O和P1.1分别输出周期为1ms和lOms的方波,请用定时器TO方式2编程实现。
附录2:作业及答案1.如果晶振的频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大的定时时间各为多少?(12/3×8192=32.768ms;12/3*65636=262.144ms; 12/3*256=1.024ms)2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?(定时的计数脉冲来自于单片机内部,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。
第6章MCS51得定时器/计数器1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?3.定时器/计数器作计数器模式使用时,对外界计数频率有何限制?4.定时器/计数器得工作方式2有什么特点?适用于什么应用场合?5.一个定时器得定时时间有限,如何实现两个定时器得串行定时,来实现较长时间得定时?6.定时器/计数器测量某正单脉冲得宽度,采用何种方式可得到最大量程?若时钟频率为6MHz,求允许测量得最大脉冲宽度就是多少?7.判断下列说法就是否正确?(1)特殊功能寄存器SCON,与定时器/计数器得控制无关。
(2)特殊功能寄存器TCON,与定时器/计数器得控制无关。
(3)特殊功能寄存器IE,与定时器/计数器得控制无关。
(4)特殊功能寄存器TMOD,与定时器/计数器得控制无关。
8.设定1ms得定时,可以在P1、0引脚上产生周期为2ms得方波输出,设晶体振荡器得频率为6MHz,分别写出在方式0与方式1时,赋给T0得常数。
9.设MCS51单片机得晶振频率为12MHz,请编程使P1、O端输出频率为20kHz得方波。
10.要求采用定时中断得方式,实现下图所示流水灯得双向循环(D1—D8—D1)流动功能。
其中流水灯得闪烁速率为每秒1次。
11.设单片机得fosc = 12MHz,使P1、O与P1、1分别输出周期为1ms与lOms得方波,请用定时器TO方式2编程实现。
附录2:作业及答案1.如果晶振得频率为3MHz,定时器/计数器工作在方式0、1、2下,其最大得定时时间各为多少?(12/3×8192=32、768ms;12/3*65636=262、144ms; 12/3*256=1、024ms)2.定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?(定时得计数脉冲来自于单片机内部,即每个机器周期产生一个计数脉冲,也就就是每个机器周期计数器加1。