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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2852|回復: 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;
                        }
     }
}

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

使用道具 舉報

沙發
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了
回復

使用道具 舉報

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲第一av网站 | 日韩av在线免费 | 日韩在线视频一区 | 久久久性色精品国产免费观看 | 不卡视频一区 | 日韩中文电影 | 欧美.com | 日本久久一区二区三区 | 涩涩视频网站在线观看 | 久婷婷 | 国产成人综合亚洲欧美94在线 | 亚洲看片 | 亚洲精品一区中文字幕乱码 | 国产精品免费在线 | 久久com| 91综合在线视频 | 欧洲尺码日本国产精品 | 精品久久久久久久久久久久 | 精品在线一区 | 亚洲区一区二 | 久久久久久高潮国产精品视 | 九九综合 | 亚洲一区二区在线 | 草草网 | 九九免费 | 免费看黄视频网站 | www.国产一区 | 亚洲精彩视频在线观看 | 欧美一区二区三区在线 | 国产999精品久久久久久 | www97影院| 超碰天天 | 大学生a级毛片免费视频 | 天天插天天搞 | 国产三级精品三级在线观看四季网 | 中文在线一区二区 | 日韩一区二区三区在线 | 91九色视频在线 | 国产一区二区三区在线看 | 亚洲视频在线播放 | 日本中文字幕一区 |