PIC單片機(jī)人機(jī)接口模塊獨(dú)立式按鍵的電路設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
本實(shí)例可以分為5部分,如圖1所示。
圖1 系統(tǒng)組成原理框圖
下面將對(duì)這5部分分別進(jìn)行說(shuō)明。
(1)復(fù)位電路。
上電時(shí),對(duì)復(fù)位電路中的電容充電,也是對(duì)PIC單片機(jī)進(jìn)行上電復(fù)位的過(guò)程,在這一過(guò)程中,還可以手工直接按動(dòng)上電復(fù)位中的按鍵,對(duì)其進(jìn)行復(fù)位。
(2)時(shí)鐘電路。
時(shí)鐘晶振可以采用主頻為0~20MHz的晶振,接法如圖2所示。
圖2 復(fù)位電路和時(shí)鐘電路
(3)獨(dú)立式鍵盤(pán)輸入。
通過(guò)PlC16F877的端口D直接輸入,在實(shí)際電路實(shí)現(xiàn)時(shí),由于會(huì)產(chǎn)生抖動(dòng),所以,在編程時(shí)要采用100ms的延時(shí)進(jìn)行復(fù)查,確定后再輸出數(shù)據(jù)。
(4)LED輸出。
通過(guò)PIC16F877的端口C輸出,利用PIC16F877的強(qiáng)大的驅(qū)動(dòng)能力直接驅(qū)動(dòng)LED實(shí)現(xiàn),為保護(hù)PIC16F877和LED,要為L(zhǎng)ED串聯(lián)一個(gè)100Ω的電阻。
(5) PIC16F877。
這是系統(tǒng)的核心部分,上電復(fù)位后,系統(tǒng)就開(kāi)始對(duì)端口D進(jìn)行掃描,延時(shí)100ms后進(jìn)行復(fù)查,如果端口D的值沒(méi)有變化,就將得到的端口D的值輸出到端口C,驅(qū)動(dòng)LED顯示結(jié)果。
電路中的PIC單片機(jī)的硬件電路如圖2所示,包括復(fù)位電路和時(shí)鐘電路兩部分,輸入電路如圖3所示,輸出顯示電路如圖4所示。
圖3 輸入電路
圖4 輸出顯示電路
復(fù)位電路采用典型復(fù)位電路的接法,這種接法不僅可以在上電時(shí)自動(dòng)復(fù)位,還可以在程序運(yùn)行中手動(dòng)復(fù)位,手動(dòng)復(fù)位時(shí),只需要按下復(fù)位電路中的按鍵即可。時(shí)鐘電路中的晶振采用0~20MHz的晶振,但是要注意,時(shí)鐘晶振的時(shí)鐘周期是單指令的運(yùn)行周期,所以在編程中,如果用到延時(shí)程序,要用相應(yīng)的時(shí)鐘周期來(lái)計(jì)算程序中設(shè)置的延時(shí)次數(shù)。
本實(shí)例用到了PIC16F877的端口C和端口D,其中,端口C作為輸出端口,端口D作為輸入端口。PlC16F877的LO端口驅(qū)動(dòng)能力很強(qiáng),可以直接驅(qū)動(dòng)LED,為了保護(hù)PIC16F877和LED,為L(zhǎng)ED串聯(lián)一個(gè)100Ω的保護(hù)電阻。輸入按鍵的一端接到電源,另一端接到PlCl6F877的端口D中的一位輸入,同時(shí),接到單片機(jī)的一端還要外接一個(gè)阻值較小的電阻并接地。