資源簡(jiǎn)介
基于51單片機(jī)的智能搶答器+C源碼+原理圖+PCB 非常適合單片機(jī)的初學(xué)者一個(gè)小項(xiàng)目

代碼片段和文件信息
////////////////////////////////////////////////////////////////////////////////
/////////////////名稱(chēng):智能搶答器///////////////////////////////////////////////
/////////////////姓名:周濤?孫士培?何成波///////////////////////////////////////
/////////////////日期:2009年5月19日/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#include
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
uchar?dec_sign=0;
uchar?reset_sign=0;
uchar?player1_sign=0;
uchar?player2_sign=0;
uchar?player3_sign=0;
uchar?player4_sign=0;
uchar?player5_sign=0;
uchar?counter_sign=0;
uint?player1_record;
uint?player2_record;
uint?player3_record;
uint?player4_record;
uint?player5_record;
uint?value_record;
uchar?timer_record;
uchar?timer_memory;
uchar?counter=0;
sbit?FM=P3^4;?
uchar?add_sign=0;
void?delayms(uint?x) ??????/////延遲函數(shù)
{
uint?ij;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void?Xled_bright(uchar?x) ??////第x盞燈亮 ??不能同時(shí)亮
{
uchar?temp;
?temp=P3&0x1f;
P3=temp|((x-1)<<5);
}
void?FM_ring()
{
FM=0;
}
void?FM_close()
{
FM=1;
}
void?FM_alarm()
{
uchar?ij;
for(i=3;i>0;i--)
{
FM=1;
delayms(10);
FM=0;
delayms(5);
}
for(j=3;j>0;j--)
{
FM=1;
delayms(100);
FM=0;
delayms(50);
}
}
void?select_num(uchar?x) ?////選擇第x個(gè)數(shù)碼管?x取0--15
{
uchar?temp;
temp=P0&0x0f;
P0=((x-1)<<4)|temp;
}
void?write_num(uchar?x) ?////寫(xiě)上x(chóng)這個(gè)數(shù),x取0--9
{
uchar?temp;
temp=P0&0xf0;
P0=x|temp;
}
void?select_write(uchar?xuchar?y)??////其中x表示選中的數(shù)碼管號(hào)y表示在選中這數(shù)碼管上要寫(xiě)的數(shù)
{
select_num(x);
write_num(y);
}
void?score_0init()
{
uchar?i;
for(i=1;i<16;i++)
{
select_num(i);
write_num(0);
}
}
void?write_timer(uchar?x) ?///讓計(jì)時(shí)數(shù)碼管顯示x鈔
{
uchar?shige;
shi=x/10;
ge=x%10;
select_num(16); ??///實(shí)際上是鎖存了所有顯示分?jǐn)?shù)的數(shù)碼管
Xled_bright(7); ??///實(shí)際上是打開(kāi)一個(gè)計(jì)時(shí)數(shù)碼管的使能????這是選中計(jì)數(shù)管的十位
write_num(shi);
Xled_bright(6); ??///這是選中計(jì)數(shù)管的個(gè)位
write_num(ge);
timer_record=x;
}
void?reset_key()
{
uchar?temp;
P2=0xfd;
temp=P2&0x10;
if(temp!=0x10)
{
delayms(10);
P2=0xfd;
temp=P2&0x10;
if(temp!=0x10)
{
reset_sign=1;
}
while(temp!=0x10)
{
P2=0xfd;
temp=P2&0x10;
}
P3=P3|0xe0; ??////滅燈
}
}
void?display_score(uchar?player_numuint?score_num)
{
uint?baishige;
uchar?baiwei_sign;
bai=score_num/100;
shi=score_num%100/10;
ge=score_num%10;
baiwei_sign=player_num*3-2;
select_write(baiwei_signbai);
select_write(baiwei_sign+1shi);
select_write(baiwei_sign+2ge);
switch(player_num)
{
case?1:?player1_record=score_num;?break;
case?2:?player2_record=score_num;?break;
case?3:?player3_record=score_num;?break;
case?4:?player4_record=score_num;?break;
case?5:?player5_record=score_num;?break;
}
}
void?add_Xfen(uint?xuchar?player_num)
{
switch(player_num)
{
case?1:?display_score(1player1_record+x);?break;
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???11858432??2009-04-19?20:06??智能搶答器PCB.PcbDoc
?????文件?????229773??2009-05-21?12:46??智能搶答器原理圖3.pdf
?????文件??????13757??2009-05-19?16:59??智能搶答器5?程序.c
-----------?---------??----------?-----??----
?????????????12101962????????????????????3
評(píng)論
共有 條評(píng)論