单片机原理与应用技术:6第5章 中断系统和IO接口电路1.pptVIP

  • 8
  • 0
  • 约2.26万字
  • 约 106页
  • 2020-12-30 发布于安徽
  • 举报

单片机原理与应用技术:6第5章 中断系统和IO接口电路1.ppt

5.1 定时器/计数器 例 100MS延时程序 解: 计算机反复执行一段程序以达到延时的目的称为软件延时。通过控制执行指令的数量可以延时不同的时间。要实现较长时间的延时,一般需采用多重循环。下面是延时100ms的延时程序,设单片机的晶振为12MHZ。(机器周期TM=12个时钟周期) START: ORG 1000H MOV R6, #0C8H ; 外循环 200 次 LOOP1: MOV R7, #0F8H ; 内循环 248 次 NOP ; 时间补偿 LOOP2: DJNZ R7, LOOP2 ; 延时 2 μs×248=496 μs DJNZ R6, LOOP ; 延时 500 μs×200=100 ms RET ? 以上程序执行MOV Rn, #data 指令的时间为 1 μs, DJNZ指令 2 μs, NOP指令1 μs, 所以, 内循环延迟时间: 1 μs+1 μs+2 μs×248=498 μs, 外循环延迟时间: 1 μs+(内环延时+2 μs)×200=100.001 ms。 5.1 定时器/计数器 2 定时器的TMOD和TCON寄存器 计数的最高频率一般为振荡频率的1/24。Why? 在每个机器周期的S5P2期间采样检测引脚输入电平。 若前一个机器周期采样值为“1”,后一个机器周期采样值为“0”,则计数器加1。 新的计数值在检测到输入引脚电平发生“1”到“0”的负跳变(下降沿)后,于下一个机器周期的S3P1期间装入计数器中。 由于CPU需要两个机器周期来识别一个“1”到“0”的跳变信号,所以最高的计数频率为振荡周期的1/24。 综上 所谓计数器就是对外部输入脉冲的计数; 所谓定时器也是对脉冲进行计数完成的,计数的是MCS-51内部产生的标准脉冲,通过计数脉冲个数实现定时。 所以,定时器和计数器本质上是一致的,在以后的叙述中将定时器/计数器笼统称为定时器。 定时器/计数器原理框图 可编程定时器的工作方式、启动、停止、溢出标志、计数器等都是可编程的——通过设置寄存器TMOD,TCON,TH0,TL0,TH1和TL1 实现。 当设置了定时器的工作方式并启动定时器工作后,定时器就按被设定好的工作方式独立工作,不再占用CPU,只有在计数器计满溢出时才向CPU申请中断,占用CPU。 由此可见,定时器是单片机中工作效率高且应用灵活的部件。 5.1 定时器/计数器 2 定时器的TMOD和TCON寄存器 2 定时器的TMOD和TCON寄存器 8051单片机定时器主要有几个特殊功能寄存器组成: TMOD,TCON,TH0,TL0,TH1,TL1。 TMOD:设置定时器的工作方式; TCON:控制定时器的启动和停止; TH0和TL0 :存放定时器T0的初值或计数结果; TH0存放高8位,TL0 存放低8位; TH1和TL1 :存放定时器T1的初值或计数结果; TH1存放高8位,TL1 存放低8位; 2.1 工作方式控制寄存器TMOD 2.2 控制寄存器TCON 低4位与外部中断有关,后面介绍。高4位的功能如下: (1) TF1、TF0 —计数溢出标志位 定时器T0或T1计数溢出时,由硬件自动将此位置“1”; TFx可以由程序查询,也是定时中断的请求源; (2) TR1、TR0 —计数运行控制位 TRx=1: 启动定时器/计数器工作 TRx=0: 停止定时器/计数器工作 2.3 定时/计数器的初始化 MCS-51单片机的定时器/计数器是可编程的,但在进行定时或计数之前要对程序进行初始化,具体步骤如下: (1)对TMOD赋值,以确定定时器的工作模式; (2)置定时/计数器初值,直接将初值写入寄存器的TH0、TL0或TH1、TL1; (3)根据需要,对IE置初值,开放定时器中断; (4)对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位以后,计数器即按规定的工作模式和初值进行计数或开始定时。 定时器初始化 (1). 通过对方式寄存器TMOD进行设置,选择工作方式。 设T0为定时方式1:01H(0000 0001); 设T1为计数方式1:50H(0101 0000)。 MOV TMOD, #01H (2)定时初值计算 设初值为X,最大计数值为M。初值X与机器

文档评论(0)

1亿VIP精品文档

相关文档