/*
名称:C51之定时器
说明: 对于C51单片机来说,其内部有2个定时器,分别是T0和T1。它输入的时钟源是固定的,就是晶振输送的。当然它还可以作为计数器,统计外部输入的脉冲信号。
这个实验是定时器中断实验。对于定时器中断,这是属于中断的一种。使用它也需要配置先前所属的相关寄存器。不同的是,关于定时器中断,还需要配置一些其他与定时器相关的寄存器,如定时器方式寄存器(TMOD)、计数器TH、TL等。要注意一点的是,C51单片机的定时器可以工作在中断方式,也可以工作在查询方式。在本实验中,使用定时器0(C51有两个定时器),采用中断方式进行精确时间的显示。
*/
//定时器0中断初始化
void Interrupt_tint()
{
EA = 1; //开启总中断
ET0 = 1; //定时器0中断允许
TMOD = 0x02; //定时器0选择工作模式2:8位的自动装载模式
TH0 = 256 - 200; //赋初值,计数200,晶振12Mhz,溢出计时0.2ms
TL0 = 256 - 200;
TR0 = 1; //开启定时器0中断
}
//中断服务函数
void time0() interrupt 1
{
static long val = 0;
if(++val >= 5000 ) //计数5000次,正好1s
{
val = 0; //计数归零
DealTime(); //处理时间信息
}
}
其他的代码部分较为简单,不是重点。在此就不说了。
关键字:C51 定时器
引用地址:
C51之定时器
推荐阅读最新更新时间:2024-03-16 16:09
STM32F407 之 高级定时器介绍
1、简介: STM32F4 高级定时器(TIM1 和 TIM8)包含一个 16 位自动重载计数器,该计数器由可编程预分频器驱动。 高级定时器可用于各种用途,包括测量输入信号的脉冲宽度(输入捕获),或者生成输出波形(输出比较、PWM、带死区插入的互补PWM)。 使用定时器预分频器和RCC 时钟控制器预分频器,可以将脉冲宽度和波形周期从几微秒调制到几毫秒。并且高级定时器和通用定时器彼此完全独立看,不共享任何资源。它们可以实现同步。 2、TIM1 和 TIM8 的主要特性 TIM1 和 TIM8 定时器具有以下特性: ● 16 位递增、递减、递增/递减自动重载计数器。 ● 16 位可编程预分频器,用于对计数器时钟频
[单片机]
单片机定时器/计数器结构和工作原理是什么
实质是计数器,脉冲每一次下降沿,计数寄存器数值将加1。 计数的脉冲如果来源于单片机内部的晶振,由于其周期极为准确,这时称为定时器。 计数的脉冲如果来源于单片机外部的引脚,由于其周期一般不准确,这时称为计数器。 定时/计数器方式寄存器TMOD (1) M1和M0:方式选择位。 (2) c/T :功能选择位。时,设置为定时器工作方式;时,设置为计数器工作方式。 (3) GATE:门控位。当GATE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须(P3.2)或(P3.3)为高电平方可启动定时器,即允许外中断、启动定时器。 定时器/计数器控制寄存器TCON (
[单片机]
STM32定时器单脉冲输出
使用stm32cubemx配置外设,代码使用HAL stm32f1 v1.3.1库。 用的是stm32l152c开发板,时钟频率32MHZ。 这里,没有配置中断。 上图的意思是,TI2收到1给正脉冲,触发TIM1开始计数,经过 tDelay后,OC1输出低,经过一个tPulse后,OC1又恢复为高。 The OPM waveform is defined by writing the compare registers (taking into account the clock frequency and the counter prescaler). • The tDELAY is defined b
[单片机]
STC-C51串口问题
STC11L32XE STC11L48XE STC11L60XE 串口问题 1. 这个3个芯片都有2个串口,(RXD/P1.6、TXD/P1.7)---Port1串口 和 (RXD/P3.0、TXD/3.1)---Port3串口。这个2个串口,不能同时使用,只能分时复用,通过AUXR1来选择,如下图: 2. 在使用STC软件烧写程序的时候,只能使用Port3进行烧写,这是因为在boot烧写程序中把这个串口固定了,只能用这个串口烧写。
[单片机]
STM32 定时器的4通道计数器应用
通用定时器确实比较强悍,功能极多我也比较晕 此为在不牵扯PWM 与 DMA下像C51那样计数点灯。 当然你要配置一些IO口作为点灯用这里就不详细说了。 就如 #defineLED2_ON GPIO_ResetBits(GPIOD,GPIO_Pin_7) #define LED2_OFF GPIO_SetBits(GPIOD,GPIO_Pin_7) 这样的。 然后启用通用定时器2设置它的中断等3.0的库; //Timer2中断*// void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroup
[单片机]
二叉树算法在单总线上的C51软件实现
引 言 单总线技术是将地址线、数据线和控制线合成一根线,并允许在该线上挂接多个单总线器件。其搜索ROM命令可以在线识别挂接在总线上器件的注册码和器件的类型,并可在线确定总线上的器件数量;但是,对于多个在线器件,毫不遗漏搜索出每个器件的注册码比较困难,在本文中,作者把多个器件注册码的数据结构抽象为一种二叉树,从而通过二叉树算法实现对在线所有的单总线器件的注册码的自动搜索,并能根据注册码自动识别器件类型和总线上的器件数量。 1 单总线技术 单总线技术搜索ROM的过程是主设备获取单总线上从器件的注册码的过程,是一种简单的三步操作过程的重复,即先读一位,其次读该位的反码,然后再写一位,选中其中的一部分器件(详见参考文献 )。重
[单片机]
单片机C51编程几个有用的模块
Keil C51常用功能模块使用说明 说明 本文档包括单片机系统中常用到的时钟中断、通讯及键盘扫描等模块(见所附源程序)的说明。这些模块使用前后台系统模型。为达到最大的灵活性, 需要在用户工程中定义config.h文件, 在其中定义各模块可选参数的设置,而不是直接更改源代码。 这些可选内容大部分为宏定义,如果不定义宏相应的功能在编译时被屏蔽,不会增加代码长度。 具体可选内容见各模块中的说明。 在Config.h文件中还要包含一个单片机硬件的资源头文件。 各模块使用了定义在Common.h中的一些数据类型。如:BIT(bit) BYTE(unsigned char)等,具体请参见源程序。 时钟模块 在单片机软件设计中, 时钟是
[单片机]
博通重磅产品发布,引领PCI-e交换机和重定时器市场
如果我们有两年甚至四年更长的时间暂停向机器添加更快的计算引擎,那么服务器设计的情况将会好得多。 这样,我们就可以让内存子系统和 I/O 子系统赶上并更好地利用这些计算引擎,并且还需要更少的内存组和 I/O 卡来满足这些计算引擎的需求。 事实上,从 8 Gb/秒 PCI-Express 3.0(其规范于 2010 年发布)到 16 Gb/秒 PCI-Express 4.0 互连(本应在 2013 年发布)的转变延迟了四年,直到 2017 年才进入该领域。主要原因是计算引擎真正需要的 I/O 带宽与 PCI-Express 互连可以提供的带宽之间造成了阻抗不匹配。 这种不匹配一直延续下去,导致 PCI-Express 永远落后
[嵌入式]