打印

定时器初始化函数

[复制链接]
1238|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
langgq|  楼主 | 2022-4-10 23:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void init()
{
  TMOD=0x01;        //工作方式1
  TH0=0x4c;                //0x4c=(76)D  应该是赋初值    TH0=(655536-46075)/256=76.0195
  TL0=0x00;                //为什么给TL0赋0x00???
  EA=1;                        //开总中断
  ET0=1;                //开定时器0中断
  TR0=1;                //启动定时器
  counter=0;
  h=12;m=0;s=0;                //赋初值
  dispbuf[2]=10;
  dispbuf[5]=10;
}

使用特权

评论回复
沙发
morrisk| | 2022-4-10 23:56 | 只看该作者
lz没看错吧!定时器0方式1的有16位  肯定会给低八位赋值的啊!应该是低八位也会对256取余

使用特权

评论回复
板凳
langgq|  楼主 | 2022-4-10 23:58 | 只看该作者
开发板带的例程,可以编译,下到板子上,可以实现功能,没看错!

使用特权

评论回复
地板
guijial511| | 2022-4-11 08:11 | 只看该作者
想说明什么?

使用特权

评论回复
5
chuxh| | 2022-4-11 21:54 | 只看该作者
有说要那么精确吗

使用特权

评论回复
6
pengf| | 2022-4-11 21:57 | 只看该作者
你想问什么呀  没看到问题呀

使用特权

评论回复
7
chenjunt| | 2022-4-11 21:59 | 只看该作者
定时器就像秒表一样,该进位的时候就进位,而这个进位就是你设置的参数的意义。都赋值0而且模式为16位的话就是每65535进位一次。具体时间由晶振和机器周期决定。

使用特权

评论回复
8
xxrs| | 2022-4-11 22:01 | 只看该作者

655536-46075=19461=0x4C05,差5个机器周期!

使用特权

评论回复
9
langgq|  楼主 | 2022-4-11 22:03 | 只看该作者
唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
10
tpgf| | 2022-5-4 10:10 | 只看该作者
函数没有啥问题

使用特权

评论回复
11
drer| | 2022-5-4 10:22 | 只看该作者
楼主遇到什么问题了吗

使用特权

评论回复
12
tfqi| | 2022-5-4 10:30 | 只看该作者
这个差值楼主是如何捕捉到的呢

使用特权

评论回复
13
coshi| | 2022-5-4 10:39 | 只看该作者
多少个计时周期相差五个机器周期啊

使用特权

评论回复
14
kxsi| | 2022-5-4 10:46 | 只看该作者
应该可以接受这个误差吧

使用特权

评论回复
15
wiba| | 2022-5-4 10:54 | 只看该作者
5个机器周期是多长时间啊

使用特权

评论回复
16
Bowclad| | 2022-9-13 20:25 | 只看该作者
定时器0方式1的有16位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

932

主题

8762

帖子

1

粉丝