国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
電子工程網
標題:
讀取TH0,TL0的值的問題
[打印本頁]
作者:
風溪香士
時間:
2012-8-31 11:45
標題:
讀取TH0,TL0的值的問題
我寫的一個程序,需要讀取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服務函數:
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,會輸出一個脈沖,我就是要計算這脈沖的高電平時間。
設定了定時器0的GATE位為1,當P32的高電平開始時,TH0,TL0開始計數,當高電平結束時,產生負跳變,進入中斷服務函數,計算時間。
以上就是程序的思路。
問題在于,如果用time=256*TH0+TL0;計算時間,得到的值符合實際,time的值為幾百;而如果用此語句的上面三句,或者下面五句(見上面中斷服務函數)來計算時間,得到的值不符合實際,time的值為幾萬。
請各位前輩指點一下,為何會這樣?
作者:
123654789
時間:
2012-9-4 12:17
用time=256*TH0+TL0;可正確讀取,而用time|=TH0; time<<=8; time|=TL0;卻不能。具體情況如下。
純粹是C語言的問題
因為time在使用之前不為0
那么你執(zhí)行time|=TH0;語句就不能覆蓋原來的數值
假如 time在使用之前是等于0x3
TH0=0X50;
你執(zhí)行time|=TH0;
那么time就等于0x53
但是你實際上是想要time=0x50
那么你就把time原來的數值攜帶了進來
歡迎光臨 電子工程網 (http://m.qingdxww.cn/)
Powered by Discuz! X3.4
主站蜘蛛池模板:
贵州美女一级纯黄大片
|
粉逼视频
|
日韩综合
|
久久亚洲这里只有精品18
|
日一日操一操
|
欧美日韩视频免费播放
|
99热这里只有精品9 99热这里只有精品88
|
久久婷婷五夜综合色频
|
99热在线免费播放
|
欧美另类视频一区二区三区
|
四虎地址8848
|
一级成人毛片
|
在线免费精品视频
|
免费观看毛片的网站
|
色综久久天天综合绕视看
|
美女免费视频一区二区
|
成人深夜福利在线播放不卡
|
在线精品国精品国产不卡
|
欧美一进一出抽搐大尺度视频
|
日本免费黄色
|
国产日韩欧美在线播放
|
自拍偷拍图
|
色一色综合
|
美女网站色在线观看
|
婷婷综合五月天
|
国产婷婷色一区二区三区
|
欧美一区2区三区4区公司二百
|
在线播放一区二区精品产
|
青青青视频在线播放视频
|
91精品啪在线观看国产色
|
国产乱弄视频在线观看
|
一级毛片日韩
|
eeuss影院eeuss天堂
|
精品色
|
av基地
|
亚洲成人中文字幕
|
免费高清不卡毛片在线看
|
91精品欧美一区二区综合在线
|
玖玖玖免费观看视频
|
亚洲美女激情视频
|
青青青青青草原
|