A. 51单片机矩阵按键
首先记住,你的是矩阵键盘,就是说一个按键a的一端接单片机的一个脚(假设p00),另一个也接一个脚(假设p07),
gpio_key=0x0f;
当没有按下的话,gpio_key还是等于0x0f的,假设按下a按键,由于按键两边一个接高电平,一个接低电平,按下后,高电平被低电平拉成低电平,也就是说按键a两侧都是0,此时不就可以判定了嘛
B. 用51单片机矩阵如何写程序
矩阵键盘吗?,这是4*4矩阵键盘扫描程序,10毫秒扫描一次,用定时器1控制:
void t1isr() interrupt 3
{
unsigned char sccode,recode;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
P3=0x0f; //发0扫描,列线输入
if ((P3 & 0x0f) != 0x0f)keynum++; //有键按下
else keynum=0;
if(keynum>5) //按键保持在5次中断以上
{
keynum=0;
sccode = 0xef; //逐行扫描初值
while((sccode&0x01)!=0)
{
P3=sccode;
if((P3&0x0f)!=0x0f)
{
recode=(P3&0x0f)|0xf0;
getkey((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
getkey(0);
}
C. 51单片机如何用矩阵按键输入多位数,比如输入6显示6,再输入7显示67,最好给个c的程序,谢了!
用数组啊,如果是指定位数的就比较简单
当第一次输入时i=0,第一个数6放a[0],i=1,第二个数7放a[1],显示就是
OUT=a[0]*10+a[1]*1
数组用之前初始化为0,a[2]={0}
//这个好用点,递推
if(key_data)//有按键按下
{
for(i=key_count;i>0;i--;)
{
a[i+1]=a[i];
}
a[0]=key_data;
key_count++;
}
//显示调用,根据你的输入最大数定数组的位数
Sprint=a[3]*1000+a[2]*100+a[1]*10+a[0]*1;
D. 51单片机程序,怎样用矩阵键盘输入数字
在网上搜索“十天学会AVR”视频,里面讲解的很清楚,不过是用C语言,原理其实都是一样的。
而且这种简单的玩法,随便找本单片机的书上都会有的。
最后推荐个网站吧,我就在这一步一步学会的www.ourdev.cn
E. 怎么用51单片机矩阵键盘向oled输入多位数 求程序,求思路。
首先要做的就是 OLED的显示驱动程序,写好这个那你发什么数据都可以了,然后 获取矩阵按键的键值,根据键值判断需要往OLED发送的数据,然后调用显示驱动程序发送就行了。
F. 51单片机矩阵键盘输入11位数字,赋值给一个变量
(1)用手指头按下矩阵键盘的0~9数字键即可输入数值。
(2)最后赋值到一个变量上
unsigned char const str1[]="最后";
unsigned char const* pt1=&str1[0];
这样就把最后赋值到指针pt1上了
G. C 51单片机 矩阵按键
首先记住,你的是矩阵键盘,就是说一个按键A的一端接单片机的一个脚(假设P00),另一个也接一个脚(假设P07),
GPIO_KEY=0x0f; 当没有按下的话,GPIO_KEY还是等于0x0f的,假设按下A按键,由于按键两边一个接高电平,一个接低电平,按下后,高电平被低电平拉成低电平,也就是说按键A两侧都是0,此时不就可以判定了嘛
H. 51单片机 如何4*4矩阵键盘输入按键 继电器输出信号
这个原理挺简单的,不过我也好久没用了,具体的记得不是那么清楚。
你拿本单片机的书(应该讲原理的书的都可以),找到编码键盘那块,看一会就会了~~
基本原理:当你按键按下后,键盘程序进行行列扫描,就可以确定为哪一个按键,然后跳到相应的子程序(你这边就是控制继电器了)!
补充回答:
那你就进行相应的设置,开外部中断等,然后就把下面的键盘和转移程序放到中断里面(即一般情况时程序停在等待中断处,当你中断按钮按下后,然后就进入子程序,等待你的键盘数字按键。。。)
I. 51单片机如何用矩阵键盘输入数值,最后赋值到一个变量上
你好!!
你做矩阵键盘检测的时候,会触发相关的IO口的状态,通过分析IO口,就能知道那个键按下;
定义一个变量,将按下的键值赋给变量就行了
J. c51单片机如何用矩阵实现菜单功能
在完成实现菜单功能,需要在单片机的连接输入时,更改一下驱动处理的芯片参数。
参数设置为矩阵模式,应用相关数据函数完成。