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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2743|回復: 4
收起左側

51單片機光電傳感器通過檢測是否有物體通過,通過中斷計數 求幫助

[復制鏈接]
ID:568017 發表于 2019-6-28 16:29 | 顯示全部樓層 |閱讀模式
引腳定義
#define uchar unsigned char
#define uint unsigned int

sbit BEEP=P3^7;
sbit guang=P1^0;
sbit jidianqi=P0^0;
uint c=0;

實現代碼
void exint0() interrupt 0      
{
  c=0;
        jidianqi = 0;
}
void exint1() interrupt 2         
{

        c++;
        delay1ms(200);
}



void main()
{
         
   IT0 = 1;                     
   EX0 = 1;                    
   IT1 = 1;               
   EX1 = 1;                           
         EA = 1;
   BEEP=1;
         jidianqi=0;
     while(1)
     {
                        switch(c)
                        {
                                case 1:jidianqi=1;break;
                          case 2:jidianqi=1;P0=0;break;
                        }
     }
}

回復

使用道具 舉報

ID:328014 發表于 2019-6-28 18:13 | 顯示全部樓層
具體是什么問題?
回復

使用道具 舉報

ID:568017 發表于 2019-6-28 20:54 | 顯示全部樓層
就是光電傳感器讀到數據,感覺他就直接跳到第二個switch語句執行了
回復

使用道具 舉報

ID:568017 發表于 2019-6-28 20:57 | 顯示全部樓層

然后偶爾執行了一下switch case 1 他第二次就直接執行到case 2了
回復

使用道具 舉報

ID:207421 發表于 2019-6-29 03:35 | 顯示全部樓層
  1. #include<xxxx.h>  //頭文件未知,需要改
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit BEEP = P3^7;                //STC單片機P3內部有上拉電阻
  5. sbit guang = P1^0;                //STC單片機P1內部有上拉電阻
  6. sbit jidianqi = P0^0;         //STC單片機P0內部無上拉電阻,需要外部加
  7. uint c=0;
  8. //
  9. void exint0() interrupt 0      
  10. {
  11.         EX0 = 0;                // 關閉中斷,防止誤動作
  12.         c=0;
  13.         jidianqi = 0;
  14.         EX0 = 1;                // 打開中斷
  15. }
  16. //
  17. void exint1() interrupt 2         
  18. {
  19.         EX1 = 0;                   // 關閉中斷,防止誤動作
  20.         c++;
  21.         if(c==3) c=0;         // c值超出范圍值清0,也可以設置其它值,例如c=1,看需求,不用就刪除此行吧
  22.         delay1ms(200);
  23.         EX1 = 1;                // 打開中斷
  24. }
  25. //
  26. void main()
  27. {
  28.         IT0 = 1;                     
  29.         EX0 = 1;                    
  30.         IT1 = 1;               
  31.         EX1 = 1;                           
  32.         EA  = 1;
  33.         BEEP = 1;
  34.         jidianqi = 0;   // 如果是繼電器,應該用PNP管驅動繼電器,觸發信號低電平,
  35.                                         // 如果jidianqi = 0;是繼電器關閉,最好改一改電路,防止STC類單片機啟動復位IO高電平誤動作
  36.         delay1ms(200);        // 稍微延個時,穩定一下
  37.        
  38.         while(1)
  39.         {
  40.                 switch(c)
  41.                 {
  42.                         case 1:  jidianqi=1; break;
  43.                         case 2:  jidianqi=1; P0=0; break;
  44.                         default: break;  // 如果c不在范圍值之內,執行,可添加其它功能
  45.                 }
  46.         }
  47. }
復制代碼


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲小视频在线观看 | 精品九九九 | 在线免费小视频 | 免费观看黄网站 | 亚洲成人精品久久 | 国产目拍亚洲精品99久久精品 | 日韩精品专区在线影院重磅 | 日韩中文一区 | 狠狠久久 | 久久精品国产久精国产 | 99色视频| 雨宫琴音一区二区在线 | 亚洲欧美少妇 | 国产美女在线精品免费 | 一级a性色生活片久久毛片 一级特黄a大片 | 欧美视频三区 | 久久久久成人精品免费播放动漫 | 亚洲精品免费视频 | 久久免费香蕉视频 | 99精品视频网 | 日韩高清中文字幕 | 麻豆精品一区二区三区在线观看 | 99精品久久久国产一区二区三 | 日韩精品1区2区3区 爱爱综合网 | 天天操伊人 | 亚洲一区二区三区在线视频 | 久久久精品亚洲 | 韩日一区二区三区 | 国产 欧美 日韩 一区 | 天天操天天干天天爽 | 精品国产精品三级精品av网址 | 亚州精品天堂中文字幕 | 91国内精精品久久久久久婷婷 | 亚洲免费观看视频网站 | 久久久国产一区二区三区 | 免费在线观看黄色av | 日韩欧美操 | 久久久久久成人 | 91精品一区二区三区久久久久 | 亚洲一区久久 | 亚洲高清视频在线观看 |