Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3130|回复: 0

中断的TL0和TH0是怎么设置的

[复制链接]

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
发表于 2023-10-27 16:11:23 | 显示全部楼层 |阅读模式
比如想让中断每50000个机器周期运行一次那么代码应该为
TH0 = (65536-50000)/256;
TL0 =  (65536-50000)%256;

这个怎么理解?

TH0和TL0是初始值的高位和低位

这两个位是各8位,满了是65536(对应着二进制1111 1111 1111 1111b),所以运行50000个机器周期初始值应该是65536-50000

由于高低位各是8位,因此是256(2的8次方,对应着1111 1111)进制,因此高位是 (65536-50000)/256 ,低位是 (65536-50000)%256

如果上面还不明白,类比下12求个位数和十位数怎么求得
十位数12/10 = 1
个位数12%10  =2
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-6-8 11:51 , Processed in 0.033913 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表