亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 自己制作的最小單片機系統進不去定時計數器中斷,在開發版上卻可以,外部中斷卻可... [打印本頁]

作者: 鄭漢松    時間: 2019-4-27 23:32
標題: 自己制作的最小單片機系統進不去定時計數器中斷,在開發版上卻可以,外部中斷卻可...
本來自己要做一個     紅外發射溫度報警    的小制作,然后程序寫好了,在開發板調試了,一切正常OK,自己就做了一個最小系統,然后其他功能都可以用(測溫,調節報警溫度等功能),就是發射不了紅外信號,然后就各種檢查測試,最后發現是自己做的最小系統進不了定時中斷。

我寫了一個程序當溫度達到32度時,進入定時中斷,無限循環數碼管顯示5555
然后.......
同一單片機同一程序普中開發板:


同一單片機同一程序自制最小系統:

都到32.6度了都進不去定時中斷....絕望......

這是我最小系統的電路圖:


這是普中開發板電路圖:


這是我的實物:
(忽略發射管和2004驅動,VCC,GND,I/O口都被我斷了)



我所有分都交出去了,跪求大神幫幫我,跪了跪了.....


作者: tigerlyt    時間: 2019-4-27 23:32
看了一下,初學者,說一下,僅供參考

1、這個中斷不是外部中斷嗎,還是計數器中斷,但是你的開發板顯示正常,我也不知道為啥,感覺應該是P3.2或P3.3觸發吧,但這個不是很重要的要點,看下面;
2、我看了你的圖跟開發板,不同的地方就是開發板實際是有鎖存器鎖存數據的,而中斷是有兩種觸發方式,一種是電平觸發,一種是跳變沿觸發,你的硬件差異很有可能是因為這個觸發方式造成的,因為開發板上不論是選擇了跳邊沿還是電平觸發,因為鎖存器的問題,最后都是電平觸發的信號格式,而如果你的程序選擇的是電平或者跳變沿,都可以完美實現,但是你的實際電路中,只有跳變沿才能實現,因為沒有鎖存器了,而如果程序是電平觸發,那么就實現不了你想要的功能了,所以,這個問題我個人理解是最大可能的,因為畢竟開發板運行正常而實際電路有問題,差異就在鎖存器,造成的不同就是中斷的觸發方式

希望可以幫到你,希望是我說的這個問題。
作者: PBL    時間: 2019-4-28 08:28
你在VCC與地之間加電容470U和104試試
作者: 笨笨兔    時間: 2019-4-28 09:15
沒程序,不好說怎么回事。
你是怎么判斷出“系統進不去定時計數器中斷“”的?
作者: 鄭漢松    時間: 2019-4-28 09:43
笨笨兔 發表于 2019-4-28 09:15
沒程序,不好說怎么回事。
你是怎么判斷出“系統進不去定時計數器中斷“”的?

是進不去計數中斷,我寫了一個程序,當溫度到32度時,P3^4口翻轉進入中斷,中斷函數寫了一個無限循環顯示5555的程序。在放大版達到32度時就可以顯示5555,在自己做的系統卻不行。
作者: 我對你情有獨鐘    時間: 2019-4-28 10:46
發個程序看看
作者: f556    時間: 2019-4-28 11:22
調試方法建議:1、確認是否能進定時器中斷,最好用簡單的方法,進中斷后拉低一個IO口(接個電阻+LED)。樓主說的不能進中斷,我不能確定是否真不能進。
2、最小板與開發板的不同可能是去耦電容不足,建議加電容。注意紅外的抗干擾相當差,加紅外必須加電容。加不加電容上示波器可看出紅外的波形差距太大。
3、核對引腳的連線是否與開發板完全一樣。
如果你用MSP430芯片,進不進中斷,仿真中設個斷點,非常方便。51我是用的STC開學的。
作者: tigerlyt    時間: 2019-4-28 11:54
再回復一下:

中斷分跳變沿和電平觸發

你的實驗板試驗,你的程序無論是哪種觸發方式,都可以實現

但是你的實際電路只能支持跳變沿觸發才能實現你的功能

建議改你的程序為中斷的觸發方式為跳變沿觸發,

估計就可以解決你的問題

試試看看
作者: 鄭漢松    時間: 2019-4-28 12:15
我對你情有獨鐘 發表于 2019-4-28 10:46
發個程序看看

可以肯定跟程序沒什么關系,所以就沒發出來了
作者: 笨笨兔    時間: 2019-4-28 13:00
這么說,好像可以進入中斷;沒準是程序不太合適或者程序結構有問題;
你可以定義一個超溫標志位,正常清0,超過溫度后,將標志位置1;主程序就查標志位,=1時啟動定時并計數(定時),同時顯示改為5555;
這樣有一個好處,顯示5555可以是一定的時間如3秒,3秒后改為正常顯示。
再說,你自己寫程序也方便。

作者: yzwzfyz    時間: 2019-4-28 16:27
“我寫了一個程序當溫度達到32度時,進入定時中斷,無限循環數碼管顯示5555”
樓主:你是如何進入的呢?
作者: 鄭漢松    時間: 2019-4-28 17:05
解決了,P0^0口沒有接上拉電阻,翻轉不了
作者: wulin    時間: 2019-4-28 17:36
鄭漢松 發表于 2019-4-28 12:15
可以肯定跟程序沒什么關系,所以就沒發出來了

程序都是基于硬件編寫的,既然程序沒有問題那就肯定是硬件電路有錯!
作者: tigerlyt    時間: 2019-4-28 17:46
跟p0口有關系?
作者: ko44    時間: 2019-4-28 18:55
看手冊,使用定時器中斷,必須是管腳P31加高電平才可以使用定時器中斷.自己把P31這個管腳拉高.
作者: 鄭漢松    時間: 2019-4-28 19:21
tigerlyt 發表于 2019-4-28 17:46
跟p0口有關系?

當時為了檢測程序達到報警溫度會不會作出反應,設置了P0^0為檢測腳。
然后在寫紅外發射程序的時候,就把P0^0作為紅外發射標志位了,,,,千想萬想沒想到P0^0沒接上拉電阻,電平翻轉不明顯,導致進不去中斷。。就這樣
作者: lhhtyid1    時間: 2019-4-28 19:50
十有八九是程序的問題




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1