龙空技术网

单片机入门-C51语言采用定时器中断方法获取1秒精准定时解说

灵思致远IT学苑 278

前言:

现在我们对“c语言定时中断”大体比较注重,咱们都需要分析一些“c语言定时中断”的相关内容。那么小编在网上网罗了一些有关“c语言定时中断””的相关知识,希望我们能喜欢,我们一起来学习一下吧!

视频教程:

视频

单片机接通电源后将循环执行我们编制好的程序(一般称为主程序),当有外部设备或内部部件要求CPU为其服务时,计算机将被迫“中断”主程序的执行,并记录下暂停处程序地址(断点地址),然后转去为外部设备服务,即执行中断服务程序;在中断程序执行完毕后自动返回被迫中断主程序的地址,继续执行原主程序 一个单片机系统可能有多个中断源,而单片机CPU在某一时刻只能响应一个中断源的中断请求,当多个中断源同时向CPU发出中断请求时,则必须按照“优先级别”进行排队,CPU首先选定其中中断级别高的中断源为其服务,然后按排队顺序逐一服务,完毕后返回断点地址,继续执行主程序。

AT89C51具有五个中断源,分为内部中断源和外部中断源。外部中断源有两个,通常指由外部设备发出中断请求信号,从P3.2和P3.3 引脚输入单片机,用电平或边沿触发两种方式申请中断。 内部中断源有三个,两个定时器/计数器(T0,T1)中断源和一个串行口中断源,T0和T1的中断申请是在它们计数从全“1”变为全“0”溢出时自动向中断系统提出的。

本文采用定时器中断的方法先产生50毫秒的信号,计数20次得到1秒的时钟信号,作为后续电子钟设计的基础。

采用中断法的定时器/计数器的运用总结如下:

1。计算计数初值:

计数值=定时的时间/机器周期 50ms/1us=50000

初值X=最大计数值M-计数值; 65536-50000=15536 (0x3cb0)

2.TMOD寄存器的设置:

GATE C/T M1 M0 GATE C/T M1 M0

0 0 0 0 0 0 0 1 (0x01)

3.TCON寄存器的设置:

主要关注TR1/TR0 TR0=1

4.打开中断(含定时器中断和总中断)

5.中断服务函数的编程

标签: #c语言定时中断