预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

矩阵键盘及其数码管显示 电路图如上图所示。程序是用C语言编写的。程序如下: #include<reg52.h> #defineuintunsignedint #defineucharunsignedchar ucharcodetable[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0x00}; sbitwela=P2^7; sbitdula=P2^6; ucharnum=17,temp; voiddelay(uintz); voidmain() { wela=1; P1=0xc0; wela=0; dula=1; P1=0x00; dula=0; while(1) { P3=0xfe; temp=P3; temp=temp&0xfe; while(temp!=0xfe) { delay(5); temp=P3; switch(temp) { case0xee:num=1;break; case0xde:num=2;break; case0xbe:num=3;break; case0x7e:num=4;break; } while(temp!=0xfe) { temp=P3; temp=temp&0xfe; } dula=1; P1=table[num-1]; dula=0; } P3=0xfd; temp=P3; temp=temp&0xfd; while(temp!=0xfd) { delay(5); temp=P3; switch(temp) { case0xed:num=5;break; case0xdd:num=6;break; case0xbd:num=7;break; case0x7d:num=8;break; } while(temp!=0xfd) { temp=P3; temp=temp&0xfd; } dula=1; P1=table[num-1]; dula=0; } P3=0xfb; temp=P3; temp=temp&0xfb; while(temp!=0xfb) { delay(5); temp=P3; switch(temp) { case0xeb:num=9;break; case0xdb:num=10;break; case0xbb:num=11;break; case0x7b:num=12;break; } while(temp!=0xfb) { temp=P3; temp=temp&0xfb; } dula=1; P1=table[num-1]; dula=0; } P3=0xf7; temp=P3; temp=temp&0xf7; while(temp!=0xf7) { delay(5); temp=P3; switch(temp) { case0xe7:num=13;break; case0xd7:num=14;break; case0xb7:num=15;break; case0x77:num=16;break; } while(temp!=0xf7) { temp=P3; temp=temp&0xf7; } dula=1; P1=table[num-1]; dula=0; } } } voiddelay(uintz) { uintx,y; for(x=z;z>0;z--) for(y=100;y>0;y--); }