1.上拉电阻的作用?
让IO口的电平保持高电平。在有按键按下的时候,端口直接接地,相当于CPU收到一个低电平信号。
2.CPU是如何监测按键信息的?
(1)轮询式,可以加delay,也可以不加。
(2)中断式
3.什么是按键抖动?如何消抖?
(1)通常按键都是机械开关,触点有弹性作用,在闭合和打开时不会很稳定,有一连串的抖动,抖动导致电平不稳定,从而会产生误判,即识别为多次按下按键,如图1所示。
(2)硬件消抖:在按键上加装电容,主动消抖;软件消抖:在识别到按键按下后延迟10ms再次判断按键是否按下,如果仍为按下,则确认按键按下(抖动时间一般都小于10ms),如图2所示。
注1:一般抖动产生错误的概率很小,本次实验中消除抖动后按下按键仍可能会加2/3,是因为下面的delay()的延时太短,使得在一次按下的过程中,CPU进行了多次判断,所以需要略微增加延迟时间。
注2:此处计算消抖的时间用的是单片机小精灵。
4.什么是中断interrupt?
当程序主线任务较长时,采用中断的方式在执行主线的过程中去执行其他程序,中断程序优先级高。中断任务特点:短、急、无法预料。中断式比轮询式更适合处理异步事件。
5.什么是外部中断?外部中断INT0和INT1?
中断源来自于单片机外部,51有4个外部中断,对应4个引脚,如INT0对应P3.2。
6.矩阵键盘的特点?
优点:省IO口;缺点:不能同时按下多个按键。矩阵键盘电阻的作用:防止按键按下时短路烧坏IO引脚(或功耗过大发热),但也不可以过大会断路。
7.宏定义的一个好处:如#define LED P0,改接线(如P0→P1)的时候直接在宏定义中改就可以,无需改程序。
————朱有鹏老师单片机课程学习笔记