计数器串行口和中断器.ppt
《计数器串行口和中断器.ppt》由会员分享,可在线阅读,更多相关《计数器串行口和中断器.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第五章第五章 MCS-51定时定时/计数器,串行口计数器,串行口及中断系统及中断系统5.1 MCS-51定时定时/计数器计数器5.2 MCS-51 串行口串行口5.3 MCS-51单片机中断系统单片机中断系统2一、定时定时/计数器结构计数器结构 2个个16位定时位定时/计数器计数器T0和和T1分别由分别由8位寄存器位寄存器TH0,TL0和和TH1,TL1构成,它们是以构成,它们是以“加加1”的方式完成的方式完成计数,计数寄存器满则溢出,并向计数,计数寄存器满则溢出,并向CPU 发出中断。发出中断。31方式控制寄存器方式控制寄存器TMOD GATE:门控位,与:门控位,与INTX有关,当有关,
2、当GATE=1,TRX=1 时,时,INTX=1开始计数,而开始计数,而INTX=0时则终止计数。时则终止计数。C/T:计数器方式还是定时器方式选择位。:计数器方式还是定时器方式选择位。M1M0:操作方式选择位,对应:操作方式选择位,对应4种操作方式,如下表:种操作方式,如下表:是一个是一个8位位SFR,不可以位寻址,各位定义如下,不可以位寻址,各位定义如下,4二:定时器控制寄存器二:定时器控制寄存器TCONTCONTF1:T1溢出标志。当溢出标志。当T1产生溢出,由硬件置产生溢出,由硬件置“1”,可向,可向CPU发出中断请求,发出中断请求,CPU响应中断后被硬件自动清响应中断后被硬件自动清0
3、,也,也可由程序查询清可由程序查询清0。TR1:T1运行控制位。由软件置运行控制位。由软件置“1”或置或置“0”来启动或关来启动或关闭闭T1工作,因而又称启工作,因而又称启/停控制位。停控制位。TF0:T0溢出标志。溢出标志。TR0:T0运行控制位。运行控制位。是一个是一个8位位SFR,可以位寻址,各位定义如下,可以位寻址,各位定义如下55.1.3 定时定时/计数器的计数器的4种工作方式种工作方式一:方式一:方式0 当编程使当编程使TMOD中的中的M1M0=0时,计数器按时,计数器按13位工作,由位工作,由TL的低的低5位(高三位未用)和位(高三位未用)和TH的的高高8位构成位构成13位计数器
4、,其逻辑图如下位计数器,其逻辑图如下6工作方式工作方式二二:方式方式1 当编程使方式寄存器当编程使方式寄存器TMOD中中M1M0=10时,定时时,定时/计计数器按数器按16位工作,其操作方式与方式位工作,其操作方式与方式0完全相同。完全相同。7工作方式工作方式三三:方式方式2 当当M1M0=10时,定时时,定时/计数器成为可自动装载计数初计数器成为可自动装载计数初值的值的8位寄存器。位寄存器。TL1或或TL0定义为计数器,而其高定义为计数器,而其高8位位TH1和和TH0为赋值寄存器(装计数初值),在为赋值寄存器(装计数初值),在TL1,TL0溢出后,重新装入溢出后,重新装入TH1,TH0的内容
5、,而的内容,而TH1,TH0的内容不变。的内容不变。8工作方式工作方式四四:方式方式3 当当M1M0=11时,内部控制逻辑把时,内部控制逻辑把TL0和和TL1配置成配置成2个互相独立的个互相独立的8位计数器。位计数器。9工作方式工作方式3 TL08位计数位计数/定时器。工作方式与方定时器。工作方式与方式式0完全相同。完全相同。TH08位定时器。位定时器。105.1.5 定时定时/计数器的初始化计数器的初始化一:定时一:定时/计数器的初始化步骤计数器的初始化步骤1:确定工作方式:确定工作方式-对方式寄存器对方式寄存器TMOD赋值。赋值。2:预置定时器:预置定时器/计数器初值,直接将初值写入计数器
6、初值,直接将初值写入TL0,TH1或或TL1,TH1中。中。3:开启或禁止定时:开启或禁止定时/计数器中断:计数器中断:SET ET0。4:启动定时器:启动定时器/计数器:对计数器:对TCON 中的中的TR1或或TR0置置1。11二二:计数器初值的计算计数器初值的计算1:计数器最大计数值计数器最大计数值:选择不同的工作方式,最大:选择不同的工作方式,最大计数值计数值M不同。不同。方式方式0:M=213=8192 方式方式1:M=216=65536 方式方式2,3:M=28=2562:计数初值计数初值X的计算:的计算:(1)计数方式时:)计数方式时:X=M-计数值计数值(2)定时方式时:()定时
7、方式时:(M-X)T=定时值定时值故,故,X=M-定时值定时值/T (其中其中T为计数周期,是单片为计数周期,是单片机时钟的机时钟的12分频)。分频)。12例例5-1 若单片机晶振为若单片机晶振为12MHZ,要求产生,要求产生500US定时,试计算定时,试计算X的初的初值。值。由于T=1s,产生500s定时,需要“+1”500次,定时器方能产生溢出。采用方式0:(13位计数器)X=213(50010-6/10-6)=8192 500=7692=1E0CH=F00CH采用方式1:(16位计数器)X=216(50010-6/10-6)=65036=FE0CH?1 1 1 1 0 0 0 00 0
8、0 0 1 1 0 0THiTLiD7D6D50 0 0不用F00CH=?暂时写成解:晶振为12MHz,则T=12/12=1s。135.1.6 定时定时/计数器应用举例计数器应用举例1、定时器定时器2、计数器计数器14定时器应用举例定时器应用举例解解1:方式:方式0:用用P1.0做方波输出信号,周期为做方波输出信号,周期为2MS的方波即每的方波即每1MS改变一次电平,故定时值应为改变一次电平,故定时值应为1ms,可作,可作“+1”运算运算1000次,使次,使T1作定时器工作在方式作定时器工作在方式0,即,即13位计数器。位计数器。定时初值:定时初值:X=M-计数次数计数次数=8192-1000
9、=7192=1C18H 由于由于TL1的高的高3位不用,位不用,1C18H应插入未用的三位,应插入未用的三位,11100000 000 11000 B=E018H TH1初值为初值为E0H,TL1的初值为的初值为18H。例例5-2 设主频为设主频为12MHZ,利用定时器,利用定时器T1定时,使定时,使P1.0输输出周期为出周期为2MS的方波。的方波。方式控制字的设定方式控制字的设定MOV TMOD,#00HMOV TH1,#0E0HMOV TL1,#18HSETB EASETB ET1SETB TR1SJMP$;T1按方式0工作;给计数器赋初值;CPU开总中断;T1允许中断;启动T1;模拟主程
10、序程序:16ORG 001BHAJMP BR1BR1:MOV TH1,#0E0HMOV TL1,#18HCPL P1.0RETI;T1中断入口;转T1中断服务;重装T1的初值;输出方波;返回ORG 0100H17方式方式1 若定时器若定时器T1T1按方式按方式1 1工作,即工作,即1616位计数器,则位计数器,则定时初值:定时初值:X=M-X=M-计数次数计数次数=65536-1000=FC18H=65536-1000=FC18H TH1 TH1初值为初值为FCHFCH,TL1TL1初值为初值为18H18H。其他编程与方。其他编程与方式式0 0类同。类同。18例例5-3 根据例根据例5-2要求
11、产生周期为要求产生周期为2MS方波,但不用中断方波,但不用中断方式,而用查询方式工作,查询标志为方式,而用查询方式工作,查询标志为TF1。18MOV TMOD,#10HSETB TR1 LOOP:MOV TH1,#0FCHMOV TL1,#18HJNB TF1,$CPL P1.0CLR TF1SJMP LOOP;T1按方式1工作;启动T1定时;给计数器赋初值;TF10;输出方波;返回解:利用方式解:利用方式1,16位计数器;位计数器;当定时时间到,当定时时间到,T1计数器溢出使计数器溢出使TF1置置“1”由于不采用中断方式,由于不采用中断方式,TF1置置“1”后不会自动复后不会自动复“0”,故
12、需要指令给,故需要指令给TF1清清”0“。192.作计数器用作计数器用计数器方式计数器方式2的应用的应用例例5-4 用用T0监视一生产流水线,每生产监视一生产流水线,每生产100个工件,个工件,发出一包装命令,包装成一箱,并记录其箱数。发出一包装命令,包装成一箱,并记录其箱数。解解 硬件电路如图所示硬件电路如图所示:P1.0 T0Vcc包装机包装命令100个光源光敏20GATE C/TM1M0控制T1控制T0TMOD选方式2选计数器INT0不参与控制0 1 1 0 计数初值X=M64H=9CH 用P1.0启动外设发包装命令 用R5R4作箱数计数器 方式字TMOD=06H21程序:MOV TMO
13、D,#6MOV P1.0,#0MOV R5,#0MOV R4,#0MOV TH0,#9CHMOV TL0,#9CHSETB EASETB ET0SETB TR0SJMP$ORG 000BHAJMP COUNT;P1.0为低;箱数计数器清“0”;置T0工作方式;T0开中断;CPU开中断;启动T0;模拟主程序;T0中断入口;转向中断服务22 COUNT:MOV A,R4ADD A,#1MOV R4,AMOV A,R5ADDC A,#0MOV R5,ASETB P1.0MOV R3,#100 DLY:NOPDJNZ R3,DLYCLR P1.0RETI中断服务:;箱计数器加“1”;启动外设包装;给外
14、设足够时间;延时;停止包装;中断返回;先在低字节加“1”ORG 0100H23门控位门控位GATE的应用的应用GATE C/TM1M0控制T1控制T0TMOD选方式1选定时器方式INT1为高时,T1开始计数1 0 0 124门控位门控位GATE的应用的应用例例5-5 用用GATE控制位,测量控制位,测量INT1(P3.3)引脚上正脉冲的)引脚上正脉冲的宽度(设晶振位宽度(设晶振位12MHZ,正脉冲宽度小于,正脉冲宽度小于65MS)。)。25 执行完执行完CLR TR1后停止计数,此时后停止计数,此时TH1,TL1的内容即为正脉冲宽度(单位:的内容即为正脉冲宽度(单位:US)。)。MOV TMO
15、D,#90HMOV TL1,#0MOV TH1,#0 JB P3.3,$SETB TR1JNB P3.3,$JB P3.3,$CLR TR1:程序:;置T1方式控制字;T1从0开始计数;等INT1低电平;T1允许计数;等INT1高电平;等INT1低电平;停止计数“与”计数时间265.2 MCS-51 串行口串行口51系列有一个可编程的全双工的串行系列有一个可编程的全双工的串行I/O口。口。串行通信:是指数据一位一位地按顺序传送的通信方式。串行通信:是指数据一位一位地按顺序传送的通信方式。并行通信:并行通信:8位数据同时传递。位数据同时传递。特点:特点:串行通信:只需一根数据线,线路简单,成本低
16、,但传递串行通信:只需一根数据线,线路简单,成本低,但传递速率慢,传递距离长。速率慢,传递距离长。并行通信:需要并行通信:需要8根数据线,传递速度快,传递距离短。根数据线,传递速度快,传递距离短。波特率:每秒钟内能发送或接收的二进制位数称为波特率。波特率:每秒钟内能发送或接收的二进制位数称为波特率。单位是:单位是:位位/秒秒(bps)。它表示串行通信传输的快慢。通常为:。它表示串行通信传输的快慢。通常为:1400,2800,3200,7200,9600每位的传输时间每位的传输时间Td=1/波特率波特率27单工串行口,半双工串行口单工串行口,半双工串行口和全双工串行口和全双工串行口按照串行进行交
17、换的方式可分为单工串行口,半双工串行按照串行进行交换的方式可分为单工串行口,半双工串行口和全双工串行口。(口和全双工串行口。(9Q314)单工串行口:只能发送。单工串行口:只能发送。双工串行口:既能发送,又能接受。双工串行口:既能发送,又能接受。半双工:发送和接受不能同时进行。半双工:发送和接受不能同时进行。全双工:发送和接受可以同时进行。全双工:发送和接受可以同时进行。285.2.1 5.2.1 串行通信的两种基本方式串行通信的两种基本方式异步传送方式:发送端与接受端可以有各自的时异步传送方式:发送端与接受端可以有各自的时钟来控制数据的发送和接收,这两个时钟源彼此钟来控制数据的发送和接收,这
18、两个时钟源彼此独立,互不同步。字符的发送是随机进行的,因独立,互不同步。字符的发送是随机进行的,因而,在异步通信时,对传送的字符必须规定一定而,在异步通信时,对传送的字符必须规定一定的格式。的格式。同步传送方式:发送时钟和接收时钟保持严格同同步传送方式:发送时钟和接收时钟保持严格同步。步。29异步传送方式一个字符在异步传送中又称为一帧数据,一帧数据由四部分组一个字符在异步传送中又称为一帧数据,一帧数据由四部分组成:成:起始位起始位:为逻辑:为逻辑“0”信号,占用一位,用来通知接收设备,信号,占用一位,用来通知接收设备,一个新的字符开始了。一个新的字符开始了。数据位数据位:紧跟着起始位的是:紧跟
19、着起始位的是 58 位数据的最低位位数据的最低位 LSB。异步。异步传送规定低位在前,高位在后。传送规定低位在前,高位在后。30异步传送方式奇偶位奇偶位:紧跟在数据最高位:紧跟在数据最高位 MSB 之后,占用一位,奇偶校验之后,占用一位,奇偶校验时,根据协议置时,根据协议置“1”或或“0”(可省去)。(可省去)。停止位停止位:为逻辑:为逻辑“1”信号,可占用一位,也可占用两位。接信号,可占用一位,也可占用两位。接收端收到停止位时,表示一帧数据结束。同时为接收下一帧数收端收到停止位时,表示一帧数据结束。同时为接收下一帧数据作好准备,只要再收到一个逻辑据作好准备,只要再收到一个逻辑“0”就是一个新
20、字符开始就是一个新字符开始了。了。31异步传送方式 因此,在异步通信时,收发双方需达成协议,一是规定因此,在异步通信时,收发双方需达成协议,一是规定字符格式:即采用几位数据,是否要奇偶校验位,是奇校验字符格式:即采用几位数据,是否要奇偶校验位,是奇校验还是偶校验,几位停止位等。二是规定波特率,以及时钟频还是偶校验,几位停止位等。二是规定波特率,以及时钟频率与波特率之间的比例关系等。率与波特率之间的比例关系等。由于异步通信按即定的字符格式和波特率传送数据,因由于异步通信按即定的字符格式和波特率传送数据,因而硬件线路简单,实现方便。缺点是数据帧中要插入起始位而硬件线路简单,实现方便。缺点是数据帧中
21、要插入起始位和停止位等附加位以实现同步,从而降低了有效数据位的传和停止位等附加位以实现同步,从而降低了有效数据位的传送速率。送速率。32同步传送方式同步传送方式发送时钟和接收时钟保持严格同步。发送时钟和接收时钟保持严格同步。数据块传递开始有数据块传递开始有12个同步字符来指示。个同步字符来指示。同步传送的数据一般叫信息帧,信息帧由同步传送的数据一般叫信息帧,信息帧由“同步字符同步字符+一串数据字符一串数据字符+校验字符校验字符”组组成。成。同步传送的传送速度快,但硬件要求高。同步传送的传送速度快,但硬件要求高。331.数据缓冲器数据缓冲器SBUF 串行口有两个物理空间上各自独立的串行口有两个物
22、理空间上各自独立的发送缓冲器(只写不读)发送缓冲器(只写不读)接收缓冲器(只读不写)接收缓冲器(只读不写)它们使用了同一地址它们使用了同一地址99H,(一般还是用其标,(一般还是用其标号号SBUF),通过不同的指令就可以分别访问),通过不同的指令就可以分别访问这两个缓冲器。这两个缓冲器。接受缓冲器是双缓冲的,以避免两帧数据的重叠接受缓冲器是双缓冲的,以避免两帧数据的重叠问题。问题。5.2.2 MCS-51串行口结构串行口结构342.串行口控制寄存器串行口控制寄存器SCON和和PCON1:SCON各位的定义各位的定义35SCON各位的定义各位的定义SM0,SM1:串行口方式选择位,:串行口方式选
23、择位,见下表见下表。SM2:方式方式2和方式和方式3多机通信控制位。多机通信控制位。在方式在方式2,3下下:SM2=1时:必须接受到的第九位数据时:必须接受到的第九位数据RB8=1才才使中断标志使中断标志RI置置1,提请中断。,提请中断。SM2=0时:无论时:无论RB8为何值,均可使为何值,均可使RI置置1,提请中断。提请中断。在方式在方式0和方式和方式1时,一般将时,一般将SM2置置036SCON各位的定义各位的定义 REN:允许接收控制位。由软件置:允许接收控制位。由软件置“1”时,允许时,允许接收,置接收,置“0”时,禁止接收。时,禁止接收。TB8:在方式:在方式2和和3中要发送的第中要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计数器 串行口 中断
限制150内