A. 单片机的矩阵按键怎么输入两位数,例如,先输入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();
}
}
B. 汇编语言51单片机怎么用KEY 1控制数码管上显示的数字加1 KEY2控制数码管上显示数字减1
给你个参考;
2)显示部分;
这个是按你取七段码的思路,递增时是以 0 为结束,那么为了让递减时也以 0 为结束;
因此就在前面加 0;
TAB:DB 00H,3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H;
所以递增时 R5=1,指向 3FH,递减时 R5=10H,指向 71H,
3)按键部分,当判断是 P3.4 按下时,就执行 MOV R5,#01H;
当判断是 P3.5 按下时,就执行MOV R5,#10H;
C. key接单片机的哪个引脚
key是个按键吧,按键可以接在单片机的任意一个I/O引脚上的,没有什么规定的。
D. 在单片机中key =1, key =0什么意思
key是按键,一般一端接地,另一端接单片机的IO管脚,所以前面定义sbit
Key=p1𠆢0
按键按下时,该管脚为
低电平
,即key=0,否则
key=1
E. 单片机C语言 按键程序中有个KEYIN0是什么意思
应该是编程的人定义的一个变量吧,字面的意思应该是按键输入0.
F. 51单片机键盘输入
用不着数组。
只要增加一个数字vlaue,再让 key 从keyscan()函数中,得到0~9,
最后如下计算到vlaue中: vlaue = vlaue * 10 + key;
以后,每得到一个按键数值(0~9),都执行一遍上面的算式,即可。
G. 单片机中key是按键的意思吗
key 英文意思 :按键、要是、关键的意思;
可能是加密的秘钥 ,也可能只是一个普通变量的名字,当然也可以是按键值;具体智能分析代码,来判断作者的意思;
呵呵,满意的话赞一个!
H. 如何写一个单片机输入上升沿和下降沿的脉冲输出信号的c语言程序
如果是循环中查询的话我一般这样做, 定义一个变量比如keyLastStatus来记录上一次扫描周期的状态
sbit key=P2.0; char keyLastStatus=0;
keyLastStatus=key; //初始化
while (1)
{
if(key==0 && keyLastStatus!=key) Todo(); //上升沿
if(key==1 && keyLastStatus!=key) Todo(); //下降沿
keyLastStatus=key; //记录上一次的状态
}
I. 单片机按键输入数组只能识别第一次按键
for (i=1;i<m;i++)
{
buf+=a[m-i]*temp;//从个位开始累加,换算成输入数字buf
temp*=10;
}
return buf;
return的位置放错了,应该在循环体的外面。
J. 求解 单片机如下程序num的意思 key 是外部按键 每当key按下数码管显示一个值
这是单片机程序与PC机程序的不同之处,sbit key=p3^4;定义表明key的值是与P3.4单片机引脚关联的,而引脚的状态是由外部按键是否按下决定的。当按下按键时,key为0,不按下时为1.
所以你说的:当按下键时KEY=0了,但抬起按键后,就不会像你想象的那样一直保持0不变了,除非你一直按着按键不放,
数码管会从0到10的变化。