找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1862|回复: 0
打印 上一主题 下一主题
收起左侧

八路抢答器proteus+程序

[复制链接]
跳转到指定楼层
楼主
八路抢答器


单片机源程序如下:
  1. #include<reg51.h>
  2. sbit key0=P3^0;           //对每个按键的定义
  3. sbit key1=P3^1;
  4. sbit key2=P3^2;
  5. sbit key3=P3^3;
  6. sbit key4=P3^4;
  7. sbit key5=P3^5;
  8. sbit key6=P3^6;
  9. sbit key7=P3^7;
  10. unsigned int num;
  11. //unsigned char code led[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F};
  12. void delay(int x);        //延时函数声明
  13. void keys(); //按键函数声明



  14. void main()         //主函数
  15. {
  16.         P2 = 0X00;
  17.         while(1)
  18.         {
  19.                 //P2=0x7e;

  20.                 keys();
  21.         }
  22.        
  23. //        P1=1;
  24. //        unsigned int num1;
  25. //        num=0;
  26. //        P1=led[num];
  27. //        for(num1=0;num1<1;num++)
  28. //        {

  29. //                P1=led[num];
  30. //                num++;
  31. //                delay(600);
  32. //        }       
  33. }



  34. /*按键函数*/
  35. void keys()
  36. {
  37.         if(key0==0)
  38.         {
  39. //                num=1;
  40.                 while(1)
  41.                 {
  42. //                        num=1;
  43.                          P2=0x30;
  44.                         delay(500);
  45.                 }
  46.         }
  47.         if(key1==0)
  48.         {
  49. //                num=2;
  50.                         P2=0x6d;
  51.                 //P2 = 0xdb;
  52.                         while(1)
  53.                 {
  54.                         num=1;
  55.                         delay(500);
  56.                 }
  57.         }
  58.         if(key2==0)
  59. //                num=3;
  60.         {
  61. //                num=2;
  62.                         P2=0x79;
  63.                         while(1)
  64.                 {
  65.                         num=1;
  66.                         delay(500);
  67.                 }
  68.         }
  69.         if(key3==0)
  70. //                num=4;
  71.         {
  72. //                num=2;
  73.                         P2=0x33;
  74.                         while(1)
  75.                 {
  76.                         num=1;
  77.                         delay(500);
  78.                 }
  79.         }
  80.         if(key4==0)
  81. //                num=5;
  82.         {
  83. //                num=2;
  84.                         P2=0x5b;
  85.                         while(1)
  86.                 {
  87.                         num=1;
  88.                         delay(500);
  89.                 }
  90.         }
  91.         if(key5==0)
  92. //                num=6;
  93.         {
  94. //                num=2;
  95.                         P2=0x5f;
  96.                         while(1)
  97.                 {
  98.                         num=1;
  99.                         delay(500);
  100.                 }
  101.         }
  102.         if(key6==0)
  103. //                num=7;
  104.         {
  105. //                num=2;
  106.                         P2=0x70;
  107.                         while(1)
  108.                 {
  109.                         num=1;
  110.                         delay(500);
  111.                 }
  112.         }
  113.         if(key7==0)
  114. //                num=8;
  115.         {
  116. //                num=2;
  117.                         P2=0x7f;
  118.                         while(1)
  119.                 {
  120.                         num=1;
  121.                         delay(500);
  122.                 }
  123.         }       
  124. }
  125. /*延时函数*/
  126. void delay(int x)
  127. {
  128.         int y;
  129.         for(x;x>0;x--)
  130.                 for(y=200;y>0;y--);
  131. }
复制代码

所有资料51hei提供下载:
八路抢答器.rar (113.23 KB, 下载次数: 17)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表