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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3025|回復: 0
打印 上一主題 下一主題
收起左側

一個紅外實驗課程的問題,求指點迷津

[復制鏈接]
跳轉到指定樓層
樓主
ID:48374 發表于 2013-3-4 16:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
// 主函數讀出 碼值,給P2口,驅動連接P2口的LED流水燈,看效果
//**********************************************************************
#include <reg51.h>
extern unsigned char datanum[4];
sbit red_line=P3^2;
void init_int0()             //中斷初始化,下降沿觸發方式
{
        EA=1;
        EX0=1;
        IT0=1;
}
void delay1(unsigned int i)
{
   unsigned char j;
   for(i;i>0;i--)
            for(j=100;j>0;j--);
}
void main()
{
        led_line=1;
        init_int0();
        while(1){
        P2=datanum[2];
        delay1(1000);
        }
}

//*******************************************************
中斷部分
1.辨別是開始嗎還是結束嗎
按鍵按下時,P3。2由高到低,觸發中斷,進入中斷程序。第一步 關閉中斷后,區分是引導嗎還是結束嗎,原理是,等待p3.2 口的電平為高,隔2.25ms后去檢測P3.2的電平,如果是高電平,則是開始嗎,進入碼值讀取部分,讀取完32個位后,等待9MS后,此時的P3.2為高電平 開中斷,歷程結束。
如果是低電平,則是結束嗎,跳過碼值讀取部分,等待9MS后,開中斷,歷程結束。
2.碼值讀取
   由于引導嗎讀取后,P3.2電平為低的時候,才進入讀取嗎部分。所以,這個時候只需等待P3.2再次為高電平,等待0.84 ms后 讀取P3.2的電平,為低則表示碼值為0,為高表示碼值為1,辨別完后,由
  于不知道是讀了1或者讀了0,一律等待P3.2的電平為低電平后再次讀取下一個位
//**************************************************************
#include <reg51.h>
sbit red_line=P3^2;
unsigned char i,j;
unsigned char datanum[4]={0,0,0,0};


void close_int0()
{
        EX0=0;
}

void init_xlat0(unsigned char high,unsigned char low)    //時鐘初始化的歷程
{
        TMOD=9;
        TH0=high;
        TL0=low;
        TF0=0;
        TR0=1;
}


unsigned char guide_wipe()                //引導嗎和結束嗎的分辨
{
        while(1){
          if(red_line==1){
                           init_xlat0(0xf7,0x35);
                                while(1){
                                        if(TF0==1){
                                                if(red_line==1)
                                                        return(1);
                                                 else
                                                   return(0);
                                        }
                           }
                }
         }
}

unsigned char dist_one_zero()     //1和0的分辨
{
          init_xlat0(0xfd,0xc7);
                while(1){
                        if(TF0==1){
                                if(red_line==1)
                                return(0x80);
                                else
                                return(0);       
                  }
                }
}
void delay(unsigned char a,unsigned char b)   //延時歷程
{
        init_xlat0(a,b);
    while(1){
                if(TF0==1)
                        break;
        }
}

void read_datenum_bit(unsigned char c)     //字節讀取歷程
{
        while(1){
                if(red_line==1){
                                        datanum[c]>>=1;
                                        datanum[c]|=dist_one_zero();
                                        break;
                }
  }
   while(1){
                   if(red_line==0)
                          break;       
        }
}
               

void into_in(void) interrupt 0    //中斷歷程
{
   close_int0();
        if(guide_wipe()==1){
                while(1){
                   if(red_line==0)
                          break;       
                }
           for(i=0;i<4;i++)
                        for(j=0;j<8;j++){       
                                  read_datenum_bit(i);       
                         }
        }
        delay(0xdc,0xd7);
        EX0=1;
}
       

問題:  程序運行不正常,起先P2口燈全亮后, 無論怎么按鍵,就是木有變化
         求邏輯上的改錯,,,,求 各位師兄指點迷津,跪求。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 美女久久久久久久久 | 天天插天天搞 | 亚洲 中文 欧美 日韩 在线观看 | 久久剧场 | 91九色在线观看 | 国产一区二区三区 | 久久九九99 | www.jizzjizz| 久久久久成人精品亚洲国产 | 粉嫩国产精品一区二区在线观看 | www.久久久久久久久久久 | 成人影院在线视频 | 国产精品九九九 | 国产精品久久久久久久久久久久午夜片 | 亚洲在线视频 | 999久久精品 | 久久精品国产久精国产 | 欧美精品影院 | 精品久久香蕉国产线看观看亚洲 | 欧美亚洲国产日韩 | 中文字幕日韩欧美 | 中文字幕一区二区三区不卡 | 日韩一区二区精品 | 天天亚洲 | 女同久久另类99精品国产 | www亚洲精品 | 日本一区二区三区四区 | 精品国产一区二区三区性色av | 欧美精品一二三 | 99久久婷婷国产综合精品电影 | 欧美国产精品一区二区三区 | 国产激情91久久精品导航 | 免费三级黄 | 精品不卡| 亚洲日日夜夜 | 亚洲成人网在线观看 | 国产精品永久免费视频 | 中文字幕av一区二区三区 | 九九导航| 中文字幕一区二区三区在线观看 | 天堂久久网|