uchar code KEY_TABLE[] =
{
0x77,0xB7,0xD7,0xE7
0x7B,0xBB,0xDB,0xEB
0x7D,0xBD,0xDD,0xED
0x7E,0xBE,0xDE,0xEE
};//高四位是列,低四位是行
uchar code TABLE[] =
{
'1', '2', '3',
'4', '5', '6',
'7', '8', '9',
'C', '0', 'A',
};
char key_scan()
{
uchar temp, key, i;
P1 = 0xf0; //1111 0000
//先是扫描列,确定列
//把列的引脚高四位,设为高电平,行引脚,低四位,设为低电平。当按键按下,会被拉低。
if (P1 != 0xf0)
{
delay_ms(10);
if (P1!= 0xf0)
{
temp = P1;//按下后存在temp
P1 = 0x0f;
//后扫描行,确定哪一行
//把行引脚,低四位设为高电平,列的引脚,高四位,设为低电平。当按键按下,会被拉低。
key = temp | P1;
//行列相或,高四位0所在的位为列,低四位所在的0为行
for (i = 0; i < 12; ++i)//查找对应的按键,并赋值对应的字符
if (key == KEY_TABLE[i])
break;
return TABLE[i];
}
}
else
return 0x00;
}
上一篇:使用51单片机输出PWM控制舵机
下一篇:51单片机 nrf24l01收发
推荐阅读
史海拾趣
随着新能源和储能市场的快速发展,福斯特公司也积极拓展相关业务领域。公司不仅关注光伏材料的研发和生产,还将目光投向了动力电池及储能领域。例如,公司推出的铝塑复合膜产品已完成一期2000万平米扩产项目,并计划未来进一步拓展至动力电池及储能领域。这一举措不仅丰富了公司的产品线,还为公司带来了新的增长点和发展机遇。同时,福斯特还加强与新能源产业链上下游企业的合作,共同推动新能源和储能产业的发展。
FMI公司始终坚持以客户为中心的发展理念,致力于为客户提供定制化的频率控制解决方案。公司拥有一支专业的研发团队和完善的生产流程,能够根据客户的具体需求进行产品设计和生产。无论是标准产品还是定制产品,FMI都能确保高质量和快速交付。这种灵活的服务模式使得FMI在客户中树立了良好的口碑,并为公司赢得了更多的商业合作机会。
近年来,ERNI不断加大研发投入,致力于推出更多创新产品和技术。他们不仅继续深耕连接器领域,还拓展了背板、子系统及整套电机架系统等业务。同时,ERNI还积极为客户提供高性能、自行设计的工具制造、现代器件装配和测试设备等高附加值的服务。这些举措使ERNI在电子行业中的竞争力不断增强,也为公司的未来发展奠定了坚实基础。
以上是关于电子行业里ERNI公司发展起来的相关故事概述。通过这些故事,我们可以看到ERNI如何凭借持续的创新、精湛的技术和全球化的战略在电子行业中取得了辉煌成就。
在追求经济效益的同时,Horn公司也注重可持续发展。公司积极采用环保材料和绿色生产工艺,减少对环境的影响。此外,Horn公司还注重人才培养和团队建设,为公司的长期发展奠定了坚实的人才基础。展望未来,Horn公司将继续秉承“创新、质量、服务”的企业理念,致力于成为切削工具行业的领导者,为全球客户提供更加优质的产品和服务。
面对激烈的市场竞争,C-MAC Automotive公司不断创新营销手段。公司利用互联网和社交媒体平台开展线上宣传活动,通过发布技术文章、举办线上讲座等方式吸引潜在客户。同时,C-MAC还积极参加各类行业展会和论坛,与同行和客户面对面交流,拓展业务合作。这些创新的营销举措有效地提升了公司的市场影响力,为公司的快速发展提供了有力支持。
随着国内市场的逐渐饱和,淩志比高公司开始将目光投向海外市场。公司制定了国际化战略,积极拓展海外市场,与多家国际知名企业建立了合作关系。通过不断的市场拓展和品牌推广,淩志比高逐渐在国际市场上获得了认可。
手机电视的网络解决方案?--------复用3G网络还是独立建网? 在过去的几年里,手机电视从各方面都得到了一定的发展,相关领域的环境变得愈发复杂。技术方面,MBMS(多媒体广播和多播业务)标准的到来标志着3G移动通信的参与,其作为3GPP标准的一 ...… 查看全部问答∨ |
我想设计一个水位控制系统,让水低于低水位时开始补水,高于高水位停止补水,应该怎么实现啊?我现在手上有C61F-GP液位控制器,但它只能实现一个水位控制… 查看全部问答∨ |
写好代码后,综合与分析都通过了,o errors, 0 warning。 然后 full compilation, 出现了两个critical warning: 1) 找不到.sdc文件。 这个文件要怎么创建啊? 是不是在full comilation之前还需要做某些步骤? 2) 我的系统中例化了一个PLL, 命 ...… 查看全部问答∨ |
|
{ CLSID clsid = { 0x8856F961, 0x340A, 0x11D0, { 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2} };//HTM if(!m_wndPdf.CreateControl(clsid, NULL, WS_VIS ...… 查看全部问答∨ |
朋友问我2个for循环的语句的效率哪个高?如何判断? for(int i = 0; i<100 ; i++); for(int i =100; i>0 ; i--); 我的解决方法就是把上面的语句反汇编,通过看汇编代码来判断这2个for循环效率的差异。 但比较下来,2个反汇编的 ...… 查看全部问答∨ |
各位大虾好,我现在用sqlite 数据库,可是我发现它不支持中文路径,但是我想把数据放到存储卡上,请问该怎么解决呢,我查到可能是字符集的问题,请问该怎么转换呢,望指点… 查看全部问答∨ |
|
最近想直接控制主板IO口搞点东西,如并口,串口,,想输出如38K (26us)的方波,或者采集38K的波形输入。 我做了以下尝试,在循环中直接读取IO的状态变化, 发现采集的不是很精确,采集到的波形变化有漏 的,也很随机。说明这种方式达不到精度。&n ...… 查看全部问答∨ |