【摘要】:但如果考虑到单片机复位后P0~P3都为高电平,若使用方式1必须额外使用外部电路,确保单片机一旦通电就将按键所连接的I/O口拉为低电平,否则将会导致按键检测失败(错误)。图3-1中,使用了4个按键,分别接到P3.2、P3.3、P2.3以及P2.4,其中R9~R12作为限流电阻使用,起到保护I/O口的作用。
8051单片机的I/O口的状态一般有两种:低电平和高电平。当然还可能是高阻态。发光二极管作为输出设备,主要依靠单片机主动输出0(低电平)或1(高电平)来实现二极管的点亮与熄灭。而按键作为输入设备,是通过检测所连接的I/O口的状态来判断按键是否被按下。
因此,按键与单片机有两种连接方式:
1)以检测到I/O口为高电平表示按键按下,则平时按键没有按下时对应的I/O必须保持为低电平。
2)以检测到I/O口为低电平表示按键按下,则平时按键没有按下时对应的I/O必须保持为高电平。
表面上看,似乎两种方式都可行。但如果考虑到单片机复位后P0~P3都为高电平,若使用方式1必须额外使用外部电路,确保单片机一旦通电就将按键所连接的I/O口拉为低电平,否则将会导致按键检测失败(错误)。(www.xing528.com)
因此,一般情况下,我们总是选择方式2的连接方法,如图3-1所示。图3-1中,使用了4个按键,分别接到P3.2、P3.3、P2.3以及P2.4,其中R9~R12作为限流电阻使用,起到保护I/O口的作用。
图3-1 按键与单片机的连接
明显地,由于单片机复位后,4个按键对应的4个I/O口均为高电平,此时读取I/O口的状态,只能读到“1”(高电平)。若按键按下,则相应的I/O口将被拉低,此时读取I/O口的状态,将读到“0”(低电平)。因此,用户可以根据读取到的4个按键对应的I/O口的状态,判断按键是否被按下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。