proteus论坛|仿真论坛
直播中

vvg

13年用户 7898经验值
擅长:嵌入式技术,控制/MCU
私信 关注
[资料]

8路的抢答器带实验报告

抢答器.zip (67.48 KB)
(下载次数: 889, 2011-8-4 14:27 上传)


回帖(90)

wusenxin

2011-12-9 16:36:58
本帖最后由 eehome 于 2013-1-5 10:02 编辑

很好,有意思,很喜欢。






举报

wusenxin

2011-12-9 18:01:16
举报

yann

2011-12-22 15:21:45
学习学习。
举报

1652995022.144600

2011-12-25 21:19:14
好,看你的了!
举报

林活

2012-5-3 23:21:59
kkkkkkkkkkkkkkkkkk
举报

林活

2012-5-3 23:27:32
看看
举报

噢哈哟

2012-5-12 14:11:28
好东西
举报

留侯

2012-5-31 15:39:56
看看
举报

留侯

2012-5-31 15:43:09
是protues仿真的纯数字电路的电路
举报

宋先生

2012-6-11 15:07:38
哈哈,太好了
举报

陈永煌

2012-9-11 14:34:14
xiazaixuexi
举报

changjiang008

2012-9-25 07:23:38
{:15:}
举报

昂秦

2012-10-18 20:15:01
回帖。。好帖,帮到忙了
举报

群爷

2012-10-27 09:15:29
谢了
举报

h1654155796.9786

2012-11-30 12:35:31
举报

程小刚

2012-12-4 19:13:42
#include
#define uint unsigned int
#define uchar unsigned char
void delay(uint z)    //延时程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //0~F的  编码

void display()
{
uchar temp,num;
while(1)
{
//-------------------------扫描第一行-------------------------------------------
P3=0xfe;         //第一行扫描赋初值
temp=P3;
if((temp&0xf0)!=0xf0)   //判断是否有键按下 ,屏蔽低四位
{
delay(5);          //消斗
if((temp&0xf0)!=0xf0)   //在次确认是否有键按下,屏蔽低四位
{
switch (temp)
{
case 0xee:num=0;break;
case 0xde:num=1;break;
case 0xbe:num=2;break;
case 0x7e:num=3;break;
}
P0=tab[num];
P2=0xff;
}
}
//-------------------------扫描第二行-------------------------------------------
P3=0xfd;         //第二行扫描赋初值
temp=P3;
if((temp&0xf0)!=0xf0)   //判断是否有键按下 ,屏蔽低四位
{
delay(5);          //消斗
if((temp&0xf0)!=0xf0)   //在次确认是否有键按下,屏蔽低四位
{
switch (temp)
{
case 0xed:num=4;break;
case 0xdd:num=5;break;
case 0xbd:num=6;break;
case 0x7d:num=7;break;
}
P0=tab[num];
P2=0xff;
}
}
//-------------------------扫描第三行-------------------------------------------
P3=0xfb;         //第三行扫描赋初值
temp=P3;
if((temp&0xf0)!=0xf0)   //判断是否有键按下 ,屏蔽低四位
{
delay(5);          //消斗
if((temp&0xf0)!=0xf0)   //在次确认是否有键按下,屏蔽低四位
{
switch (temp)
{
case 0xeb:num=8;break;
case 0xdb:num=9;break;
case 0xbb:num=10;break;
case 0x7b:num=11;break;
}
P0=tab[num];
P2=0xff;
}
}
//-------------------------扫描第四行-------------------------------------------
P3=0xf7;         //第四行扫描赋初值
temp=P3;
if((temp&0xf0)!=0xf0)   //判断是否有键按下 ,屏蔽低四位
{
delay(5);          //消斗
if((temp&0xf0)!=0xf0)   //在次确认是否有键按下,屏蔽低四位
{
switch (temp)
{
case 0xe7:num=12;break;
case 0xd7:num=13;break;
case 0xb7:num=14;break;
case 0x77:num=15;break;
}
P0=tab[num];
P2=0xff;
}
}
}
}
void main()
{
display();
}
1 举报

我不发烧

2012-12-27 08:38:53
学习学习
举报

钱龙

2013-1-12 21:08:15
very good
举报

情绪21℃

2013-4-6 08:35:33
{:13:}{:13:}{:13:}{:13:}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分