单片微型计算机原理与接口技术课本_第1页
单片微型计算机原理与接口技术课本_第2页
单片微型计算机原理与接口技术课本_第3页
单片微型计算机原理与接口技术课本_第4页
单片微型计算机原理与接口技术课本_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章MCS51单片机的硬件结构与工作原理1微型计算机主要由运算器、控制器、存储器和输入输出电路这四部分组成,其中运算器与控制器集成于CPU中。28031单片机除有CPU、存储器和输入输出电路外,还包括定时器/计数器、中断控制和时钟振荡电路等。3将这些部件集成在一块芯片上,通过内部总线连接构成 完整的单片微型计算机,简称单片机。第一节 MCS51存储器配置1微型计算机必须配置一定数量的存储器,但不同的微型计算机存储器的配置不同。2一种是程序与数据共用一个存储器,一般的通用计算机都采用此种形式。3另一种是将程序与数据分别放在两个存储器内,一个称程序存储器,另一个称数据存储器,MCS51单片机属于

2、此类。4MCS51片内集成有一定容量的程序存储器(8031/80C31/8032除外) 和数据存储器,并具有较大的外部存储器扩展能力。5MCS51有4个存储器空间:(1)片内程序存,(2)片外程序存储器,(3)片内数据存储器,(4)片外数据存储器。6从用户角度(逻辑上),MCS51分为3个存储器空间:(1)片内、外统一编址的64KB程序存储器地址空间,(2)256B内部数据存储器和特殊功能寄存器地址空间,(3)64KB外部数据存储器地址空间。一内部数据存储器1数据存储器在物理上和逻辑上分为二个地址空间:一个内部数据存储器和一个外部数据存储器。2访问内部数据存储器,用MOV指令。3访问外部数据存

3、储器,用MOVX指令;48031单片机内部数据存储器,由128B 的内部数据存储器和128B的特殊功能寄存器组成,在特殊功能寄存器寻址空间中,离散地分布着19个特殊功能寄存器。内部数据存储器00H7FH内部数据存储器共有128个字节,根据作用不同分为三个区:寄存器区00H1FH(32个单元)、位寻址区20H2FH(16个单元)、通用RAM区30H7FH(80个单元)。(1)寄存器区00H1FH(共32个单元):有4个寄存器组,每组8个寄存器,均表示为R0R7。由于每个寄存器组的8个寄存器都标记为R0R7,因此每次只能选择一个工作寄存器组。通过状态寄存器PSW 的第3、4位(即RS1、RS0)选

4、择工作寄存器组。如表4-1所示由于MCS51单片机对寄存器操作最灵活且响应速度最快,一般情况下,总是首先选择使用寄存器,因此有效地设置4个工作寄存器组,可以提高现场保护能力和CPU 实时响应的速度。(2)位寻址区20H2FH(16个单元):既可以按位直接寻址,进行位操作;又可按字节寻址,作为一般工作单元使用。这16个字节,每字节8位,共有l6×8=128位。占用地址为00H7FH(位地址),如表42所示;应用这些位单元,可以方便地进行各种布尔逻辑操作。(3)通用RAM区30H7FH:内部RAM中的30H7FH构成通用RAM区,可用于存放运算过成中的中间数据,也可作为堆栈存储区域。二特

5、殊功能寄存器18031单片机共有19个(21个字节)特殊功能寄存器SFR,用来设置片内电路的运行方式,记录电路运行状态,并表示有关标志等。2并行和串行端口映射在SFR寄存器,对这些寄存器的读写,可实现对相应I/O端口的输入和输出操作。321个字节的特殊功能寄存器中,离散分布在128字节的SFR(80HFFH)存储空间中。4有些SFR具有位地址,在SFR(80HFFH)存储空间包含有128个位地址空间,其地址也是80HFFH,但仅有83个有效地址,可对11个SFR进行位寻址操作。MCS51系列有19个特殊功能寄存器:A 累加器寄存器 PSW 程序状态字SP 堆栈指针 PC 程序计数器DPTR 数

6、据指针 P0P3 I/O端口寄存器SBUF 串行数据缓冲器TH0、TL0、TH1、TL1 定时器/计数器IP、IE、TMOD、TCON、SCON、PCON 控制寄存器三程序存储器1内部程序存储器(1)8051有4KB的ROM程序存储器;(2)8751有4KB的EPROM程序存储器;(3)8031没有内部程序存储器,必须外接程序存储器。2外部程序存储器MCS5l单片机有16根地址线和16位的程序计数器PC,因此可以寻址(扩展至)64KB的程序存储器。3程序存储器的作用(1)存放(固化)用户程序和常数表格,可通过MOVC指令访问。(2)程序存储器通常选用EPROM或E 2 PROM芯片来固化程序。

7、4程序存储器中特定程序的入口地址程序存储器中某些地址被固定用于特定程序的入口地址:地址用途0000H MSC51复位后PC=0000H,即程序从0000H开始执行。0003H 外部中断0入口地址。000BH 定时器0溢出中断入口地址。0013H 外部中断1入口地址。001BH 定时器1溢出中断入口地址。0023H 串行口中断入口地址。四外部数据存储器1外部数据存储器(外部数据RAM),可通过总线端口扩展外部数据RAM,最大可扩至64K字节。2外部RAM和内部RAM的功能基本相同,外部RAM不能进行堆栈操作。3访问内部数据RAM,用MOV指令;访问外部数据RAM,用MOVX指令。第二节 定时器/

8、计数器12个16位定时器/计数器:(1)定时器:对片内机器时钟(周期方波)进行计数。(2)计数器:对Tx引脚输入的负脉冲进行计数。2与Timer工作有关的特殊功能寄存器:TCON和TMOD一控制寄存器1工作方式寄存器TMOD(89H)计算机的几个时间概念:若振荡频率为12MHz,振荡周期:s状态周期:6×s=0.5s机器周期:12×s=1s指令周期:14个机器周期M1和M0:操作方式控制位2控制寄存器 TCON(88H)二定时器工作方式(1)定时器/计数器有4种工作方式;由软件对TMOD 中T/C位设置,来选择定时或计数功能。(2)由Ml和M0位的设置工作方式:即方式0、方

9、式1、方式2和方式3。(3)对于方式0、1、2,T0与T1的工作模式相同;对于方式3只有T0才能设置。1方式0 <13位计数方式>是将定时器(T0或T1)高8位和低5位组成一个13位的计数器,其逻辑电路结构如图所示:(1)用于定时工作方式时定时时间为:t(213-T0初值)×机器周期。(2)用于计数工作方式时计数长度为:2138192(个外部脉冲)。(3)当TL0的低5位溢出时,向TH0进位,而TH0溢出时向中断标志位TF0 进位(硬件置位TF0),并申请中断。(4)GATE=0时,或门A点电位为“1”,引脚INT0输入无效。与门B点电位取决于TR0状态,即由TR0控制T

10、0开启或关断。若软件使TR0=1,启动T0加1计数,直至溢出。计数器计满溢出时,13位寄存器清0,TF0置位,并申请中断。若软件使TR0=0,停止计数。(5)当GATE=l时,A点电位取决于INT0(P3.4)引脚的输入电平。INT0为高电平且TR0=1时,B点才是高电平,T0开始计数。(6)当INT0由1变0时,T0停止计数。这一特性可以用来测量在INT0端出现的正脉冲的宽度。定时器(方式0)应用程序举例:例:利用定时器计数器每隔1ms控制产生宽度为二个机器周期的负脉冲,由P1.0送出。解:设时钟频率为12MHz,机器周期为1s,采用中断工作方式。求定时器初值,t(213-T0初值)

11、5;机器周期,设定时器初值为X,则定时1ms时,应有1×10-3(213-X)×10-6 ,可求得X719211100000 11000B,其中高8位E0H赋给TH0,低5值18H赋给TL0。由于系统复位后,TMOD被清0,正好处于定时器方式0状态,且 GATE0,也可不设置TMOD。程序如下: ORG 0000H AJMPMAIN2方式116位计数方式T0与T1的相同,寄存器TH0和TL0组成16位计数器, 其逻辑电路结构如图所示:(1)用于定时工作方式时 定时时间为:t(216-T0初值)×机器周期(2)用于计数工作方式时 计数长度为21665536(个外部脉

12、冲)。(3)当TL0的低8位溢出时,向TH0进位,而TH0 溢出时向中断标志位TF0进位(硬件置位TF0),并申请中断或者用于查询。TMODTCON(4)工作方式1 的编程要点:TMOD选方式:写“M1,M0”=01 b 选方式1 若不用门控位,直接用软件写TRx控制启/停若使用门控位,先置位TRx,然后由INTx端的高/低电平来控制其启/停若要允许中断,还须先置位ETx、EA等中断允许控制位,并编写中断服务程序若不用中断,可查询“计数溢出标志TFx” 的方式工作,但溢出标志TFx须软件清0定时器(方式1)应用程序举例:例1:若晶振频率为6MHz,计算单片机的 最小与最大定时时间:分析:已知f

13、osc= 6MHz 则:(振荡周期)1Tc=1/6MHz(机器周期)1Tm=12Tc=12/6MHz=2ms粗略地说:Tmin»2ms16位定时器最大数值为:216 =65536=0FFFFH+1故选择方式1工作可以得到:Tmax= 65536×2 = 131072mS131.072ms例2:要求对T0产生100mS定时进行初始化。(晶振=6MHz)分析:已知fosc= 6MHz 则:(机器周期)1Tm=12Tc=12/6MHz=2ms100ms÷2 ms = 5000016位定时器最大数值为: 216 = 65536 (=0FFFFH+1)故选择方式1工作可以满

14、足要求。计算初值:6553650000=15536=3CB0H由分析得知:T0选择方式1,初值=3CB0HGATEC / TM1M0GATEG/TM1M0XXXX0001初始化:MOV TMOD,#01H;选T0 方式1MOV TH0,#3CH;赋初值高8位MOV TL0,#0B0H;赋初值低8位SETB TR0;启动T0定时若需要定时器0产生中断还应当写如下语句:SETB ET0;开T0中断允许SETB EA;开总中断允许以及相应的中断服务程序。3方式28位自动重装时间常数方式。方式2把TL0(TL1)配置成一个可以自动重装载的8位定时计数器, TH0(TH1)仅用来存放时间常数。(1)TL

15、0计算溢出时,不仅使溢出中断标志位TF0置l,而且还自动把TH0中的内容重装载到TL0中。(2)在程序初始化时,TL0和TH0由软件赋于相同的初值。(3)用于定时器工作方式时,其定时时间(TF0 溢出周期)为:t = (28-TH0初值)×机器周期(4)用于计数器工作方式时,最大计数值(TH0初值为0)为:28 =256(个外部脉冲)。定时器(方式2)应用程序举例:例:从P1.0 脚输出频率=1KHz方波。设:晶振=6MHz。 利用T1定时中断。分析:fosc= 6MHz 1机器周期=2mS1KHz方波周期=1ms半个方波周期=500ms, 500uS÷2us=250若选择

16、方式2工作,8位定时器最大数值为:28 =256 =0FFH + 1可以满足要求。计算初值:256250=6 ORG 0000H AJMP MAIN ORG 001BH ;T1的中断矢量 CPL P1.0 ;中断服务:P1.0取非 RETI ;中断返回MAIN: MOV TMOD,#20H MOV TH0, #6 MOV TL0, #6 SETB ET1 SETB EA SETB TR1 HERE: AJMP HERE ;原地等待中断 END4工作方式3 2个8位方式,工作方式3只适用于定时器T0。(1)若将T0设置为方式3,TH0和TL0被分成为两个互相独立的8位计数器。(2)TL0既可用作

17、定时器,又可用作计数器,并使用原T0的所有控制位及其定时器回零标志和中断源。即C/T、GATE、TR0、TF0和 T0(P3.4)引脚、INT0(P3.2)引脚。(3)TH0只有简单的内部定时功能,它使用定时器T1的控制位TR1、中断标志位TF1及中断源,其启动和关闭仅受TR1的控制。三定时/计数初值的求取方法例:已知某生产线的传送带上不断地有产品单向传送, 产品之间有较大间隔。使用光电开关统计一定时间内的产品个数,假定红灯亮时停止统计,红灯灭时才在上次统计结果的基础上继续统计。试用单片机定时器/计数器T1的方式1 完成该项产品的计数任务。四定时/计数器应用举例(1) 初始化: TMOD=11

18、010000B=0D0H(GATE=1, C/T=1, M0M1=01)TCON=00H (2)T1在方式1时, 溢出产生中断, 且计数器回零, 故在中断服务程序中, 需用R0计数中断次数, 以保护累积计数结果。(3) 启动T1计数, 开T1中断。程序清单如下: ORG 0000H AJMP START ; 复位入口 ORG 001BH AJMP T1INT ; T1中断入口 ORG 0100H START: MOV SP, 60H ; 初始化程序 MOV TCON, 00H MOV TMOD, 0D0H MOV TH1, 00H MOV TL1, 00H MOV R0, 00H ; 清中断次

19、数计数单元 MOV P3, 28H ; 设置P3.5第二功能 SETB TR1 ; 启动T1 SETB ET1 ; 开T1中断 SETB EA ; 开总中断 MAIN: ACALL DISP ; 主程序, 调显示子程序 ORG 0A00H T1INT: INC R0 ; 中断服务子程序 RETI DISP: ; 显示子程序 RET存储器定时/计数器中断系统输入/输出端口第三节 中断系统18031单片机5个中断源2个外部中断:INT0、INT1引脚输入的中断源;3个内部中断源:定时器T0、T1溢出中断和串行口TIRI接收中断。44个用于中断的控制寄存器IE、IP、TCON(用6位)和SCON(用

20、2位):用于控制中断的类型、中断的开(闭)及 中断源的优先级。52个中断优先级,每个中断源可以编程为高优先级或低优先级中断。一中断的概念1数据传送的双方平时各自做自己的工作,一旦甲方要求与乙方进行数据传送,就主动发出信号提出申请,乙方接到申请后若同意传送,安排好当前的工作,再响应与甲方发生数据传送完事后,回去继续做打断前的工作。2中断功能强弱是计算机性能优劣的重要标志。提高CPU效率解决速度矛盾实现并行工作应付突发事件3中断涉及的几个环节:中断源(前面提到的甲方)中断申请(甲方发出信号提出申请)开放中断(乙方同意传送)保护现场(安排好当前的工作)中断服务(响应乙方的要求)恢复现场(完事后,回去

21、)中断返回(继续做打断前的工作)二中断系统结构三中断源1部中断源(2个)由INT0、INT1引脚输入2个外部中断源;TCON的低4位,用于外部中断控制。定时器控制寄存器TCON (88H)TF1TR1TF0TR0IE1IT1IE0IT0TCONIE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。IT0/IT1:外部中断请求的触发方式选择位:=0:在INT0/INT1端申请中断的信号低电平有效;=1:在INT0/INT1端申请中断的信号负跳变有效。2内部中断源(3个)TF0/TF1:定时器溢出中断申请标志位:=0:定时器未溢出;=1:定时器溢出申请中断,进中断后自动

22、清零。TF1TR1TF0TR0IE1IT1IE0IT0TCON串行口接收和发送中断源SCON(98H)为串行口控制寄存器:SM0SM1SM2RENTB8RB8TIRIRI,TI:串行口收/发数据申请中断标志位:0 不申请中断;1 申请中断。四中断系统控制寄存器1中断允许寄存器IE (A8H)2中断优先寄存器IP(0B8H) (1)8031有2个中断优先级,每个中断源可编 程为高/低优先级中断;(2)可实现2级中断嵌套。(3)中断优先寄存器IP(0B8H)(4)同级中断源,按硬件确定的优先级顺序响应中断请求:8031 CPU在每个机器周期,顺序采样各中断源,在下一机器周期按优先级查询中断标志,在

23、再下一个机器周期进行中断处理。在下列任一情况时,中断申请被封锁。CPU正在执行同级或高级的中断服务程序。不是执行当前指令的最后一个周期,即要保证把当前指令执行完。当前正在执行的指令是返回(RETI)指令或是对IE、IP寄存器进行读写指令。中断源申请标志中断矢量中断优先级外部中断0(0)IE00003H最高优先级最低优先级定时/计数器0(T0)IF0000BH外部中断1(1)IE10013H定时/计数器1(T1)TF1001BH串行口接收/发送RI/TI0023H五中断系统响应过程18031 CPU在每个机器周期,顺序采样各中断源,在下一机器周期按优先级查询中断标志,在再下一个机器周期进行中断处

24、理。2在下列任一情况时,中断申请被封锁。(1)CPU正在执行同级或高级的中断服务程序。(2)不是执行当前指令的最后一个周期,即要保证把当前指令执行完。(3)当前正在执行的指令是返回(RETI)指令或是对IE、IP寄存器进行读写指令。3编写中断服务程序时注意: 在中断入口地址单元处放一条无条件转移指令(如:JMP ××H)。 在中断服务程序中,用户应注意用软件保护现场。若在执行中断程序时禁止更高级中断,可用软件关闭CPU中断(CLR EA),或禁止某中断源中断,在中断返回前再开放中断。4要求编制一段程序,使P1.0端口线上输出周期为2ms的方波脉冲。单片机的晶振频率f0sc=

25、6MHz第四节 输入/输出端口l并行端口P0.0P0.7 ,P1.0P1.7, P2.0P2.7 ,P3.0P3.7l串行端口RXD,TXD一并行端口MCS51单片机有4个I/O端口,共32根I/O线。 4个I/O端口都是双向口包含:一个锁存器(P0P3);一个输出驱动器;一个输入缓冲器。MCS51在访问外部存储器时:地址由P0、P2口送出;数据则通过P0口传送,这时P0口是分时复用的双向总线。无外部存储器的系统,4个端口都可以作为准双向口使用。1P0端口(1)P0.0P0.7:双向I/O;(2)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;(3)不接外部程序存储器时可作为

26、8位准双向 I/O口使用。DQCK/Q读引脚读锁存器写锁存器内部总线引脚P0.X&1Vcc控制=1(4)在总线状态下,P0口分时出现数据D0D7、低8位地址A0A7及高阻状态。控制=0地址/数据(5)在输出状态下(切换开关MUX向下),从内部总线来的数据经锁存器反向端和场效应管T2反向后,输出到端口线。场效应管T1关断,T2 漏极开路应外接上拉电阻。DQCK/Q读锁存器写锁存器内部总线&1(6)在输入状态下,应先向锁存器写1,使两个场效应管均关断,引脚处于“浮空”状态(呈高阻输入状态),以保证输入数据的正确性。控制地址/数据DQCK/Q读引脚 =1读锁存器写锁存器内部总线&am

27、p;100100截止截止=0控制=0时,此脚作输入口(事先必须对它写“1”)1、在总线状态下,双向2、作为数据口输出时, 加上拉电阻3、作为数据口输入时, 必须先写1,再读入(7)I/O口的读修改写特性,每个I/O端口均有两种读入方法,即有读锁存器和读引脚之分,并有相应的指令。(8)读锁存器指令是从锁存器中读取数据,进行处理,并把处理后的数据重新写人锁存器,这类指令称为“读修改写”指令。(9)那么如何区分读端口的指令是读锁存器还是读引脚呢?当目的操作数是I/O端口或I/O端口的某一位时,这些指令是读锁存器而不是读引脚,即为“读修改写”指令。(10)“读修改写”指令2P1端口P1端口通用I/O端

28、口,8位准双向端口。(1)输出时一切照常,仅在作输入口用时要先对其写“1”。DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据 = 1 时110截止=1(2)单片机的引脚(P1口)DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据 = 0 时001=0导通仅在作输入口用时要先对其写“1”。DQCK/Q读引脚 =1读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截止1、可作为静态输出2、作为数据口输入时, 必须先写13P2端口P2.0P2.7:双向I/O(内置了上拉电阻) 寻址外部程序存储器时输出

29、高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。1、不可作为静态输出2、作为数据口输入时,必须先写14P3端口(1)P3.0P3.7: 双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。DQCK/Q读引脚读锁存器写锁存器内部总线引脚 P3.X&内部上拉电阻第二功能输出时,内部自动 D=1111反相器DQCK/Q读引脚读锁存器写锁存器内部总线此端自动1引脚 P3.X&内部上拉电阻Vcc 第二功能输入(RxD,T0,T1,INT0,INT1)第二功能输入时,信号经缓冲器4 直接进入内总线1110截止(2)具有第二功能

30、第一功能与P1口一样作为一般准双向输入/输出接口,具有字节操作和位操作。第二种功能时,输出锁存器输出1,通过第二功能线输出特定信号。5P0P3端口的负载能力及接口要求(1)P0口每一位输出可驱动8个LS TTL负载;做通用口使用时,输出级是开漏电路,故需外接上拉电阻;做地址/数据总线时,则无需接外部上拉电阻。(2)P1P3口输出级接有内部上拉电阻;每一位输出可驱动4个LS TTL负载。(2)P0P3端口已映射到特殊功能寄存器中。(3)对这些端口寄存器的读写就实现了对相应端口的输入输出操作。(4)例如:MOV A ,P1 ;把P1端口线上的信息输入到A MOV P1,A ;把A的内容由P1端口输

31、出MOV P3,OFFH ;使P3端口线各位置1二串行端口1串行通信的基本特征是数据逐位顺序进行传送串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平等)不同,形成了多种串行通信的协议与接口标准。常见的有:通用异步收发器(UART)本课程介绍的串口通用串行总线(USB)CAN总线SPI总线RS-485,RS-232C,RS422A标准等等2全双工串行接口(UART)数据通信的几个术语:并行:数据各位同时进行传送串行:数据逐位顺序进行传送全双工:(串行通信)收/发可同时进行半双工:(串行通信)收/发不可同时进行异步串行通信:以字符为单位进行传送同步串行通信:以数据块为单位进行传送

32、波特率(bps.):单位时间传送的位数51单片机的串行接口SBUF(发)SBUF(收)发送控制器 TI接收控制器 RI移位寄存器波特率发生器T1³1A累加器(门)移位寄存器RxDTxD去申请中断引脚引脚CPU内部3MCS5l单片机片内有一个串行IO端口(RXD、TXD)。通过引脚RXD(P3.0)和TXD(P3.1)与外设 电路进行全双工的串行异步通信。4串行端口的基本特点:(1)8031的串行端口有4种基本工作方式,通过编程设置;方式0方式1方式2,3(2)串行端口有两个控制寄存器:SCON(98H)和PCON(87H)。设置工作方式;发送或接收的状态;数据传送的波特率;中断标志等

33、。(3)串行端口有一个数据寄存器SBUF,该寄存器为发送和接收所共用。MOV SBUF,A MOV A,SBUF向SBUF写入数据就启动了发送过程;读SBUF就启动了接收过程。(4)接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指令对RI/TI 清0,以备下一次收/发。5寄存器(1)串行口控制寄存器SCON(98H)(2)电源控寄存器PCON中有一位SMOD与串行口工作有关:(3)SMOD(PCON.7):波特率倍增位。在串行口方式1、方式2和方式3时,波特率与2 SMOD成正比,亦即当 SMOD1时,波特率提高一倍。(4)复位时,SMOD0。6串行口工作方式(1)串行

34、口方式0方式0为同步移位寄存器输入输出方 式,常用于扩展IO口。方式0波特率fosc12。方式0:以8位数据为一帧,不设起始位和停止位,先发送或接收最低位。其帧格式如下:(2)串行口方式110位通用异步接口。(多用于双机之间或与外设电路的通讯)。收发一帧数据的格式为:1位起始位、8位数据位(低位在前)、1位停止位,共10位。波特率可调,由定时器T1的溢出率和SMOD位确定。(3)串行口方式2和方式311位异步通信格式。每帧11位:1位起始位,8位数据位 (低位在前),1位可编程的第9数据位和1位停止位。两种方式操作是完全一样的,所不同的只是波特率。7波特率的设定(1)方式0波特率fosc12(

35、2)方式1波特率×(定时器T1的溢出率)(3)方式1波特率×fosc(4)方式1波特率×(定时器T1的溢出率)(5)定时器T1的溢出率(次/秒)= (6)1、3方式波特率= ×8串行端口举例例1:8031单片机时钟振荡频率为11.0592MHz,选用定时器T1工作方式2作波特率发生器,波特率为2400bps,求初值。解:设置波特率控制位(SMOD)0,则例2:设计一个串行口程序,将8031(1)片内RAM50H-5FH中的数据串行发送到803l(2)中,并存储于803l(2)片内RAM40H-4FH单元中。解:假设两单片机晶振均为11.0592MHz,并

36、按图已经连接完毕。选择串行口方式3通信,接收发送11位数据,开始为1位起始位(0),中间8位数据位,奇偶校验位,停止位(1)。奇偶校验的实现:在发送端,TB8作奇偶校验性。在数据写入缓冲发送器前,将数据的奇偶位写入TB8。奇偶性数据传送到接收方RB8位上。在接收方,接收到一个字符后,从SBUF转移到A中,此时程序状态字(PSW)会产生已接收数据的奇偶值。将此奇偶值与RB8中的奇偶值相比较,两者应该相符,否则接收字符有错,通知对方重发。如果选择波特率为9600bps,且选择定时器1方式2定时,则发送与接收程序如下:第五节 时钟电路及时序一时钟电路1MCS51内部有一个用于构成振荡器的高增益反相放

37、大器,引脚 XTAL1和XTAL2分别是此放大器的输出端和输入端。2MCS51的时钟可由内都方式或外部方式产生。(1)内部方式时钟电路如图1.25所示。(2)当采用外部方式时钟电路时,外部信号接至XTAL2(内部时钟电路输入端)而XTAL1接地。由于XTAL2端的逻辑电平不是TTL 的,故建议外接一个上拉电阻。图1.26所示。3外接晶体以及电容C1、C2构成并联谐振电路,内部振荡器产生自激振荡。 4一般晶体可在212MHz之间任选。5外接晶体时,C1、C2通常选30PF左右。6晶体和电容应尽可能靠近单片机安装,以保证稳定可靠。二时序1CPU执行1条指令的时间称为指令周期,MCS51典型的指令周

38、期为1个机器周期。2个机器周期由6个状态(12个振荡脉冲)组成。3单字节单周期和双字节单周期指令的时序。图 单字节单周期周期指令的时序。图 双字节单周期指令的时序图单字节双周期指令的时序在二个机器周期内发生4次读操作码的操作,由于是单字节指令,后3次读操作都是无效的。图访问外部数据存储器的指令MOVX的时序它是一条单字节双周期指令。三复位电路1复位即回到单片机的初始状态。2单片机的复位是靠外部电路实现的。3在振荡器正在运行的情况下,在RST端出现高电平的第二个周期,执行内部复位,以后每个周期重复一次,直至RST端变为低电平。4复位后各内部寄存器的状态如表12所示。内部RAM不受复位的影响。5上电复位电路(1)上电瞬间RST端的电位与Vcc相同,随着电容的逐步充电,RST电位逐渐下降到0V。(2)上电复位所需的最短时间是振荡器建立时间加上2个机器周期。(3)一般Vcc的上升时间不超过 1ms,振荡器建立时间不超过 10ms。(4)复位电路的典型值为:C取10uF,R取8.2k,故时间常数 RC82ms,足以满足要求。6上电外部复位电路(1)典型的复位电路是既具有上电复位又具有外部复位的电路,如图所示。(2)上电瞬间,C与R构成充电电路,RST引

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论