標(biāo)題: 為什么改變不了單片機(jī)P0口輸出高低電平? [打印本頁]

作者: q784662037    時(shí)間: 2017-11-18 21:59
標(biāo)題: 為什么改變不了單片機(jī)P0口輸出高低電平?
89C52單片機(jī),在開發(fā)板上燒寫程序測量發(fā)現(xiàn)P0^0,P^1口可以正常安裝程序的設(shè)定輸出高低電平,但是移到自己焊的板子上再測量發(fā)現(xiàn)P0口全都呈現(xiàn)出高阻態(tài), 是 什么原因????晶振問題?

1.png (71.74 KB, 下載次數(shù): 108)

1.png

作者: ww3030    時(shí)間: 2017-11-18 22:13
開發(fā)板子上面的都是有上拉電阻的,這個(gè)你有沒有注意到啊
作者: q784662037    時(shí)間: 2017-11-18 23:04
ww3030 發(fā)表于 2017-11-18 22:13
開發(fā)板子上面的都是有上拉電阻的,這個(gè)你有沒有注意到啊

我也加了上拉電阻試了一下,程序設(shè)置輸出0的時(shí)候端口還是呈現(xiàn)高阻態(tài),上拉電阻接的VCC直接到IO口成高電平輸出。
作者: q784662037    時(shí)間: 2017-11-18 23:04
求各位大神指教。!!
作者: sldx    時(shí)間: 2017-11-19 00:19
很有可能是晶振沒起振,單片機(jī)沒有正常工作
作者: KACHEN    時(shí)間: 2017-11-19 00:31
51單片機(jī),一般只有P0口才需要外加上拉電阻,其它三個(gè)端口芯片內(nèi)部已經(jīng)設(shè)置有上拉功能,無需外接上拉電阻。P0口作為I/O口輸出的時(shí)候時(shí) 輸出低電平為0 輸出高電平為高組態(tài)(并非5V,相當(dāng)于懸空狀態(tài))。也就是說P0 口不能真正的輸出高電平,給所接的負(fù)載提供電流,因此必須接上拉電阻(八個(gè)電阻一組引腳全部連在一起組成公共端連接到VCC,然后另一段的八個(gè)引腳分別連在p0口),由電源通過這個(gè)上拉電阻給負(fù)載提供電流。一般上拉電阻大小可以在3.3K-10K之間都可以,我大一時(shí)完51單片機(jī)就是這么做的,是可以的。
作者: q784662037    時(shí)間: 2017-11-19 08:43
KACHEN 發(fā)表于 2017-11-19 00:31
51單片機(jī),一般只有P0口才需要外加上拉電阻,其它三個(gè)端口芯片內(nèi)部已經(jīng)設(shè)置有上拉功能,無需外接上拉電阻。 ...

但是我加了上拉電阻之后輸出低電平并不是0V,我分別設(shè)置P0.0為低電平P0.1為高電平之后在用萬用表分別測試兩者的電壓,并無差別
作者: cccc8888    時(shí)間: 2017-11-19 09:59
31 pin 有沒有接到vcc
作者: cccc8888    時(shí)間: 2017-11-19 10:05
還有測量晶振波形和電壓18 19 電壓在二分之一電源電壓左右。
作者: 883    時(shí)間: 2017-11-19 10:41
你拔掉芯片,用電阻檔測量一下引腳,有沒有到Ⅴcc短路
作者: q784662037    時(shí)間: 2017-11-19 11:00
cccc8888 發(fā)表于 2017-11-19 09:59
31 pin 有沒有接到vcc

31管腳需要接到VCC的嗎?
作者: q784662037    時(shí)間: 2017-11-19 11:02
cccc8888 發(fā)表于 2017-11-19 09:59
31 pin 有沒有接到vcc

接了,31管腳也接了VCC,用電壓表也測了31管腳為5V
作者: q784662037    時(shí)間: 2017-11-19 11:23
剛才又看了一下, 我把P2.7口置零也置不下去,它還是輸出高電平。應(yīng)該是單片機(jī)不工作,可是為什么不工作呢,電路都檢查一遍了。
作者: KACHEN    時(shí)間: 2017-11-19 12:16
q784662037 發(fā)表于 2017-11-19 11:23
剛才又看了一下, 我把P2.7口置零也置不下去,它還是輸出高電平。應(yīng)該是單片機(jī)不工作,可是為什么不工作呢 ...

要不你重新焊接一個(gè)單片機(jī)最小系統(tǒng),換個(gè)新的單片機(jī)試試,或者重新認(rèn)真的檢查一下電路若電路焊接沒問題換個(gè)單片機(jī)試試。


作者: fly蘇幕遮    時(shí)間: 2017-11-20 14:35
沒看出毛病。。。。
作者: 漫步_xw    時(shí)間: 2017-11-20 15:30
不知道樓主的問題解決沒有,按樓主的介紹程序應(yīng)該是沒什么問題,與我的電路不同的也就是31腳我是從來沒接?xùn)|西的照樣用。這里我想確定下樓主的供電問題,供電是否穩(wěn)定?
1、需要穩(wěn)定的5V電源,希望你使用的盡量是線性穩(wěn)壓電源。
2、在電源輸入的供電端添加0.1uF(瓷片電容)+100uF(電解電容)。
3、在單片機(jī)的40腳供電端接一個(gè)0.1uF的電容濾波,其次在AD芯片中也添加一個(gè)0.1uF(瓷片電容)+10uF(電解電容)
這樣能增加電路的穩(wěn)定性。
然后不要忘記了還是需要上拉電阻的1~10K都是可以的。
最后如果沒有用的話希望樓主借用同學(xué)的單片機(jī)試用下,也可能是樓主的單片機(jī)壞了!
作者: 漫步經(jīng)心    時(shí)間: 2017-11-20 16:37
拍個(gè)實(shí)物圖看看
作者: yukun93    時(shí)間: 2017-11-20 17:10
P0應(yīng)該要加上拉電阻的。
作者: ldm894167679    時(shí)間: 2017-11-20 17:43
上拉電阻都接上了啊

作者: nimimib    時(shí)間: 2017-11-20 21:19
需要加上拉電阻的
作者: q784662037    時(shí)間: 2017-12-2 10:32
謝謝各位大佬,問題已經(jīng)解決,經(jīng)過測試發(fā)現(xiàn)晶振已經(jīng)起振,也能從18 19管腳輸入,但是單片機(jī)缺未能正常工作,也就是30管腳ALE未能輸出測出方波信號。在把單片機(jī)的外部晶振電路都換過之也沒有效果之后我把晶振拔下直接接在18 19管腳之后就一切正常了。下面是兩個(gè)PCB圖供大家參考
作者: q784662037    時(shí)間: 2017-12-2 20:25
q784662037 發(fā)表于 2017-12-2 10:32
謝謝各位大佬,問題已經(jīng)解決,經(jīng)過測試發(fā)現(xiàn)晶振已經(jīng)起振,也能從18 19管腳輸入,但是單片機(jī)缺未能正常工作 ...

第一個(gè)是之前的,第二個(gè)是修改之后,不知道能不能傳上圖

1.png (8.59 KB, 下載次數(shù): 109)

之前的

之前的

2.png (32.33 KB, 下載次數(shù): 112)

修改之后

修改之后

作者: 張oa    時(shí)間: 2017-12-3 08:27
p0管腳是沒有上拉電阻的,單片機(jī)初始電平為高電平,如果始終為高電平可能是單片機(jī)接觸不良引起的。
作者: renqian4436    時(shí)間: 2017-12-14 09:31

51單片機(jī),一般只有P0口才需要外加上拉電阻,其它三個(gè)端口芯片內(nèi)部已經(jīng)設(shè)置有上拉功能,無需外接上拉電阻。P0口作為I/O口輸出的時(shí)候時(shí) 輸出低電平為0 輸出高電平為高組態(tài)(并非5V,相當(dāng)于懸空狀態(tài))。也就是說P0 口不能真正的輸出高電平,給所接的負(fù)載提供電流,因此必須接上拉電阻(八個(gè)電阻一組引腳全部連在一起組成公共端連接到VCC,然后另一段的八個(gè)引腳分別連在p0口),由電源通過這個(gè)上拉電阻給負(fù)載提供電流。一般上拉電阻大小可以在3.3K-10K之間都可以,我大一時(shí)完51單片機(jī)就是這么做的,是可以的。
作者: ptlantu    時(shí)間: 2018-11-26 13:21
KACHEN 發(fā)表于 2017-11-19 00:31
51單片機(jī),一般只有P0口才需要外加上拉電阻,其它三個(gè)端口芯片內(nèi)部已經(jīng)設(shè)置有上拉功能,無需外接上拉電阻。 ...

marke````




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