代码
#include #include #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE[]= { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00 }; uchar code KeyCodeTable[]= { 0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88 }; void Delay() { uchar i; for(i=0;i<200;i++); } uchar Keys_Scan() { uchar sCode,kCode,i,k; P1 = 0xf0; if((P1&0xf0)!=0xf0) { Delay(); if((P1&0xf0)!=0xf0) { sCode = 0xfe; for(k=0;k<4;k++) { P1 = sCode; if((P1&0xf0)!=0xf0) { kCode = ~P1; for(i=0;i<16;i++) { if(kCode == KeyCodeTable[i]) return i; } } else sCode = _crol_(sCode,1); } } } return -1; } void main() { uchar KeyNO = -1; uchar i,P2_LED,P3_LED; while(1) { KeyNO = Keys_Scan(); if(KeyNO != -1) { P2_LED = 0xff; P3_LED = 0xff; for(i=0;i<=KeyNO;i++) { if(i<8) P3_LED>>=1; else P2_LED>>=1; } P3 = P3_LED; P2 = P2_LED; } } } 硬件连接
推荐阅读最新更新时间:2024-11-02 14:03
设计资源 培训 开发板 精华推荐
- EVAL-AD7655CBZ,用于 AD7655、16 位、500 Ksps PulSAR 模数转换器的评估板
- ADR550B 5V 输出高精度并联模式电压基准的典型应用
- 使用 Semtech 的 SC1541 的参考设计
- LTC3896EFE 高效率 35 - 72Vin、-48V/2A 反相稳压器的典型应用电路
- LTM4647IY 的典型应用电路 典型 4.7V 至 5.5V 输入 1.2V @ 30A 输出设计
- CAT3649AGEVB,CAT3649 评估板是一款高效四模式分数电荷泵,可驱动多达六个 LED
- RY-0512D ±12V、42mA输出DC/DC转换器典型应用电路
- #第五届立创电子设计大赛#ESP32 制作儿童认表训练器
- DC2108A,基于具有输入/输出保护的 LTC3897 多相同步升压转换器的演示板
- STC90C54RD+SD2405ALPI制作的实时时钟
- 大联大世平集团有奖直播:最新功能安全牵引逆变器方案:助力汽车提升续航与节省成本!预约有礼
- 下载有礼:数据中心养生秘籍《福禄克数据中心解决方案》等你带回家!
- 【TI有奖直播】新一代低功耗蓝牙微控制器CC2640R2,开发和应用案例解析
- 现场抽取PS5等诸多好礼 SiFive RISC-V 中国技术论坛 上海、北京、深圳 3场线下活动邀您出席!
- 有奖直播|TI DLP® 技术在AR HUD及车内显示应用的展望
- 手机答题抽奖啦:Microchip高端千兆以太网专题知识
- Digi-key干货视频教程来袭,意见领袖讲解疑难设计问题,带你突破成长瓶颈~
- 重磅上线!尼吉康技术子站专区只等你来!
- TI 有奖直播|业界超精确3D霍尔效应位置传感器