51單片機總線擴IO難題
51單片機工作在總線方式,準備用1個8位鎖存器擴充8個輸出口,要求上電時,輸出口必須保證為高電平,系統(tǒng)復(fù)位時(如按下復(fù)位鍵不放),也要確保輸出口為高電平,電路如何實現(xiàn),問題的關(guān)鍵是上電狀態(tài)如何為高。
提問者:60user120
地點:-
瀏覽次數(shù):6597
提問時間:10-22 17:59
我有更好的答案
- 13條回答
-
092937222
04-18 15:41
??如果要求上電為低電平,使用74HC273就能實現(xiàn),該芯片帶復(fù)位引腳。
-
wrsffwrss
04-18 11:48
該芯片輸出允許端加電阻電容(類似51單片機復(fù)位電路),時間常數(shù)夠大,使得上電時該芯片輸出為高阻態(tài)。單片機開始工作后,先鎖存數(shù)據(jù),再使該芯片允許輸出。
-
siyu922
04-17 21:12
????總線要加上拉,G端連復(fù)位,不過得試試,能否可靠要看總線的邏輯1和復(fù)位的邏輯1誰先建立了,該方法甚至可能與IC生產(chǎn)商有關(guān)。另一類方法是用三態(tài)輸出的鎖存器或用鎖存器+驅(qū)動器的結(jié)構(gòu),上電輸出呈高阻,然后外加上拉,必要時再加一級緩沖,但此類方法仍可能存在暫態(tài)問題,要仔細分析。
????電路設(shè)計的合理性應(yīng)該總體考慮,在某些需嚴格避免暫態(tài)影響的應(yīng)用中,最佳方法是在傳輸通道上加一道邏輯“鎖”,如要求特定組合邏輯序列(例兩個IO必須按序輸出10,而其它組合如01、11、00等無效,位數(shù)越多越可靠)甚至特定時序邏輯系列(可用移位寄存器等配合邏輯電路實現(xiàn))才能打開這道“鎖”。
-
uwyywjdwe
04-26 10:10
該系統(tǒng)原使用的并行串口擴展芯片GM16C450,并使用了其DTR、RTS、OUT1、OUT2作為4路通用IO輸出,此芯片的復(fù)位腳與MCU復(fù)位腳相連,上電復(fù)位時,GM16C450就為高電平輸出,現(xiàn)在不想用此芯片了,簡化電路,諸位所述方案不太理想。
-
松晟電子
04-20 12:35
???3樓所提用阻容控制三態(tài)門的OE腳,如果一直按復(fù)位鍵,輸出就會不確定啦!4樓朋友提供的第2種辦法理論上可行,只是IO輸出串聯(lián)1K電阻后直接驅(qū)動8050三極管,上拉電阻用10K肯定太大,用1K上拉是否又太小,而且復(fù)位完成后,鎖存器的內(nèi)容立即輸出,如果此時單片機出了故障,沒有發(fā)出鎖存FF的指令,輸出的內(nèi)容還是不能確定,會失控的。
-
xiaoshuhao
04-16 12:19
試試377吧,只要復(fù)位的邏輯1稍滯后于上拉的邏輯1即可。
-
411easddzf
04-22 18:32
??MCU的IO口線是全部用完了,不能動了,樓上推薦用377鎖存器,想問上電時377鎖存器如果Q輸出端為低電平,上拉又有何用,灌電流很大的,會拉低電位。諸位是否用過帶預(yù)置功能的8位鎖存器,2位的倒有現(xiàn)成的如74HC74,實在不行,準備用此來試試了。
-
aaa2412
04-22 15:44
????系統(tǒng)原來使用串口芯片16C450的4個控制口,用74HC74,用2片,是不爽。只是找不到好的辦法呀!
-
腦洞大賽11
04-18 08:03
377的使能端為高時,其輸出不是高阻而是鎖存器當前的內(nèi)容,在芯片上電暫態(tài)時,接在總線上的輸入、接在復(fù)位上的芯片使能和接在MCU?IO上的鎖存端均存在一個上升沿,只要使能端的上升沿稍滯后,其輸出就為高,但這只是理論上的,而且正常工作態(tài)按下復(fù)位,377的輸出將是當前值,不能保證全1。變通的辦法可用雙輸入或門如HC32配合鎖存器實現(xiàn),雙輸入或門的一輸入接鎖存器輸出,另一輸入接復(fù)位,相當于加了一道單輸入的邏輯“鎖”,但此電路需用3片IC才能實現(xiàn),占用PCB面積較大。
-
tyh_candy
04-21 01:36
用HC845、2845、29845等,帶預(yù)置邏輯,只是未必好買,但其邏輯可輕松用一片GAL實現(xiàn)。
-
du21590
04-20 17:38
???HC377的G端為輸入鎖存允許腳,chunyang?的方案我理解了。感謝諸位出謀畫策,提出了這么多好的建議,經(jīng)過多方考慮,最后決定用HC573作為鎖存器,輸出上拉,HC573的OE腳接公開高電平復(fù)位端,根據(jù)chunyang的建議,采用"邏輯鎖"方式將輸出再加一級由單片機控制的門控電路,實現(xiàn)了雙保險,雖然不能與原系統(tǒng)完全兼容,但可靠性和簡潔性大大提高。
-
馬漢三吶
04-22 16:06
用MCU的復(fù)位信號,再用CPLD來擴展IO
復(fù)位信號不要用RC的那種電路,要用專門的復(fù)位IC電路
-
ueutriwu
04-20 15:17
沒有細看呢,不知道每個腳加一個反相器可否,