3383|5

28

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

谁能帮我分析一下这个矩阵键盘的扫描函数。我最后一句看不出 [复制链接]

#include
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0xee,0xed,0xeb,0xe7,
                                  0xde,0xdd,0xdb,0xd7,
                                  0xbe,0xbd,0xbb,0xb7,
                                  0x7e,0x7d,0x7b,0x77,};
uchar code tab1[]={0x88,0Xbe,0Xc4,0X94,0Xb2,0X91,0X81,0Xbc,
                                   0X80,0X90,0xa0,0x83,0xc9,0x86,0xc1,0xe1};
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
uchar i,j;
void scan();
void display();
void main()
{
        SCON=0;
        while(1)
        {
                scan();
                display();
        }
}
void scan()
{
        uchar temp,temp1;
        P0=0xf0;
        if(P0!=0xf0)
        {
                delay(3);
                if(P0!=0xf0)
                {
                        temp1=P0;
                        P0=0x0f;
                        temp=temp1|P0;
                }
        }
        for(i=0;i<16;i++)
        {
                if(temp==tab) break;
        }
}
void display()
{
        for(j=0;j<6;j++)
        {
                SBUF=tab1;
                while(!TI);
                TI=0;
        }delay(100);
}
此帖出自单片机论坛

最新回复

太奇怪了.做的2个数组tab和tab1,根本就不是那么用的,显示的数据和扫描的按件也没有关系,  详情 回复 发表于 2009-7-7 17:52
点赞 关注
个人签名你们这帮人,勤奋约等于零,智慧等于零,加在一起恒等于零
 

回复
举报

2770

帖子

0

TA的资源

裸片初长成(中级)

沙发
 

有什么看不懂的?

void display()是个显示函数

void display()
{
        for(j=0;j<6;j++)
        {
                SBUF=tab1;
                while(!TI);
                TI=0;
        }delay(100);
}

将TAB1的地址从串口发送出去,重复发6次,之后延时100个单位.
此帖出自单片机论坛
 
 

回复

28

帖子

0

TA的资源

纯净的硅(初级)

板凳
 

谢谢楼上的,不过我说的是这个

temp=temp1|P0;
此帖出自单片机论坛
 
个人签名你们这帮人,勤奋约等于零,智慧等于零,加在一起恒等于零
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

4
 

回复 板凳 cf2928 的帖子

你不是说的最后一句么?
此帖出自单片机论坛
 
 
 

回复

2770

帖子

0

TA的资源

裸片初长成(中级)

5
 

请你最好上图

P0=0X0F;
temp=temp1|P0;
所以temp=temp1|0x0F;
"|"是逻辑或的意思

将temp的低4位置"1"

[ 本帖最后由 jxb01033016 于 2009-7-7 17:47 编辑 ]
此帖出自单片机论坛
 
 
 

回复

2770

帖子

0

TA的资源

裸片初长成(中级)

6
 

这个程序显然有问题

太奇怪了.做的2个数组tab和tab1,根本就不是那么用的,显示的数据和扫描的按件也没有关系,
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表