当前位置:首页 > 单片机实训,点阵,矩阵键盘,电子时钟,LED灯
实验三:矩阵键盘的设计
一、实验目的:
1、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。 2、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。 3、复习利用Keil51软件对程序进行编译。
4、用Proteus软件绘制“矩阵键盘扫描”电路,并用测试程序进行仿真。
二、实验要求
通过实训,学生应达到以下几方面的要求:
(1)素质要求
1.以积极认真的态度对待本次实训,遵章守纪、团结协作。 2.善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作能力。 (2)能力要求 1.模拟电路的理论知识 2.脉冲与数字电路的理念知识
3.通过模拟、数字电路实验有一定的动手能力 4.能熟练的编写8951单片机汇编程序 5.能够熟练的运用仿真软件进行仿真
三、实训基本步骤
1、用Proteus绘制“矩阵键盘扫描”电路原理图。
2、编写程序使数码管显示当前闭合按键的键值。(代码)
#include
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0X88,0X83, 0XC6,0XA1,0X86,0X8E}; uchar code tab[]={
0x77,0xb7,0xd7,0xe7,0x7b,0xbb,0xdb,0xeb,0x7d,0xbd,0xdd,0xed,0x7e,0xbe,0xde,0xee };
void delay(uint x) {
}
uchar i; while(x--) for(i=0;i<120;i++);
uchar scan() { }
void main() {
uchar key; while(1) { key=scan();
P2=0XF0; delay(10); P2=0X0F; for(i=0;i<16;i++) if(c==tab[i]) return i; uchar a,b,c,i;
}
if(key!=-1) {
P0=dis[key]; delay(100); } }
3、利用Proteus软件的仿真功能对其进行仿真测试,观察数码管的显示状态和按键开关的对应关系。(实验结束)
如上图:当K7被按下时,数码管上显示出数字7了。
共分享92篇相关文档