完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
#include
#include #define uchar unsigned char #define uint unsigned int ***it dula=P2^6; ***it wela=P2^7; uchar code table[]={0xc0,0xf9,0xa4,0xb0,//数码显示依次为:0、1、2、3 0x99,0x92,0x82,0xf8, // 4、5、6、7 0x80,0x90,0x88,0x83, // 8、9、a、b 0xc6,0xa1,0x86,0x8e,0xff // c、d、e、f、全暗 }; uchar num,temp; void delay(uint z) //延时子程序 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } uchar keyscan() //键盘扫描程序,返回uchar型参数 { uchar i; for(i=0;i<4;i++) { P3=_crol_(0xfe,i); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(5); //延时消抖 temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case 0xee:num=1; break; case 0xde:num=2; break; case 0xbe:num=3; break; case 0x7e:num=4; break; case 0xed:num=5; break; case 0xdd:num=6; break; case 0xbd:num=7; break; case 0x7d:num=8; break; case 0xeb:num=9; break; case 0xdb:num=10; break; case 0xbb:num=11; break; case 0x7b:num=12; break; case 0xe7:num=13; break; case 0xd7:num=14; break; case 0xb7:num=15; break; case 0x77:num=16; break; } while(temp!=0xf0) //等待按键释放 { temp=P3; temp=temp&0xf0; } } } } return num; } void display(uchar aa) { dula=1; P0=table[aa-1]; dula=0; } main() { num=17; dula=1; P0=0; dula=0; wela=1; P0=0x20; wela=0; while(1) { display(keyscan()); } } |
|
相关推荐
4 个讨论
|
|
|
学习了
|
|
|
|
|
|
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
140 浏览 0 评论
483 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
815 浏览 0 评论
1346 浏览 2 评论
804 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16903 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 16:22 , Processed in 0.775242 second(s), Total 50, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
11598