欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

51單片機(jī)用3個(gè)開(kāi)關(guān)模擬汽車車燈源程序 左右轉(zhuǎn)向燈 剎車燈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1162951 發(fā)表于 2025-11-12 23:06 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
用3個(gè)開(kāi)關(guān)模擬汽車的左轉(zhuǎn)向燈、右轉(zhuǎn)向燈、剎車燈。
左轉(zhuǎn):實(shí)現(xiàn)P3.0口作輸入,控制P2.0口的一個(gè)LED燈同時(shí)輸出內(nèi)容隨開(kāi)關(guān)SW2接通P3.0口,則LED燈亮滅閃爍,不接通則LED燈滅。
右轉(zhuǎn):實(shí)現(xiàn)P3.1口作輸入,控制P2.1口的一個(gè)LED燈同時(shí)輸出內(nèi)容隨開(kāi)關(guān)SW2接通P3.1口,則LED燈亮滅閃爍,不接通則LED燈滅。
剎車:實(shí)現(xiàn)P3.2口作輸入,控制P2.0、P2.1口的2個(gè)LED燈同時(shí)輸出內(nèi)容隨剎車開(kāi)關(guān)接通P3.2口,則2個(gè)LED燈同時(shí)亮滅閃爍,不接通則LED燈滅。

單片機(jī)源程序如下:
  1. #include <REG52.H>

  2. typedef unsigned char uchar;

  3. sbit keyL=P3^0;
  4. sbit keyR=P3^1;
  5. sbit keyS=P3^2;

  6. sbit keyled=P3^3;

  7. sbit ledL=P2^0;
  8. sbit ledR=P2^1;

  9. sbit led1=P2^2;
  10. sbit led2=P2^3;
  11. sbit led3=P2^4;

  12. void delayms(unsigned int del)
  13. {
  14.         unsigned int i,j;//0--65535
  15.         for(j=0;j<del;j++)//
  16.         {
  17.           for(i=0;i<124;i++);//1ms        
  18.         }
  19. }
  20. void main(void)
  21. {
  22. uchar flag=0;
  23. while(1)
  24. {         
  25.          if( keyL==0 && keyS==1)
  26.          {
  27.                  ledL=~ledL;
  28.                  delayms(200);
  29.          }
  30.          else if( keyL==1 && keyS==1)
  31.          {
  32.                 ledL=1;
  33.          }
  34.          
  35.          if( keyR==0 && keyS==1)
  36.          {
  37.                  ledR=~ledR;
  38.                  delayms(200);
  39.          }
  40.          else if( keyR==1 && keyS==1)
  41.          {
  42.                 ledR=1;
  43.          }
  44.          
  45.          if( keyS==0 && keyL==1 && keyR==1 )
  46.          {
  47.                  ledR=~ledR;
  48.                  ledL=~ledL;
  49.                  delayms(200);
  50.          }
  51.          else if( keyS==1 && keyL==1 && keyR==1 )
  52.          {
  53.                 ledR=1;
  54.                 ledL=1;
  55.          }
  56.          
  57. ////////////////////////////////////////////////
  58.          
  59.                 if(keyled==0)
  60.                 {
  61.                         delayms(50);
  62.                         if(keyled==0)
  63.                         {
  64.                                 flag=flag+1;
  65.                                 if(flag>=4)flag=0;
  66.                         }
  67.                         while(keyled==0);
  68.                 }
  69.                  switch (flag)
  70.                         {
  71.                                 case 0:
  72.                                         led1=1;led2=1;led3=1;
  73.                                         break;
  74.                                 case 1:
  75.                                         led1=0;led2=1;led3=1;
  76.                                         break;
  77.                                 case 2:
  78.                                         led1=0;led2=0;led3=1;
  79.                                         break;
  80.                                 case 3:
  81.                                         led1=0;led2=0;led3=0;
  82.                                         break;
  83.                                 default:
  84.                                         break;
  85.                         }
  86.                   
  87. }
  88. }
復(fù)制代碼

可以考慮多種情況的組合:
如有左轉(zhuǎn)+剎車的操作組合,LED燈如何亮,可左燈閃爍,右燈常亮。
如有右轉(zhuǎn)+剎車的操作組合,LED燈如何亮。可右燈閃爍,左燈常亮。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表