《顺序控制系统》PPT课件.ppt

上传人:wuy****n92 文档编号:72522301 上传时间:2023-02-12 格式:PPT 页数:58 大小:639.50KB
返回 下载 相关 举报
《顺序控制系统》PPT课件.ppt_第1页
第1页 / 共58页
《顺序控制系统》PPT课件.ppt_第2页
第2页 / 共58页
点击查看更多>>
资源描述

《《顺序控制系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《顺序控制系统》PPT课件.ppt(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第五章第五章 定时定时/计数器计数器顺序控制系统顺序控制系统5.1 5.1 顺序控制系统任务分析顺序控制系统任务分析5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统课程目标、重点与难点课程目标、重点与难点 课程目标:课程目标:掌握单片机定时器掌握单片机定时器/计数器的特点;学会利用单片机计数器的特点;学会利用单片机 进行顺序控制系统的设计与应用。进行顺序控制系统的设计与应用。课程重点与难点:课程重点与难点:合理选择定时器合理选择定时器/计数器工作方式、初始值的计算、计数器工作方式、初始值的计算、初始化

2、程序的设计;初始化程序的设计;1S1S定时程序的设计及工程中如定时程序的设计及工程中如 何运用定时计数器。何运用定时计数器。一、顺序控制系统实物图一、顺序控制系统实物图 5.1 5.1 顺序控制系统任务分析顺序控制系统任务分析图图5-1 5-1 顺序控制系统实物图顺序控制系统实物图二、顺序控制系统的硬件结构分析二、顺序控制系统的硬件结构分析图图5-2 5-2 顺序控制系统硬件接线图顺序控制系统硬件接线图5.1 5.1 顺序控制系统任务分析顺序控制系统任务分析三、控制时序图三、控制时序图图图5-3 5-3 顺序控制系统控制时序图顺序控制系统控制时序图5.1 5.1 顺序控制系统任务分析顺序控制系

3、统任务分析四、控制过程:四、控制过程:1 1、状态、状态1 1:P1P1输出输出0 x050 x05,持续,持续1s1s;2 2、状态、状态2 2:P1P1输出输出0 x030 x03,持续,持续1s1s;3 3、状态、状态3 3:P1P1输出输出0 x0f0 x0f,持续,持续1s1s;4 4、状态、状态4 4:P1P1输出输出0 x0e0 x0e,持续,持续1s1s;5 5、状态、状态5 5:P1P1输出输出0 x000 x00,持续,持续1s1s;6 6、状态、状态6 6:P1P1输出输出0 x040 x04,持续,持续1s1s;再回到状态再回到状态1 1,周而复始。,周而复始。5.1

4、5.1 顺序控制系统任务分析顺序控制系统任务分析五、顺序控制系统的组成五、顺序控制系统的组成1 1、电工电子实验箱、电工电子实验箱2 2、CPU89C51CPU89C51:主要起控制作用。:主要起控制作用。3 3、5V5V继电器继电器4 4个。个。4 4、24M24M晶振及晶振及2 2个个20pF20pF或或30pF30pF的起振电容。的起振电容。5 5、20F20F的电解电容,的电解电容,2 2个个1K1K的电阻以及一个按钮开关。的电阻以及一个按钮开关。6 6、电阻(、电阻(1K1K)、导线若干。)、导线若干。5.1 5.1 顺序控制系统任务分析顺序控制系统任务分析六、顺序控制系统所涉及的知

5、识点六、顺序控制系统所涉及的知识点(1 1)定时)定时/计数器的概念。计数器的概念。(2 2)89C5189C51单片机中定时单片机中定时/计数器的应用。计数器的应用。(3 3)C51C51定时定时/计数器中断服务程序的设计与应用。计数器中断服务程序的设计与应用。5.1 5.1 顺序控制系统任务分析顺序控制系统任务分析5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器v定时和计数功能最终都是通过定时和计数功能最终都是通过计数实现计数实现的,若计数的事件源是的,若计数的事件源是周期固定的脉冲,则可以实现周期固定的脉冲,则可以实现定时功能定时功能,否则只能实现,否则只能实现

6、计数功计数功能能。因此可以将定时和计数功能由一个部件实现。因此可以将定时和计数功能由一个部件实现。v实现定时和计数的方法一般实现定时和计数的方法一般有软件、专用硬件电路和可编程定有软件、专用硬件电路和可编程定时器时器/计数器计数器三种方法。三种方法。采用软件只能定时,且占用采用软件只能定时,且占用CPUCPU时间,降低了时间,降低了CPUCPU的使用效率。的使用效率。专用硬件电路可实现精确的定时和计数,但参数调节不便。专用硬件电路可实现精确的定时和计数,但参数调节不便。可编程定时器计数器,不占用可编程定时器计数器,不占用CPUCPU时间,能与时间,能与CPUCPU并行工作,并行工作,实现精确的

7、定时和计数,又可以通过编程设置其工作方式和实现精确的定时和计数,又可以通过编程设置其工作方式和其它参数,因此使用方便。其它参数,因此使用方便。一、定时器一、定时器/计数器的功能计数器的功能1 1、定时方式:、定时方式:每一个计数周期每一个计数周期(T(T计数计数)计数器加计数器加1 1,直至,直至计满计满溢出溢出(从全从全1 1到全到全0)0)产生中断请求。对于一个产生中断请求。对于一个N N位的加位的加1 1计计数器,若数器,若T T计数计数是已知的,则从初值是已知的,则从初值a a开始加开始加1 1计数至溢出计数至溢出所占用的时间为:所占用的时间为:当当N=8N=8、a=0a=0时,最大定

8、时时间为:时,最大定时时间为:T=256TT=256T计数计数图5-4 定时器/计数器结构框图5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器2 2、计数方式:、计数方式:外部输入信号的外部输入信号的下降沿触发计数下降沿触发计数,计数器,计数器在每个时钟周期或时钟周期的在每个时钟周期或时钟周期的1212分频采样外部输入信号,分频采样外部输入信号,若一个周期的采样值为若一个周期的采样值为1 1,下一个周期的采样值为,下一个周期的采样值为0 0,则,则计数器加计数器加1 1,故识别一个从,故识别一个从1 1到到0 0的跳变需的跳变需2 2个周期,所以,个周期,所以,单片机

9、对单片机对外部输入信号最高的计数速率是时钟频率的外部输入信号最高的计数速率是时钟频率的1/241/24。同时,外部输入信号的高电平与低电平保持时间。同时,外部输入信号的高电平与低电平保持时间均需大于一个周期。均需大于一个周期。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器二、定时器二、定时器/计数器的结构计数器的结构5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器图图5-4 5-4 定时器定时器/计数器结构框图计数器结构框图三、与定时器三、与定时器/计数器有关的特殊功能寄存器计数器有关的特殊功能寄存器1 1、特殊功能寄存器、特殊功能寄存器T

10、MODTMOD5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器定时器工作方式选择:定时器工作方式选择:5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器2 2、定时、定时/计数器控制寄存器(计数器控制寄存器(TCONTCON)TF1TF1:定时器:定时器1 1溢出标志位。当定时器溢出标志位。当定时器1 1计满数产生溢出时,计满数产生溢出时,TF1TF1可可作查询测试用,此时只能由软件清作查询测试用,此时只能由软件清0 0。TR1TR1:定时器:定时器1 1运行控制位。由软件置运行控制位。由软件置1 1或清或清0 0来启动或关闭定时器来启动或关闭

11、定时器1 1。TF0TF0:定时器:定时器0 0溢出标志位。其功能及操作情况同溢出标志位。其功能及操作情况同TF1TF1。TR0TR0:定时器:定时器0 0运行控制位。其功能及操作情况同运行控制位。其功能及操作情况同TR1TR1。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器四、定时器四、定时器/计数器的工作方式计数器的工作方式1 1、工作方式、工作方式0 0 5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器图图5-5 5-5 定时器定时器/计数器计数器0 0工作方式工作方式0 0逻辑结构框图逻辑结构框图计数器的计数值范围是:计数器的计数值

12、范围是:1819218192定时时间的计算公式为:(定时时间的计算公式为:(2 21313计数初值)计数初值)晶振周期晶振周期1212或(或(2 21313计数初值)计数初值)机器周期。机器周期。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器2 2、工作方式、工作方式1 1当当M1M0=01M1M0=01时,定时时,定时/计数器设为工作方式计数器设为工作方式1 1,定时,定时/计数计数器的等效电路如图器的等效电路如图5-65-6所示。所示。图5-6 定时器/计数器工作方式逻辑结构框图5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器计数器的计

13、数值范围是:计数器的计数值范围是:165536165536定时时间的计算公式为:定时时间的计算公式为:(2 21616计数初值)计数初值)晶振周期晶振周期1212或(或(2 21616计数初值)计数初值)机器周期机器周期方式方式0 0和方式和方式1 1的区别:的区别:在于计数器的位数不同,方式在于计数器的位数不同,方式0 0为为1313位,而方式位,而方式1 1则为则为1616位,由位,由TH0TH0作为高作为高8 8位,位,TL0TL0为低为低8 8位,有关控制状态字位,有关控制状态字(GATEGATE、TF0TF0、TR0TR0)和方式)和方式0 0相同。相同。5.2 89C515.2 8

14、9C51单片机定时器单片机定时器/计数器计数器图图5-75-7定时器定时器/计数器工作方式计数器工作方式2 2逻辑结构框图逻辑结构框图 3 3、工作方式、工作方式2 2当当M1M0=10M1M0=10时时,定时定时/计数器为工作方式计数器为工作方式2 2。等效电路如图。等效电路如图5-75-7所示。所示。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器工作方式工作方式2 2的特点:的特点:具有自动重装载初值功能,即自动加载计数初值。在具有自动重装载初值功能,即自动加载计数初值。在这种工作方式中,这种工作方式中,1616位计数器分为两部分,位计数器分为两部分,TL0TL

15、0为计数器,为计数器,TH0TH0作为预置寄存器,初始化时把计数初值分别加载至作为预置寄存器,初始化时把计数初值分别加载至TL0TL0和和TH0TH0中,当计数溢出时,不需要重新赋值时间常数,而由中,当计数溢出时,不需要重新赋值时间常数,而由预置寄存器预置寄存器TH0TH0以硬件方法自动给计数器以硬件方法自动给计数器TL0TL0重新加载。重新加载。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器、工作方式、工作方式 当当M1M0=11M1M0=11时,定时时,定时/计数器处于工作方式计数器处于工作方式3 3,定时,定时/计数器计数器T0T0被拆成两个独立的被拆成两个独

16、立的8 8位计数器位计数器TL0TL0和和TH0TH0。其中。其中TL0TL0既可以作计数器使用,也可以作为定时器使用,定既可以作计数器使用,也可以作为定时器使用,定时时/计数器计数器T0T0的各控制位和引脚信号全归它使用。其功的各控制位和引脚信号全归它使用。其功能和操作与方式能和操作与方式0 0或方式或方式1 1完全相同。完全相同。TH0TH0只能借用定时只能借用定时/计数器计数器1 1的控制位的控制位TR1TR1和和TF1TF1,也就是以计数溢出去置位,也就是以计数溢出去置位TF1TF1,TR1TR1则负责控制则负责控制TH0TH0定时的启动和停止。等效电路定时的启动和停止。等效电路参见图

17、参见图5-85-8。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器图图5-8 5-8 定时器定时器/计数器计数器T0T0工作方式工作方式3 3逻辑结构框图逻辑结构框图5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器在工作方式的情在工作方式的情况下,定时况下,定时/计数器计数器1 1通常作为串行口的波通常作为串行口的波特率发生器使用,以特率发生器使用,以确定串行通信的速率,确定串行通信的速率,当作波特率发生器使当作波特率发生器使用时,只需设置好工用时,只需设置好工作方式,即可自动运作方式,即可自动运行。行。图图5-9 5-9 定时器定时器/计

18、数器计数器T1T1工作方式工作方式3 3逻辑结构框图逻辑结构框图5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器五、定时五、定时/计数器的编程和应用计数器的编程和应用定时计数器的初始化编程步骤:定时计数器的初始化编程步骤:(1 1)工作方式控制字送)工作方式控制字送TMODTMOD寄存器;寄存器;(2 2)根据定时时间要求或计数要求计算计数器初值;)根据定时时间要求或计数要求计算计数器初值;(3 3)送计数初值的高八位和低八位到)送计数初值的高八位和低八位到THiTHi和和TLiTLi寄存器中;寄存器中;(4 4)启动定时(或计数),即将)启动定时(或计数),即将TR

19、xTRx置位(设置置位(设置TCONTCON)。)。(5 5)如果工作于中断方式,需要置位)如果工作于中断方式,需要置位EAEA(中断总开关)及(中断总开关)及ETxETx(允许定时(允许定时/计数器中断)并编中断服务程序。计数器中断)并编中断服务程序。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器最大定时时间(最大定时时间(f fOSCOSC12MHz12MHz):):方式方式0 0:T TMAX MAX=2=213131s=8.192ms1s=8.192ms方式方式1 1:T TMAXMAX=2=216161s=1s=65.536ms65.536ms方式方式2

20、2、3 3:T TMAXMAX=2=28 81s=0.256ms1s=0.256ms5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器 例例5-1 5-1 用定时器实现用定时器实现P1.0P1.0所接所接LEDLED每每60ms60ms亮或灭一次,设亮或灭一次,设系统晶振为系统晶振为12M12M。分析:分析:(1 1)设置定时器的工作方式,然后给定时器赋初值,即)设置定时器的工作方式,然后给定时器赋初值,即进行定时器的初始化。这里选择定时器进行定时器的初始化。这里选择定时器0 0,工作于定时方,工作于定时方式,工作方式式,工作方式1 1,即,即1616位定时位定时/计数

21、的工作方式,不使用门计数的工作方式,不使用门控位。控位。(2 2)工作方式控制字送)工作方式控制字送TMODTMOD。由(。由(1 1)知定时器的工作)知定时器的工作方式字方式字TMODTMOD应为应为00000001B00000001B,即,即0 x010 x01。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器 (3 3)定时初值应为)定时初值应为6553665536600006000055365536,由于不能直接,由于不能直接给给T0T0赋值,必须将赋值,必须将55365536转化为十六进制即为转化为十六进制即为0 x15a00 x15a0,这,这样可以写出初

22、始化程序:样可以写出初始化程序:TMODTMOD0 x010 x01;TH0TH00 x150 x15;TL0TL00 xa00 xa0;(4 4)初始化定时器后,要定时器工作,必须将)初始化定时器后,要定时器工作,必须将TR0TR0置置1 1,程序中用程序中用“TR0“TR01 1;”来实现。可以用中断或查询的方来实现。可以用中断或查询的方式来使用定时器。式来使用定时器。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器给定时器赋初值的语句给定时器赋初值的语句也可以采用如下方法也可以采用如下方法:TH0=(65536-2000)/256;TH0=(65536-2000

23、)/256;TL0=(65536-2000)%256;TL0=(65536-2000)%256;或或 TH0=-2000/256;TH0=-2000/256;TL0=-2000%256;TL0=-2000%256;5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器1、查询方式参考源程序:、查询方式参考源程序:include include sbit P1_0=P10;sbit P1_0=P10;void main(void)void main(void)P1=0 xff;P1=0 xff;TMOD=0X01;TMOD=0X01;TH0=0 x15;TH0=0 x15;T

24、L0=0 xa0;TL0=0 xa0;TR0=1TR0=1while(1)while(1)if(TF0=1)if(TF0=1)TF0=0;TF0=0;TH0=0 x15;TH0=0 x15;TL0=0 xa0;TL0=0 xa0;P1_0=P1_0=P1_0;P1_0;5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器2、中断方式参考源程序:、中断方式参考源程序:include include sbit P1_0=P10;sbit P1_0=P10;void timer0()interrupt 1void timer0()interrupt 1 TH0=0 x15;TH

25、0=0 x15;TL0=0 xa0;TL0=0 xa0;P1_0=P1_0=P1_0;P1_0;void main(void)void main(void)P1=0 xff P1=0 xff;TMOD=0X01 TMOD=0X01;TH0=0 x15 TH0=0 x15;TL0=0 xa0 TL0=0 xa0;TR0=1 TR0=1;EA=1 EA=1;ET0=1 ET0=1;While(1)While(1);5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器 例例5-2 P15-2 P1口接有八个发光二极管,编程使八个管依次点亮,口接有八个发光二极管,编程使八个管依次

26、点亮,每个管亮每个管亮100ms100ms,设晶振为,设晶振为6MHz6MHz。图5-10 例5-2的电路图5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器分析:分析:利用利用T1T1完成完成100ms100ms的定时,当的定时,当P1P1口线输出口线输出“0”“0”时,时,发光二极管亮,每隔发光二极管亮,每隔100msP1100msP1口输出左移一次,采用定口输出左移一次,采用定时方式时方式1 1,先计算计数初值:,先计算计数初值:由于由于fosc=6Mfosc=6M,Tm=2s,Tm=2s,因此时间常数的计算为:因此时间常数的计算为:TH0=TH0=(65536-

27、100000/265536-100000/2)/256/256;TL0=TL0=(65536-100000/265536-100000/2)%256%256;5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器1 1、查询方式参考源程序:、查询方式参考源程序:#include#include void main(void)void main(void)P1=0 xfe;/P1=0 xfe;/第一只第一只LEDLED亮亮 TMOD=0 x10 TMOD=0 x10;/定时器定时器1 1方式方式 TH1=0 x3c TH1=0 x3c;TL1=0 xb0 TL1=0 xb0;

28、/装载计数初值装载计数初值 TR1=1 TR1=1;/启动启动T0 T0 5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器 while(1)while(1)while while(TF1=0TF1=0););/查询等待查询等待TF1TF1置位置位 P1=1 P1=1;/定时时间到,下一只定时时间到,下一只LEDLED亮亮 if(P1=0 x00)if(P1=0 x00)P1=0 xfe;P1=0 xfe;TF1=0 TF1=0;/软件清软件清TF1TF1 TH0=TH0=(65536-100000/265536-100000/2)/256/256;TL0=TL0=(6

29、5536-100000/265536-100000/2)%256%256;5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器2、中断方式源程序:、中断方式源程序:#include#include Timer1()interrupt 3 using 1 /T1Timer1()interrupt 3 using 1 /T1中断服务程序中断服务程序 P1=1;/P1=1;/下一只下一只LEDLED亮亮 TH0=TH0=(65536-100000/265536-100000/2)/256/256;/装载计数初值装载计数初值 TL0=TL0=(65536-100000/26553

30、6-100000/2)%256%256;void main(void)void main(void)TMOD=0 x10;/T1 TMOD=0 x10;/T1工作在定时方式工作在定时方式1 15.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器 P1=0 xfe;/P1=0 xfe;/第一只第一只LEDLED亮亮 TH0=TH0=(65536-100000/265536-100000/2)/256/256;/装载计数初值装载计数初值 TL0=TL0=(65536-100000/265536-100000/2)%256%256;EA=1;EA=1;ET1=1;/CPU ET

31、1=1;/CPU开中断,允许开中断,允许T1T1中中 TR1=1;/TR1=1;/启动启动T1T1开始定时开始定时 while(1)while(1);/等待中断等待中断 5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器例例5.35.3 若若f fOSCOSC=12MHz=12MHz,T1T1工作于方式工作于方式1 1,产生,产生50ms50ms的定时中断,的定时中断,TF1TF1为高级中断源。试编写主程序和中断服务程序,使为高级中断源。试编写主程序和中断服务程序,使P1.0P1.0产生产生周期为周期为1s1s的方波的方波。解:解:让让P1.0P1.0每每500ms50

32、0ms取反一次取反一次即可实现。定时器的单次定时时间即可实现。定时器的单次定时时间不可能达到不可能达到500ms500ms,可让定时器,可让定时器多次定时产生多次定时产生500ms500ms的定时时的定时时间,如让间,如让T1T1工作在方式工作在方式1 1,单次定时时间为,单次定时时间为50ms50ms,那么,那么T1T1中中断断1010次就是次就是500ms500ms的时间。的时间。(1 1)确定定时常数)确定定时常数假假设设使使用用f fOSCOSC的的1212分分频频作作为为计计数数源源,则则T T计计数数12/12/f fOSCOSC 12/12/(121012106 6)1s1s;时

33、时常常初初值值为为:2 21616-5010-50103 315536=3CB0H15536=3CB0H;TH1=0 x3cTH1=0 x3c,TL0=0 xb0TL0=0 xb0。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器(2 2)初始化程序)初始化程序 包包括括T1T1初初始始化化和和中中断断系系统统初初始始化化,主主要要是是对对IPIP、IEIE、TCONTCON、TMODTMOD的的相相应应位位进进行行正正确确的的设设置置,并并将将时时间间常常数数送送入入T1T1。本本例例中中将将初初始始化化操操作作放放在在主主程程序序中中完完成成,当当程程序序规规模模

34、较较大大时时,应应编编写写单单独独的的初初始始化化程程序序,以以利利于于程程序序的的模模块块化化设计。设计。(3 3)中断服务程序)中断服务程序 中中断断服服务务程程序序除除了了完完成成要要求求的的方方波波产产生生这这一一工工作作之之外外,还还要要注注意意将将时时间间常常数数重重新新送送入入T1T1中中,为为下下一一次次产产生生中中断断作作准备。准备。5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器程序清单如下(主程序):程序清单如下(主程序):#include#include sbit P1_0=P10;sbit P1_0=P10;int count=10;int

35、count=10;/10/10次次T1T1中断为中断为500ms500msvoid main(void)void main(void)TMOD=0 x10;TMOD=0 x10;/T1/T1方式方式1 1 P1_0=0;P1_0=0;TH1=0 x3c;TH1=0 x3c;/初值初值 TL1=0 xb0;TL1=0 xb0;IE=0 x88;IE=0 x88;/允许允许T1T1中断中断 IP=0 x08;IP=0 x08;/TF1/TF1中断为高级中断中断为高级中断 TCON=0 x20;TCON=0 x20;/启动启动T1 T1 while(1);while(1);/死循环,等待中断,产生方

36、波死循环,等待中断,产生方波 5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器程序清单如下(中断服务程序):程序清单如下(中断服务程序):void Timer1_ISR(void)void Timer1_ISR(void)interrupt 3interrupt 3 TH1=0 x3c;TH1=0 x3c;/重装初值重装初值 TL1|=0 xb0;TL1|=0 xb0;count-;count-;/中断计数中断计数 if(count=0)if(count=0)/500ms/500ms到,重赋计数初值,到,重赋计数初值,P1.0P1.0取反取反 count=10;P1_

37、0=count=10;P1_0=P1_0;P1_0;问题:问题:为什么用为什么用TL1|=0 xb0;TL1|=0 xb0;而非而非TL1=0 xb0TL1=0 xb0?5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器 例例5-4 5-4 在在P1.7P1.7端接一个发光二极管端接一个发光二极管LEDLED,要求利用定时控制使,要求利用定时控制使LEDLED亮一亮一秒灭一秒周而复始,设秒灭一秒周而复始,设fosc=12MHzfosc=12MHz。分析:分析:当当fosc=12MHzfosc=12MHz时,定时时,定时/计数器的最大定时时间为计数器的最大定时时间为65.

38、536ms65.536ms,显然不能满足定时显然不能满足定时1S1S的要求,解决办法有两种。的要求,解决办法有两种。方法方法1 1:利用单片机的利用单片机的T0T0和和T1T1来实现,即来实现,即T0T0工作在定时方式,进行工作在定时方式,进行100ms100ms的定时,的定时,T1T1工作在计数方式。控制方式为:工作在计数方式。控制方式为:T0T0定时定时50ms50ms,定时,定时时间到,时间到,P1.0P1.0取反作为取反作为T1T1的计数脉冲,的计数脉冲,当当T1T1计计1010个脉冲正好为个脉冲正好为1S1S。硬件连线连线如图。硬件连线连线如图5-115-11所示。所示。5.2 89

39、C515.2 89C51单片机定时器单片机定时器/计数器计数器图5-11硬件连线控制示意图图5-12程序流程图5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器方法方法1 1:采用中断方式:采用中断方式#include sbit P1_0=P10;sbit P1_7=P17;void timer0(void)interrupt 1 using 1/T0中断服务程序 P10=P10;/100ms到P1.0反向 TH0=(65536-50000)/256;/重载计数初值 TL0=(65536-50000)%256;5.2 89C515.2 89C51单片机定时器单片机定时器

40、/计数器计数器void timer(void)interrupt 3 using 2 /T1中断服务 P1_P1_7;/1s到,灯变状态 main ()P1_7=0;/置灯初始灭 P1_0=;/保证第一次反向便开始计数 TMOD=0 x61;/T0方式定时,T1方式计数 TH0=(65536-50000)/256;/计数初值 TL0=(65536-50000)%256;5.2 89C0515.2 89C051单片机定时器单片机定时器/计数器计数器 TH1=(256-10);TL1=(256-10);/预置计数初值 IP=0 x08;/置优先级寄存器 EA=1;ET0=1;ET1=1;/开中断

41、TR0=1;TR1=1;/启动定时计数器*/while(1);/等待中断5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器方法方法2:用用T0定时,软件计数的方法。采用中断定时定时,软件计数的方法。采用中断定时50ms,软件计数器软件计数器count计数计数20次来实现次来实现1S定时,程序如下:定时,程序如下:#include sbit P1_7=P17;bit flag=1;unsigned char count=0;void timer0(void)interrupt 1 using 1 count+;if(count=20)5.2 89C515.2 89C51单

42、片机定时器单片机定时器/计数器计数器 count=0;/1S时间到。计数器count清0;flag=0;/1S时间到。标准位flag清0;TH0=(65536-50000)/256;/重载计数初值 TL0=(65536-50000)%256;main ()P1_7=0;/置灯初始灭 TMOD=0 x01;/T0方式定时5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器 TH0=(65536-50000)/256;/计数初值 TL0=(65536-50000)%256;EA=1;ET0=1;ET1=1;/开中断 TR0=1;while(1)while(flag);/等待中

43、断 P1_7P1_7;/1s到,灯变状态 flag=1;/标志位置1,等待下一个1S 5.2 89C515.2 89C51单片机定时器单片机定时器/计数器计数器5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统 一、89C205189C2051顺序控制系统硬件设计顺序控制系统硬件设计 二、二、89C2051 89C2051顺序控制系统程序流程图顺序控制系统程序流程图中断控制程序流程图5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统主程序流程图5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统三、89C205189C2051顺序控制系统软件

44、设计顺序控制系统软件设计#include sbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;sbit P1_3=P13;sbit P1_7=P17;bit flag=1;bit flag1=0;unsigned char count;5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统void timer0(void)interrupt 1 using 1 count+;if(count=20)count=0;/1S时间到。计数器count清0;flag=0;/1S时间到。标准位flag清0;TH0=(65536-50000)/256;/重载计

45、数初值 TL0=(65536-50000)%256;5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统main ()TMOD=0 x01;/T0方式定时 TH0=(65536-50000)/256;/计数初值 TL0=(65536-50000)%256;EA=1;ET0=1;ET1=1;/开中断 P1=0 xff;while(1)if(P3_7=0)5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统 flag1=1;TR0=1;while(flag1)while(flag);/等待1S flag=1;P1_1=0;P1_3=0;while(flag);/等待

46、1S flag=1;5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统 P1_1=1;P1_2=0;while(flag);/等待1S flag=1;P1_2=1;P1_3=1;while(flag);/等待1S flag=1;P1_2=1;P1_3=1;while(flag);/等待1S flag=1;5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统 P1_0=0;while(flag);/等待1S flag=1;P1_1=0;P1_2=0;P1_3=0;while(flag);/等待1S flag=1;P1_1=1;P1_2=1;5.3 5.3 基于基于89C5189C51顺序控制系统顺序控制系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁