标题: 单片机八路抢答器Proteus仿真(AD画的pcb和原理图+源程序) [打印本页]

作者: 51黑ff    时间: 2016-8-20 22:03
标题: 单片机八路抢答器Proteus仿真(AD画的pcb和原理图+源程序)

51单片机做的八路抢答器仿真:

单片机八路抢答器原理图,还有pcb是用ad软件画的



单片机八路抢答器源程序:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code1[]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F};
  5. sbit key1=P1^0;
  6. sbit key2=P1^1;
  7. sbit key3=P1^2;

  8. void delay(uint t)
  9. {
  10. uint j;
  11. for(;t>0;t--)
  12. for(j=19;j>0;j--);
  13. }
  14. void display(uchar i)
  15. {
  16. switch(i)
  17. {
  18.   case 0:P2=code1[0];break;
  19.   case 1:P2=code1[1];break;
  20.   case 2:P2=code1[2];break;
  21. }
  22. }

  23. void key()
  24. {
  25. uchar i;
  26. if(key1==1)
  27. {
  28.   delay(10);
  29.   if(key1==1)
  30.   {
  31.    delay(10);
  32.    i=0;
  33.    display(i);
  34.   }
  35. }
  36.   while(key1!=1);
  37.   delay(10);
  38.   if(key2==1)
  39. {
  40.   delay(10);
  41.   if(key2==1)
  42.   {
  43.    delay(10);
  44.    i=1;
  45.    display(i);
  46.   }
  47. }
  48.   while(key2!=1);
  49.   delay(10);
  50.   if(key3==1)
  51. {
  52.   delay(10);
  53.   if(key3==1)
  54.   {
  55.    delay(10);
  56.    i=2;
  57.    display(i);
  58.   }
  59. }
  60.   while(key3!=1);
  61.   delay(10);
  62.   while(1);
  63. }
  64. void main()
  65. {
  66. while(1)
  67. {
  68.   key();
  69. }
  70. }  
复制代码


抢答器.rar

64.24 KB, 下载次数: 63, 下载积分: 黑币 -5


作者: 1125793620    时间: 2017-3-7 13:17
不能复位。。
作者: 皮皮皮皮皮皇    时间: 2017-9-8 08:12
赞一个
作者: liqingyundmtech    时间: 2019-11-17 16:12
学习学习




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1