国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 8417|回復(fù): 1
打印 上一主題 下一主題

[提問] 讀取TH0,TL0的值的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2012-8-31 11:45:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 定時器
我寫的一個程序,需要讀取TH0,TL0的值,用time=256*TH0+TL0;可正確讀取,而用time|=TH0;   time<<=8;   time|=TL0;卻不能。具體情況如下。
外部中斷0和定時器0初始化:
P3=0;
TMOD=0x09;
TH0=0;
TL0=0;
IT0=1;
EA=1;
EX0=1;
TR0=1;
外部中斷0服務(wù)函數(shù):
void int0() interrupt 0
{
// time|=TH0;
// time<<=8;
// time|=TL0;
time=256*TH0+TL0;
// time_l=TL0;
// time_h=TH0;
// time|=time_h;
// time<<=8;
// time|=time_l;
TH0=0;
TL0=0;
}
我是測試HC-SR04超聲波模塊,它的輸出腳接在P32,會輸出一個脈沖,我就是要計算這脈沖的高電平時間。
設(shè)定了定時器0的GATE位為1,當(dāng)P32的高電平開始時,TH0,TL0開始計數(shù),當(dāng)高電平結(jié)束時,產(chǎn)生負跳變,進入中斷服務(wù)函數(shù),計算時間。
以上就是程序的思路。
問題在于,如果用time=256*TH0+TL0;計算時間,得到的值符合實際,time的值為幾百;而如果用此語句的上面三句,或者下面五句(見上面中斷服務(wù)函數(shù))來計算時間,得到的值不符合實際,time的值為幾萬。
請各位前輩指點一下,為何會這樣?
沙發(fā)
發(fā)表于 2012-9-4 12:17:40 | 只看該作者
用time=256*TH0+TL0;可正確讀取,而用time|=TH0;   time<<=8;   time|=TL0;卻不能。具體情況如下。


純粹是C語言的問題

因為time在使用之前不為0
那么你執(zhí)行time|=TH0;語句就不能覆蓋原來的數(shù)值
假如 time在使用之前是等于0x3
      TH0=0X50;
你執(zhí)行time|=TH0;
那么time就等于0x53
但是你實際上是想要time=0x50
那么你就把time原來的數(shù)值攜帶了進來

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

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人一区二区精品非洲 | 五月婷婷激情 | av免费网站在线观看 | 免费成人高清在线视频 | 国产成人精品微拍视频 | 四虎国产精品永久一区 | 天天摸夜夜摸夜夜狠狠摸 | 狠狠综合久久久久综 | 欧美一级日韩在线观看 | 91精品欧美综合在线观看 | 精品亚洲欧美高清不卡高清 | 日韩欧美在线中文字幕 | 男人天堂网址 | 国产片国语版理论片 | 91天堂素人精品系列全集亚洲 | 日本www在线播放 | 国产专区视频在线观看 | 77788色淫免费网站视频 | 四虎最新入口 | 色香欲综合成人免费视频 | 国产日韩精品欧美一区视频 | 免费观看情趣v视频网站 | 日本大片成人免费播放 | 78视频在线观看 | 嫩草影院永久在线一二三四 | 免费视频一区二区性色 | 久热这里只有精品6 | 自拍偷拍首页 | 免费国产成人高清在线观看麻豆 | 久久久99精品久久久久久 | 麻豆系列 在线视频 | 欧美日韩中文字幕一区二区高清 | 日韩二区| 精品手机在线视频 | 羞羞视频免费网站在线 | 最近高清免费观看日本 | 日韩毛片在线 | 亚洲欧洲自拍偷拍 | 亚洲网站视频在线观看 | 国产日韩成人 | 色一情一欲一爱一乱 |