在学习单片机的时候,我们发现很多功能都是通过中断来实现的。之前也举过烧水的例子来阐述中断,今天就讲解一下定时器赋初值的方法。8位的定时器最大可计数2的8次方为256,16位的定时器最大可计数2的16次方为65536。由于单片机的定时器是递加式的,所以最大值减去所要定时的值就是初值,举例如下:
最大值为100,我们只需要38,怎么办呢,由于是递加的,我们只需要在62时开始计时就可以了。
以proteus仿真为例简单讲解定时器赋初值
单片机定时器赋初值的方法解析
用proteus搭建的电路图如下,晶振为12m,p2.0每10ms翻转一次,即p2.0输出的频率为100hz。
这里使用16位的定时器,那单片机定时器0的最大计数就是65536.晶振为12m,那单片机的一个机器周期就是1us,定时器 0工作在方式1时最大定时65.536ms。
定时器的定时时间t = (65536-x),单位是us;
定时器初值x = 65536-t;
假设定时时间t=10ms=10000us,
那定时器初值x=65536-10000=55536us,也就是定时器0从55536开始递加到65536就是10ms,所以55536就是定时器的初值,55536转化为十六进制为0xd8f0,所以定时器的初值为:
th0 = 0xd8;
thl = 0xf0;
用虚拟示波器抓到的波形如下:
视频监控APP开发公司
红米K40系列开售被秒光
***如何做车规认证?
使用ADS用微带线代替传输线而导致仿真结果发生变化?
使用OpenCV+ONNXRuntime部署YOLOV7目标检测
如何对单片机的定时器进行赋初值
区块链正在改变游戏行业的发展理念
一文彻底搞懂内存屏障与volatile
微型光纤压力传感器助力医疗设备
基于EasyJTAG仿真器上采用LPC2292单片机实现CAN节点的设计
这款手机的发布或意味着HTC的落幕
智慧水务能效管理平台在污水处理厂的具体应用
虹科与Overland-Tandberg正式建立合作伙伴关系
苹果“降速门”调查 三星也被牵扯其中
选择网线型号小技巧
多数智能手机厂商一直在积极开发IoT(物联网)细分市场
媒体聚焦 | 从今年慕展,看汽车电子的技术与市场变化
国内AI+教育玩家众多,产业泡沫究竟几何?一块屏幕解决的问题是什么?
固态光源如何助力新型红外照明发展
电视机行业迟暮 三星电视新陷困境