1. 幫忙看一段程序,一個用c語言編寫的搶答器,幫忙分析一下這個程序每條指令和整個程序的作用,越詳細越好
這個程序不全,首先看#define ,定義了uchar和uint代表char型和int型無符號數,下面定義了兩個函數,再看main函數,首先調用sysini()函數,現在看sysini();函數,P2沒有定義,0x是十六進制,後面加的是數,delay();函數也沒有定義,後面都是沒有定義的東西了
2. 求一個由AT89C52單片機控制的八路搶答器的C語言程序設計
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
sbit rstkey=P2^2;
sbit speaker=P2^0;
void delay()//延時約400毫秒
{
uchar i,j;
for(i=0;i<200;i++)
for(j=0;j<250;j++);
}
main()
{
uchar i,key;
P2=0xff;
while(1)
{
i=0;
P1=table[i];
while(1)
{
key=P3;
if(key!=0)break;
}
switch(key)
{
case 0x01:i=1;break;
case 0x02:i=2;break;
case 0x04:i=3;break;
case 0x08:i=4;break;
case 0x10:i=5;break;
case 0x20:i=6;break;
case 0x40:i=7;break;
case 0x80:i=8;break;
default:break;
}
P1=table[i];//顯示按下搶答器的號
P0=key;//顯示按下鍵號的LED
while(1)
{
if(rstkey==0)break;//主持人按下復位鍵則重新開始
speaker=~speaker;//否則蜂鳴器報警
delay();
}
}
}
3. 設計一個8位競賽搶答器 求c語言程序,thank you
代碼如下:
i=2;break;
if(key==0)break;250;
sbit rstkey=P2^2;/
case 0x08:break;
case 0x04;200;j++);
default;/
#define uchar unsigned char
uchar table[]={0x3f,0x4f;break,0x06;/
P2=0xff:i=8,0x6d:i=6;
}
switch(key)
{
case 0x01,0x7f};i<
case 0x80;reg51:i=7:i=1:i=3;
void delay()/,0x66;
case 0x40,0x7d:i=4;break;
}
P1=table[i];break;
case 0x10:i=5,0x07,j;
P1=table[i];break;
while(1)
{
i=0;j<break;
case 0x02,0x5b;延時約400毫秒
{
uchar i;
for(i=0;break;
while(1)
{
key=P3,key;
case 0x20;i++)
for(j=0;/.h>break;否則蜂鳴器報警
delay();顯示按下鍵號的LED
while(1)
{
if(rstkey==0)break;/
sbit speaker=P2^0;主持人按下復位鍵則重新開始
speaker=~speaker#include<顯示按下搶答器的號
P0=key;
}
main()
{
uchar i
4. 用C語言編寫八路搶答器程序,附單片機原理圖.
簡單的說一下吧,
既然是八路,那麼有8個LED,8個按鍵,
硬體:
8個LED 接P1口,(注意要接上拉電阻,低電平驅動)
8個按鍵接P2口,按鍵另一端接地。
編程:
swhich case語句, 8個case語句 判斷了哪個按鍵,注意每次判斷需要屏蔽其他口,比如你按了P2.0,那麼P1.0亮,P1.1-P1.7都要滅。然後死循環。這樣就判斷了誰先按。而之後按的都無效。
另外,站長團上有產品團購,便宜有保證
5. 求一個簡易單片機C語言編程AT89C51設計的搶答器!
這個是畢業設計吧,網上一大堆相似程序,這個你自己寫就成了,最簡單用if語句詢問P1的4個I/O口狀態,設置好邏輯關系,只顯示最初的那個(別告訴我這個邏輯關系你不會寫),不就得了,再用一個數碼管顯示數字,直到按下復位按鈕重新開始
6. 用C語言編程六路搶答器,用52單片機,程序中要有鎖存功能,要有說明呀。。
......這不是哥在科技知識競賽做的么........你要的話留個郵箱
7. AT89C51單片機8路搶答器C語言代碼怎麼寫,急用,謝謝了
這個代碼沒有問題,我模擬過:
#include<reg51.h>
#defineucharunsignedchar
uchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
sbitrstkey=P2^2;
sbitspeaker=P2^0;
voiddelay()//延時約400毫秒
{
uchari,j;
for(i=0;i<200;i++)
for(j=0;j<250;j++);
}
main()
{
uchari,key;
P2=0xff;
while(1)
{
i=0;
P1=table[i];
while(1)
{
key=P3;
if(key!=0)break;
}
switch(key)
{
case0x01:i=1;break;
case0x02:i=2;break;
case0x04:i=3;break;
case0x08:i=4;break;
case0x10:i=5;break;
case0x20:i=6;break;
case0x40:i=7;break;
case0x80:i=8;break;
default:break;
}
P1=table[i];//顯示按下搶答器的號
P0=key;//顯示按下鍵號的LED
while(1)
{
if(rstkey==0)break;//主持人按下復位鍵則重新開始
speaker=~speaker;//否則蜂鳴器報警
delay();
}
}
}