微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 做好的程序,这里首先感谢wulinwl,给了很大帮助还有人中狼

做好的程序,这里首先感谢wulinwl,给了很大帮助还有人中狼

时间:10-02 整理:3721RD 点击:

  1. #include <reg52.h>
  2. #include <string.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. //uchar code fasong[]="abcd";//h1 h2 d1 d2
  6. uchar count,flag,j,i,x,m,k,w,num;
  7. sbit a=P2^3;//1a?¤1
  8. sbit b=P2^2;//1a?¤2
  9. sbit c=P2^1;//μ??D1
  10. sbit d=P2^0;//μ??D2
  11. sbit e=P1^3;//×??ìio?ú
  12. void init() //3?ê??ˉ′??ú
  13. {
  14.         TMOD=0x20;
  15.         SCON=0x50;
  16.         TH1=0xfd;
  17.         TL1=0xfd;
  18.         TR1=1;
  19.         EA=1;
  20.         ES=1;
  21. }
  22. void initt()//3?ê??ˉ
  23. {
  24. TMOD=0X01;
  25. TH0=(65536-45872)/256;
  26. TL0=(65536-45872)%256;
  27.         EA=1;
  28.         ET0=1;
  29.         TR0=1;
  30.        
  31. }
  32. void delay()//?óê±oˉêy
  33. {
  34.         unsigned int i,j;
  35.         for(i=1000;i>0;i--)
  36.                 for(j=110;j>0;j--);
  37. }
  38. void main()
  39. {
  40.         initt();
  41.         init();
  42.         P0=0x00;//P0?úè?2?1?±?
  43.         delay();
  44.         P0=0x02;//′ò?a?·??1
  45.         delay();
  46.         P0=0x00;
  47.         delay();
  48.         P0=0x08;//′ò?a?·??2
  49.         delay();
  50.         P0=0x00;
  51.         delay();          
  52.         while(1)
  53.         {                  
  54.                 if(x==1) //′??úê?μ???á?1£?′ò?a?·??1£??ìμ?·?DD
  55.                 {
  56.                         P0=0x11;
  57.                 }
  58.                
  59.                 if(k==1) //è?1??ì2aμ?1???′?′DD
  60.                 {
  61.                         while(x!=2)//??óDê?μ?′??ú2μ?ê±oò
  62.                         {
  63.                                 P0=0x02;
  64.                                 j=0;       
  65.                                 if(x==3&&flag==1) //?aà?ê???PC·¢?íP2?úIO×′??
  66.                                 {
  67.                                         ES=0;                              
  68.                                         flag=0;                                        
  69.                                         //  SBUF=P1&0x1f;  
  70.                                         SBUF=P2;
  71.                                         while(!TI);   
  72.                                         TI=0;                     
  73.                                         ES=1;
  74.                                 }
  75.                                         if(e==0) //×??ì
  76.                                 {               
  77.                                         w=0x01;  
  78.                                         for(i=0;i<8;i++)
  79.                                         {
  80.                                                 P0=w;
  81.                                                 w<<=1;
  82.                                                 delay();
  83.                                                 P0=0x00;
  84.                                                 delay();
  85.                                                 if(e==1)
  86.                                                 {
  87.                                                 P0=0x00;
  88.                                                 i=8;
  89.                                                 break;
  90.                                                 }
  91.                                         }
  92.                                 }
  93.        
  94.                 }
  95.         }
  96.                 if(j==1)
  97.                 {
  98.                         while(x!=1)
  99.                         {
  100.                                 P0=0x08;
  101.                                 k=0;
  102.                                         if(x==3&&flag==1)
  103.                                 {
  104.                                         ES=0;                              
  105.                                         flag=0;                                        
  106.                                         //  SBUF=P1&0x1f;  
  107.                                         SBUF=P2;
  108.                                         while(!TI);   
  109.                                         TI=0;                     
  110.                                         ES=1;
  111.                                 }
  112.                                 if(e==0)
  113.                                 {               
  114.                                         w=0x01;  
  115.                                         for(i=0;i<8;i++)
  116.                                         {
  117.                                                 P0=w;
  118.                                                 w<<=1;
  119.                                                 delay();
  120.                                                 P0=0x00;
  121.                                                 delay();
  122.                                                 if(e==1)
  123.                                                 {
  124.                                                 P0=0x00;
  125.                                                 i=8;
  126.                                                 break;
  127.                                                 }
  128.                                         }
  129.                
  130.                                 }
  131.                         }
  132.                 }
  133.                
  134.                         if(x==2)
  135.                 {
  136.                         P0=0x24;       
  137.                 }                       
  138.                 if(x==3&&flag==1)
  139.                         {
  140.                                 ES=0;                              
  141.                                 flag=0;                                        
  142.                                 //  SBUF=P1&0x1f;  
  143.                                 SBUF=P2;
  144.                                 while(!TI);   
  145.                                 TI=0;                     
  146.                                 ES=1;                                         
  147.                                 // P2=~(P2&0x1f);
  148.                                 //  P1=~(P1&0x1f);        
  149.                 }
  150.                        
  151.       if(e==0)
  152.           {
  153.                
  154.                 w=0x01;  
  155.                 for(i=0;i<8;i++)
  156.                 {
  157.                         P0=w;
  158.                         w<<=1;
  159.                         delay();
  160.                         P0=0x00;
  161.                         delay();
  162.                         if(e==1)
  163.                         {
  164.                                 P0=0x00;
  165.                                 i=8;
  166.                                 break;
  167.                         }
  168.                 }
  169.                
  170.                 }
  171.                 }
  172. }
  173. void ss()interrupt 1
  174. {
  175. TH0=(65536-45872)/256;
  176. TL0=(65536-45872)%256;
  177.         num++;
  178.         if(P2==0xbf) i=1;    //?òμ????·ê?é¨?èμ???ò????μ?3?μ
  179.         if(P2==0xef&&i==1) m=1;//μú?t???μ?3?μ
  180.         if(P2==0xff&&m==1)            //μúèy???3?μ
  181.         {
  182.                         k=1;                        //μú?????3?μ è?oó?D??μú????k
  183.                         i=0;
  184.                         m=0;
  185.         }
  186.         if(P2==0xdf) i=2;
  187.         if(P2==0x7f&&i==2) m=2;
  188.         if(P2==0xff&&m==2)
  189.         {       
  190.                 j=1;
  191.                 m=0;
  192.                 i=0;
  193.         }               
  194. }
  195. void ver() interrupt 4
  196. {
  197.          RI=0;                       
  198.          x=SBUF;               
  199.          flag=1;               
  200. }

复制代码

我了个擦,我特意写的注释全变成乱码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top