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