完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
下面是我的程序: #include #include #define uint unsigned int #define uchar unsigned char #define ulong unsigned long uchar keysign; ulong key; uchar checkok; ulong dat; ulong count; uchar temH; uchar temL; unsigned char table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; void delay(uint z) //1ms的延时函数 { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void keyscan(void) { P1 = 0xf0; if(P1!=0xf0) { delay(10); temH = P1;//低四位先输出0;读入,高四位含有按键信息 P1 = 0x0f; temL = P1;//然后反转输出0;读入,低四位含有按键信息 keysign=1; } } //----------------------------------------------------- //----------------------------------------------------- void checkkey(void) { if(keysign){ switch(temH) { case 0xe0: key = 0; break; case 0xd0: key = 1; break; case 0xb0: key = 2; break; case 0x70: key = 3; break; default: key=16;//按下的不是上述按键,就当是没有按键 } switch(temL) { case 0x0e: key=key; case 0x0d: key=key + 4; case 0x0b: key=key + 8; case 0x07: key=key + 12; default: key=16;//按下的不是上述按键,就当是没有按键 } keysign=0; checkok=1; } } void chuli(void) { if(checkok) {dat=dat*10+key; checkok=0;} } void display(void) { uint ge,shi,bai,qian; qian=dat/1000; P2=0xf1; P0=table[qian]; delay(10); bai=dat%1000/100; P2=0xf2; P0=table[bai]; delay(10); shi=dat%100/10; P2=0xf4; P0=table[shi]; delay(10); ge=dat%10; P2=0xf8; P0=table[ge]; delay(10); } void main(void) { while(1) {keyscan(); checkkey(); chuli(); display();} } ![]() |
|
相关推荐
14个回答
|
|
是不是不能这么弄,需要用锁存器
|
|
|
|
|
|
|
|
|
|
|
|
把有锁存器的地方改改。
|
|
|
|
没有写错啊!!!!!!!!
|
|
|
|
没那么复杂吧,锁存器什么的没在意过
|
|
|
|
结果没有出来0.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
为了下载也是醉了啊啊啊啊 啊
|
|
|
|
|
|
|
|
谢谢分享谢谢分享谢谢分享
|
|
|
|
学习,谢谢学习,谢谢
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1249 浏览 3 评论
2475 浏览 0 评论
2911 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
4698 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1046 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-11 06:51 , Processed in 0.854129 second(s), Total 105, Slave 85 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191