全站数据
8 4 2 0 5 8 1

单片机中断装初值时为什么要对256求模和求余

财务要细心 | 教育先行,筑梦人生!         
问题更新日期:2024-07-05 22:03:11

问题描述

单片机中断装初值时为什么要对256求模和求余希望能解答下
精选答案
最佳答案

定时器工作在16位计数模式的时候有两个个参数TH跟TL

这2个参数都是8位(0-255)的,不能直接接受16位(0-65535)数据

为了使高8位赋值到TH里面就要采用除以256的方法,等效于>>8(2的8次方=256),就相当于把高字8位移动到低8位的位置了

求余数是为了把低8位赋值到TL里面,当不能被256整除留下的余数范围只有0-255以内。所以可以直接赋值给TL了。

所以

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

等效于

TH0=(65536-50000)>>8;

TL0=(65536-50000)&0x00ff;

在运算时 单片机在逻辑运算方面效率高于算术运算。