历史上的今天
返回首页

历史上的今天

今天是:2025年01月08日(星期三)

正在发生

2020年01月08日 | avrstudio 5 矩阵键盘

2020-01-08 来源:eefocus

关键点:

先给PC口的低4为为输出高4位为输入,来判断是那一列,后交叉来赋值来判断是那一行

源代码:

#include  
#include 
#define F_CPU 8000000UL

const unsigned char table[]= 

  0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 
  0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71 
}; 
char key_num; 
unsigned char check(); 
void key_scan(); 
void beep(); 
int main(void) 

    DDRE=0xff; 
    while(1) 
    { 
      if(check()) 
        key_scan(); 
       else 
       continue; 
       if (key_num<16) 
       { 
           PORTE=table[key_num]; 
           beep(); 
       } 
    } 
}

void beep() 

    int i; 
    for (i=0;i<10;i++) 
    { 
        PORTF=0x04; 
        _delay_ms(1); 
        PORTF=0x00; 
    } 
}

void key_scan() 

    switch(PINC) 
    { 
        case 0x0e: key_num=0;break; 
        case 0x0d: key_num=1;break; 
        case 0x0b: key_num=2;break; 
        case 0x07: key_num=3;break; 
        default:key_num=0xff;        
    } 
    DDRC=0x0f;PORTC=0xf0;_delay_ms(4); 
    switch(PINC) 
    { 
        case 0xe0:     key_num+=0;break; 
        case 0xd0:     key_num+=4;break; 
        case 0xb0:     key_num+=8;break; 
        case 0x70:     key_num+=12;break; 
        default:key_num=0xff;    
    } 
}

unsigned char check() 

    DDRC=0xf0;PORTC=0x0f;_delay_ms(4); 
    return    PINC!=0x0f ? 1:0;    
}

 

截图:

2011-3-26-17-34


推荐阅读

史海拾趣

Ferroxcube公司的发展小趣事

在电子行业中,质量始终是客户最关心的问题之一。Ferroxcube公司深知这一点,因此在生产过程中严格控制产品质量,确保每一个出厂的产品都符合甚至超过客户的期望。

有一次,一个大型电子设备制造商向Ferroxcube下了一笔大额订单,要求提供一批高性能的磁环。然而,在生产过程中,质检部门发现其中一部分磁环的性能指标略低于标准要求。虽然这批产品仍然符合市场上的大部分需求,但Ferroxcube公司决定全部返工,确保每一件产品都达到最高标准。

这一举动虽然增加了公司的生产成本,但却赢得了客户的极高评价。那家大型电子设备制造商对Ferroxcube的严谨态度和专业精神表示赞赏,并将Ferroxcube列为了其首选供应商之一。此后,双方的合作更加紧密,共同开发了许多创新的电子产品。

Emerson Embedded Power公司的发展小趣事

作为一家具有社会责任感的企业,Emerson Embedded Power积极参与公益事业和社会活动。该公司通过捐赠资金、物资和技术支持等方式,帮助贫困地区的学校和社区改善基础设施和教育条件。同时,公司还积极倡导员工参与志愿服务活动,为社会贡献爱心和力量。

请注意,以上故事是基于Emerson Embedded Power在电子行业中的一般发展情况和特点而编写的概述性故事框架,并非具体的、详细的发展故事。如果需要更详细的信息或故事,建议直接查阅该公司的官方资料或相关新闻报道。

富信半导体(FOSAN)公司的发展小趣事

面对日益严峻的环境问题,Emerson Embedded Power积极响应,将环保理念融入产品设计和生产过程中。该公司致力于开发节能、低碳的电源产品,帮助客户降低能源消耗和碳排放。同时,公司还积极推广绿色制造理念,推动整个电子行业的可持续发展。

Bharat Electronics Ltd公司的发展小趣事

随着技术的不断积累和发展,BEL逐渐摆脱了对外部技术的依赖,开始自主研发和生产电子产品。公司不仅成功开发出一系列具有自主知识产权的产品,还打造了知名的BEL品牌。这些产品以其高性能、高可靠性在市场中赢得了广泛认可,使BEL成为印度乃至全球电子行业中的佼佼者。

DALLAS公司的发展小趣事

Dallas公司一直将技术研发作为公司发展的核心驱动力。公司投入大量资源用于半导体领域的技术研发,不断探索新的技术方向和产品应用。这种持续的技术研发投入使得Dallas公司能够不断推出具有创新性和竞争力的产品,保持了在市场中的领先地位。

Eastman Kodak Company公司的发展小趣事

随着技术的不断进步,伊士曼柯达公司不断推出新的产品和服务,以满足市场的多样化需求。在20世纪初,柯达已成为全球最大的胶卷供应商,并占据了美国摄影市场的绝大部分份额。此外,公司还积极向国际市场扩张,通过设立分支机构和办事处,将产品销往全球各地。这一时期,柯达不仅凭借其优质的产品赢得了广泛的客户基础,还树立了良好的品牌形象。

问答坊 | AI 解惑

新生代工程师的技术人生(一)

一、成长--从摇滚青年到设计精英    9月的一天,在一场技术研讨会上,A君一边老到地翻看着Demo板,一边询问着一些技术细节,俨然一个技术高手,可是谁能想到,3年前,他曾是一个痴迷音乐的摇滚青年。       那是2 ...…

查看全部问答>

PB下修改public文件一定要重新sysgen?

最近在做电源管理这部分,想修改D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\PM\\PDD\\里的default文件。 但想想要是每次调试修改都要sysgen,那不死人啦。有没有大侠知道有没有简单的方法编译下。望指点迷津。…

查看全部问答>

请问哪里能下到WINCE?

请问哪里可以下到可以使用的WINCE系统吗? 我找了好久都没找到!大家帮一下忙了,谢谢大家了。…

查看全部问答>

有用过IMX27做视频编码压缩和解压的大侠吗

能不能给小弟提供一些可参考的资料,这个芯片功能很强大,但是基本找不到太多参考,无从下手啊…

查看全部问答>

谁帮帮我,这个错误是什么意思?

版本是IAR 3.1A 连接时产生的错误 Error[e46]: Undefined external "?cstart_init_zero" referred in fet440_ta02 ( C:\\Documents and Settings\\dlh\\My Documents\\Debug\\Obj\\fet440_ta02.r43 ) 请问这是什么错误啊? 我检查了下,发 ...…

查看全部问答>

基于LAN工业监控

LAN工业现场监控提交没有完成,做多少提交多少吧,时间已经到了。这些日子其它时间占光了。图1是另外作一的一块扩展板图2是当年参于制作的xiaomagee的大作,拿来当核心板了,属内部东西,原理图就不专门提供了。xiaomagee的ms531可以不需要调试器, ...…

查看全部问答>

TI的TMS320S5505仿真软件

各位好,请问TI公司的TMS320S5505系列的仿真软件是哪款,我在CCS3.3的SETUP里面没有找到这型号呢?求解,谢谢!…

查看全部问答>