关于矩阵键盘程序 为什么下载到单片机没有作用啊!问题出在哪里??跪求大神有此种子帮忙解答啊!!

4×4矩阵键盘原理及其在单片机中的简单应用(基Proteus仿真)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
4×4矩阵键盘原理及其在单片机中的简单应用(基Proteus仿真)
单​片​机
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢我是单片机初学者,在矩阵键盘部分遇到了一些问题:运行以后key2,key3,key4的功能都可以实现,但是key1不行按键没有用,不会加1,这是为什么呢?
[问题点数:40分,结帖人woshi_ziyu]
我是单片机初学者,在矩阵键盘部分遇到了一些问题:运行以后key2,key3,key4的功能都可以实现,但是key1不行按键没有用,不会加1,这是为什么呢?
[问题点数:40分,结帖人woshi_ziyu]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。单片机应用:把独立按键、静态数码管、矩阵键盘三个实验程序合成一个程序(并注释)?请大神们帮助_百度知道
单片机应用:把独立按键、静态数码管、矩阵键盘三个实验程序合成一个程序(并注释)?请大神们帮助
/*************************************************************************** 实验名
: 独立按键实验* 使用的IO
: LED使用P2,键盘使用P3.0、P3.1、P3.2、P3.3* 实验效果
: 按下K1键,灭掉LED,按下K2键,打开所有的LED,按下K3键,LED左移一位,按下K4键,LED右移一位。*
:由于P3.2口跟红外线共用,所以做按键实验时为了不让红外线影响实验*效果,最好把红外线先取下来。**************************************************************************//*************************************************************************** 实验名
: 静态数码管实验* 使用的IO
: 数码管使用P0,键盘使用P3.0、P3.1、P3.2、P3.3* 实验效果
: 按下K1键,显示1,按下K2键,显示2,按下K3键,显示3,按下K4键,显示4。*
:由于P3.2口跟红外线共用,所以做按键实验时为了不让红外线影响实验*效果,最好把红外线先取下来。**************************************************************************//******************************************************************************* 实验名
: 矩阵键盘实验* 使用的IO
: 数码管使用P0,键盘使用P3.0、P3.1、P3.2、P3.3* 实验效果
: 按矩阵键盘分别显示在数码管上面显示十六进制的0到F。*
:******************************************************************************/
我有更好的答案
需要给你完成吗
需要的,上面的补充问题是各程序得实验题目注释,各程序内容多,放不下
代做的我id
100软妹币..
其他类似问题
为您推荐:
矩阵键盘的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁单片机上的矩阵键盘怎么用C程序定义??_百度知道
单片机上的矩阵键盘怎么用C程序定义??
提问者采纳
你好,矩阵键盘和独立键盘是不同的,独立键盘可以单独定义,但是矩阵键盘的方法却不同,麻烦了一点,一下是主函数矩阵键盘的程序:接口接的是P3口,可以自己改,显示程序自己添加
按一下蜂鸣器响一下 beep为蜂鸣器while(1)
temp=temp&0xf0;
if(temp!=0xf0)
delay(10);
if(temp!=0xf0)
switch(temp)
case 0xee:
key=0;case 0xde:
key=1;case 0xbe:
key=2;case 0x7e:
while(temp!=0xf0)
temp=temp&0xf0;
display(key);
temp=temp&0xf0;
if(temp!=0xf0)
delay(10);
if(temp!=0xf0)
switch(temp)
case 0xed:
key=4;case 0xdd:
key=5;case 0xbd:
key=6;case 0x7d:
while(temp!=0xf0)
temp=temp&0xf0;
display(key);
temp=temp&0xf0;
if(temp!=0xf0)
delay(10);
if(temp!=0xf0)
switch(temp)
case 0xeb:
key=8;case 0xdb:
key=9;case 0xbb:
key=10;case 0x7b:
while(temp!=0xf0)
temp=temp&0xf0;
display(key);
temp=temp&0xf0;
if(temp!=0xf0)
delay(10);
if(temp!=0xf0)
switch(temp)
case 0xe7:
key=12;case 0xd7:
key=13;case 0xb7:
key=14;case 0x77:
while(temp!=0xf0)
temp=temp&0xf0;
display(key);//在数码管显示key
提问者评价
其他类似问题
定义?16键的矩阵键盘要用到一个8位的IO口,不用定义的。直接操作
为您推荐:
您可能关注的推广回答者:
矩阵键盘的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁热门版块:
等待验证会员
为什么这个矩阵键盘扫描程序不行,下载到单片机后没有反应??求大神!!!
#include &reg52.h&
#include &74hc595.h&
#include &boardinit.h&
#include &delay.h&
uchar juzhen_keyscan();
sbit weixuan=P2^6;& && && &//数码管位选
sbit duanxuan=P2^5;& && && &//数码管段选
unsigned char code shuzhi[19]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0X88,0X83,0XC6,0XA1,0X86,0X8E,0X89,0X7F,0XBF};&&// 共阳数码管显示数组 0-dp
uchar temp,num_& && && && && && && && && && &&&//& && && &0& && && & 1& && && &&&2& & 3& && && &4& && && & 5& && && &&&6& & 7& && && &8& && && &&&9& &A& && && &b& && && &c& && && & d& && && &&&E& && &&&F& && &&&H& && && &.& && && &&&-
void main()
boardinit();//板卡硬件初始化
P3=0&&//P3口初始化
P2=0X00;&&//P2口初始化
duanxuan=0;
weixuan =0;
P0=0XFF; //选通数码管所有位
weixuan=1;
weixuan=0;
duanxuan=1;//让数码管实时更新显示字符
P0=shuzhi[8];
delay(100);
& &P0=shuzhi[juzhen_keyscan()];//送字符编码,到数码管显示。
uchar juzhen_keyscan()
//*************************************************************************
& && && && && && && &
& && && && && && && && & P3=0X//扫描第一行
& && && && & temp=P3;
& && && && && && && && & if(temp!=0xfe)& && && &//判断如果是否有按键按下
& && && && && && && && & {
& && && && && && && && && & //delay(10);//去除抖动 10ms
& && && && && && && && && && &&&temp=P3;
& && && && && && && && && && &&&if(temp!=0xfe)
& && && && && && && && && && &&&{& && && && && && && && && &
& && && && && && && && && && &&&
& && && && && && && && && && && & // while(!(P3==0xfe));
& && && && && && && && && && && &&&switch(temp)
& && && && && && && && && && && &&&{
& && && && && && && && && && && && & case 0x7e: num_juzhen=1;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xbe: num_juzhen=2;
& && && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && &&&case 0xde: num_juzhen=3;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xee: num_juzhen=4;
& && && && && && && && && && && && && && && &
& && && && && && && && && && && &&&}& && && && && && && && && && && && && && && && && && && && && && && &&&
& && && && && && && && && && &&&}
& && && && && && && && & }& &&&
//*************************************************************************& && &&&
//*************************************************************************
& && && && &&&P3=0X//扫描第二行
& && && && &&&temp=P3;
& && && && && && && && & if(temp!=0xfd)& && && &//判断如果是否有按键按下
& && && && && && && && & {
& && && && && && && && && & //delay(10);//去除抖动 10ms
& && && && && && && && && && &&&temp=P3;
& && && && && && && && && && &&&if(temp!=0xfd)
& && && && && && && && && && &&&{& && && && && && && && && &
& && && && && && && && && && && &&&
& && && && && && && && && && && &&&//while(!(P3==0xfd));
& && && && && && && && && && && &&&switch(temp)
& && && && && && && && && && && &&&{
& && && && && && && && && && && && &
& && && && && && && && && && && && && &&&case 0x7d: num_juzhen=5;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xbd: num_juzhen=6;
& && && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && &&&case 0xdd: num_juzhen=7;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xed: num_juzhen=8;
& && && && && && && && && && && && && && && &
& && && && && && && && && && && &&&}& && && && && && && && && && && && && && && && && && && && && && && &&&
& && && && && && && && && && &&&}
& && && && && && && && & }& &&&
//*************************************************************************&&
//*************************************************************************
& && && && &&&P3=0X//扫描第三行
& && && && &&&temp=P3;
& && && && && && && && & if(temp!=0xfb)& && && &//判断如果是否有按键按下
& && && && && && && && & {
& && && && && && && && && & //delay(10);//去除抖动 10ms
& && && && && && && && && && &&&temp=P3;
& && && && && && && && && && &&&if(temp!=0xfb)
& && && && && && && && && && &&&{& && && && && && && && && &
& && && && && && && && && && && &
& && && && && && && && && && && &&&//while(!(P3==0xfb));
& && && && && && && && && && && &&&switch(temp)
& && && && && && && && && && && &&&{
& && && && && && && && && && && && & case 0x7b: num_juzhen=9;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xbb: num_juzhen=10;
& && && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && &&&case 0xdb: num_juzhen=11;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xeb: num_juzhen=12;
& && && && && && && && && && && && && && && &
& && && && && && && && && && && &&&}& && && && && && && && && && && && && && && && && && && && && && && &&&
& && && && && && && && && && &&&}
& && && && && && && && & }& &&&
//*************************************************************************& && && &
//*************************************************************************
& && && && &&&P3=0Xf7;//扫描第四行
& && && && &&&temp=P3;
& && && && && && && && & if(temp!=0xf7)& && && &//判断如果是否有按键按下
& && && && && && && && & {
& && && && && && && && && & //delay(10);//去除抖动 10ms
& && && && && && && && && && &&&temp=P3;
& && && && && && && && && && &&&if(temp!=0xf7)
& && && && && && && && && && &&&{& && && && && && && && && &
& && && && && && && && && && && &&&
& && && && && && && && && && && &&&//while(!(P3==0xf7));
& && && && && && && && && && && &&&switch(temp)
& && && && && && && && && && && &&&{
& && && && && && && && && && && && & case 0x77: num_juzhen=13;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xb7: num_juzhen=14;
& && && && && && && && && && && && && && && && && &
& && && && && && && && && && && && && &&&case 0xd7: num_juzhen=15;
& && && && && && && && && && && && && && && && &&&
& && && && && && && && && && && && && &&&case 0xe7: num_juzhen=16;
& && && && && && && && && && && && && && && &
& && && && && && && && && && && &&&}& && && && && && && && && && && && && && && && && && && && && && && &&&
& && && && && && && && && && &&&}
& && && && && && && && & }
& && && && && && &
& && &&&return num_& && && && &&&
//*************************************************************************
}& && && &
等待验证会员
我也在学这个,可以一起讨论么
好啊,一起学习
我也在学这个,可以一起讨论么
站长推荐 /3
Powered by

我要回帖

更多关于 跪求大神别搞笑 的文章

 

随机推荐