完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
使用软件Proteus和Keil uVision4
代码如下: #include int num; char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//把数组放入ROM中 void delay(int ms) { int x,y; for(x=ms;x>0;x--) for(y=110;y>0;y--); } main() { while(1) { if(P1!=0xff)//只要有一个按键按下,那么p1端口必然会有一个二进制位0,那么就不等于0xff { delay(10);//大概10ms 延时消抖 if(P1!=0xff) { switch(P1)//针对p1端口进行选择,这个时候p1可以当做一个变量。主要p1是特殊功能寄存器 { case 0xfe: num=1; break; case 0xfd: num=2; break; case 0xfb: num=3; break; case 0xf7: num=4; break; case 0xef: num=5; break; case 0xdf: num=6; break; case 0xbf: num=7; break; case 0x7f: num=8; break; } } } while(P1!=0xff);//松手检测 P3=table[num]; } } 电路仿真效果 按下松开第一个按键,就显示1, 同样按下第n个按键,就显示n。 使用: 80C51 ,BUTTON , 7SEG-COM-AN-GRN |
|
|
|
只有小组成员才能发言,加入小组>>
2545 浏览 0 评论
1143浏览 2评论
743浏览 1评论
496浏览 0评论
257浏览 0评论
420浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 18:57 , Processed in 1.227135 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号