![]() |
發布時間: 2022-6-18 08:16
正文摘要:如題,如果用判斷P32==1可以檢測,但是P3.2有個功能,就是和T0定時器合作,當TR=1,與P32接高電平時就開始計數,試了很多次,P32無法判斷高電平的存在。 上邊是高電平波形,下邊是電路。OUT輸出的波形,檢測 ... |
lkc8210 發表于 2022-6-20 10:50 好的,謝謝。 |
可以參考超聲波模組檢測高電平的方法
|
188610329 發表于 2022-6-18 14:58 幫忙看一下,謝謝 |
wulin 發表于 2022-6-18 13:47 您好朋友,請幫忙看看,現在做普通IO口來做,也是不穩定,數據亂跳,仿真可以,實際不行,另外測出的數好像大了10多倍,不知道是不是開了1T模式。 |
wulin 發表于 2022-6-18 17:23 謝謝,不行的話就當IO口檢測。 |
188610329 發表于 2022-6-18 17:18 謝謝,很詳細。 |
ZHAOBAO511 發表于 2022-6-18 16:52 如果這么說就沒有討論INT0或T0的必要了,P3.2就是一個普通IO口,與其它IO口沒有區別。 |
又看了一下你的標題, 用Gate 方式的話,89C52 上面,是沒有什么問題的。因為89C51上INT0 只有下降沿中斷,和低電平中斷。 但是,你用 STC15 的話,INT0 中斷就不能開啟。就算開啟,也必須IT0 = 1; 不能開啟上升沿中斷功能,不然會有問題。 你具體電路和代碼沒有看到,就不做任何猜測了,也就提個醒,有則改,無則免。 |
wulin 發表于 2022-6-18 16:37 看上面那個朋友說的GATE方式,應該是對的。 |
ZHAOBAO511 發表于 2022-6-18 14:25 外部中斷INT0計數與定時器外部時鐘T0計數是互不直接關聯的兩種應用。 |
本帖最后由 ZHAOBAO511 于 2022-6-18 15:31 編輯 188610329 發表于 2022-6-18 14:58 謝謝,看來您用過這個,是的,就是說要先P32=1是吧,我試試看。 |
你說的是gate方式吧,p32相當于一個開關,通過開關控制定時器是否計時,這時候p32內部應該設置為1,外部下拉到0時定時器停止,當外部拉高后,就開始計時了。 |
wulin 發表于 2022-6-18 13:47 好的,謝謝,我再想想,問題是我用另外一個口產生一個方波然后接到P32是可以計數的。 |
ZHAOBAO511 發表于 2022-6-18 12:00 手冊有明確說明,不可望文生義。 ![]() |
P3.2是外部中斷口,P3.4才是T0外部計數輸入口。 |