久久久久久久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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人精品国产一区二区4080 | 中文区中文字幕免费看 | 国产成人免费视频网站视频社区 | 亚洲精品日韩一区二区电影 | 亚洲成人免费在线 | 精品久久久久久 | 天天干天天爱天天爽 | 国产精品99久久久精品免费观看 | 999久久久久久久久6666 | 欧洲一区二区视频 | 精品无码久久久久久国产 | 9999国产精品欧美久久久久久 | 日韩欧美三区 | av日日操 | 欧美一区二区三区电影 | 精品一区二区在线观看 | 视频一区二区三区中文字幕 | 欧美一区二区在线看 | 亚洲一区久久 | 色在线视频网站 | 欧美精品成人一区二区三区四区 | 国产目拍亚洲精品99久久精品 | 欧美一区二区在线播放 | 国产视频观看 | 国产欧美精品一区二区 | 日韩欧美精品 | www.亚洲国产精品 | 亚洲h色| 日本高清中文字幕 | 欧美视频二区 | 精品日本久久久久久久久久 | 黑人精品欧美一区二区蜜桃 | 在线观看亚| 日韩1区2区 | 热re99久久精品国99热观看 | 亚洲成人在线视频播放 | 国产永久免费 | 正在播放国产精品 | 四虎影院免费在线 | 亚洲精品免费视频 | 国产精品1区2区 |