前言:
现在我们对“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语言定时中断