- 1
- 0
- 约1.94千字
- 约 16页
- 2022-09-07 发布于上海
- 举报
学习内容;13.1 项目需求;13.2 项目工作原理分析;一旦确定有按键已经稳定闭合后,接着判断为哪一个按键闭合,采用对按键进行扫描的方式,依次给每一条列线送低电平,其余各列都为高电平,并检测每次扫描的行状态。每当扫描输出某一列为低电平时,相继读入行线状态。若全为高电平,表示为低电平的这列没有按键闭合。否则行线不全部为高电平,表示为低电平的这列上有按键闭合。确定闭合按键的位置后,计算出按键值,产生按键码。;在矩阵按键处理过程中,一旦检测到有按键闭合与确认按键已经稳定闭合期间,通过调用10-20ms延时子程序避开按键抖动问题。由于按键是机械器件,按下或者松开时有固定的机械抖动,抖动图如图所示。;按键去抖分为硬件去抖和软件去抖,硬件去抖最简单的是按键两端并联电容,容量根据实验而定。软件去抖使用方便不增加硬件成本,容易调试,所以现在处理按键抖动问题大部分选择软件去抖。软件去抖操作步骤如下:
① 检测到按键按下后进行10-15ms延时,用于跳过这个抖动区域。
② 延时后再检测按键状态,如果没有按下表明是抖动或者干扰造成,如果仍旧按下,可以认为是真正的按下。并进行对应的操作。
③ 同样按键释放后也要进行去抖动延时,延时后检测按键是否真正松开。;采用单片机控制矩阵按键实现按键键码值显示的电路结构由51单片机最小系统、数码显示电路、数码驱动电路、矩阵键盘电路和电源供电电路组成。 ;13.3 项目硬件电路设计;单片机控制矩阵键盘硬件电路原理图 ;13.4 项目软件程序设计;;程序代码;void main() //定义主函数
{
uchar key;
P1=0xff; //设置数码管位码端电平,显示按键上的按键码
while(1)
{
key=keyscan(); //调用键盘扫描,
switch(key)
{
case 0xee:P0=table[0];break; //显示按键码“0”
case 0xde:P0=table[1];break; //显示按键码“1”
case 0xbe:P0=table[2];break; //显示按键码“2”
case 0x7e:P0=table[3];break; //显示按键码“3”
case 0xed:P0=table[4];break; //显示按键码“4”
case 0xdd:P0=table[5];break; //显示按键码“5”
case 0xbd:P0=table[6];break; //显示按键码“6”
case 0x7d:P0=table[7];break; //显示按键码“7”
case 0xeb:P0=table[8];break; //显示按键码“8”
case 0xdb:P0=table[9];break; //显示按键码“9”
case 0xbb:P0=table[10];break; //显示按键码“a”
case 0x7b:P0=table[11];break; //显示按键码“b”
case 0xe7:P0=table[12];break; //显示按键码“c”
case 0xd7:P0=table[13];break; //显示按键码“d”
case 0xb7:P0=table[14];break; //显示按键码“e”
case 0x77:P0=table[15];break; //显示按键码“f”
}
}
}
;void send_char(unsigned char txd) // 传送一个字符
{
SBUF = txd;
while(!TI); // 等特数据传送
TI = 0; // 清除数据传送标志
}
void send_str() // 传送字串
{
unsigned char i = 0;
uint j;
while(str[i] !=0x00)
{
SBUF = str[i];
while(TI==0); // 等特数据传送
TI = 0; // 清除数据传送标志
i++; // 下一个字符
}
for(j=0;j50000;j++); //延迟
};系统调试结果总结;感谢您的观看!
您可能关注的文档
- 如何打造学习型团队.pptx
- 经典实用有价值企业管理培训知名咨询公司绩效管理.pptx
- 古诗词中的月亮.pptx
- 风量分配学习.pptx
- 接触性皮炎学习.pptx
- 接触性皮炎1学习.pptx
- 大学物理实验误差与数据处理.pptx
- 高分子材料研究方法实验于金库.pptx
- 高中英语强调句型.pptx
- 高中语文知识竞赛1.pptx
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)