资 源 简 介
包括仿真电路及C程序,参考《PIC单片机入门和实战》。按键检测原理:PORTB的高4位设置为输入模式,且开启内部若上拉功能,这样,PORTB的高4位就全都是1,也就是按键的列线全是1,而PORTB的低4位全是0,也就是按键的行线全是0。若有按键按下,那么行线和列线就会连通,按键所在的列线的电压就会拉低,变为0。这个时候,读PORTB,低4位仍然为0 ,但是高四位就会有一位也是0。所以if((PORTB & 0xF0)!=0xF0)可以判断按键是否按下,因为如果按下了,高四位就不全为1。按键扫描,低4位依次输出0,而 低4位的另外3位输出1,那么,当输出0的行线,碰到按键按下的列线,就会将列线的电压拉低,这时候,读PORTB,就会得到按键的行列位置,即按键码。如果输出0的行线,未与按键的列线相连,那么高4位仍然全为1。就继续扫描。KeyCode[]数组中,存储了最近几次的按键码,最多可以存储最近8次,更改数组就可以更改存储大小。若多连接几个数码管,就可以依次显示按键的内容,如同计算器一样