矩阵键盘外部中断扫描的c语言程序(中断模式矩阵键盘扫描)
今天给大家分享一下矩阵键盘外部中断扫描的C语言程序知识,也会讲解一下矩阵键盘扫描的中断方式。如果你能碰巧解决你现在面临的问题,别忘了关注这个网站,现在就开始!
这篇文章的列表: 1.找一个C语言的单片机4X4矩阵键盘扫描程序。 2.找一个中断单片机矩阵键盘(4*4)的C语言程序(记得中断)。。求高手自己写一个 3.单片机AT89C51矩阵键盘的c语言程序。 找一个单片机4X4矩阵键盘扫描程序,C语言。 淘宝旺铺:广州华电MCU学习板MCU外设学习模块/传感器模块
//4*4键盘检测程序。按键后,数码管上显示相应的代码。
#includereg51.h
sbit beep=p2^3;
sbit dula=p2^6;
sbit wela=p2^7;
无符号字符i = 100
无符号字符j,k,temp,key
无效延迟(无符号字符I)
{
for(j = I;j0;j -)
for(k = 125;k0;k-);
}
无符号char码表找一个单片机矩阵键盘(4*4)中断(记得中断)的C语言程序。。求高手自己写一个 很简单。我不确定你的电路图。让我写下主程序:
#includereg52.h
无符号字符标志= 0;//设置flag为标志位,初始值为0。一旦发生中断,将其设置为1。
void main()
{
EA = 1;//打开主机中断
EX0 = 1;//打开外部中断0,假设是P3.2产生的中断
IT0 = 1;//设置产生中断的方式,即下降沿触发。
P0 = 0X0F//假设矩阵键盘连接到P0端口,所有列线为低电平,所有行线为高电平。
while(1)
{
If(flag==1) //这意味着如果不产生中断,后面的程序就不会运行,只有中断时才会扫描键盘。
{
键扫描程序,这个我就不写了,有很多种写法。
}
数码管显示程序,这个我就不写了,不知道你是什么电路图。
}
}
无效扫描()中断0
{
flag = 1;//表示一旦产生中断,标志就置1。
}
希望对你有用,呵呵。
单片机AT89C51矩阵键盘的c语言程序 #includereg51.h
#定义uchar无符号字符;
uchar distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x ff };
无效延迟(无符号整数a)
{
无符号int i,j;
for(I = 0;ia;我)
for(j = 0;j1000j);
}
uchar kbscan(void)
{
无符号字符sccode,recode
P2 = 0x0f;//发送0扫描,列线输入
if ((P2 0x0f)!= 0x0f) //某个键被按下。
{
延迟(20);//延迟去抖动
if ((P20x0f)!= 0x0f)
{
sccode = 0xef//逐行扫描初始值
while((sccode0x01)!=0)
{
P2 = sc code;
if((P20x0f)!=0x0f)
{
recode =(p20x 0f)| 0xf 0;
return((~ sc code)(~ recode));
}
其他
sc code =(sc code 1)| 0x 01;
}
}
}
返回0;//没有按键,返回0。
}
void getkey(void)
{
无符号字符密钥;
key = kbs can();
if(key==0)返回;
开关(钥匙)
{
案例0x 11:P1 = distab[0];打破;
案例0x 12:P1 = distab[1];打破;
案例0x 14:P1 = distab[2];打破;
案例0x 18:P1 = distab[3];打破;
案例0x 21:P1 = distab[4];打破;
案例0x 22:P1 = distab[5];打破;
案例0x 24:P1 = distab[6];打破;
案例0x 28:P1 = distab[7];打破;
案例0x 41:P1 = distab[8];打破;
案例0x 42:P1 = distab[9];打破;
案例0x 44:P1 = distab[10];打破;
案例0x 48:P1 = distab[11];打破;
案例0x 81:P1 = distab[12];打破;
案例0x 82:P1 = distab[13];打破;
案例0x 84:P1 = distab[14];打破;
案例0x 88:P1 = distab[15];打破;
默认值:P1 = distab[16];打破;
}
}
主()
{
while(1)
{
getkey();
}
}
这是结束介绍矩阵键盘外部中断扫描C语言程序和中断模式。不知道你有没有从中找到你需要的信息?如果你想了解更多这方面的内容,记得关注这个网站。
最后更新于 2023-09-13 14:51:16 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章
- 100行C语言代码(100例经典C语言代码)
- C语言中的运算符结合性(C语言中的运算符结合性表示)
- C语言打字技巧(C语言编程中如何打汉字)
- C语言函数返回到上一段(C语言返回到某一步)。
- C语言字符的加减法(C语言字符的加减法)