导航:首页 > 操作系统 > 按键输入数字单片机

按键输入数字单片机

发布时间:2023-09-24 09:46:10

A. 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;

B. 51单片机矩阵键盘输入11位数字,赋值给一个变量

(1)用手指头按下矩阵键盘的0~9数字键即可输入数值。

(2)最后赋值到一个变量上
unsigned char const str1[]="最后";
unsigned char const* pt1=&str1[0];
这样就把最后赋值到指针pt1上了

C. 单片机的矩阵按键怎么输入两位数,例如,先输入2,数码管显示2,再输入3,数码管显示23,有类似程序更好

我的思路是,把你输入的数字先保存在一个数组里,然后实时的显示该数组的内容即可。

#define MAX_NUM 2

uchar num_pos = 0;//输入数字的个数计数。

char num_buff[MAX_NUM] = {-1,-1};

void DisplayNum()
{
for(i = 0; i < num_pos; i++)
{
//在此将num_buff[]的数据显示出来,num_buff[i]的值是-1时,不显示

}

}

void main()
{
while(1)

{
key = KeyScan();//按键扫描,得到输入的数据

if(key >=0 && key <= 9)//有数字按键按下

{
if(num_pos >= MAX_NUM) //达到最大显示个数,清空显示状态。
{
num_pos = 0;
for(i = 0; i < MAX_NUM; i++)

{
num_buff[i] = -1;
}
}
num_buff[num_pos] = key;
num_pos++;
}

DisplayNum();

}
}

D. 51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示

1、首先,要把代码写好,点亮数码管。

E. 51单片机如何用矩阵键盘输入数值,最后赋值到一个变量上

你好!!

你做矩阵键盘检测的时候,会触发相关的IO口的状态,通过分析IO口,就能知道那个键按下;

定义一个变量,将按下的键值赋给变量就行了

阅读全文

与按键输入数字单片机相关的资料

热点内容
什么app能下载多邻国 浏览:234
服务器蓝色什么意思 浏览:226
vb组态软件源码 浏览:698
加密蚊帐防蚊门帘 浏览:828
vs2010多线程编程 浏览:214
新股上市指标源码 浏览:699
c语言51单片机教程 浏览:554
app中的hd是什么意思 浏览:279
手机什么解压器最好 浏览:49
什么是适合自己的app 浏览:451
云服务器怎么补漏洞 浏览:176
如何看自己的安卓是什么等级 浏览:633
被丁磊挖走的程序员 浏览:19
gsk980ta编程 浏览:507
单片机离线 浏览:84
解压助眠敲击外国长指甲 浏览:421
3次元编程 浏览:803
夫妻传送英文命令 浏览:316
程序员题代做 浏览:950
戴尔服务器怎么扩大内存 浏览:641