標(biāo)題: 自己制作的最小單片機(jī)系統(tǒng)進(jìn)不去定時(shí)計(jì)數(shù)器中斷,在開(kāi)發(fā)版上卻可以,外部中斷卻可... [打印本頁(yè)]

作者: 鄭漢松    時(shí)間: 2019-4-27 23:32
標(biāo)題: 自己制作的最小單片機(jī)系統(tǒng)進(jìn)不去定時(shí)計(jì)數(shù)器中斷,在開(kāi)發(fā)版上卻可以,外部中斷卻可...
本來(lái)自己要做一個(gè)     紅外發(fā)射溫度報(bào)警    的小制作,然后程序?qū)懞昧,在開(kāi)發(fā)板調(diào)試了,一切正常OK,自己就做了一個(gè)最小系統(tǒng),然后其他功能都可以用(測(cè)溫,調(diào)節(jié)報(bào)警溫度等功能),就是發(fā)射不了紅外信號(hào),然后就各種檢查測(cè)試,最后發(fā)現(xiàn)是自己做的最小系統(tǒng)進(jìn)不了定時(shí)中斷。

我寫了一個(gè)程序當(dāng)溫度達(dá)到32度時(shí),進(jìn)入定時(shí)中斷,無(wú)限循環(huán)數(shù)碼管顯示5555
然后.......
同一單片機(jī)同一程序普中開(kāi)發(fā)板:


同一單片機(jī)同一程序自制最小系統(tǒng):

都到32.6度了都進(jìn)不去定時(shí)中斷....絕望......

這是我最小系統(tǒng)的電路圖:


這是普中開(kāi)發(fā)板電路圖:


這是我的實(shí)物:
(忽略發(fā)射管和2004驅(qū)動(dòng),VCC,GND,I/O口都被我斷了)



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


作者: tigerlyt    時(shí)間: 2019-4-27 23:32
看了一下,初學(xué)者,說(shuō)一下,僅供參考

1、這個(gè)中斷不是外部中斷嗎,還是計(jì)數(shù)器中斷,但是你的開(kāi)發(fā)板顯示正常,我也不知道為啥,感覺(jué)應(yīng)該是P3.2或P3.3觸發(fā)吧,但這個(gè)不是很重要的要點(diǎn),看下面;
2、我看了你的圖跟開(kāi)發(fā)板,不同的地方就是開(kāi)發(fā)板實(shí)際是有鎖存器鎖存數(shù)據(jù)的,而中斷是有兩種觸發(fā)方式,一種是電平觸發(fā),一種是跳變沿觸發(fā),你的硬件差異很有可能是因?yàn)檫@個(gè)觸發(fā)方式造成的,因?yàn)殚_(kāi)發(fā)板上不論是選擇了跳邊沿還是電平觸發(fā),因?yàn)殒i存器的問(wèn)題,最后都是電平觸發(fā)的信號(hào)格式,而如果你的程序選擇的是電平或者跳變沿,都可以完美實(shí)現(xiàn),但是你的實(shí)際電路中,只有跳變沿才能實(shí)現(xiàn),因?yàn)闆](méi)有鎖存器了,而如果程序是電平觸發(fā),那么就實(shí)現(xiàn)不了你想要的功能了,所以,這個(gè)問(wèn)題我個(gè)人理解是最大可能的,因?yàn)楫吘归_(kāi)發(fā)板運(yùn)行正常而實(shí)際電路有問(wèn)題,差異就在鎖存器,造成的不同就是中斷的觸發(fā)方式

希望可以幫到你,希望是我說(shuō)的這個(gè)問(wèn)題。
作者: PBL    時(shí)間: 2019-4-28 08:28
你在VCC與地之間加電容470U和104試試
作者: 笨笨兔    時(shí)間: 2019-4-28 09:15
沒(méi)程序,不好說(shuō)怎么回事。
你是怎么判斷出“系統(tǒng)進(jìn)不去定時(shí)計(jì)數(shù)器中斷“”的?
作者: 鄭漢松    時(shí)間: 2019-4-28 09:43
笨笨兔 發(fā)表于 2019-4-28 09:15
沒(méi)程序,不好說(shuō)怎么回事。
你是怎么判斷出“系統(tǒng)進(jìn)不去定時(shí)計(jì)數(shù)器中斷“”的?

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

中斷分跳變沿和電平觸發(fā)

你的實(shí)驗(yàn)板試驗(yàn),你的程序無(wú)論是哪種觸發(fā)方式,都可以實(shí)現(xiàn)

但是你的實(shí)際電路只能支持跳變沿觸發(fā)才能實(shí)現(xiàn)你的功能

建議改你的程序?yàn)橹袛嗟挠|發(fā)方式為跳變沿觸發(fā),

估計(jì)就可以解決你的問(wèn)題

試試看看
作者: 鄭漢松    時(shí)間: 2019-4-28 12:15
我對(duì)你情有獨(dú)鐘 發(fā)表于 2019-4-28 10:46
發(fā)個(gè)程序看看

可以肯定跟程序沒(méi)什么關(guān)系,所以就沒(méi)發(fā)出來(lái)了
作者: 笨笨兔    時(shí)間: 2019-4-28 13:00
這么說(shuō),好像可以進(jìn)入中斷;沒(méi)準(zhǔn)是程序不太合適或者程序結(jié)構(gòu)有問(wèn)題;
你可以定義一個(gè)超溫標(biāo)志位,正常清0,超過(guò)溫度后,將標(biāo)志位置1;主程序就查標(biāo)志位,=1時(shí)啟動(dòng)定時(shí)并計(jì)數(shù)(定時(shí)),同時(shí)顯示改為5555;
這樣有一個(gè)好處,顯示5555可以是一定的時(shí)間如3秒,3秒后改為正常顯示。
再說(shuō),你自己寫程序也方便。

作者: yzwzfyz    時(shí)間: 2019-4-28 16:27
“我寫了一個(gè)程序當(dāng)溫度達(dá)到32度時(shí),進(jìn)入定時(shí)中斷,無(wú)限循環(huán)數(shù)碼管顯示5555”
樓主:你是如何進(jìn)入的呢?
作者: 鄭漢松    時(shí)間: 2019-4-28 17:05
解決了,P0^0口沒(méi)有接上拉電阻,翻轉(zhuǎn)不了
作者: wulin    時(shí)間: 2019-4-28 17:36
鄭漢松 發(fā)表于 2019-4-28 12:15
可以肯定跟程序沒(méi)什么關(guān)系,所以就沒(méi)發(fā)出來(lái)了

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

當(dāng)時(shí)為了檢測(cè)程序達(dá)到報(bào)警溫度會(huì)不會(huì)作出反應(yīng),設(shè)置了P0^0為檢測(cè)腳。
然后在寫紅外發(fā)射程序的時(shí)候,就把P0^0作為紅外發(fā)射標(biāo)志位了,,,,千想萬(wàn)想沒(méi)想到P0^0沒(méi)接上拉電阻,電平翻轉(zhuǎn)不明顯,導(dǎo)致進(jìn)不去中斷。。就這樣
作者: lhhtyid1    時(shí)間: 2019-4-28 19:50
十有八九是程序的問(wèn)題




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