找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求助大神们 再次按下s2键为什么不反向运行单片机程序?

[复制链接]
跳转到指定楼层
楼主
ID:223782 发表于 2017-8-10 22:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define  uint  unsigned int
  4. #define  uchar unsigned char
  5. unsigned int table[]={0xff,0Xfe,0xfd,0xfb,0xf7};

  6. sbit s1=P2^0;
  7. sbit s2=P2^1;
  8. sbit s3=P2^2;
  9. sbit s4=P2^3;
  10. sbit s5=P2^4;
  11. sbit a=P0^0;
  12. sbit b=P0^1;
  13. sbit jd=P0^2;
  14. sbit fn=P2^3;
  15. bit q;
  16. bit e;
  17. bit u;
  18. bit  x;
  19. bit z;
  20. uint w;         
  21. uint num,num1,num10;

  22. void delay(uint z)                                    //延时程序
  23. {  
  24.     uint x,y;  
  25.     for(x=z;x>0;x--)  
  26.     for(y=27;y>0;y--);  
  27. }
  28. void fengning()
  29. {
  30. fn=0;
  31. delay(100);
  32. fn=1;

  33. }

  34. void inte()
  35. {

  36. EA   = 1;
  37. ET0  = 1;
  38. ET1=1;
  39. TMOD = 0X11;
  40. TH0  = 0X4C;
  41. TL0  = 0x00;
  42. TH1  = 0X4C;                                          
  43. TL1  = 0x00;
  44. fengning();
  45. delay(200);
  46. fengning();


  47. }



  48. void main()
  49. {
  50. inte();

  51. while(1)
  52. {
  53. if(s1==0)
  54. {
  55. jd=0;
  56. if(q==0)
  57. {
  58. TR1=1;         
  59. a=1;
  60. b=1;
  61. P1=table[1];
  62. }
  63. fengning();
  64. q=1;  
  65. }
  66.         while(q)
  67.         {
  68.                 if(s2==0)
  69.                 {
  70.      if(u==0)
  71.                 P1=table[0];
  72.                 TR0=1;
  73.                 }                                                   
  74.                 if(num1>=1)
  75.                 {
  76.       u=1;
  77.                 TR0=0;
  78.                 P1=table[3];
  79.                 }
  80.                 if(s3==0)
  81.                 {
  82.                 num1=0;
  83.                 P1=table[0];
  84.                 w=1;
  85.                
  86.                 }
  87.                 if(w==1)
  88.                 {
  89.                 if(s1==0)
  90.                 {
  91.                 e=1;
  92.                 q=0;
  93.                 w=0;
  94.                 P1=table[2];
  95.                 fengning();
  96.                 }
  97.                 }
  98.         
  99.         }
  100.         while(e)
  101.         {
  102.          
  103.                 if(s4==0)
  104.                 {
  105.      if(z==0)
  106.                 P1=table[0];
  107.                 TR0=1;
  108.                 }                                                   
  109.                 if(num1>=1)
  110.                 {
  111.       z=1;
  112.                 TR0=0;
  113.                 P1=table[4];
  114.                 }
  115.                 if(s5==0)
  116.                 {
  117.                 num1=0;
  118.                 P1=table[0];
  119.                 e=0;        
  120.                 TR1=0;         
  121.                 a=1;
  122.                 b=1;        
  123.                 jd=1;
  124.      z=0;
  125.      u=0;
  126.                 }        
  127.         }

  128. }
  129. }

  130. void dingshi() interrupt 1
  131. {        
  132.     TH0 = 0x4C;
  133.     TL0 = 0x00;
  134.         TF0=0;
  135.         num++;
  136.                 if(num==10)
  137.                 {
  138.                 num=0;
  139.                 num1++;
  140.                 }
  141. }        
  142. void dingshi2() interrupt 3
  143. {        
  144.     TH0 = 0x4C;
  145.     TL0 = 0x00;
  146.         TF0=0;
  147.         num10++;
  148.                 if(num10==20)
  149.                 {
  150.                 num10=0;
  151.                 a=~a;
  152.                 b=~b;
  153.                 }
  154. }        


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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