完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
#include #define uint unsigned int #define uchar unsigned char bit flag; unsigned char key_scannum[] = {0xef,0xdf,0xbf,0x7f}; unsigned char table[]= {0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};//¼üÅ̰´¼üÂë unsigned char led[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; //P0¿Ú¶ÎÂë±àÂë void delay(uint x) //ÑÓʱ³ÌÐò { uint y; for(x;x>0;x--) for(y=0;y<100;y++); } unsigned char keyscan(void)//¼üÅÌɨÃèÖµº¯Êý { unsigned char i,j; P1=0x0f;//¼ì²éÊÇ·ñÓмü°´Ï if(P1!=0x0f)//±íʾÓа´¼ü°´Ï { delay(1); //È¥¶¶ if(P1!=0x0f) for(i = 0;i < 4;i++) { P1 = key_scannum; if(P1 != key_scannum)//´ËÐÐÓмü°´Ï for(j = 0;j < 16;j++) { if(P1 == table[j]) { flag=1; return(j); } } } } while((P1 & 0x0f)<0x0f); return(0); } void display(uint num) { uint ge,shi,bai,qian; qian=num/1000; P0=led[qian]; P2=0xf7; delay(1); P2=0xff; bai=num%1000/100; P0=led[bai]; P2=0xfb; delay(1); P2=0xff; shi=num%100/10; P0=led[shi] & 0x7f; P2=0xfd; delay(1); P2=0xff; ge=num%10; P0=led[ge]; P2=0xfe; delay(1); P2=0xff; } void main(void) { uint que,num=0; while(1) { que=keyscan(); if(flag==1) { num=num*10+que; flag=~flag; } display(num); } } 是哪里有问题?各位大神帮忙看一下 |
|
相关推荐
4个回答
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
谢谢你们,已解决,谢谢!
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2654 浏览 0 评论
5371 浏览 0 评论
PROTUES仿真no model specified for adc0809,谁有ADC0809的model?
17651 浏览 1 评论
单片机应用技术的ISIS professional电路设置仿真老是报错怎么办
17944 浏览 0 评论
21215 浏览 3 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 17:31 , Processed in 0.721448 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3128