欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5617|回復: 6
收起左側

關于51單片機16位計數器的值的讀取問題

[復制鏈接]
ID:248705 發表于 2018-3-28 00:02 | 顯示全部樓層 |閱讀模式
請問大家51單片機16位計數器的計數值在內存里是怎么存在的,我知道分高八位和低八位,但是讀取計數值的時候這一句uint num;num=(8<<TH1)+TL1;TH1左移八位,那高八位的值不就是0了嗎。。。

回復

使用道具 舉報

ID:164602 發表于 2018-3-28 07:29 | 顯示全部樓層
語句好像不對吧?!
num=TH1;
num=num<<8;//移到高8位去
num=num+TL1;
可能我這樣寫,復雜了,但思路就是這樣的。兩個8位合并為16位。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:287575 發表于 2018-3-28 08:52 | 顯示全部樓層
假設num=0000000000000000,TH1=0X55=01010101
num=TH1
num=0000000001010101
左移一位
num=00000000101010
再移動一位
num=00000001010100
移動8次后
num=0101010100000000=0x5500
低八位全零,留給TL0了,再一加tl0,就可以把兩個八位的單字節變成一個16位的整形了
左移8位相當于乘了256
uint num;num=(8<<TH1)+TL1等同于 uint num;num=TH1*256+TL1,這樣好理解了吧

評分

參與人數 1黑幣 +70 收起 理由
admin + 70 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:280682 發表于 2018-3-28 09:51 | 顯示全部樓層
本帖最后由 51hei520 于 2018-3-28 10:37 編輯

num = (uint)TH1 << 8 + TL1

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:248705 發表于 2018-3-28 10:54 | 顯示全部樓層
HC6800-ES-V2.0 發表于 2018-3-28 07:29
語句好像不對吧?!
num=TH1;
num=num

確實有些不嚴謹,我知道問題所在了,謝謝你的幫助!

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:248705 發表于 2018-3-28 10:55 | 顯示全部樓層
zhangxiaozi 發表于 2018-3-28 08:52
假設num=0000000000000000,TH1=0X55=01010101
num=TH1
num=0000000001010101

明白了,大神級回答,謝謝啦!
回復

使用道具 舉報

ID:297224 發表于 2018-3-28 20:19 | 顯示全部樓層
num = (uint)TH1 << 8 + TL1
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表