久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2364|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求助單片機程序解釋,盡可能詳細(xì)點兒,

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:78618 發(fā)表于 2015-6-4 07:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<REG52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
/************************變量定義************************************/
sbit sw1=P1^0;
sbit sw2=P1^1;
sbit sw3=P1^2;
sbit sw4=P1^3;
sbit sw5=P1^4;
sbit sw6=P1^5;
sbit sw7=P1^6;
sbit sw8=P1^7;
sbit start_button=P3^0;
sbit props_button=P3^1;
sbit snatch_button=P3^2;
sbit answer_button=P3^3;
sbit push_button=P3^4;
sbit reduce_button=P3^5;
sbit stop_button=P3^6;
sbit BEEP=P3^7;
uint flag=0;
uint snatch_flag=1;
uint answer_flag=0;
uint a,b,c,d,x;
ucharstate[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71,0x76,0x00,0x79,0x54,0x5e};/**數(shù)據(jù)依次表示數(shù)字0--9和字母F、H,以及 End。**/
/************************函數(shù)聲明***********************************/
void initUart();           //初始化函數(shù)
void time(uint ucMs);         //延時函數(shù)
void Play();                  //蜂鳴器發(fā)聲函數(shù)
void Start();             //開始函數(shù)
void Stop();              //終止函數(shù)
void Props();              //道具函數(shù)
void Snatch();         //搶答置數(shù)函數(shù)
void Answer();         //回答置數(shù)函數(shù)
void Push();                  //時間加1S函數(shù)
void Reduce();            //時間減1S函數(shù)
void DisPlay();           //顯示器顯示函數(shù)
void Keyscan();           //選手按鈕掃描函數(shù)
/**************************主函數(shù)**********************************/
void main()
{
x=30;
initUart();
while(1)
{
if(!flag)
{
Keyscan();
}
if(a!=10&&!flag)
{
for(;a!=12;)
{
Play();
}
}
if(!start_button&&a==10)
{
flag=1;
Start();
}
if(!snatch_button)
{
flag=0;
Snatch();
}
if(!answer_button)
{
flag=1;
Answer();
}
if(!push_button)
{
Push();
}
if(!reduce_button)
{
Reduce();
}
DisPlay();
}
}
/**************************初始化程序**********************************/
void initUart()
{
a=10,b=10,c=10,d=10;
BEEP=0;
P2=0xee;
P0=state[10];
time(1);   
P2=0xed;
P0=state[10];
time(1);   
P2=0xeb;
P0=state[10];
time(1);   
P2=0xe7;
P0=state[10];
time(1);   
}
/**************************延時程序**********************************/
/******************delay_5us*********************/
void delay_5us(void)                 //延時5us
{
   _nop_();
   _nop_();
}
/******************delay_50us********************/
void delay_50us(void)                //延時50us
{
unsigned char i;
for(i=0;i<4;i++)
{
  delay_5us();
}
}
/******************延時100us********************/
                              
void delay_100us(void)               //延時100us
{
delay_50us();
delay_50us();
}
/****************延時單位:ms******************/
voidtime(unsigned int ucMs)        //延時1ms
{
unsigned char j;
while(ucMs>0)
{
  for(j=0;j<10;j++)
   delay_100us();
   ucMs--;
}
}
/********************蜂鳴器發(fā)聲程序**************************/
void Play()
{
    uchar i;
    for(i=1;i<100;i++)
    {   
        BEEP=~BEEP;
        DisPlay();
        if(!stop_button)
        {
        Stop();
        }
        if(!props_button&&snatch_flag==0&&answer_flag==1)
        {
            Props();
        }
        elseif(snatch_flag==1&&answer_flag==0)
        {
        Keyscan();
        }   
    }
    for(i=1;i<150;i++)
    {   
        DisPlay();
        if(!stop_button)
        {
        Stop();
        }
        if(!props_button&&snatch_flag==0&&answer_flag==1)
        {
            Props();
        }
        elseif(snatch_flag==1&&answer_flag==0)
        {
        Keyscan();
        }   
    }
    BEEP=0;
}
/**********************搶答開始程序*****************************/
void Start()
{
uint i,j,y=x;
for(i=0;i<=y&&a==10;i++)
{
c=x/10;
d=x%10;
x--;
if(x<5)
{
Play();
}
else
{
    for(j=1;j<250&&a==10;j++)
    {
        DisPlay();
        if(!stop_button)
        {
        Stop();
        }
        if(!props_button&&snatch_flag==0&&answer_flag==1)
        {
            Props();
        }
        elseif(snatch_flag==1&&answer_flag==0)
        {
        Keyscan();
        }   
    }
}
}
}
/********************************終止程序************************************/
void Stop()
{
a=12;
b=13;
c=14;
d=15;
flag=1;
}
/***************道具使用程序(回答時可以重置倒計時時間)**********************/
void Props()
{
x=x+16;
c=x/10;
d=x%10;
while(!props_button)
{
DisPlay();
}
}
/**********************搶答置數(shù)程序***************************************/
void Snatch()
{
x=30;
a=10;
b=10;
c=3;
d=0;
snatch_flag=1;
answer_flag=0;  
}
/**********************回答置數(shù)程序***************************************/
void Answer()
{
x=60;
a=10;
b=10;
c=6;
d=0;
snatch_flag=0;
answer_flag=1;
}
/**********************時間加1S程序***************************************/
void Push()
{
uint y;
x++;
y=x;
c=y/10;
d=y%10;
if(x==99)
{
x=0;
}
while(!push_button)
{
DisPlay();
}
}         
/**********************時間減1S程序***************************************/
void Reduce()
{
x=x-1;
time(1);
c=x/10;
d=x%10;
if(x==-1)
{
x=99;
}
while(!reduce_button)
{
DisPlay();
}
}
/**********************按鍵掃描程序***************************************/
void Keyscan()
{
    if(sw1==0)
    {
    a=1;
    b=11;
    }
    if(sw2==0)
    {
    a=2;
    b=11;
    }
    if(sw3==0)
    {
    a=3;
    b=11;
    }
    if(sw4==0)
    {
    a=4;
    b=11;
    }
    if(sw5==0)
    {
    a=5;
    b=11;
    }
    if(sw6==0)
    {
    a=6;
    b=11;
    }
    if(sw7==0)
    {
    a=7;
    b=11;
    }
    if(sw8==0)
    {
    a=8;
    b=11;
    }
}
/*************************顯示器顯示程序************************************/
void DisPlay()
{
P2=0xee;
P0=state[a];
time(1);   
P2=0xed;
P0=state;
time(1);   
P2=0xeb;
P0=state[c];
time(1);   
P2=0xe7;
P0=state[d];
time(1);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:81118 發(fā)表于 2015-6-6 17:49 | 只看該作者
哪里看不懂的可以提出來;   看起來像給人下任務(wù)一樣!

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:78618 發(fā)表于 2015-6-7 17:25 | 只看該作者
歡騰智能科技 發(fā)表于 2015-6-6 17:49
哪里看不懂的可以提出來;   看起來像給人下任務(wù)一樣!

主要是都不太懂,所以想找人幫個大忙,好讓答辯能夠過了。。。初始化程序里a=10,b=10,c=10,d=10有什么用?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频 欧美视频 | 成人美女免费网站视频 | 91影片| 久久久涩| 精品粉嫩超白一线天av | 精品一区二区久久久久久久网站 | av高清毛片| 精品在线一区二区 | 亚洲综合色丁香婷婷六月图片 | 三级黄色网址 | 午夜视频免费 | 中文字幕观看 | 中文字幕在线观看 | 999久久久| 欧美日韩一区二区电影 | 亚洲国产成人久久综合一区,久久久国产99 | 视频在线h | 狠狠综合久久av一区二区老牛 | 一区二区中文字幕 | 日韩在线欧美 | 久久久久久久久久久久久久久久久久久久 | 天天爱爱网 | 亚洲a在线观看 | 一区二区在线免费观看 | 人人看人人搞 | 成人在线视频一区二区三区 | 久久亚洲一区二区三区四区 | 国产黄色小视频在线观看 | 成人午夜影院 | 在线亚洲人成电影网站色www | 三级在线视频 | 国产精品爱久久久久久久 | 天堂av在线影院 | 国产精品久久久久久久7777 | 不卡视频在线 | 一级黄色片免费 | 中文一区二区 | 亚洲精品资源 | 成人午夜视频在线观看 | 精品国产精品三级精品av网址 | 亚洲欧美在线视频 |