本文主要讲解了微机原理与应用中的定时器和计数器的应用,具体涉及51系列单片机的定时器T1在模式1下的应用。在实际应用中,定时器T1通常用于计数和产生中断请求,以实现特定功能。
在例6-10中,目标是让T1在接收到1000个外部信号后,通过中断请求CPU读取外部数据存储器2300H单元的内容并存入内部数据存储器40H单元。为此,首先需要设置T1的工作模式,将其设置为模式1计数器方式,通过TMOD寄存器进行配置。然后设定计数器初值,本例中为FC18H,以便在计满1000次后触发中断。接着打开中断系统,允许T1中断,并启动计数器。中断服务子程序中,需要保护现场,重新加载计数器初值,读取外部数据存储器的内容并存入指定内部存储器地址。
例6-13介绍了一个更复杂的场景,要求在P3.4引脚检测到负脉冲时,通过T0产生中断,并在P1.0引脚输出周期为1ms的方波。T0被设置为方式1计数器模式,捕获负脉冲,而T1则设置为方式2定时器模式,用于产生500μs的定时中断。通过计算T1的初值来达到所需定时效果,然后在中断服务子程序中翻转P1.0的状态,形成方波。
例6-14讨论了如何结合两个定时器实现更长时间的定时。一个定时器以CTC方式工作在模式1,产生周期为t1的方波,另一个定时器同样在模式1下,对前者的方波信号进行计数,通过计数达到预定次数来实现更长的定时。
例6-15的问题是每隔4秒将2000H单元的数据传输到30H单元。这里T0被设定为模式1产生50ms定时,T1设置为模式2计数模式,初值设定为216(即256-40),通过T1对T0产生的方波计数,达到4秒间隔。
总结这些例子,我们可以看出定时器和计数器在51系列单片机中的灵活运用,包括模式选择、初值计算、中断处理以及数据传输等功能。通过合理配置和编程,可以实现多种复杂的定时和计数任务。