社区
单片机/工控
帖子详情
看不懂装初值的公式TH0=-(n)/256 TL0=-(n)%256
arm7tdmi
2010-12-12 06:34:33
最近看老板写的定时器装初值的代码:
假设要计的个数是n,
TH0=-(n)/256
TL0=-(n)%256
按理说应该是
TH0=(65535-n)/256
TL0=(65535-n)%256
这样的形式呀,
为什么老板总写成TH0=-(n)/256 TL0=-(n)%256 的形式呢?用的是STC单片机,板子功能运行正常,其它的设置都能看懂,唯独这两句看不懂,请高人解释一下。
...全文
841
13
打赏
收藏
看不懂装初值的公式TH0=-(n)/256 TL0=-(n)%256
最近看老板写的定时器装初值的代码: 假设要计的个数是n, TH0=-(n)/256 TL0=-(n)%256 按理说应该是 TH0=(65535-n)/256 TL0=(65535-n)%256 这样的形式呀, 为什么老板总写成TH0=-(n)/256 TL0=-(n)%256 的形式呢?用的是STC单片机,板子功能运行正常,其它的设置都能看懂,唯独这两句看不懂,请高人解释一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SailorXing
2011-08-16
打赏
举报
回复
LZ的老板还亲自写代码啊,呵呵~
sunguoxin1
2011-08-16
打赏
举报
回复
计算初值应该是这样吧:(65536-n)/晶振频率*时钟周期个数(一般为12或6)=你想要的时间。
wang0635
2011-08-15
打赏
举报
回复
C51编译器处理整数时用16位
AnYidan
2011-08-13
打赏
举报
回复
lz 是不熟悉 timer 的原理吧
stonews
2011-08-12
打赏
举报
回复
好啊!学习了
lbing7
2010-12-17
打赏
举报
回复
数在计算机中的表示
dreamjack
2010-12-13
打赏
举报
回复
[Quote=引用 2 楼 zyzhang365 的回复:]
1)TH0=-(n)/256
TL0=-(n)%256
2)TH0=(65535-n)/256
TL0=(65535-n)%256
1)和2)还是不一样的。
如果2)写成
TH0=(65536-n)/256
TL0=(65536-n)%256
才是一样的,
2)其实一个是8位的补码形式,1)是一种比较直接的10进制表示方法。
[/Quote]
正解
zyzhang365
2010-12-12
打赏
举报
回复
(65536-n)就是-n的十进制补码,
TH0=(65536-n)/256
TL0=(65536-n)%256
表示成高/低字节。
arm7tdmi
2010-12-12
打赏
举报
回复
1)TH0=-(n)/256
TL0=-(n)%256
2)TH0=(65536-n)/256
TL0=(65536-n)%256
8位补码?能否具体解释一下?
arm7tdmi
2010-12-12
打赏
举报
回复
应该是
TH0=(65536-n)/256
TL0=(65536-n)%256
我写错了,楼上的真仔细呀
zyzhang365
2010-12-12
打赏
举报
回复
1)TH0=-(n)/256
TL0=-(n)%256
2)TH0=(65535-n)/256
TL0=(65535-n)%256
1)和2)还是不一样的。
如果2)写成
TH0=(65536-n)/256
TL0=(65536-n)%256
才是一样的,
2)其实一个是8位的补码形式,1)是一种比较直接的10进制表示方法。
derest12
2010-12-12
打赏
举报
回复
我也是第一次看见这样的写法,长眼界了呢
单片机及接口课程设计报告-------基于音乐播放器
目录 课设目的、内容.........................................................................................
51单片机—串口通信
接下来的事情就交给串口调试助手了学习笔记,听的是清翔电子的课程。 1.串行通讯与并行通信 数字信号是八位二进制数,可以使用信号线传输,一种方案是使用一条数据线按照次序一位一位的传送,每传送完8位(一个字节),这就是串行通信。还有一种方法是使用八条数据线同时传送8个位的数据,一次传送一个字节,这就是并行通信。 并行通信 特点为传输速度快,控制简单,但远距离传输时成本较高且接收方同时接收各位比较难串行通信 特点为传输线少,远距离传输时成本低,但数据传输比并行通信复杂 2.同步通信与异步通信..
04 蓝桥杯---单片机的中断系统
我们为什么要学习中断系统呢?那是因为软件延时不精准的问题。为了精准延时必须使用中断系统。而这一部分稍微有了点难度。在写程序前,需要学习一些理论知识。首先我们要认识一下定时器: 在这里,我们需要注意的是,定时器不仅解决了定时精准的问题,而且还不占用硬件资源。在以后写程序时,会有很大的作用。既然定时器如此神奇,让我们看看他的原理和用法: 虽然有这么多,其实我们常用 的也就那么一部分。再来看看是怎么...
51单片机定时器
初值
计算以及
初值
计算软件
51单片机定时器
初值
计算以及
初值
计算软件 不想搞懂计算原理的直接跳到文章末尾,使用
初值
计算软件来解决有关
初值
计算的问题 51单片机定时器
初值
计算部分 时钟周期,也称为振荡周期:定义为时钟脉冲的倒数,在单片机中也就等于晶振频率的倒数。 eg:12M晶振的单片机,时钟周期=振荡周期=1/12 us。 机器周期:定义为完成一项基本操作所需要的时间,称为机器周期。 51单片机中1个机器周期由6个状态周期组成,也就是12个时钟周期=12 x 1/12 us =1 us 一个机器周期的时间是1us.
串级PID控制四轴飞行状态-分析
一、概念 单极PID:当你知道系统当前状态和期望状态后,如何将系统从当前状态调整到期望状态是个问题,在此我们可以用PID进行调整,PID分为位置式和增量式,位置式适合舵机等系统,在此使用的是增量式。
公式
:PID=P*e(n)+I*[(e(n)+e(n-1)+…+e(0)]+D*[e(n)-e(n-1)] D后面的当前误差减前次误差也可以直接使用陀螺仪的数据代替,原理一样。 单极PID适合线性系
单片机/工控
27,375
社区成员
28,769
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章