PIC单片机人机接口模块独立式按键的电路设计
扫描二维码
随时随地手机看文章
本实例可以分为5部分,如图1所示。
图1 系统组成原理框图
下面将对这5部分分别进行说明。
(1)复位电路。
上电时,对复位电路中的电容充电,也是对PIC单片机进行上电复位的过程,在这一过程中,还可以手工直接按动上电复位中的按键,对其进行复位。
(2)时钟电路。
时钟晶振可以采用主频为0~20MHz的晶振,接法如图2所示。
图2 复位电路和时钟电路
(3)独立式键盘输入。
通过PlC16F877的端口D直接输入,在实际电路实现时,由于会产生抖动,所以,在编程时要采用100ms的延时进行复查,确定后再输出数据。
(4)LED输出。
通过PIC16F877的端口C输出,利用PIC16F877的强大的驱动能力直接驱动LED实现,为保护PIC16F877和LED,要为LED串联一个100Ω的电阻。
(5) PIC16F877。
这是系统的核心部分,上电复位后,系统就开始对端口D进行扫描,延时100ms后进行复查,如果端口D的值没有变化,就将得到的端口D的值输出到端口C,驱动LED显示结果。
电路中的PIC单片机的硬件电路如图2所示,包括复位电路和时钟电路两部分,输入电路如图3所示,输出显示电路如图4所示。
图3 输入电路
图4 输出显示电路
复位电路采用典型复位电路的接法,这种接法不仅可以在上电时自动复位,还可以在程序运行中手动复位,手动复位时,只需要按下复位电路中的按键即可。时钟电路中的晶振采用0~20MHz的晶振,但是要注意,时钟晶振的时钟周期是单指令的运行周期,所以在编程中,如果用到延时程序,要用相应的时钟周期来计算程序中设置的延时次数。
本实例用到了PIC16F877的端口C和端口D,其中,端口C作为输出端口,端口D作为输入端口。PlC16F877的LO端口驱动能力很强,可以直接驱动LED,为了保护PIC16F877和LED,为LED串联一个100Ω的保护电阻。输入按键的一端接到电源,另一端接到PlCl6F877的端口D中的一位输入,同时,接到单片机的一端还要外接一个阻值较小的电阻并接地。