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

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

QQ登錄

只需一步,快速開始

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

單片機(jī)按鍵控制小燈的仿真+代碼(三種效果)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:453974 發(fā)表于 2018-12-24 23:51 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
某學(xué)校課程設(shè)計(jì)程序與電路
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>          //頭文件
  2. #include <intrins.h>
  3. #define uint unsigned int   //宏定義
  4. #define uchar unsigned char
  5. sbit key1 =P2^0;            //按鍵1
  6. sbit key2 =P2^1;            //按鍵2
  7. sbit key3 =P2^2;            //按鍵3
  8. sbit key4 =P2^3;            //按鍵4
  9. uint a,b;
  10. uchar table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0xff};  //第一種現(xiàn)象的數(shù)據(jù)
  11. uchar table2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};      //第二種現(xiàn)象的數(shù)據(jù)
  12. uchar table3[]={0xaa,0x55};                                    //第三種現(xiàn)象的數(shù)據(jù)
  13. void delay(uint t);                                            //較短延時(shí)
  14. void delayms();                                                //較長延時(shí)
  15. void main()
  16. {
  17.         
  18.         while(1)
  19.         {
  20.                 if(key1==0)     //第一個(gè)按鍵按下
  21.                 {
  22.                         delay(10);    //消除機(jī)械抖動(dòng)延時(shí)
  23.                         if(key1==0)   //再次檢測(cè)
  24.                   {
  25.                                 while(!key1);//松手檢測(cè)
  26.                                 while(1)
  27.                                 {
  28.                                         for(a=0;a<9;a++)
  29.                                         {
  30.                                                 P1=table[a];
  31.                                                 delayms();
  32.                                                 if(key1==0||key2==0||key3==0||key4==0) //有任一按鍵按下,就打破當(dāng)前循環(huán)
  33.                                                                 break;
  34.                                         }
  35.                                         if(key1==0||key2==0||key3==0||key4==0)
  36.                                                                 break;
  37.                           }
  38.                         }
  39.                 }
  40.                
  41.                 if(key2==0)                                        //同理
  42.                 {
  43.                         delay(10);
  44.                         if(key2==0)
  45.                   {
  46.                                 while(!key2);
  47.                                 while(1)
  48.                                 {
  49.                                         for(a=0;a<8;a++)
  50.                                         {
  51.                                                 P1=0xff;
  52.                                                 delayms();
  53.                                                 P1=table2[a];
  54.                                                 delayms();
  55.                                                 if(key1==0||key2==0||key3==0||key4==0)
  56.                                                 break;
  57.                                         }
  58.                                         if(key1==0||key2==0||key3==0||key4==0)
  59.                                                                 break;
  60.                           }
  61.                         }
  62.                 }
  63.                 if(key3==0)           //同理
  64.                 {
  65.                         delay(10);
  66.                         if(key3==0)
  67.                   {
  68.                                 while(!key3);
  69.                                 while(1)
  70.                                 {
  71.                                 for(a=0;a<2;a++)
  72.                                         {
  73.                                          P1=0xff;
  74.                                          delayms();
  75.                                          P1=table3[a];
  76.                                          delayms();
  77.                                         if(key1==0||key2==0||key3==0||key4==0)
  78.                                                 break;
  79.                                         }
  80.                                         if(key1==0||key2==0||key3==0||key4==0)
  81.                                                                 break;
  82.                                 }
  83.                         }
  84.                 }
  85.                
  86.                 if(key4==0)   
  87.                 {
  88.                   delay(10);
  89.                         if(key4==0)
  90.                   {
  91.                                 while(1)          //使其陷入死循環(huán)
  92.         {
  93.                                         if(key1==0||key2==0||key3==0||key4==0)
  94.                       break;
  95.                                 }
  96.                         }
  97.                 }
  98.                
  99.         }
  100. }

  101. void delay(uint t)
  102. {
  103.         while(t--);
  104. }

  105. void delayms()
  106. {
  107.         for(b=0;b<200;b++)
  108.                 {
  109.                         delay(200);
  110.                         if(key1==0||key2==0||key3==0||key4==0)//可能按鍵按下時(shí)程序執(zhí)行在延時(shí)函數(shù)里面所以需要檢測(cè)打破循環(huán)
  111.                                 break;
  112.                 }
  113. }
復(fù)制代碼

所有資料51hei提供下載:
電路仿真.zip (31.48 KB, 下載次數(shù): 16)
程序.zip (26.66 KB, 下載次數(shù): 11)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品天堂| 美日韩精品 | 国产精品视频久久久 | 欧美自拍一区 | 操久久| 一道本视频| 国产一区二区在线播放 | 精品一区在线免费观看 | 欧美成人精品激情在线观看 | 精品国产成人 | 精品一区二区三区四区在线 | 日韩国产精品一区二区三区 | 狠狠操狠狠色 | 日韩免费视频 | 国产精品久久久久久吹潮 | 日批免费在线观看 | 午夜免费精品视频 | 毛片免费看| 国产亚洲精品久久久久动 | 国产精品久久久久久久久久久久 | 亚洲 欧美 日韩在线 | 久久久精品网站 | 久久97精品 | 成人中文字幕在线 | 日本精品一区二区三区在线观看视频 | 久久性| 久久久一区二区三区 | 天天干夜夜拍 | 国产乱码精品一区二区三区av | 日韩黄a| 欧美大片一区二区 | 国产精久久久久久 | 色婷婷综合久久久中字幕精品久久 | 国产香蕉视频 | 亚洲自拍偷拍免费视频 | 国产精品国产亚洲精品看不卡15 | 国产精品视频久久 | 99爱国产 | 91久久久久久久久久久久久 | 蜜桃综合在线 | 久久精品av |