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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 143|回復: 0
打印 上一主題 下一主題
收起左側

單片機流水燈試驗程序

[復制鏈接]
跳轉到指定樓層
樓主


  1. #include <REGX51.H>
  2. #include <intrins.h>
  3. unsigned char code table[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
  4. unsigned char code wei[]={0XF7,0XFB,0XFD,0XFE};
  5. sbit K1=P3^3;
  6. sbit K2=P3^4;
  7. sbit K3=P3^5;
  8. sbit K4=P3^6;
  9. sbit K5=P2^7;
  10. sbit K6=P2^4;
  11. sbit K7=P2^5;
  12. sbit K8=P2^6;
  13. void key();
  14. void seg_display_buffer(char *buffer);
  15. void Delay(unsigned int xms);
  16. bit interrupt_flag = 0;
  17. unsigned char i;
  18. #define LED_PORT P1
  19. #define SEG_PORT P2
  20. char display_bufer[]={0,0,0,0};
  21. void Delay500ms();
  22. bit flag1 = 0, flag2 = 0, flag3 = 0;
  23. void main()
  24. {
  25.         IT0 = 1; // 邊沿觸發
  26.     EX0 = 1; // 允許INT0中斷
  27.     EA = 1;  // 開總中斷
  28.         while(1)
  29.         {
  30.                 seg_display_buffer(display_bufer);
  31.                 key();
  32.                 {
  33.         if(!interrupt_flag) {
  34.             LED_PORT = 0xFE;
  35.             Delay500ms();
  36.             for( i=0; i<7; i++) {
  37.                 LED_PORT = _crol_(LED_PORT, 1);
  38.                 Delay500ms();
  39.             }
  40.         }
  41.     }
  42.         }
  43. }
  44.         void seg_display_buffer(char *buffer)
  45.         {

  46.                 int i,j;
  47.                 for(i=0;i<=3;i++)
  48.                 {
  49.                 P0=table[buffer[i]];
  50.                 P2=wei[i];
  51.                 for(j=0;j<20;j++);
  52.                 P2=0XFF;
  53.                 for(j=0;j<10;j++);
  54.                 }       
  55.         }
  56. void Delay(unsigned int ms)                //@12.000MHz
  57. {
  58.         unsigned char i, j;
  59.         for(i=0;i<ms;i++);
  60.         for(j=0;j<810;j++);
  61. }
  62. void INT0_ISR() interrupt 0 {
  63.     interrupt_flag = 1;
  64.     SEG_PORT=0000;
  65.         LED_PORT=0000;
  66.     Delay500ms();    // 消抖
  67. }
  68. void key()
  69. {
  70.         if(!K1)
  71.         {       
  72.                 Delay500ms();
  73.                 while(!K1);
  74.                 Delay500ms();
  75.                 display_bufer[3]=1;
  76.                 display_bufer[2]=1;
  77.                 display_bufer[1]=1;
  78.                 display_bufer[0]=1;
  79.                 LED_PORT=0xFE;
  80.                 Delay500ms();
  81.         }
  82.                 if(!K2)
  83.         {       
  84.                 Delay500ms();
  85.                 while(!K2);
  86.         Delay500ms();
  87.                 display_bufer[3]=2;
  88.                 display_bufer[2]=2;
  89.                 display_bufer[1]=2;
  90.                 display_bufer[0]=2;
  91.                 LED_PORT=0xFD;
  92.                 Delay500ms();
  93.         }
  94.         if(!K3)
  95.         {
  96.                 Delay500ms();
  97.                 while(!K3);
  98.                 Delay500ms();
  99.                 display_bufer[3]=3;
  100.                 display_bufer[2]=3;
  101.                 display_bufer[1]=3;
  102.                 display_bufer[0]=3;
  103.                 LED_PORT=0xFB;
  104.                 Delay500ms();
  105.         }
  106.         if(!K4)
  107.         {
  108.                 Delay500ms();
  109.                 while(!K4);
  110.                 Delay500ms();
  111.                 display_bufer[3]=4;
  112.                 display_bufer[2]=4;
  113.                 display_bufer[1]=4;
  114.                 display_bufer[0]=4;
  115.                 LED_PORT=0xF7;
  116.                 Delay500ms();
  117.         }
  118.         if(!K5)
  119.         {
  120.                 Delay500ms();
  121.                 while(!K5);
  122.                 Delay500ms();
  123.                 display_bufer[3]=5;
  124.                 display_bufer[2]=5;
  125.                 display_bufer[1]=5;
  126.                 display_bufer[0]=5;
  127.                 LED_PORT=0xEF;
  128.                 Delay500ms();
  129.         }
  130.         if(!K6)
  131.         {
  132.                 Delay500ms();
  133.                 while(!K6);
  134.                 Delay500ms();
  135.                 display_bufer[3]=6;
  136.                 display_bufer[2]=6;
  137.                 display_bufer[1]=6;
  138.                 display_bufer[0]=6;
  139.                 LED_PORT=0xDF;
  140.                 Delay500ms();
  141.         }
  142.         if(!K7)
  143.         {
  144.                 Delay500ms();
  145.                 while(!K7);
  146.                 Delay500ms();
  147.                 display_bufer[3]=7;
  148.                 display_bufer[2]=7;
  149.                 display_bufer[1]=7;
  150.                 display_bufer[0]=7;
  151.                 LED_PORT=0xBF;
  152.                 Delay500ms();
  153.         }
  154.         if(!K8)
  155.         {
  156.                 Delay500ms();
  157.                 while(!K8);
  158.                 Delay500ms();
  159.                 display_bufer[3]=8;
  160.                 display_bufer[2]=8;
  161.                 display_bufer[1]=8;
  162.                 display_bufer[0]=8;
  163.                 LED_PORT=0x7F;
  164.                 Delay500ms();
  165.         }
  166. }

  167. void Delay500ms()                //@12.000MHz
  168. {
  169.         unsigned char i, j, k;
  170.         i = 4;
  171.         j = 205;
  172.         k = 187;
  173.         do
  174.         {
  175.                 do
  176.                 {
  177.                         while (--k);
  178.                 } while (--j);
  179.         } while(--i);
  180. }
復制代碼

11.261.7z

77.39 KB, 下載次數: 0

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天干亚洲 | 精品免费国产一区二区三区四区 | 精品国产伦一区二区三区观看方式 | 99福利在线观看 | 在线看一区二区 | 无码一区二区三区视频 | 天天干天天谢 | 日韩成人免费视频 | 黑人精品 | 久婷婷 | 91国内外精品自在线播放 | 国产精品a一区二区三区网址 | 久久久久亚洲 | 国产1区| 精品一区二区三区免费视频 | 欧美人成在线视频 | 国产精品久久 | 久久99精品久久久久久秒播九色 | 久久久久久国产 | 国产高清免费 | 国产一区二区三区视频在线观看 | 91高清视频在线 | 都市激情亚洲 | 日韩国产中文字幕 | 中文字幕第十五页 | 一级毛片色一级 | 国产精品久久久久久久久久久久久久 | 免费看国产精品视频 | 99re视频在线 | 精品亚洲一区二区 | 成人午夜免费福利视频 | 欧美黑人一区二区三区 | 中文字幕一区二区三区精彩视频 | 91精品国产高清久久久久久久久 | 久久九七| 国产精品一区二区三区久久久 | 中文字幕在线观 | 国产成人午夜精品影院游乐网 | 中文字幕一区二区三区在线视频 | 欧美一区不卡 | 亚洲欧美日韩在线 |