单片机定时器初始化不能用负号\"-(1000/256)\"写法
来源:互联网 发布:lvs haproxy nginx 编辑:程序博客网 时间:2024/04/25 12:02
用负号的写法是错误的。定时时间并不是从-A到0。
TMOD=0x01;
TH0=-(50000/256);
TL0=-(50000%256);
下面这样写才是对的:有的书上用的负号写法。误导我了!!
负号是错误的,并不相当于65536-A;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
用负号出错:
TH0=-(1000/256);
TL0=-(1000%256);
th0=TH0; //这里的结果是:253
tl0=TL0; //这里的结果是:24
sum=TH0*256+TL0;
//这里sum结果是 65021;
tl0=TL0; //这里的结果是:24
sum=TH0*256+TL0;
//这里sum结果是 65021;
这个定时器0初始化就不是定时1000了。
正确写法:
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
th0=TH0; //这里的结果是:252
tl0=TL0; //这里的结果是: 24
sum=TH0*256+TL0;
//这里sum结果是 64536;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
th0=TH0; //这里的结果是:252
tl0=TL0; //这里的结果是: 24
sum=TH0*256+TL0;
//这里sum结果是 64536;
- 单片机定时器初始化不能用负号\"-(1000/256)\"写法
- 教训少占鱼之:单片机定时器初始化不能用负号\"-(1000/256)\"写法
- 51单片机定时器T2初始化设置
- 51单片机定时器中断函数中变量初始化的问题
- 单片机定时器
- VS2010中bitset类型不能用unsigned long类型初始化
- int数组为什么一般不能用memset初始化每个元素
- C++有哪几种情况只能用初始化列表,而不能用赋值?
- C++有哪几种情况只能用初始化列表,而不能用赋值?
- C++有哪几种情况只能用初始化列表,而不能用赋值?
- C++有哪几种情况只能用初始化列表,而不能用赋值?
- C++有哪几种情况只能用初始化列表,而不能用赋值?http://zhidao.baidu.com/link?url=omVOhkgo4ZtpRddk794ly-aX79VjboKv3c3noM5tdz
- 51单片机定时器实验
- 单片机定时器学习汇总
- 单片机定时器中断
- 单片机 计数器与定时器
- 单片机定时器笔记一则
- 单片机定时器产生pwm
- 拥有淡然之心,才会不自我添累
- 魅力正定
- 夫妻间没有性格不和,只有理解不够
- 正定话考题
- 教训少占鱼之:单片机定时器初始化不能用负号\"-(1000/256)\"写法
- 单片机定时器初始化不能用负号\"-(1000/256)\"写法
- 使用dojoConfig配置Dojo
- 此贴必顶---国外的高速公路欣赏(大图)比较比较吧!!
- 看国外高速公路如何收费(电视台播的新闻,真的。优酷还不让上传!气人)
- C语言中用#if、#ifndef、(或者#ifndef)、#def、#endif等宏进行条件编译调试的技巧
- C语言assert(断言)的用法-程序调试用
- typedef(自定义数据类型)与#define(宏定义)用法比较(前者定义指针比define好用)---(转载)
- C语言回调函数熟练---使用方法(构建程序框架方便好用)
- 回调函数使用方法--例子程序(转载)