久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 單片機定時器重載值不理解,希望大神們幫幫忙 [打印本頁]

作者: WGL88    時間: 2019-5-21 12:18
標(biāo)題: 單片機定時器重載值不理解,希望大神們幫幫忙
以下是秒表程序中的部分內(nèi)容:我的理解:其中,tmp與ms相乘,變成了int型數(shù)據(jù),2個字節(jié)16位;tmp>>8之后,T0RH其實取了tmp的低八位,TORL也是取了tmp的第八位,這不是有問題嗎,兩個取得值是一樣的,無法達(dá)到定時器的重載值。

希望大神們幫忙指點下我的理解錯在哪里,謝謝!

單片機源程序如下:
void ConfigTimer0(unsigned int ms)
{
unsigned long tmp; //臨時變量

tmp = 11059200 / 12; //定時器計數(shù)頻率
tmp = (tmp * ms) / 1000; //計算所需的計數(shù)值
tmp = 65536 - tmp; //計算定時器重載值
tmp = tmp + 18; //補償中斷響應(yīng)延時造成的誤差
T0RH = (unsigned char)(tmp>>8); //定時器重載值拆分為高低字節(jié)
T0RL = (unsigned char)tmp;

TMOD &= 0xF0; //清零 T0 的控制位
TMOD |= 0x01; //配置 T0 為模式 1
TH0 = T0RH; //加載 T0 重載值
TL0 = T0RL;
ET0 = 1; //使能 T0 中斷
TR0 = 1; //啟動 T0
}



作者: zhanghyg    時間: 2019-5-22 10:48
T0RH取了tmp的高八位不是低八位,按你說的直接賦值不就好了?
作者: 2027420952    時間: 2019-5-22 13:54
T0RH = (unsigned char)(tmp>>8);   右移動了8位,等于取高8位了
作者: wulin    時間: 2019-5-22 14:13
假設(shè) tmp的值=0x3CB0
T0RH = (unsigned char)(tmp>>8);原來的低8位0xB0移除消失,取低8位T0RH就=0x3C
T0RL = (unsigned char)tmp;取低8位T0RL就=0xB0。
作者: WGL88    時間: 2019-5-31 16:06
謝謝各位,明白了!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费中文字幕日韩欧美 | 精品国产乱码久久久久久丨区2区 | 永久免费av | 国产一区二区三区久久久久久久久 | 午夜在线观看视频 | 能看的av | 亚洲91精品 | 久久99网站| 欧美色视频免费 | 蜜月aⅴ国产精品 | 久久的色 | 国产午夜精品视频 | 亚洲永久在线 | 91精品国产综合久久精品 | 日本成人福利 | 中文字幕一区二区三区四区五区 | 国产黄色大片 | 国产乱码精品一区二区三区忘忧草 | 久久久久国产成人精品亚洲午夜 | 91pao对白在线播放 | 国产精品久久国产精品 | 日韩欧美国产精品综合嫩v 一区中文字幕 | japanhd美女动| 精品国产一区二区三区久久久蜜月 | 国产精品久久av | a黄视频| 国产精品一区二区三区久久久 | 久久极品 | 亚洲在线一区二区 | 欧美成人精品在线 | 国产一级免费在线观看 | 日韩中文字幕区 | 久久99网 | 9191在线播放 | 天天爽夜夜操 | 国产在线观看 | 久久久久国产一区二区三区 | 成人午夜精品一区二区三区 | 在线观看中文字幕视频 | 免费视频99 | 色综合久久久久 |