永发信息网

关于单片机定时器C语言编程,这段程序看不懂

答案:4  悬赏:10  手机版
解决时间 2021-02-06 10:14
void Timer0_ISR (void) interrupt 1 //1ms
{
TH0 = (-SYSCLK/1000) >> 8;
TL0 = -SYSCLK/1000;
if (Count1ms) Count1ms--;
}

TH0和TL0分辨是计数器的高8位和低8位没错吧?
SYSCLK是系统频率
那个负号是什么意思??难道能够给他负数??求高手解答,为什么要这么写,作用是什么?
最佳答案
因为每个CLK后TL0是向上加1的,并且在FFFF变成0000的时候才中断,所以正式的写法应该是(0x10000-SYSCLK)/1000,而对于一个两字节宽的数,0x10000-SYSCLK就等于~SYSCLK,但~SYSCLK更省代码和时间
全部回答
对于51而言,开通中断不必理会,硬件会自动处理;如果关闭断中断,即不使用中断可以用以下语句复位。 tf0=0;//也可以tf1、tf2等等 或者 tcon|=0x20;//如果使用其他定时器数据作相应变动 这仅作抛砖引玉,其他如果单片机有待完善。建议多看看硬件手册,即使我们只作软件。
分析这个问题必须把SYSCLK、TH0、TL0的定义贴出来。
TH0和TL0是这样计算的:TH0 = (65536-(SYSCLK/1000)) >> 8; TL0 =65536 -(SYSCLK/1000); 负号:省去65536,因为负数在单片机中以补码形式存在。 补码:SYSCLK/1000进行反码(变为16位二进制,每位取反),再加1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题下列事件中是确定事件的是A.篮球运动员
阅读下面短文,根据上下文填入适当的词语,或
在那时(未来) 用法语怎么说?
恋爱的技术露点在什么时候
箱变内高压柜为什么不用kyn28柜
四年级基础训练76页第6题,一块正方形地板砖长
佛教的冥库文疏如何写
要学习window系统编程从哪方面下手?
写作 suppose you havejust recceived a birt
86型暗装底盒有国家标准吗?是哪条?
3天不吃不喝会死吗?
日常生活中有哪些明目护眼的食物
如图所示,容器中装有水银,h1=6厘米,h2=4厘
我是个从小就不被喜欢疼爱的孩子,在我还没满
一首英文歌的名字,歌词里有how many times..
推荐资讯
花甲应该怎么养
住房公积金贷款37万,代20年,或者25年,30年
海南省屯昌中学2011年高一新生择校生报名入学
【老师看着我点点头满意地笑了怎么加标点符号
鱼鞞的意思是什么啊?知道的请说下!
ADM R5 M430的笔记本能玩看门狗2吗
本草洗发养发会所地址在什么地方,我要处理点
世界通史 宛华 为什么没有写关于中国的历史?
用尽心机又一年,幕后高水统大局.
手机wife下QQ空间图片加载不出来,视频看见看
河北省职业技术教育研究所在哪里啊,我有事要
北京樱花国际日语银座中心在哪里啊,我有事要
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?