標題: 關(guān)于單片機GPIO口輸出異常的問題 [打印本頁]

作者: yxyxyxyx    時間: 2022-11-29 11:15
標題: 關(guān)于單片機GPIO口輸出異常的問題
51單片機芯片有一個GPIO口,上拉正常3.3V,下拉正常0V,但是如果先上拉,延時1ms,再下拉,再延時1ms,就是這樣:while(1)
{P0_0 = 0;
Delay_ms(1);
P0_0 = 1;      
Delay_ms(1);
}

波形就不對,輸出的不是方波,而是三角波,其他的引腳都是正常的,而且這個引腳是PWM的輸出引腳,他也不能輸出PWM方波,這樣的原因可能有哪些

正常的波形:

但是他的波形是這樣的:





作者: 人工置頂員    時間: 2022-11-29 17:25
頂一下
作者: SURUBU1976    時間: 2022-11-30 09:08
驅(qū)動能力問題,硬件有沒有電阻上拉 3V3?
作者: wpppmlah    時間: 2022-11-30 09:28
分析問題,不單是代碼,還要給出硬件電路原理圖.
作者: Longan.Wang    時間: 2022-11-30 09:28
該上的沒上去,該下的沒下去,也就是上升下降時間過長(斜率過。腕w現(xiàn)出這個IO口的驅(qū)動能力不足。如果把延時調(diào)長,應(yīng)該就能上去也能下來了。如果你配置IO不是推挽輸出的話,可以配置成推挽輸出試試。
作者: 人中狼    時間: 2022-11-30 10:00
電路和用詞問題,看代碼并不是上拉,下拉,只是置高,置低而已,上拉,下拉是電路名詞,代碼是P0口,估計外部電路沒接上下拉電阻或引腳內(nèi)部沒設(shè)置對
作者: 大漠落日    時間: 2022-11-30 10:51
型號也沒有說明白,怎么幫你
作者: xdqfc    時間: 2022-11-30 11:31
即使是最古老的8031,在ms級別的延時下也不可能是這樣的波形,除非后級負載有問題,假如是STC單片機,直接設(shè)置為推挽輸出,應(yīng)該是可以解決問題的。
作者: zilihangjian    時間: 2022-12-3 09:02
驅(qū)動能力不夠,可以加達林頓管試試
作者: hhh402    時間: 2022-12-3 11:32
這個很明顯是驅(qū)動能力不夠,有三角波輸出證明IO輸出正常,現(xiàn)在連1變0都緩慢就不是IO設(shè)置的問題了,明顯是驅(qū)動能力不夠,很可能是IO接了一個大于104的電容造成。
作者: cooltao2008    時間: 2022-12-3 15:28
這種東西要結(jié)合硬件電路才能分析,單單給出一段程序,是不能精準分析原因的。




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