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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1639|回復: 2
打印 上一主題 下一主題
收起左側(cè)

51單片機控制語音芯片播報語音 停車場管理系統(tǒng)源程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1064900 發(fā)表于 2023-3-2 19:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. //#include "stc11.h"        
  2. #include<STC12C5A60S2.H>
  3. #include <intrins.h>  
  4. #define RELOAD_COUNT  0xfd   //22.1184MHz,12T,SMOD=0,9600bps

  5. //////////////////////////////////////
  6. #define led        (1<<0)//p20
  7. #define wt588_mosi (1<<1)//p31
  8. #define wt588_sck  (1<<3)//p33
  9. #define wt588_rst  (1<<6)//p16
  10. #define wt588_cs   (1<<5)//p15
  11. #define wt588_busy (1<<7)//p17

  12. #define yy_num(x) (x)
  13. #define yy_num_asc(x) (x-0x30)
  14. #define yy_asc(x) (x-0x41+15)
  15. #define yy_cphz(x) (x+41)
  16. #define yy_10                10
  17. #define yy_100                11
  18. #define yy_1000                12
  19. #define yy_10000        13
  20. #define yy_dot                14
  21. #define yy_cphz0        41
  22. #define yy_cpyao        135
  23. #define yy_yuan                99
  24. #define yy_jiao                100
  25. #define yy_year                153
  26. #define yy_month        170
  27. #define yy_day                101
  28. #define yy_hour                137
  29. #define yy_minute        138
  30. #define yy_tian                131
  31. #define total_cmd        64


  32. #define FOSC 11059200L      //System frequency
  33. #define BAUD 9600           //UART baudrate

  34. #define T1MS (65536-FOSC/1000)      //1T模式
  35. //sfr  WDT_CONTR=0xe1;

  36. unsigned char au_rk=102,au_ck=104;//定義入口語(102/103)和出口語(104/105)

  37. sbit BUSY=P3^3;
  38. sbit RST=P3^2;                                                                                                                                                   
  39. sbit CS=P3^5;
  40. sbit SCL=P3^6;
  41. sbit SDA=P3^4;
  42. sbit LED=P1^7;

  43. sbit XW2=P2^7;
  44. sbit XW1=P2^6;
  45. sbit DG=P2^5;
  46. sbit CLOSE=P2^4;
  47. sbit OPEN=P2^3;
  48. //sbit  S2=P1^3;
  49. //sbit  S3=P1^4;
  50. //sbit  S4=P1^7;


  51. unsigned char code zm[26]={0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4f,0x4e,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a};
  52.                                                  //A     B    C    D    E    F    G    H   I J   K    L    M    N  O  P    Q    R    S    T    U    U    W    X    Y    Z
  53. unsigned char code DIG[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
  54. //unsigned int code sheng_n[31]={0xBEA9,0xBDF2,0xBBA6,0xD3E5,0xBCBD,0xBDFA,0xC3C9,0xC1C9,0xBCAA,0xBADA,0xCBD5,0xD5E3,0xCDEE,0xC3F6,0xB8D3,0xC2B3,0xD4A5,0xB6F5,0xCFE6,0xD4C1,0xB9F0,0xC7ED,0xB4A8,0xB9F3,0xD4C6,0xB2D8,0xC9C2,0xB8CA,0xC7E0,0xC4FE,0xD0C2};

  55.                                 /*京    津     滬     渝     冀     晉     蒙    遼     吉      黑     蘇     浙     皖    閩      贛     魯     豫     鄂     湘     粵     桂     瓊    川      貴     云     藏     陜     甘     青      寧    新*/
  56. //unsigned int code sheng_n[31]={0xBEA9,0xBDF2,0xBBA6,0xD3E5,0xBCBD,0xBDFA,0xC3C9,0xC1C9,0xBCAA,0xBADA,0xCBD5,0xD5E3,0xCDEE,0xC3F6,0xB8D3,0xC2B3,0xD4A5,0xB6F5,0xCFE6,0xD4C1,0xB9F0,0xC7ED,0xB4A8,0xB9F3,0xD4C6,0xB2D8,0xC9C2,0xB8CA,0xC7E0,0xC4FE,0xD0C2};
  57. unsigned int code sheng_n[31]={0xBEA9,0xBDF2,0xBCBD,0xBDFA,0xC3C9,0xC1C9,0xBCAA,0xBADA,0xBBA6,0xCBD5,0xD5E3,0xCDEE,0xC3F6,0xB8D3,0xC2B3,0xD4A5,0xB6F5,0xCFE6,0xD4C1,0xB9F0,0xC7ED,0xD3E5,0xB4A8,0xB9F3,0xD4C6,0xB2D8,0xC9C2,0xB8CA,0xC7E0,0xC4FE,0xD0C2};
  58.                               /*41京    津     冀     晉     蒙     遼     吉    黑     滬      蘇     浙     皖     閩    贛      魯     豫     鄂     湘     粵     貴     瓊     渝    川      桂     云     藏     陜     甘     青      寧    新
  59. 72          75 7986甲乙丙午未申庚巳辛壬寅戊辰
  60. */
  61. unsigned int day,hour,minute;//定義全局變量,為了減少參數(shù)傳遞數(shù)量,因為堆棧太淺
  62. unsigned char segno,segs[32];
  63. unsigned char card[3];

  64. unsigned char  data rx_bz,ii,mm,tx_bz,DGZT;
  65. unsigned char  data rx_buf[26],dg[4];
  66. unsigned char  data rx_buf1[38];
  67. unsigned char  data rx_count,Addr,rx1_bz,rx_bz1,rx_count1;
  68. unsigned int  data jsq_dg,jsq_m,jsq_k,jsq_p;
  69. unsigned int count;
  70. unsigned char timeH,timeM,timeS;
  71. unsigned char ic_bz;
  72. void do_cmd();
  73. void delay1ms(unsigned    int k);
  74. void delay100us(void) ;


  75. void delay1ms(unsigned    int k) //1MS延時子程序
  76. {
  77. unsigned int   i,j;

  78. for(i=k;i>0;i--)
  79. { for(j=2667;j>0;j--);}
  80. }

  81. void delay100us(void) //100US延時子程序
  82. {
  83. unsigned char j;
  84.   for(j=150;j>0;j--);
  85. }


  86. unsigned char  sb_dig(unsigned char dd1,unsigned char  dd2 ,unsigned char  dd3,unsigned char  dd4)
  87. {        
  88.   unsigned char hz_count;
  89.    if((dd1==0x00) && (dd2==0x00)&&(dd3==0x00) )         { hz_count=1;  dg[0]=dd4;}
  90.    if((dd1==0x00) && (dd2==0x00)&&(dd3>0x00)&&(dd3<0x0a) )         { hz_count=2;  dg[0]=dd3;dg[1]=dd4;}
  91.    if((dd1==0x00) && (dd2>0x00)&&(dd2<0x0a))          { hz_count=3;  dg[0]=dd2;dg[1]=dd3;dg[2]=dd4;}
  92.    if((dd1>0x00)&&(dd1<0x0a)) {hz_count=4; dg[0]=dd1;dg[1]=dd2;dg[2]=dd3;dg[3]=dd4;}

  93.    return(hz_count);

  94. }               

  95. unsigned char  sb_dig_1(unsigned char dd1,unsigned char  dd2 ,unsigned char  dd3,unsigned char  dd4,unsigned char dd5)
  96. {        
  97.   unsigned char hz_count;
  98.    if((dd1==0x00) && (dd2==0x00)&&(dd3==0x00)&&(dd4==0x00) )         { hz_count=1;  dg[0]=dd5;}
  99.    if((dd1==0x00) && (dd2==0x00)&&(dd3==0x00)&&(dd4>0x00)&&(dd4<0x0a) )         { hz_count=2;  dg[0]=dd4;dg[1]=dd5;}
  100.    if((dd1==0x00) && (dd2==0x00)&&(dd3>0x00)&&(dd3<0x0a))          { hz_count=3;  dg[0]=dd3;dg[1]=dd4;dg[2]=dd5;}
  101.    if((dd1==0x00)&&(dd2>0x00)&&(dd2<0x0a)) {hz_count=4; dg[0]=dd2;dg[1]=dd3;dg[2]=dd4;dg[3]=dd5;}   
  102.    if((dd1>0x00)&&(dd1<0x0a)) {hz_count=5; dg[0]=dd1;dg[1]=dd2;dg[2]=dd3;dg[3]=dd4;dg[4]=dd5;}

  103.    return(hz_count);

  104. }        

  105. unsigned char  read_sb(unsigned char len, unsigned char *d,unsigned char lend)
  106. { unsigned char ll;
  107.   unsigned char g[7];

  108. // k=sb_dig(s[0],s[1],s[2],s[3]);                   ///1 2 3 4
  109.   switch(len)
  110.   {case 1:   ////個位
  111.     g[0]=dg[0];
  112.     ll=1;
  113.     break;
  114.   case 2:   ////十位
  115.     if(dg[1]==0)   ///個位為0
  116.     {
  117.       g[0]=dg[0];
  118.       g[1]=10;
  119.       ll=2;
  120.     }
  121.     else          ////個位不為0
  122.     { g[0]=dg[0];
  123.       g[1]=10;
  124.       g[2]=dg[1];
  125.       ll=3;
  126.     }
  127.     break;
  128.   case 3:
  129.     if((dg[1]==0)&&(dg[2]==0)) ///個、十位為0
  130.     { g[0]=dg[0];
  131.       g[1]=11;
  132.       ll=2;
  133.     }
  134.     if((dg[1]!=0)&&(dg[2]==0)) ///個位為0
  135.     { g[0]=dg[0];
  136.       g[1]=11;
  137.       g[2]=dg[1];
  138.       g[3]=10;
  139.       ll=4;
  140.     }  
  141.     if((dg[1]==0)&&(dg[2]!=0)) ///十位為0
  142.     { g[0]=dg[0];
  143.       g[1]=11;
  144.       g[2]=0;
  145.       g[3]=dg[2];
  146.       ll=4;
  147.     }
  148.     if((dg[1]!=0)&&(dg[2]!=0)) ///十ge位為0
  149.     { g[0]=dg[0];
  150.       g[1]=11;
  151.       g[2]=dg[1];
  152.       g[3]=10;
  153.       g[4]=dg[2];
  154.       ll=5;
  155.     }
  156.     break;
  157.   case 4:
  158.     if((dg[1]==0)&&(dg[2]==0)&&(dg[3]==0)) ///個、十 百位為0
  159.     {
  160.      g[0]=dg[0];
  161.      g[1]=12;
  162.      ll=2;
  163.     }
  164.     if((dg[1]==0)&&(dg[2]==0)&&(dg[3]!=0)) ///十 百位為0
  165.     {
  166.      g[0]=dg[0];
  167.      g[1]=12;
  168.      g[2]=0;
  169.      g[3]=dg[3];
  170.      ll=4;
  171.     }
  172.     if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]==0)) ///個 百位為0
  173.     {
  174.      g[0]=dg[0];
  175.      g[1]=12;
  176.      g[2]=0;
  177.      g[3]=dg[2];
  178.      g[4]=10;
  179.      ll=5;
  180.     }
  181.     if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]==0)) ///個 十位為0
  182.     {
  183.      g[0]=dg[0];
  184.      g[1]=12;
  185.      g[2]=dg[1];
  186.      g[3]=11;
  187.      ll=4;
  188.     }
  189.     if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]==0)) ///個 位為0
  190.     {
  191.      g[0]=dg[0];
  192.      g[1]=12;
  193.      g[2]=dg[1];
  194.      g[3]=11;
  195.      g[4]=dg[2];
  196.      g[5]=10;
  197.      ll=6;
  198.     }
  199.     if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]!=0)) ///十 位為0
  200.     {
  201.      g[0]=dg[0];
  202.      g[1]=12;
  203.      g[2]=dg[1];
  204.      g[3]=11;
  205.      g[4]=0;
  206.      g[5]=dg[3];
  207.      ll=6;
  208.     }
  209.     if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]!=0)) ///百 位為0
  210.     {
  211.      g[0]=dg[0];
  212.      g[1]=12;
  213.      g[2]=0;
  214.      g[3]=dg[2];
  215.      g[4]=10;
  216.      g[5]=dg[3];
  217.      ll=6;
  218.     }
  219.     if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]!=0)) ///全不為0
  220.     {
  221.       g[0]=dg[0];
  222.       g[1]=12;
  223.       g[2]=dg[1];
  224.       g[3]=11;
  225.       g[4]=dg[2];
  226.       g[5]=10;
  227.       g[6]=dg[3];
  228.       ll=7;
  229.     }
  230.     break;

  231.   }
  232.   switch(ll)
  233.   {
  234.    case 1:
  235.     lend =1;
  236.     d[0]=g[0];
  237.     break;
  238.   case 2:
  239.     lend=2;
  240.     d[0]=g[0];
  241.     d[1]=g[1];
  242.     break;
  243.   case 3:
  244.     lend=3;
  245.     d[0]=g[0];
  246.     d[1]=g[1];
  247.     d[2]=g[2];
  248.     break;
  249.   case 4:
  250.     lend=4;
  251.     d[0]=g[0];
  252.     d[1]=g[1];
  253.     d[2]=g[2];
  254.     d[3]=g[3];
  255.     break;
  256.   case 5:
  257.     lend=5;
  258.     d[0]=g[0];
  259.     d[1]=g[1];
  260.     d[2]=g[2];
  261.     d[3]=g[3];
  262.     d[4]=g[4];
  263.     break;
  264.   case 6:
  265.     lend=6;
  266.     d[0]=g[0];
  267.     d[1]=g[1];
  268.     d[2]=g[2];
  269.     d[3]=g[3];
  270.     d[4]=g[4];
  271.     d[5]=g[5];
  272.     break;
  273.   case 7:
  274.     lend=7;
  275.     d[0]=g[0];
  276.     d[1]=g[1];
  277.     d[2]=g[2];
  278.     d[3]=g[3];
  279.     d[4]=g[4];
  280.     d[5]=g[5];
  281.     d[6]=g[6];
  282.     break;
  283.   }
  284.   return ll;
  285. }

  286.   //////////////

  287. unsigned char  read_sb1(unsigned char len, unsigned char *d,unsigned char lend)
  288. { unsigned char ll;
  289.   unsigned char g[10];

  290. // k=sb_dig(s[0],s[1],s[2],s[3]);                   ///1 2 3 4
  291.   switch(len)
  292.   {case 1:   ////個位
  293.     g[0]=dg[0];
  294.     ll=1;
  295.     break;
  296.   case 2:   ////十位
  297.     if(dg[1]==0)   ///個位為0
  298.     {
  299.       g[0]=dg[0];
  300.       g[1]=10;
  301.       ll=2;
  302.     }
  303.     else          ////個位不為0
  304.     { g[0]=dg[0];
  305.       g[1]=10;
  306.       g[2]=dg[1];
  307.       ll=3;
  308.     }
  309.     break;
  310.   case 3:
  311.     if((dg[1]==0)&&(dg[2]==0)) ///個、十位為0
  312.     { g[0]=dg[0];
  313.       g[1]=11;
  314.       ll=2;
  315.     }
  316.     if((dg[1]!=0)&&(dg[2]==0)) ///個位為0
  317.     { g[0]=dg[0];
  318.       g[1]=11;
  319.       g[2]=dg[1];
  320.       g[3]=10;
  321.       ll=4;
  322.     }  
  323.     if((dg[1]==0)&&(dg[2]!=0)) ///十位為0
  324.     { g[0]=dg[0];
  325.       g[1]=11;
  326.       g[2]=0;
  327.       g[3]=dg[2];
  328.       ll=4;
  329.     }
  330.     if((dg[1]!=0)&&(dg[2]!=0)) ///十ge位為0
  331.     { g[0]=dg[0];
  332.       g[1]=11;
  333.       g[2]=dg[1];
  334.       g[3]=10;
  335.       g[4]=dg[2];
  336.       ll=5;
  337.     }
  338.     break;
  339.   case 4:
  340.     if((dg[1]==0)&&(dg[2]==0)&&(dg[3]==0)) ///個、十 百位為0
  341.     {
  342.      g[0]=dg[0];
  343.      g[1]=12;
  344.      ll=2;
  345.     }
  346.     if((dg[1]==0)&&(dg[2]==0)&&(dg[3]!=0)) ///十 百位為0
  347.     {
  348.      g[0]=dg[0];
  349.      g[1]=12;
  350.      g[2]=0;
  351.      g[3]=dg[3];
  352.      ll=4;
  353.     }
  354.     if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]==0)) ///個 百位為0
  355.     {
  356.      g[0]=dg[0];
  357.      g[1]=12;
  358.      g[2]=0;
  359.      g[3]=dg[2];
  360.      g[4]=10;
  361.      ll=5;
  362.     }
  363.     if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]==0)) ///個 十位為0
  364.     {
  365.      g[0]=dg[0];
  366.      g[1]=12;
  367.      g[2]=dg[1];
  368.      g[3]=11;
  369.      ll=4;
  370.     }
  371.     if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]==0)) ///個 位為0
  372.     {
  373.      g[0]=dg[0];
  374.      g[1]=12;
  375.      g[2]=dg[1];
  376.      g[3]=11;
  377.      g[4]=dg[2];
  378.      g[5]=10;
  379.      ll=6;
  380.     }
  381.     if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]!=0)) ///十 位為0
  382.     {
  383.      g[0]=dg[0];
  384.      g[1]=12;
  385.      g[2]=dg[1];
  386.      g[3]=11;
  387.      g[4]=0;
  388.      g[5]=dg[3];
  389.      ll=6;
  390.     }
  391.     if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]!=0)) ///百 位為0
  392.     {
  393.      g[0]=dg[0];
  394.      g[1]=12;
  395.      g[2]=0;
  396.      g[3]=dg[2];
  397.      g[4]=10;
  398.      g[5]=dg[3];
  399.      ll=6;
  400.     }
  401.     if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]!=0)) ///全不為0
  402.     {
  403.       g[0]=dg[0];
  404.       g[1]=12;
  405.       g[2]=dg[1];
  406.       g[3]=11;
  407.       g[4]=dg[2];
  408.       g[5]=10;
  409.       g[6]=dg[3];
  410.       ll=7;
  411.     }
  412.         break;
  413.         case 5:
  414.       if((dg[1]==0)&&(dg[2]==0)&&(dg[3]==0)&&(dg[4]==0)) ///個、十 百 千位為0
  415.             {
  416.                  g[0]=dg[0];
  417.          g[1]=13;
  418.          ll=2;
  419.             }
  420.           if((dg[1]==0)&&(dg[2]==0)&&(dg[3]==0)&&(dg[4]!=0)) ///十 百 千位為0
  421.            {
  422.              g[0]=dg[0];
  423.          g[1]=13;
  424.                  g[2]=0;
  425.                  g[3]=dg[4];
  426.          ll=4;
  427.            }
  428.            if((dg[1]==0)&&(dg[2]==0)&&(dg[3]!=0)&&(dg[4]==0)) ///個 十  千位為0
  429.            {
  430.              g[0]=dg[0];
  431.          g[1]=13;
  432.                  g[2]=0;
  433.                  g[3]=dg[3];
  434.                  g[4]=10;
  435.          ll=5;
  436.            }
  437.            if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]==0)&&(dg[4]==0)) ///個 百   千位為0
  438.            {
  439.              g[0]=dg[0];
  440.          g[1]=13;
  441.                  g[2]=0;
  442.                  g[3]=dg[2];
  443.                  g[4]=11;
  444.          ll=5;
  445.            }
  446.            if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]==0)&&(dg[4]==0)) ///十 百 千位為0
  447.            {
  448.              g[0]=dg[0];
  449.          g[1]=13;
  450.                  g[2]=dg[1];
  451.                  g[3]=12;
  452.          ll=4;
  453.            }
  454.            if((dg[1]==0)&&(dg[2]==0)&&(dg[3]!=0)&&(dg[4]!=0)) ///十 百 千位為0
  455.            {
  456.              g[0]=dg[0];
  457.          g[1]=13;
  458.                  g[2]=0;
  459.                  g[3]=dg[3];
  460.                  g[4]=10;
  461.                  g[5]=dg[4];
  462.          ll=6;
  463.            }
  464.            if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]==0)&&(dg[4]!=0)) ///十 百 千位為0
  465.            {
  466.              g[0]=dg[0];
  467.          g[1]=13;
  468.                  g[2]=0;
  469.                  g[3]=dg[2];
  470.                  g[4]=11;
  471.                  g[5]=0;
  472.                  g[6]=dg[4];
  473.          ll=7;
  474.            }
  475.            if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]==0)&&(dg[4]!=0)) ///十 百 千位為0
  476.            {
  477.              g[0]=dg[0];
  478.          g[1]=13;
  479.                  g[2]=dg[1];
  480.                  g[3]=12;
  481.                  g[4]=0;
  482.                  g[5]=dg[4];
  483.          ll=6;
  484.            }
  485.            if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]!=0)&&(dg[4]==0)) ///十 百 千位為0
  486.            {
  487.              g[0]=dg[0];
  488.          g[1]=13;
  489.                  g[2]=0;
  490.                  g[3]=dg[2];
  491.                  g[4]=11;
  492.                  g[5]=dg[3];
  493.                  g[6]=10;
  494.          ll=7;
  495.            }
  496.            if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]!=0)&&(dg[4]==0)) ///十 百 千位為0
  497.            {
  498.              g[0]=dg[0];
  499.          g[1]=13;
  500.                  g[2]=dg[1];
  501.                  g[3]=12;
  502.                  g[4]=0;
  503.                  g[5]=dg[3];
  504.                  g[6]=10;
  505.          ll=7;
  506.            }
  507.           if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]==0)&&(dg[4]==0)) ///十 百 千位為0
  508.            {
  509.              g[0]=dg[0];
  510.          g[1]=13;
  511.                  g[2]=dg[1];
  512.                  g[3]=12;
  513.              g[4]=dg[2];
  514.                  g[5]=11;
  515.          ll=6;
  516.            }
  517.           if((dg[1]==0)&&(dg[2]!=0)&&(dg[3]!=0)&&(dg[4]!=0)) ///十 百 千位為0
  518.            {
  519.              g[0]=dg[0];
  520.          g[1]=13;
  521.                  g[2]=0;
  522.                  g[3]=dg[2];
  523.                  g[4]=11;
  524.              g[5]=dg[3];
  525.                  g[6]=10;
  526.                  g[7]=dg[4];
  527.          ll=8;
  528.            }
  529.           if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]!=0)&&(dg[4]==0)) ///十 百 千位為0
  530.            {
  531.              g[0]=dg[0];
  532.          g[1]=13;
  533.                  g[2]=dg[1];
  534.                  g[3]=12;
  535.              g[4]=dg[2];
  536.                  g[5]=11;
  537.                  g[6]=dg[4];
  538.                  g[7]=10;
  539.          ll=8;
  540.            }
  541.            if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]==0)&&(dg[4]!=0)) ///十 百 千位為0
  542.            {
  543.              g[0]=dg[0];
  544.          g[1]=13;
  545.                  g[2]=dg[1];
  546.                  g[3]=12;
  547.              g[4]=dg[2];
  548.                  g[5]=11;
  549.                  g[6]=0;
  550.                  g[7]=dg[4];
  551.          ll=8;
  552.            }
  553.            if((dg[1]!=0)&&(dg[2]==0)&&(dg[3]!=0)&&(dg[4]!=0)) ///十 百 千位為0
  554.            {
  555.              g[0]=dg[0];
  556.          g[1]=13;
  557.                  g[2]=dg[1];
  558.                  g[3]=12;
  559.                  g[4]=0;
  560.              g[5]=dg[3];
  561.                  g[6]=10;
  562.                  g[7]=dg[4];
  563.          ll=8;
  564.            }
  565.            if((dg[1]!=0)&&(dg[2]!=0)&&(dg[3]!=0)&&(dg[4]!=0)) ///十 百 千位為0
  566.            {
  567.                    g[0]=dg[0];
  568.          g[1]=13;
  569.                  g[2]=dg[1];
  570.                  g[3]=12;
  571.                  g[4]=dg[2];
  572.                  g[5]=11;
  573.              g[6]=dg[3];
  574.                  g[7]=10;
  575.                  g[8]=dg[4];
  576.          ll=9;
  577.            
  578.            }

  579.     break;

  580.   }
  581.   switch(ll)
  582.   {
  583.    case 1:
  584.     lend =1;
  585.     d[0]=g[0];
  586.     break;
  587.   case 2:
  588.     lend=2;
  589.     d[0]=g[0];
  590.     d[1]=g[1];
  591.     break;
  592.   case 3:
  593.     lend=3;
  594.     d[0]=g[0];
  595.     d[1]=g[1];
  596.     d[2]=g[2];
  597.     break;
  598.   case 4:
  599.     lend=4;
  600.     d[0]=g[0];
  601.     d[1]=g[1];
  602.     d[2]=g[2];
  603.     d[3]=g[3];
  604.     break;
  605.   case 5:
  606.     lend=5;
  607.     d[0]=g[0];
  608.     d[1]=g[1];
  609.     d[2]=g[2];
  610.     d[3]=g[3];
  611.     d[4]=g[4];
  612.     break;
  613.   case 6:
  614.     lend=6;
  615.     d[0]=g[0];
  616.     d[1]=g[1];
  617.     d[2]=g[2];
  618.     d[3]=g[3];
  619.     d[4]=g[4];
  620.     d[5]=g[5];
  621.     break;
  622.   case 7:
  623.     lend=7;
  624.     d[0]=g[0];
  625.     d[1]=g[1];
  626.     d[2]=g[2];
  627.     d[3]=g[3];
  628.     d[4]=g[4];
  629.     d[5]=g[5];
  630.     d[6]=g[6];
  631.     break;
  632.   case 8:
  633.     lend=8;
  634.     d[0]=g[0];
  635.     d[1]=g[1];
  636.     d[2]=g[2];
  637.     d[3]=g[3];
  638.     d[4]=g[4];
  639.     d[5]=g[5];
  640.     d[6]=g[6];
  641.     d[7]=g[7];
  642.     break;
  643.   case 9:
  644.   lend=9;
  645.     d[0]=g[0];
  646.     d[1]=g[1];
  647.     d[2]=g[2];
  648.     d[3]=g[3];
  649.     d[4]=g[4];
  650.     d[5]=g[5];
  651.     d[6]=g[6];
  652.     d[7]=g[7];
  653.         d[8]=g[8];
  654.     break;

  655.   }
  656.   return ll;
  657. }

  658. void play(unsigned char addr) //三線發(fā)碼子程序
  659. {
  660.   unsigned char i,m;
  661.            LED=0;

  662.   do{} while(BUSY==1);
  663.   delay1ms(19); /* 17ms*/  
  664.   CS=0;
  665.   LED=1;
  666.   delay1ms(5);
  667.   m=addr;
  668.   for(i=0;i<8;i++)
  669.     {SCL=0;
  670.      SDA=(m & 0x01);
  671.      m=m>>1;
  672.          delay100us();
  673.          delay100us();
  674.      SCL=1;
  675.          delay100us();
  676.          delay100us();
  677.          }
  678.   CS=1;
  679.    LED=0;
  680.   do{} while(BUSY==1);
  681.   delay1ms(4); /* 17ms*/
  682. }


  683. void serial_port_one_initial()
  684. {
  685. // SCON = 0x50;            //8-bit variable UART
  686. // TMOD = 0x20;            //Set Timer1 as 8-bit auto reload mode
  687. // TMOD = 0x20;            //Set Timer1 as 8-bit auto reload mode
  688. //   TH1 = TL1 = -(FOSC/12/32/BAUD); //Set auto-reload vaule
  689. //   TR1 = 1;                //Timer1 start run
  690.   //  ES = 1;                 //Enable UART interrupt
  691.   //  EA = 1;                 //Open master interrupt switch


  692.    SCON    =   0x50;   //0101,0000 8位可變波特率,無奇偶校驗位
  693.     BRT = RELOAD_COUNT;
  694.     AUXR = 0x11; // T0x12,T1x12,UART_M0x6,BRTR,S2SMOD,BRTx12,EXTRAM,S1BRS
  695.     ES=1;    //允許串口中斷
  696.     EA=1;    //開總中斷
  697. }


  698. void serial_port_two_initial()
  699. {

  700.     AUXR &= 0xF7;                //波特率不倍速
  701.         S2CON = 0x50;                //8位數(shù)據(jù),可變波特率
  702.         AUXR &= 0xFB;                //獨立波特率發(fā)生器時鐘為Fosc/12,即12T
  703.         BRT = 0xFD;                //設定獨立波特率發(fā)生器重裝值
  704.         AUXR |= 0x10;                //啟動獨立波特率發(fā)生器

  705.     IE2 = 0x01; //允許串口2中斷,ES2=1
  706.     EA=1;    //開總中斷
  707. }

  708. void send_UART_one(unsigned char i)
  709. {
  710.     ES     =   0;  //關串口中斷
  711.     TI     =   0;  //清零串口發(fā)送完成中斷請求標志
  712.     SBUF   =   i;
  713.     while(TI ==0); //等待發(fā)送完成
  714.     TI     =   0;  //清零串口發(fā)送完成中斷請求標志
  715. //        delay1ms(1);
  716.     ES     =   1;  //允許串口中斷
  717. }
  718. void send_UART_two(unsigned char i)
  719. {

  720.     IE2 = 0x00; //關串口2中斷,es2=0
  721. //        while(busy);         //清零串口發(fā)送完成中斷請求標志
  722. //   busy=1;
  723.     S2BUF   =   i; //等待發(fā)送完成    //清零串口發(fā)送完成中斷請求標志
  724.     delay1ms(1);
  725.     IE2 = 0x01; //允許串口2中斷,ES2=1
  726.         
  727. }  
  728. /*
  729. unsigned int cal_crc(unsigned char *ptr,unsigned char len)
  730. {
  731. unsigned char i;
  732. unsigned int crc;
  733. crc=0;
  734. while(len--!=0)
  735. {
  736.   for(i=0x80;i!=0;i/=2)
  737.   {if((crc&0x8000)!=0){crc*=2;crc^=0x1021;}
  738.    else crc*=2;
  739.    if((*ptr&i)!=0) crc^=0x1021;
  740.   }
  741.   ptr++;
  742. }
  743. return(crc);
  744. }
  745.   */

  746. /*取得整數(shù)的語音段代碼*/
  747. /*
  748. unsigned char cm_dec(unsigned int n)
  749. {
  750.         unsigned char kt=0,is0=0,i=0;
  751.         unsigned int d10=10000;
  752.         unsigned char*s;
  753.         s=&segs[segno];
  754.         if(n>59999) n=59999;
  755.         while(n)
  756.         {
  757.                 if(n/d10)
  758.                 {
  759.                         kt=1;
  760.                         is0=0;
  761.                         s[i++]=yy_num(n/d10);
  762.                         switch(d10){
  763.                                 case 10000:
  764.                                         s[i++]=yy_10000;
  765.                                         break;
  766.                                 case 1000:
  767.                                         s[i++]=yy_1000;
  768.                                         break;
  769.                                 case 100:
  770.                                         s[i++]=yy_100;
  771.                                         break;
  772.                                 case 10:
  773.                                         s[i++]=yy_10;
  774.                                         break;
  775.                         }
  776.                 }
  777.                 else if(kt==1)
  778.                 {
  779.                         if(is0==0)
  780.                         {
  781.                                 s[i++]=yy_num(0);
  782.                                 is0=1;
  783.                         }
  784.                 }
  785.                 n=n%d10;
  786.                 d10=d10/10;
  787.         }
  788.         return i;
  789. }
  790. */
  791. /*組合xxx元*/
  792. /*
  793. unsigned char cm_n_yuan(unsigned int n)
  794. {
  795.         unsigned char i;
  796.         unsigned char*s;
  797.         s=&segs[segno];
  798.         i=cm_dec(n);
  799.         if(n==0)
  800.         {
  801.                 s[i++]=yy_num(0);
  802.         }
  803.         s[i]=yy_yuan;
  804.         s[i+1]=0;
  805.         return i+1;
  806. }  */
  807. /*組合xxx日*/
  808. /*
  809. unsigned char cm_n_day(unsigned int n)
  810. {
  811.         unsigned char i;
  812.         unsigned char*s;
  813.         s=&segs[segno];
  814.         i=cm_dec(n);
  815.         if(n==0)
  816.         {
  817.                 s[i++]=yy_num(0);
  818.         }
  819.         s[i]=yy_day;
  820.         s[i+1]=0;
  821.         return i+1;
  822. }
  823. */
  824. /*組合xxx天xxx小時xxx分*/
  825. /*
  826. unsigned char cm_n_time()
  827. {
  828.         if(day) {segno+=cm_dec(day);segs[segno++]=yy_tian;}
  829.         if(hour) {segno+=cm_dec(hour);segs[segno++]=yy_hour;}
  830.         if(minute) {segno+=cm_dec(minute);segs[segno++]=yy_minute;}
  831.         if(day==0&&hour==0&&minute==0)
  832.         {
  833.                 segs[segno++]=yy_num(0);
  834.                 segs[segno++]=yy_minute;
  835.         }
  836.         return 0;
  837. }
  838. */
  839. /*組合車牌,如粵A12345*/
  840. /*
  841. unsigned char cm_cp(unsigned char *cp)
  842. {
  843.         unsigned char i=0;
  844.         unsigned char*s;
  845.         s=&segs[segno];
  846.         s[i++]=yy_cphz(*cp);
  847.         for(;i<7;i++)
  848.         {
  849.                 if(cp[i]>=0x30&&cp[i]<=0x39)
  850.                         s[i]=yy_num_asc(cp[i]);
  851.                 else if(cp[i]>=0x41&&cp[i]<=0x5a)
  852.                         s[i]=yy_asc(cp[i]);
  853.                 else
  854.                         s[i]=0;
  855.         }
  856.         return 7;
  857. }
  858. */
  859.   /*
  860. void do_cmd(void)
  861. {
  862.         unsigned int n;
  863.         segno=0;
  864.         switch(RxBuf[4])
  865.         {
  866.                 case 0x70:
  867.                                 delay4bytes(10);
  868.                                 if(RxBuf[7]==RxBuf[8]&&RxBuf[5]==0xff&&RxBuf[6]==0xff)
  869.                                 {
  870.                                         segs[segno++]=150;
  871.                                         segno+=cm_dec(RxBuf[7]);
  872.                                         segs[segno++]=134;
  873.                                 }
  874.                                 else if(RxBuf[5]==RxBuf[6]&&RxBuf[7]==0xff&&RxBuf[8]==0xff)
  875.                                 {
  876.                                         segs[segno++]=149;
  877.                                         segno+=cm_dec(RxBuf[5]);
  878.                                         segs[segno++]=134;
  879.                                 }
  880.                         break;
  881.                 case 0x41://cmd_no:0x41
  882.                                 break;
  883.                 case 0x42://cmd_no:0x42
  884.                                 segs[segno++]=au_rk;
  885.                                 break;
  886.                 case 0x43://cmd_no:0x43
  887.                         delay4bytes(9);
  888.                                 segs[segno++]=au_rk;segs[segno++]=106;
  889.                                 n=(RxBuf[5]-0x30)*1000+(RxBuf[6]-0x30)*100+(RxBuf[7]-0x30)*10+(RxBuf[8]-0x30);
  890.                                 segno+=cm_n_day(n);
  891.                                 break;
  892.                 case 0x44://cmd_no:0x44
  893.                         delay4bytes(9);
  894.                                 segs[segno++]=au_rk;segs[segno++]=148;
  895.                                 n=(RxBuf[5]&0x0f)*4096+(RxBuf[6]&0x0f)*256+(RxBuf[7]&0x0f)*16+(RxBuf[8]&0x0f);
  896.                                 segno+=cm_n_yuan(n);
  897.                                 break;
  898.                 case 0x45://cmd_no:0x45
  899.                                 segs[segno++]=107;
  900.                                 break;
  901.                 case 0x46://cmd_no:0x46
  902.                                 segs[segno++]=108;
  903.                                 break;
  904.                 case 0x47://cmd_no:0x47
  905.                                 segs[segno++]=yy_num(2);segs[segno++]=yy_num(0);segs[segno++]=yy_num(1);segs[segno++]=yy_num(1);
  906.                                 segs[segno++]=yy_num(1);segs[segno++]=yy_num(1);segs[segno++]=yy_num(0);segs[segno++]=yy_num(1);
  907.                                 break;
  908.                 case 0x48://cmd_no:0x48
  909.                                 segs[segno++]=109;
  910.                                 break;
  911.                 case 0x49://cmd_no:0x49
  912.                         delay4bytes(13);
  913.                                 segs[segno++]=au_ck;segs[segno++]=114;
  914.                                 n=(RxBuf[9]&0x0f)*4096+(RxBuf[10]&0x0f)*256+(RxBuf[11]&0x0f)*16+(RxBuf[12]&0x0f);
  915.                                 segno+=cm_n_yuan(n);
  916.                                 segs[segno++]=147;
  917.                                 n=(RxBuf[5]&0x0f)*4096+(RxBuf[6]&0x0f)*256+(RxBuf[7]&0x0f)*16+(RxBuf[8]&0x0f);
  918.                                 segno+=cm_n_yuan(n);
  919.                                 break;
  920.                 case 0x4a://cmd_no:0x4a
  921.                         delay4bytes(9);
  922.                                 segs[segno++]=115;
  923.                                 n=(RxBuf[5]&0x0f)*4096+(RxBuf[6]&0x0f)*256+(RxBuf[7]&0x0f)*16+(RxBuf[8]&0x0f);
  924.                                 segno+=cm_n_yuan(n);
  925.                                 segs[segno++]=116;
  926.                                 break;
  927.                 case 0x4b://cmd_no:0x4b
  928.                         delay4bytes(9);
  929.                                 segs[segno++]=au_ck;segs[segno++]=106;
  930.                                 n=(RxBuf[5]-0x30)*1000+(RxBuf[6]-0x30)*100+(RxBuf[7]-0x30)*10+(RxBuf[8]-0x30);
  931.                                 segno+=cm_n_day(n);
  932.                                 break;
  933.                 case 0x4c://cmd_no:0x4c
  934.                                 segs[segno++]=110;
  935.                                 break;
  936.                 case 0x4d://cmd_no:0x4d
  937.                                 segs[segno++]=117;
  938.                                 break;
  939.                 case 0x4e://cmd_no:0x4e
  940.                                 segs[segno++]=118;
  941.                                 break;
  942.                 case 0x4f://cmd_no:0x4f
  943.                                 segs[segno++]=119;
  944.                                 break;
  945.                 case 0x50://cmd_no:0x50
  946.                                 segs[segno++]=113;
  947.                                 break;
  948.                 case 0x51://cmd_no:0x51
  949.                                 segs[segno++]=112;
  950.                                 break;
  951.                 case 0x52://cmd_no:0x52
  952.                                 segs[segno++]=120;
  953.                                 break;
  954.                 case 0x53://cmd_no:0x53
  955.                                 segs[segno++]=121;
  956.                                 break;
  957.                 case 0x54://cmd_no:0x54
  958.                                 segs[segno++]=122;
  959.                                 break;
  960.                 case 0x55://cmd_no:0x55
  961.                                 segs[segno++]=au_ck;
  962.                                 break;
  963.                 case 0x56://cmd_no:0x56
  964.                                 segs[segno++]=123;
  965.                                 break;
  966.                 case 0x57://cmd_no:0x57
  967.                                 segs[segno++]=111;
  968.                                 break;
  969.                 case 0x58://cmd_no:0x58
  970.                                 segs[segno++]=124;
  971.                                 break;
  972.                 case 0x60://cmd_no:0x60
  973.                                 break;
  974.                 case 0x61://cmd_no:0x61
  975.                                 break;
  976.                 case 0x62://cmd_no:0x62
  977.                                 //au_segs[segno++]=112;
  978.                                 break;
  979.                 case 0x63://cmd_no:0x63
  980.                         delay4bytes(10);
  981.                                 segs[segno++]=103;
  982.                                 break;
  983.                 case 0x64://cmd_no:0x64
  984.                         delay4bytes(10);
  985.                                 segs[segno++]=115;
  986.                                 n=(RxBuf[5]&0x0f)*4096+(RxBuf[6]&0x0f)*256+(RxBuf[7]&0x0f)*16+(RxBuf[8]&0x0f);
  987.                                 segno+=cm_n_yuan(n);
  988.                                 segs[segno++]=116;
  989.                                 break;
  990.                 case 0x65://cmd_no:0x65
  991.                         delay4bytes(10);
  992.                                 segs[segno++]=au_rk;
  993.                                 n=(RxBuf[5]-0x30)*1000+(RxBuf[6]-0x30)*100+(RxBuf[7]-0x30)*10+(RxBuf[8]-0x30);
  994.                                 if(n<=0x270f)
  995.                                 {
  996.                                         segs[segno++]=106;
  997.                                         segno+=cm_n_day(n);
  998.                                 }
  999.                                 break;
  1000.                 case 0x66://cmd_no:0x66
  1001.                         delay4bytes(10);
  1002.                                 segs[segno++]=au_ck;
  1003.                                 n=(RxBuf[5]-0x30)*1000+(RxBuf[6]-0x30)*100+(RxBuf[7]-0x30)*10+(RxBuf[8]-0x30);
  1004.                                 if(n<=0x270f)
  1005.                                 {
  1006.                                         segs[segno++]=106;
  1007.                                         segno+=cm_n_day(n);
  1008.                                 }
  1009.                                 break;
  1010.                 case 0x68://cmd_no:0x68
  1011.                         delay4bytes(25);
  1012.                                 segs[segno++]=151;
  1013.                                 segno+=cm_cp(&RxBuf[17]);
  1014.                                 segs[segno++]=152;
  1015.                                 break;
  1016.                 case 0x69://cmd_no:0x69
  1017.                         delay4bytes(25);
  1018.                                 segno+=cm_cp(&RxBuf[17]);
  1019.                                 segs[segno++]=136;//停車
  1020.                                 //xx天xx小時xx分
  1021.                                 day=RxBuf[13]*256+RxBuf[14];
  1022.                                 hour=RxBuf[15];
  1023.                                 minute=(RxBuf[16]>>4)*10+(RxBuf[16]&0x0f);
  1024.                                 cm_n_time();
  1025.                                 segs[segno++]=115;//請交
  1026.                                 //xxxx元
  1027.                                 n=(RxBuf[5]&0x0f)*4096+(RxBuf[6]&0x0f)*256+(RxBuf[7]&0x0f)*16+(RxBuf[8]&0x0f);
  1028.                                 segno+=cm_n_yuan(n);
  1029.                                 break;
  1030.                 case 0x6a://cmd_no:0x6a
  1031.                         delay4bytes(25);
  1032.                                 if(RxBuf[5]==0xff&&RxBuf[6]==0xff&&RxBuf[7]==0xff&&RxBuf[8]==0xff&&RxBuf[17]==0xff)
  1033.                                 {
  1034.                                         //沒有天數(shù),沒有車牌
  1035.                                         segs[segno++]=au_rk;
  1036.                                 }
  1037.                                 else if(RxBuf[5]==0xff&&RxBuf[6]==0xff&&RxBuf[7]==0xff&&RxBuf[8]==0xff)
  1038.                                 {
  1039.                                         //沒有天數(shù),有車牌
  1040.                                         segs[segno++]=151;
  1041.                                         segno+=cm_cp(&RxBuf[17]);
  1042.                                         segs[segno++]=152;
  1043.                                 }
  1044.                                 else if(RxBuf[17]==0xff)
  1045.                                 {
  1046.                                         //有天數(shù),沒有車牌
  1047.                                         segs[segno++]=139;
  1048.                                         segno+=cm_n_day((unsigned int)((RxBuf[5]&0xf)*1000+(RxBuf[6]&0xf)*100+(RxBuf[7]&0xf)*10+(RxBuf[8]&0xf)));
  1049.                                 }
  1050.                                 else
  1051.                                 {
  1052.                                         //有天數(shù),有車牌
  1053.                                         segs[segno++]=151;
  1054.                                         segno+=cm_cp(&RxBuf[17]);
  1055.                                         segs[segno++]=152;
  1056.                                         segs[segno++]=106;
  1057.                                         segno+=cm_n_day((unsigned int)((RxBuf[5]&0xf)*1000+(RxBuf[6]&0xf)*100+(RxBuf[7]&0xf)*10+(RxBuf[8]&0xf)));
  1058.                                 }
  1059.                                 break;
  1060.                 case 0x6b://cmd_no:0x6b
  1061.                         delay4bytes(25);
  1062.                                 if(RxBuf[5]==0xff&&RxBuf[6]==0xff&&RxBuf[7]==0xff&&RxBuf[8]==0xff&&RxBuf[17]==0xff)
  1063.                                 {
  1064.                                         //沒有天數(shù),沒有車牌
  1065.                                         segs[segno++]=au_ck;
  1066.                                 }
  1067.                                 else if(RxBuf[5]==0xff&&RxBuf[6]==0xff&&RxBuf[7]==0xff&&RxBuf[8]==0xff)
  1068.                                 {
  1069.                                         //沒有天數(shù),有車牌
  1070.                                         segno+=cm_cp(&RxBuf[17]);
  1071.                                         segs[segno++]=au_ck;
  1072.                                 }
  1073.                                 else if(RxBuf[17]==0xff)
  1074.                                 {
  1075.                                         //有天數(shù),沒有車牌
  1076.                                         segs[segno++]=140;
  1077.                                         segno+=cm_n_day((unsigned int)((RxBuf[5]&0xf)*1000+(RxBuf[6]&0xf)*100+(RxBuf[7]&0xf)*10+(RxBuf[8]&0xf)));
  1078.                                 }
  1079.                                 else
  1080.                                 {
  1081.                                         //有天數(shù),有車牌
  1082.                                         segno+=cm_cp(&RxBuf[17]);
  1083.                                         segs[segno++]=140;
  1084.                                         segno+=cm_n_day((unsigned int)((RxBuf[5]&0xf)*1000+(RxBuf[6]&0xf)*100+(RxBuf[7]&0xf)*10+(RxBuf[8]&0xf)));
  1085.                                 }
  1086.                                 break;
  1087.                 case 0x6c://cmd_no:0x6c
  1088.                         delay4bytes(25);
  1089.                                 if(RxBuf[5]==0xff&&RxBuf[6]==0xff&&RxBuf[7]==0xff&&RxBuf[8]==0xff&&RxBuf[17]==0xff)
  1090.                                 {
  1091.                                         //沒有錢數(shù),沒有車牌
  1092.                                         segs[segno++]=au_rk;
  1093.                                 }
  1094.                                 else if(RxBuf[5]==0xff&&RxBuf[6]==0xff&&RxBuf[7]==0xff&&RxBuf[8]==0xff)
  1095.                                 {
  1096.                                         //沒有錢數(shù),有車牌
  1097.                                         segs[segno++]=151;
  1098.                                         segno+=cm_cp(&RxBuf[17]);
  1099.                                         segs[segno++]=152;
  1100.                                 }
  1101.                                 else if(RxBuf[17]==0xff)
  1102.                                 {
  1103.                                         //有錢數(shù),沒有車牌
  1104.                                         segs[segno++]=au_rk;
  1105.                                         segs[segno++]=148;
  1106.                                         n=((RxBuf[5]&0x0f)<<12)+((RxBuf[6]&0x0f)<<8)+((RxBuf[7]&0x0f)<<4)+((RxBuf[8]&0x0f)<<0);
  1107.                                         segno+=cm_n_yuan(n);
  1108.                                 }
  1109.                                 else
  1110.                                 {
  1111.                                         //有錢數(shù),有車牌
  1112.                                         segs[segno++]=151;
  1113.                                         segno+=cm_cp(&RxBuf[17]);
  1114.                                         segs[segno++]=152;
  1115.                                         segs[segno++]=148;
  1116.                                         n=((RxBuf[5]&0x0f)<<12)+((RxBuf[6]&0x0f)<<8)+((RxBuf[7]&0x0f)<<4)+((RxBuf[8]&0x0f)<<0);
  1117.                                         segno+=cm_n_yuan(n);
  1118.                                 }
  1119.                                 break;
  1120.                 case 0x6d://cmd_no:0x6d
  1121.                         delay4bytes(25);
  1122.                                 for(n=5;n<24;n++) if(RxBuf[n]!=0xff) break;
  1123.                                 if(n>23)
  1124.                                 {
  1125.                                         segs[segno++]=au_ck;break;
  1126.                                 }
  1127.                                 for(n=17;n<24;n++) if(RxBuf[n]!=0xff) break;
  1128.                                 if(n>23)
  1129.                                 {
  1130.                                         segs[segno++]=au_ck;
  1131.                                         segs[segno++]=136;//停車
  1132.                                         //xx天xx小時xx分
  1133.                                         day=RxBuf[13]*256+RxBuf[14];
  1134.                                         hour=RxBuf[15];
  1135.                                         minute=(RxBuf[16]>>4)*10+(RxBuf[16]&0x0f);
  1136.                                         cm_n_time();
  1137.                                         segs[segno++]=114;
  1138.                                         n=((RxBuf[9]&0x0f)<<12)+((RxBuf[10]&0x0f)<<8)+((RxBuf[11]&0x0f)<<4)+((RxBuf[12]&0x0f)<<0);
  1139.                                         segno+=cm_n_yuan(n);
  1140.                                         segs[segno++]=147;
  1141.                                         n=((RxBuf[5]&0x0f)<<12)+((RxBuf[6]&0x0f)<<8)+((RxBuf[7]&0x0f)<<4)+((RxBuf[8]&0x0f)<<0);
  1142.                                         segno+=cm_n_yuan(n);
  1143.                                         break;
  1144.                                 }
  1145.                                 segno+=cm_cp(&RxBuf[17]);
  1146.                                 segs[segno++]=au_ck;
  1147.                                 segs[segno++]=136;//停車
  1148.                                 //xx天xx小時xx分
  1149.                                 day=RxBuf[13]*256+RxBuf[14];
  1150.                                 hour=RxBuf[15];
  1151.                                 minute=(RxBuf[16]>>4)*10+(RxBuf[16]&0x0f);
  1152.                                 cm_n_time();
  1153.                                 segs[segno++]=114;
  1154.                                 n=((RxBuf[9]&0x0f)<<12)+((RxBuf[10]&0x0f)<<8)+((RxBuf[11]&0x0f)<<4)+((RxBuf[12]&0x0f)<<0);
  1155.                                 segno+=cm_n_yuan(n);
  1156.                                 segs[segno++]=147;
  1157.                                 n=((RxBuf[5]&0x0f)<<12)+((RxBuf[6]&0x0f)<<8)+((RxBuf[7]&0x0f)<<4)+((RxBuf[8]&0x0f)<<0);
  1158.                                 segno+=cm_n_yuan(n);
  1159.                                 break;
  1160.                 case 0x6e://cmd_no:0x6e
  1161.                                 segs[segno++]=128;
  1162.                                 break;
  1163.         }
  1164. }
  1165.   */
  1166. void do_cmd()
  1167. {

  1168. unsigned int  data  i;
  1169. unsigned char m,k,t,g,cp,xzm,cpl,jing;
  1170. unsigned char sbs[7];
  1171. //cr=        cal_crc(rx_buf,18);
  1172. //if((rx_buf[18]==(cr>>8))&&(rx_buf[19]==(cr&0x00ff)))
  1173. //{  
  1174. //send_UART_one(0x8a);
  1175. //for(i=0;i<26;i++)
  1176. //        send_UART_one(rx_buf[i]);

  1177.          tx_bz=1;
  1178.         jsq_dg=0;
  1179.         if(rx_buf[25]==0x11) {cpl=7;jing=1;}
  1180.         if(rx_buf[25]==0x10) {cpl=7;jing=0;}
  1181.         if(rx_buf[25]==0x01) {cpl=6;jing=1;}
  1182.         if(rx_buf[25]==0x00) {cpl=6;jing=0;}
  1183. //timeH=((rx_buf[22]-0x30)*10)+(rx_buf[23]-0x30);
  1184. //timeM=((rx_buf[24]-0x30)*10)+(rx_buf[25]-0x30);
  1185. switch(rx_buf[0])
  1186. {
  1187.    case 0x30:                    // 歡迎光臨+陜RF680 可用日期            日期
  1188.       {
  1189.            jsq_dg=1;
  1190.         //         send_UART_one(0x30);
  1191.              play(102);
  1192.                  delay1ms(15);

  1193. /////////車牌

  1194.      for(i=0;i<31;i++)
  1195.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1196.               {   play(41+i);
  1197.                       delay1ms(10);
  1198.                           i=32;
  1199.               }
  1200.              }
  1201.          if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1202.          {
  1203.                   for(i=0;i<26;i++)
  1204.                 {if(rx_buf[1]==zm[i])
  1205.                  {
  1206.                    play(15+i);
  1207.                    delay1ms(10);
  1208.                    i=26;
  1209.                  }
  1210.                 }
  1211.                 for(i=0;i<26;i++)
  1212.                 {if(rx_buf[2]==zm[i])
  1213.                  {
  1214.                    play(15+i);
  1215.                    delay1ms(10);
  1216.                    i=26;
  1217.                  }
  1218.                 }
  1219.          
  1220.          }
  1221.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1222.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1223.                  for(i=0;i<10;i++)
  1224.                 {if(xzm==DIG[i])
  1225.                    { play(i);
  1226.                    delay1ms(10);
  1227.                    i=11;
  1228.                    }
  1229.                   
  1230.                  }
  1231.                 for(i=0;i<26;i++)
  1232.                 {if(xzm==zm[i])
  1233.                  {
  1234.                    play(15+i);
  1235.                    delay1ms(10);
  1236.                    i=26;
  1237.                  }
  1238.                  }

  1239.             }
  1240. /////////////車牌
  1241.         if (cpl==6)
  1242.                 {
  1243.                  m=sb_dig(rx_buf[9],rx_buf[10],rx_buf[11],rx_buf[12]);          //有效期
  1244.          t=read_sb(m,sbs,k);
  1245.                  play(106);
  1246.                  delay1ms(15);
  1247.          for(i=0;i<t;i++)
  1248.          {
  1249.            play(sbs[i]);
  1250.            delay1ms(10);
  1251.          }
  1252.          play(101);
  1253.                  delay1ms(10);
  1254.                  if((unsigned int)rx_buf[9]*1000+(unsigned int)rx_buf[10]*100+rx_buf[11]*10+rx_buf[12]<14)
  1255.                  play(125);
  1256.                  }
  1257.                  else
  1258.                  {
  1259.                  m=sb_dig(rx_buf[10],rx_buf[11],rx_buf[12],rx_buf[13]);          //有效期
  1260.          t=read_sb(m,sbs,k);
  1261.                  play(106);
  1262.                  delay1ms(15);
  1263.          for(i=0;i<t;i++)
  1264.          {
  1265.            play(sbs[i]);
  1266.            delay1ms(10);
  1267.          }
  1268.          play(101);
  1269.                  delay1ms(10);
  1270.                  if((unsigned int)rx_buf[10]*1000+(unsigned int)rx_buf[11]*100+rx_buf[12]*10+rx_buf[13]<14)         
  1271.                            play(125);
  1272.                  }
  1273.                        //請盡快延期
  1274.        break;        
  1275.            }
  1276.    case 0x31 :                 ///一路順風,可用日期

  1277.      {           jsq_dg=1;
  1278.               play(104);
  1279.                  delay1ms(15);


  1280. /////////車牌

  1281.      for(i=0;i<31;i++)
  1282.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1283.               {   play(41+i);
  1284.                       delay1ms(10);
  1285.                           i=32;
  1286.               }
  1287.              }
  1288.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1289.          {
  1290.                   for(i=0;i<26;i++)
  1291.                 {if(rx_buf[1]==zm[i])
  1292.                  {
  1293.                    play(15+i);
  1294.                    delay1ms(10);
  1295.                    i=25;
  1296.                  }
  1297.                 }
  1298.                 for(i=0;i<26;i++)
  1299.                 {if(rx_buf[2]==zm[i])
  1300.                  {
  1301.                    play(15+i);
  1302.                    delay1ms(10);
  1303.                    i=25;
  1304.                  }
  1305.                 }
  1306.          
  1307.          }
  1308.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1309.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1310.                  for(i=0;i<10;i++)
  1311.                 {if(xzm==DIG[i])
  1312.                    { play(i);
  1313.                    delay1ms(10);
  1314.                    i=11;
  1315.                    }
  1316.                   
  1317.                  }
  1318.                 for(i=0;i<26;i++)
  1319.                 {if(xzm==zm[i])
  1320.                  {
  1321.                    play(15+i);
  1322.                    delay1ms(10);
  1323.                    i=25;
  1324.                  }
  1325.                  }

  1326.             }
  1327. /////////////車牌
  1328.          if(cpl==6)
  1329.                  {
  1330.                  m=sb_dig(rx_buf[9],rx_buf[10],rx_buf[11],rx_buf[12]);          //有效期
  1331.          t=read_sb(m,sbs,k);
  1332.                  play(106);
  1333.                  delay1ms(15);
  1334.          for(i=0;i<t;i++)
  1335.          {
  1336.            play(sbs[i]);
  1337.            delay1ms(10);
  1338.          }
  1339.          play(101);
  1340.                  delay1ms(10);
  1341.                  if((unsigned int)rx_buf[9]*1000+(unsigned int)rx_buf[10]*100+rx_buf[11]*10+rx_buf[12]<14)
  1342.                       play(125);   //請盡快延期
  1343.                   }
  1344.                   else
  1345.                   {
  1346.                             m=sb_dig(rx_buf[10],rx_buf[11],rx_buf[12],rx_buf[13]);          //有效期
  1347.          t=read_sb(m,sbs,k);
  1348.                  play(106);
  1349.                  delay1ms(15);
  1350.          for(i=0;i<t;i++)
  1351.          {
  1352.            play(sbs[i]);
  1353.            delay1ms(10);
  1354.          }
  1355.          play(101);
  1356.                  delay1ms(10);
  1357.                  if((unsigned int)rx_buf[10]*1000+(unsigned int)rx_buf[11]*100+rx_buf[12]*10+rx_buf[13]<14)
  1358.                       play(125);   //請盡快延期
  1359.                   
  1360.                   }
  1361.                   break;           //一路順風+可用日期            日期
  1362.           }


  1363.    case 0x32:
  1364.    {
  1365.       jsq_dg=1;
  1366.         //         send_UART_one(0x30);
  1367.              play(102);
  1368.                  delay1ms(15);

  1369. /////////車牌

  1370.      for(i=0;i<31;i++)
  1371.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1372.               {   play(41+i);
  1373.                       delay1ms(10);
  1374.                           i=32;
  1375.               }
  1376.              }
  1377.          if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1378.          {
  1379.                   for(i=0;i<26;i++)
  1380.                 {if(rx_buf[1]==zm[i])
  1381.                  {
  1382.                    play(15+i);
  1383.                    delay1ms(10);
  1384.                    i=26;
  1385.                  }
  1386.                 }
  1387.                 for(i=0;i<26;i++)
  1388.                 {if(rx_buf[2]==zm[i])
  1389.                  {
  1390.                    play(15+i);
  1391.                    delay1ms(10);
  1392.                    i=26;
  1393.                  }
  1394.                 }
  1395.          
  1396.          }
  1397.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1398.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1399.                  for(i=0;i<10;i++)
  1400.                 {if(xzm==DIG[i])
  1401.                    { play(i);
  1402.                    delay1ms(10);
  1403.                    i=11;
  1404.                    }
  1405.                   
  1406.                  }
  1407.                 for(i=0;i<26;i++)
  1408.                 {if(xzm==zm[i])
  1409.                  {
  1410.                    play(15+i);
  1411.                    delay1ms(10);
  1412.                    i=26;
  1413.                  }
  1414.                  }

  1415.             }
  1416.         
  1417. /////////////車牌
  1418.          if(cpl==6)
  1419.                  {
  1420.                  m=sb_dig(0,rx_buf[9],rx_buf[10],rx_buf[11]);          //余額
  1421.          t=read_sb(m,sbs,k);
  1422.                  play(148);

  1423.                  delay1ms(15);
  1424.          for(i=0;i<t;i++)
  1425.          {
  1426.            play(sbs[i]);
  1427.            delay1ms(10);
  1428.          }
  1429.          play(14);
  1430.                   delay1ms(10);
  1431.              play(rx_buf[13]);
  1432.                   delay1ms(10);
  1433.          play(rx_buf[14]);
  1434.                  delay1ms(10);
  1435.          play(99);
  1436.                  delay1ms(10);
  1437.                  if((unsigned int)rx_buf[9]*1000+(unsigned int)rx_buf[10]*100+rx_buf[11]*10+rx_buf[12]<14)
  1438.                       play(125);   //請盡快延期
  1439.                   }
  1440.                   else
  1441.                   {
  1442.                            m=sb_dig(0,rx_buf[10],rx_buf[11],rx_buf[12]);          //余額
  1443.          t=read_sb(m,sbs,k);
  1444.                  play(148);
  1445.                  delay1ms(15);
  1446.          for(i=0;i<t;i++)
  1447.          {
  1448.            play(sbs[i]);
  1449.            delay1ms(10);
  1450.          }
  1451.          play(14);
  1452.                   delay1ms(10);
  1453.              play(rx_buf[14]);
  1454.                   delay1ms(10);
  1455.          play(rx_buf[15]);
  1456.                  delay1ms(10);                  
  1457.          play(99);
  1458.                  delay1ms(10);
  1459.                  if((unsigned int)rx_buf[10]*1000+(unsigned int)rx_buf[11]*100+rx_buf[12]*10+rx_buf[13]<14)
  1460.                       play(125);   //請盡快延期
  1461.                   
  1462.                   }
  1463.        break;

  1464.    }        

  1465. case 0x33:
  1466.    {
  1467.       jsq_dg=1;
  1468.         //         send_UART_one(0x30);
  1469.              play(104);
  1470.                  delay1ms(15);

  1471. /////////車牌

  1472.      for(i=0;i<31;i++)
  1473.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1474.               {   play(41+i);
  1475.                       delay1ms(10);
  1476.                           i=32;
  1477.               }
  1478.              }
  1479.          if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1480.          {
  1481.                   for(i=0;i<26;i++)
  1482.                 {if(rx_buf[1]==zm[i])
  1483.                  {
  1484.                    play(15+i);
  1485.                    delay1ms(10);
  1486.                    i=26;
  1487.                  }
  1488.                 }
  1489.                 for(i=0;i<26;i++)
  1490.                 {if(rx_buf[2]==zm[i])
  1491.                  {
  1492.                    play(15+i);
  1493.                    delay1ms(10);
  1494.                    i=26;
  1495.                  }
  1496.                 }
  1497.          
  1498.          }
  1499.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1500.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1501.                  for(i=0;i<10;i++)
  1502.                 {if(xzm==DIG[i])
  1503.                    { play(i);
  1504.                    delay1ms(10);
  1505.                    i=11;
  1506.                    }
  1507.                   
  1508.                  }
  1509.                 for(i=0;i<26;i++)
  1510.                 {if(xzm==zm[i])
  1511.                  {
  1512.                    play(15+i);
  1513.                    delay1ms(10);
  1514.                    i=26;
  1515.                  }
  1516.                  }

  1517.             }
  1518. /////////////車牌  //xx xx XX XX 停   xxx時 xxx.xx   元余xxx.00元
  1519.          if(cpl==6)
  1520.                  {

  1521.                  m=sb_dig(0,rx_buf[9],rx_buf[10],rx_buf[11]);          //小時
  1522.          t=read_sb(m,sbs,k);
  1523.                  play(136);
  1524.                  delay1ms(15);
  1525.          for(i=0;i<t;i++)
  1526.          {
  1527.            play(sbs[i]);
  1528.            delay1ms(10);
  1529.          }
  1530.                   play(137);
  1531.                   delay1ms(10);
  1532.                  ////本次扣xxx
  1533.                   m=sb_dig(0,rx_buf[12],rx_buf[13],rx_buf[14]);          //
  1534.                  t=read_sb(m,sbs,k);
  1535.                  play(114);
  1536.                  delay1ms(15);
  1537.          for(i=0;i<t;i++)
  1538.          {
  1539.            play(sbs[i]);
  1540.            delay1ms(10);
  1541.          }
  1542.                   play(14);
  1543.                   delay1ms(10);
  1544.              play(rx_buf[16]);
  1545.                   delay1ms(10);
  1546.          play(rx_buf[17]);
  1547.                   delay1ms(10);
  1548.          play(99);
  1549.                    delay1ms(10);
  1550.                  if((unsigned int)rx_buf[18]*100+(unsigned int)rx_buf[19]*10+rx_buf[20]<14)
  1551.                       play(125);   //請盡快延期
  1552.                   }
  1553.           else
  1554.                   {
  1555.                             m=sb_dig(0,rx_buf[10],rx_buf[11],rx_buf[12]);          //小時
  1556.          t=read_sb(m,sbs,k);
  1557.                  play(136);
  1558.                  delay1ms(15);
  1559.          for(i=0;i<t;i++)
  1560.          {
  1561.            play(sbs[i]);
  1562.            delay1ms(10);
  1563.          }

  1564.          play(137);
  1565.                  delay1ms(10);
  1566.                  ////本次扣xxx
  1567.                   m=sb_dig(0,rx_buf[13],rx_buf[14],rx_buf[15]);          //
  1568.                  t=read_sb(m,sbs,k);
  1569.                  play(114);
  1570.                  delay1ms(15);
  1571.          for(i=0;i<t;i++)
  1572.          {
  1573.            play(sbs[i]);
  1574.            delay1ms(10);
  1575.          }
  1576.                   play(14);
  1577.                   delay1ms(10);
  1578.              play(rx_buf[17]);
  1579.                   delay1ms(10);
  1580.          play(rx_buf[18]);
  1581.                   delay1ms(10);
  1582.          play(99);
  1583.                  delay1ms(10);

  1584.                  if((unsigned int)rx_buf[19]*100+(unsigned int)rx_buf[20]*10+rx_buf[21]<14)
  1585.                       play(125);   //請盡快延期
  1586.                   
  1587.                   }
  1588.        break;

  1589.    }        

  1590.    case 0x34:                   /// ///陜aaa111 同等車在場 現(xiàn)轉(zhuǎn)為時祖車入場
  1591.       {   jsq_dg=1;
  1592.            for(i=0;i<31;i++)
  1593.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1594.               {   play(41+i);
  1595.                       delay1ms(10);
  1596.                           i=32;
  1597.               }
  1598.              }
  1599.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1600.          {
  1601.                   for(i=0;i<26;i++)
  1602.                 {if(rx_buf[1]==zm[i])
  1603.                  {
  1604.                    play(15+i);
  1605.                    delay1ms(10);
  1606.                    i=25;
  1607.                  }
  1608.                 }
  1609.                 for(i=0;i<26;i++)
  1610.                 {if(rx_buf[2]==zm[i])
  1611.                  {
  1612.                    play(15+i);
  1613.                    delay1ms(10);
  1614.                    i=25;
  1615.                  }
  1616.                 }
  1617.          
  1618.          }
  1619.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1620.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1621.                  for(i=0;i<10;i++)
  1622.                 {if(xzm==DIG[i])
  1623.                    { play(i);
  1624.                    delay1ms(10);
  1625.                    i=11;
  1626.                    }
  1627.                   
  1628.                  }
  1629.                 for(i=0;i<26;i++)
  1630.                 {if(xzm==zm[i])
  1631.                  {
  1632.                    play(15+i);
  1633.                    delay1ms(10);
  1634.                    i=25;
  1635.                  }
  1636.                  }

  1637.             }
  1638. /////////////車牌
  1639.          
  1640.           play(110);
  1641.           delay1ms(15);
  1642.       play(173);
  1643.           delay1ms(15);
  1644.       play(172);

  1645.            
  1646.             break;        
  1647.                  }  
  1648.    case 0x35:
  1649.     {   jsq_dg=1;
  1650.            for(i=0;i<31;i++)
  1651.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1652.               {   play(41+i);
  1653.                       delay1ms(10);
  1654.                           i=32;
  1655.               }
  1656.              }
  1657.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1658.          {
  1659.                   for(i=0;i<26;i++)
  1660.                 {if(rx_buf[1]==zm[i])
  1661.                  {
  1662.                    play(15+i);
  1663.                    delay1ms(10);
  1664.                    i=25;
  1665.                  }
  1666.                 }
  1667.                 for(i=0;i<26;i++)
  1668.                 {if(rx_buf[2]==zm[i])
  1669.                  {
  1670.                    play(15+i);
  1671.                    delay1ms(10);
  1672.                    i=25;
  1673.                  }
  1674.                 }
  1675.          
  1676.          }
  1677.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1678.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1679.                  for(i=0;i<10;i++)
  1680.                 {if(xzm==DIG[i])
  1681.                    { play(i);
  1682.                    delay1ms(10);
  1683.                    i=11;
  1684.                    }
  1685.                   
  1686.                  }
  1687.                 for(i=0;i<26;i++)
  1688.                 {if(xzm==zm[i])
  1689.                  {
  1690.                    play(15+i);
  1691.                    delay1ms(10);
  1692.                    i=25;
  1693.                  }
  1694.                  }

  1695.             }
  1696. /////////////車牌
  1697.          
  1698.           play(110);
  1699.           delay1ms(15);
  1700.       play(119);
  1701.          

  1702.            
  1703.             break;        
  1704.                  }  

  1705.    case 0x37://///車位已滿  不能進入
  1706.                 play(120);
  1707.                 delay1ms(15);
  1708.                  play(120);
  1709.        break;
  1710.    case 0x38:  /// ///臨時,停車    分鐘,請交 交  元 陜aaa000停車0123日01時01分交0123元

  1711.                         jsq_dg=2;
  1712.                  if(cpl==6)
  1713.                  {
  1714.             m=sb_dig(rx_buf[9],rx_buf[10],rx_buf[11],rx_buf[12]);
  1715.          t=read_sb(m,sbs,k);
  1716.                }
  1717.                  else
  1718.                  {
  1719.                  m=sb_dig(rx_buf[10],rx_buf[11],rx_buf[12],rx_buf[13]);
  1720.          t=read_sb(m,sbs,k);
  1721.                  }
  1722.                  ////////////////////        車牌

  1723.                 for(i=0;i<31;i++)
  1724.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1725.               {   play(41+i);
  1726.                       delay1ms(10);
  1727.               }
  1728.              }
  1729.              if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1730.              {
  1731.                            for(i=0;i<26;i++)
  1732.                          {if(rx_buf[1]==zm[i])
  1733.                            {
  1734.                              play(15+i);
  1735.                              delay1ms(10);
  1736.                              i=25;
  1737.                            }
  1738.                          }
  1739.                          for(i=0;i<26;i++)
  1740.                          {if(rx_buf[2]==zm[i])
  1741.                            {
  1742.                            play(15+i);
  1743.                            delay1ms(10);
  1744.                            i=25;
  1745.                            }
  1746.                          }
  1747.              }
  1748.          
  1749.          for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1750.              {
  1751.                    xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1752.                for(i=0;i<10;i++)
  1753.                     {
  1754.                          if(xzm==DIG[i])
  1755.                      { play(i);
  1756.                        delay1ms(10);
  1757.                      }
  1758.                     }
  1759.                    for(i=0;i<26;i++)
  1760.                    {
  1761.                      if(xzm==zm[i])
  1762.                      {
  1763.                        play(15+i);
  1764.                        delay1ms(10);
  1765.                      }
  1766.                    }

  1767.              }


  1768.                  ///////////////////////
  1769.                  play(136);
  1770.          delay1ms(10);
  1771.           for(i=0;i<t;i++)
  1772.          {
  1773.            play(sbs[i]);
  1774.            delay1ms(10);
  1775.         }
  1776.                  if(i>0)
  1777.                  {
  1778.                  play(131);
  1779.                  delay1ms(10);
  1780.                   }
  1781.                   if(cpl==6)
  1782.                   {
  1783.                          m=sb_dig(0,0,rx_buf[13],rx_buf[14]);
  1784.                  }
  1785.                  else
  1786.                          m=sb_dig(0,0,rx_buf[14],rx_buf[15]);
  1787.          g=read_sb(m,sbs,k);
  1788.                   for(i=0;i<g;i++)
  1789.          {
  1790.            play(sbs[i]);
  1791.            delay1ms(10);
  1792.          }
  1793.              if(i>0)
  1794.                  {
  1795.                   play(137);
  1796.                   delay1ms(10);
  1797.                   }
  1798.                   if(cpl==6)  m=sb_dig(0,0,rx_buf[15],rx_buf[16]);
  1799.                   else m=sb_dig(0,0,rx_buf[16],rx_buf[17]);
  1800.          g=read_sb(m,sbs,k);
  1801.                   for(i=0;i<g;i++)
  1802.          {
  1803.            play(sbs[i]);
  1804.            delay1ms(10);
  1805.          }
  1806.                   if(i>0)
  1807.                  {
  1808.           play(138);
  1809.                   delay1ms(10);
  1810.                   }
  1811.          play(114);
  1812.                  delay1ms(10);
  1813.                  if(cpl==6)         m=sb_dig(rx_buf[17],rx_buf[18],rx_buf[19],rx_buf[20]);
  1814.                  else m=sb_dig(rx_buf[18],rx_buf[19],rx_buf[20],rx_buf[21]);
  1815.          t=read_sb(m,sbs,k);
  1816.          for(i=0;i<t;i++)
  1817.          {
  1818.            play(sbs[i]);
  1819.            delay1ms(10);
  1820.          }
  1821.          play(99);

  1822.       break;
  1823.    case 0x39:           /////陜aaa000 時租車 ,歡迎入場
  1824.       {                jsq_dg=1;
  1825.                         for(i=0;i<31;i++)
  1826.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1827.               {   play(41+i);
  1828.                       delay1ms(10);
  1829.               }
  1830.              }
  1831.              if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1832.              {
  1833.                            for(i=0;i<26;i++)
  1834.                          {if(rx_buf[1]==zm[i])
  1835.                            {
  1836.                              play(15+i);
  1837.                              delay1ms(10);
  1838.                              i=25;
  1839.                            }
  1840.                          }
  1841.                          for(i=0;i<26;i++)
  1842.                          {if(rx_buf[2]==zm[i])
  1843.                            {
  1844.                            play(15+i);
  1845.                            delay1ms(10);
  1846.                            i=25;
  1847.                            }
  1848.                          }
  1849.              }
  1850.          
  1851.          for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1852.              {
  1853.                    xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1854.                for(i=0;i<10;i++)
  1855.                     {
  1856.                          if(xzm==DIG[i])
  1857.                      { play(i);
  1858.                        delay1ms(10);
  1859.                      }
  1860.                     }
  1861.                    for(i=0;i<26;i++)
  1862.                    {
  1863.                      if(xzm==zm[i])
  1864.                      {
  1865.                        play(15+i);
  1866.                        delay1ms(10);
  1867.                      }
  1868.                    }

  1869.              }
  1870.             play(173);
  1871.                 delay1ms(15);
  1872.             play(172);
  1873.             break;
  1874.           }
  1875.    case 0x3c:         //此余額不足。轉(zhuǎn)入臨時車入場
  1876.    {
  1877.             ////////車牌
  1878.            jsq_dg=1;
  1879.      for(i=0;i<31;i++)
  1880.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1881.               {   play(41+i);
  1882.                       delay1ms(10);
  1883.                           i=32;
  1884.               }
  1885.              }
  1886.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1887.          {
  1888.                   for(i=0;i<26;i++)
  1889.                 {if(rx_buf[1]==zm[i])
  1890.                  {
  1891.                    play(15+i);
  1892.                    delay1ms(10);
  1893.                    i=25;
  1894.                  }
  1895.                 }
  1896.                 for(i=0;i<26;i++)
  1897.                 {if(rx_buf[2]==zm[i])
  1898.                  {
  1899.                    play(15+i);
  1900.                    delay1ms(10);
  1901.                    i=25;
  1902.                  }
  1903.                 }
  1904.          
  1905.          }
  1906.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1907.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1908.                  for(i=0;i<10;i++)
  1909.                 {if(xzm==DIG[i])
  1910.                    { play(i);
  1911.                    delay1ms(10);
  1912.                    i=11;
  1913.                    }
  1914.                   
  1915.                  }
  1916.                 for(i=0;i<26;i++)
  1917.                 {if(xzm==zm[i])
  1918.                  {
  1919.                    play(15+i);
  1920.                    delay1ms(10);
  1921.                    i=25;
  1922.                  }
  1923.                  }

  1924.             }
  1925. /////////////車牌
  1926.           delay1ms(15);
  1927.       play(107);

  1928.           delay1ms(15);
  1929.       play(173);
  1930.           delay1ms(15);
  1931.       play(172);

  1932.      break;
  1933.    }
  1934.    case 0x3d:                  // 陜aaa111 此車已過期 現(xiàn)轉(zhuǎn)為時祖車入場 //
  1935.    {
  1936.    ////////車牌
  1937.            jsq_dg=1;
  1938.      for(i=0;i<31;i++)
  1939.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1940.               {   play(41+i);
  1941.                       delay1ms(10);
  1942.                           i=32;
  1943.               }
  1944.              }
  1945.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  1946.          {
  1947.                   for(i=0;i<26;i++)
  1948.                 {if(rx_buf[1]==zm[i])
  1949.                  {
  1950.                    play(15+i);
  1951.                    delay1ms(10);
  1952.                    i=25;
  1953.                  }
  1954.                 }
  1955.                 for(i=0;i<26;i++)
  1956.                 {if(rx_buf[2]==zm[i])
  1957.                  {
  1958.                    play(15+i);
  1959.                    delay1ms(10);
  1960.                    i=25;
  1961.                  }
  1962.                 }
  1963.          
  1964.          }
  1965.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  1966.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  1967.                  for(i=0;i<10;i++)
  1968.                 {if(xzm==DIG[i])
  1969.                    { play(i);
  1970.                    delay1ms(10);
  1971.                    i=11;
  1972.                    }
  1973.                   
  1974.                  }
  1975.                 for(i=0;i<26;i++)
  1976.                 {if(xzm==zm[i])
  1977.                  {
  1978.                    play(15+i);
  1979.                    delay1ms(10);
  1980.                    i=25;
  1981.                  }
  1982.                  }

  1983.             }
  1984. /////////////車牌
  1985.           delay1ms(15);
  1986.       play(108);

  1987.           delay1ms(15);
  1988.       play(173);
  1989.           delay1ms(15);
  1990.       play(172);

  1991.      break;
  1992.    }
  1993.   case 0x41:                // 陜aaa111 此車已過期 系統(tǒng)禁止入場 //
  1994.   {
  1995.               ////////車牌
  1996.            jsq_dg=1;
  1997.      for(i=0;i<31;i++)
  1998.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  1999.               {   play(41+i);
  2000.                       delay1ms(10);
  2001.                           i=32;
  2002.               }
  2003.              }
  2004.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  2005.          {
  2006.                   for(i=0;i<26;i++)
  2007.                 {if(rx_buf[1]==zm[i])
  2008.                  {
  2009.                    play(15+i);
  2010.                    delay1ms(10);
  2011.                    i=25;
  2012.                  }
  2013.                 }
  2014.                 for(i=0;i<26;i++)
  2015.                 {if(rx_buf[2]==zm[i])
  2016.                  {
  2017.                    play(15+i);
  2018.                    delay1ms(10);
  2019.                    i=25;
  2020.                  }
  2021.                 }
  2022.          
  2023.          }
  2024.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  2025.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  2026.                  for(i=0;i<10;i++)
  2027.                 {if(xzm==DIG[i])
  2028.                    { play(i);
  2029.                    delay1ms(10);
  2030.                    i=11;
  2031.                    }
  2032.                   
  2033.                  }
  2034.                 for(i=0;i<26;i++)
  2035.                 {if(xzm==zm[i])
  2036.                  {
  2037.                    play(15+i);
  2038.                    delay1ms(10);
  2039.                    i=25;
  2040.                  }
  2041.                  }

  2042.             }
  2043. /////////////車牌
  2044.           delay1ms(15);
  2045.       play(108);

  2046.           delay1ms(15);
  2047.       play(119);
  2048.          

  2049.      break;

  2050.   }
  2051.   case 0x44: //支付成功,請通行
  2052.                     ////////車牌
  2053.            jsq_dg=1;
  2054.      for(i=0;i<31;i++)
  2055.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  2056.               {   play(41+i);
  2057.                       delay1ms(10);
  2058.                           i=32;
  2059.               }
  2060.              }
  2061.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  2062.          {
  2063.                   for(i=0;i<26;i++)
  2064.                 {if(rx_buf[1]==zm[i])
  2065.                  {
  2066.                    play(15+i);
  2067.                    delay1ms(10);
  2068.                    i=25;
  2069.                  }
  2070.                 }
  2071.                 for(i=0;i<26;i++)
  2072.                 {if(rx_buf[2]==zm[i])
  2073.                  {
  2074.                    play(15+i);
  2075.                    delay1ms(10);
  2076.                    i=25;
  2077.                  }
  2078.                 }
  2079.          
  2080.          }
  2081.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  2082.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  2083.                  for(i=0;i<10;i++)
  2084.                 {if(xzm==DIG[i])
  2085.                    { play(i);
  2086.                    delay1ms(10);
  2087.                    i=11;
  2088.                    }
  2089.                   
  2090.                  }
  2091.                 for(i=0;i<26;i++)
  2092.                 {if(xzm==zm[i])
  2093.                  {
  2094.                    play(15+i);
  2095.                    delay1ms(10);
  2096.                    i=25;
  2097.                  }
  2098.                  }

  2099.             }
  2100.                   play(172);
  2101. /////////////車牌
  2102.      break;
  2103.    case 0x45:        //         陜xxxxx 金額不足,請    元

  2104.                       jsq_dg=1;
  2105.      for(i=0;i<31;i++)
  2106.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  2107.               {   play(41+i);
  2108.                       delay1ms(10);
  2109.                           i=32;
  2110.               }
  2111.              }
  2112.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  2113.          {
  2114.                   for(i=0;i<26;i++)
  2115.                 {if(rx_buf[1]==zm[i])
  2116.                  {
  2117.                    play(15+i);
  2118.                    delay1ms(10);
  2119.                    i=25;
  2120.                  }
  2121.                 }
  2122.                 for(i=0;i<26;i++)
  2123.                 {if(rx_buf[2]==zm[i])
  2124.                  {
  2125.                    play(15+i);
  2126.                    delay1ms(10);
  2127.                    i=25;
  2128.                  }
  2129.                 }
  2130.          
  2131.          }
  2132.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  2133.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  2134.                  for(i=0;i<10;i++)
  2135.                 {if(xzm==DIG[i])
  2136.                    { play(i);
  2137.                    delay1ms(10);
  2138.                    i=11;
  2139.                    }
  2140.                   
  2141.                  }
  2142.                 for(i=0;i<26;i++)
  2143.                 {if(xzm==zm[i])
  2144.                  {
  2145.                    play(15+i);
  2146.                    delay1ms(10);
  2147.                    i=25;
  2148.                  }
  2149.                  }

  2150.             }
  2151.                 play(107);
  2152.             delay1ms(15);
  2153.             play(115);
  2154.             delay1ms(15);

  2155.                 // if(cpl==6)         m=sb_dig(rx_buf[17],rx_buf[18],rx_buf[19],rx_buf[20]);
  2156.                  //else
  2157.                   m=sb_dig(rx_buf[18],rx_buf[19],rx_buf[20],rx_buf[21]);
  2158.          t=read_sb(m,sbs,k);
  2159.          for(i=0;i<t;i++)
  2160.          {
  2161.            play(sbs[i]);
  2162.            delay1ms(10);
  2163.          }
  2164.          play(99);
  2165.      break;
  2166.    case 0x4b:                                // 陜aaa111 現(xiàn)在時租車輛 暫時不能通行 //
  2167.    {
  2168.      ////////車牌
  2169.            jsq_dg=1;
  2170.      for(i=0;i<31;i++)
  2171.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  2172.               {   play(41+i);
  2173.                       delay1ms(10);
  2174.                           i=32;
  2175.               }
  2176.              }
  2177.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  2178.          {
  2179.                   for(i=0;i<26;i++)
  2180.                 {if(rx_buf[1]==zm[i])
  2181.                  {
  2182.                    play(15+i);
  2183.                    delay1ms(10);
  2184.                    i=25;
  2185.                  }
  2186.                 }
  2187.                 for(i=0;i<26;i++)
  2188.                 {if(rx_buf[2]==zm[i])
  2189.                  {
  2190.                    play(15+i);
  2191.                    delay1ms(10);
  2192.                    i=25;
  2193.                  }
  2194.                 }
  2195.          
  2196.          }
  2197.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  2198.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  2199.                  for(i=0;i<10;i++)
  2200.                 {if(xzm==DIG[i])
  2201.                    { play(i);
  2202.                    delay1ms(10);
  2203.                    i=11;
  2204.                    }
  2205.                   
  2206.                  }
  2207.                 for(i=0;i<26;i++)
  2208.                 {if(xzm==zm[i])
  2209.                  {
  2210.                    play(15+i);
  2211.                    delay1ms(10);
  2212.                    i=25;
  2213.                  }
  2214.                  }

  2215.             }
  2216. /////////////車牌
  2217.           delay1ms(15);
  2218.       play(178);

  2219.           delay1ms(15);
  2220.       play(119);
  2221.          

  2222.      break;

  2223.    }
  2224.    /*
  2225.    case 0x43: //         //剩余車位數(shù)    7
  2226.    {
  2227.                     play(157);
  2228.          delay1ms(15);
  2229.                  m=sb_dig(rx_buf[1],rx_buf[2],rx_buf[3],rx_buf[4]);
  2230.          t=read_sb(m,sbs,k);
  2231.          for(i=0;i<t;i++)
  2232.          {
  2233.            play(sbs[i]); //         防
  2234.            delay1ms(10);
  2235.          }
  2236.                  break;
  2237.    }
  2238.         */
  2239.   case 0x4d:        //陜aaa111 此門未授權(quán) ,不得進入
  2240.                                 jsq_dg=1;
  2241.                  for(i=0;i<31;i++)
  2242.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  2243.               {   play(41+i);
  2244.                       delay1ms(10);
  2245.                           i=32;
  2246.               }
  2247.              }
  2248.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  2249.          {
  2250.                   for(i=0;i<26;i++)
  2251.                 {if(rx_buf[1]==zm[i])
  2252.                  {
  2253.                    play(15+i);
  2254.                    delay1ms(10);
  2255.                    i=25;
  2256.                  }
  2257.                 }
  2258.                 for(i=0;i<26;i++)
  2259.                 {if(rx_buf[2]==zm[i])
  2260.                  {
  2261.                    play(15+i);
  2262.                    delay1ms(10);
  2263.                    i=25;
  2264.                  }
  2265.                 }
  2266.          
  2267.          }
  2268.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  2269.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  2270.                  for(i=0;i<10;i++)
  2271.                 {if(xzm==DIG[i])
  2272.                    { play(i);
  2273.                    delay1ms(10);
  2274.                    i=11;
  2275.                    }
  2276.                   
  2277.                  }
  2278.                 for(i=0;i<26;i++)
  2279.                 {if(xzm==zm[i])
  2280.                  {
  2281.                    play(15+i);
  2282.                    delay1ms(10);
  2283.                    i=25;
  2284.                  }
  2285.                  }

  2286.             }
  2287. /////////////車牌
  2288.      delay1ms(10);
  2289.              play(113);


  2290.     break;

  2291.   case 0x4c:         //  //陜aaa111 此門未授權(quán) 現(xiàn)轉(zhuǎn)為時祖車入場 //
  2292.             
  2293.                 jsq_dg=1;
  2294.                  for(i=0;i<31;i++)
  2295.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  2296.               {   play(41+i);
  2297.                       delay1ms(10);
  2298.                           i=32;
  2299.               }
  2300.              }
  2301.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  2302.          {
  2303.                   for(i=0;i<26;i++)
  2304.                 {if(rx_buf[1]==zm[i])
  2305.                  {
  2306.                    play(15+i);
  2307.                    delay1ms(10);
  2308.                    i=25;
  2309.                  }
  2310.                 }
  2311.                 for(i=0;i<26;i++)
  2312.                 {if(rx_buf[2]==zm[i])
  2313.                  {
  2314.                    play(15+i);
  2315.                    delay1ms(10);
  2316.                    i=25;
  2317.                  }
  2318.                 }
  2319.          
  2320.          }
  2321.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  2322.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  2323.                  for(i=0;i<10;i++)
  2324.                 {if(xzm==DIG[i])
  2325.                    { play(i);
  2326.                    delay1ms(10);
  2327.                    i=11;
  2328.                    }
  2329.                   
  2330.                  }
  2331.                 for(i=0;i<26;i++)
  2332.                 {if(xzm==zm[i])
  2333.                  {
  2334.                    play(15+i);
  2335.                    delay1ms(10);
  2336.                    i=25;
  2337.                  }
  2338.                  }

  2339.             }
  2340. /////////////車牌
  2341.      delay1ms(10);
  2342.              play(113);
  2343.          delay1ms(10);
  2344.              play(173);
  2345.          delay1ms(10);
  2346.              play(172);

  2347.     break;
  2348.   case 0x49://  //// 陜aaa000,與入場車牌不符,請重新識別
  2349.     ////////車牌

  2350.      for(i=0;i<31;i++)
  2351.              {if((rx_buf[1]==(unsigned char)(sheng_n[i]>>8))&& (rx_buf[2]==(unsigned char)(sheng_n[i]&0x00ff)))                          //2 3
  2352.               {   play(41+i);
  2353.                       delay1ms(10);
  2354.                           i=32;
  2355.               }
  2356.              }
  2357.           if((rx_buf[1]>0x40)&&(rx_buf[1]<0x5b)&&(rx_buf[2]>0x40)&&(rx_buf[2]<0x5b))                 ////車
  2358.          {
  2359.                   for(i=0;i<26;i++)
  2360.                 {if(rx_buf[1]==zm[i])
  2361.                  {
  2362.                    play(15+i);
  2363.                    delay1ms(10);
  2364.                    i=25;
  2365.                  }
  2366.                 }
  2367.                 for(i=0;i<26;i++)
  2368.                 {if(rx_buf[2]==zm[i])
  2369.                  {
  2370.                    play(15+i);
  2371.                    delay1ms(10);
  2372.                    i=25;
  2373.                  }
  2374.                 }
  2375.          
  2376.          }
  2377.      for(cp=0;cp<cpl;cp++)                          ///hz 16 zm asc cw 16
  2378.            { xzm=rx_buf[3+cp];                   ///xzm=rx_buf[4+cp];
  2379.                  for(i=0;i<10;i++)
  2380.                 {if(xzm==DIG[i])
  2381.                    { play(i);
  2382.                    delay1ms(10);
  2383.                    i=11;
  2384.                    }
  2385.                   
  2386.                  }
  2387.                 for(i=0;i<26;i++)
  2388.                 {if(xzm==zm[i])
  2389.                  {
  2390.                    play(15+i);
  2391.                    delay1ms(10);
  2392.                    i=25;
  2393.                  }
  2394.                  }

  2395.             }
  2396. /////////////車牌
  2397.           delay1ms(10);
  2398.           play(162);
  2399.           delay1ms(10);
  2400.           play(128);
  2401.     break;


  2402.    default:
  2403.     break;
  2404. //  }
  2405. }
  2406. tx_bz=0;

  2407. }


  2408. void UART_one_Interrupt_Receive(void) interrupt 4
  2409. {

  2410.     if(RI==1)
  2411.     {
  2412.       RI  =   0;
  2413.          // send_UART_two(0x3a);
  2414.      if(rx_bz1==1)
  2415.                  { rx_buf1[rx_count1]=SBUF;
  2416.                    rx_count1++;
  2417.                    if(rx_count1==5)
  2418.                    {
  2419.                         rx_bz1=0;
  2420.                           rx_count1=0;
  2421.                           if(ic_bz==0)  icwrite();

  2422.                         
  2423.                    }
  2424.                   }
  2425.          if((SBUF==0x3c)&&(rx_bz1==0)) {rx_count1=0;rx_bz1=1;}
  2426.     }
  2427.     else
  2428.     {
  2429.         TI  =  0;
  2430.     }
  2431. }




  2432. void UART_two_Interrupt_Receive(void) interrupt 8
  2433. {
  2434. //    unsigned char   k   =   0;
  2435.     rx1_bz = S2CON ;
  2436.     rx1_bz = rx1_bz & 0x01;
  2437.     //if(S2RI==1)
  2438.     if(rx1_bz==1)
  2439.     { // rx_ct=0;

  2440.             //RI  =   0;
  2441.        S2CON = S2CON & 0xFE; //1111,1110
  2442.       // S2_Interrupt_Receive_Led = 0;

  2443.           if(rx_bz==1)
  2444.                  { rx_buf[rx_count]=S2BUF;
  2445.                    rx_count++;
  2446.                   
  2447.                    if(rx_count==26)
  2448.                    {
  2449.                         rx_bz=0;
  2450.                         rx_count=0;
  2451.                          //  if(tx_bz==0)
  2452.                          //  {
  2453.                          tx_bz=1;
  2454.                                if((rx_buf[0]<0x55) && (rx_buf[0]>0x2f) )do_cmd();
  2455.                          //  }
  2456.                     
  2457.                         rx_bz=0;
  2458.                         tx_bz=0;
  2459.                    }
  2460.                   }
  2461.          if((S2BUF==0x8a)&&(rx_bz==0)) {rx_count=0;rx_bz=1;}
  2462.         // if(rx_ct>5000) {rx_ct=0;rx_count=0;}
  2463.     }
  2464.     else
  2465.     {
  2466.         //TI  =  0;
  2467.        S2CON = S2CON & 0xFD; //1111,1101
  2468.     }
  2469. }



  2470. //#define T1MS (65536-FOSC/12/1000) //12T模式

  2471.                    //Auxiliary register


  2472. //-----------------------------------------------

  2473. /* Timer0 interrupt routine */
  2474. void tm0_isr() interrupt 1 using 1                 ////控制補光燈
  2475. {

  2476.     TL0 = T1MS;                     //reload timer0 low byte
  2477.     TH0 = T1MS >> 8;                //reload timer0 high byte
  2478.     if (count-- == 0)               //1ms * 1000 -> 1s
  2479.     {
  2480.       count=1000;
  2481.           timeS++;
  2482.           if(timeS==60)
  2483.             {timeM++;timeS=0;
  2484.                   if(timeM==60)
  2485.                   {timeH++;
  2486.                     timeM=0;
  2487.                         timeS=0;
  2488.                         if(timeH==24)
  2489.                         {timeH=0;
  2490.                          timeM=0;
  2491.                          timeS=0;
  2492.                          }
  2493.                   }
  2494.                  }
  2495.     }   
  2496. }

  2497. main()
  2498. { unsigned char i;
  2499.   ii=0;                 
  2500.   tx_bz=0;
  2501.   ic_bz=0;
  2502.   card[0]=0x00;
  2503.   card[1]=0x00;
  2504.   card[2]=0x00;
  2505.   serial_port_one_initial();
  2506.   serial_port_two_initial();
  2507.   ////////////////////

  2508.         count = 1000;

  2509. //   AUXR |= 0x80;                   //定時器0為1T模式
  2510. //  AUXR &= 0x7f;                   //定時器0為12T模式

  2511. //   TMOD = 0x01;                    //設置定時器為模式0(16位自動重裝載)
  2512. //   TL0 = T1MS;                     //初始化計時值
  2513. //   TH0 = T1MS >> 8;
  2514. //   TR0 = 1;                        //定時器0開始計時
  2515. //   ET0 = 1;                        //使能定時器0中斷
  2516. //   EA = 1;
  2517.         
  2518.     timeH=7;
  2519.         timeM=30;
  2520.   play(0xe7);

  2521.   //LED=1;
  2522. while(1)
  2523. {  LED=~LED;
  2524. if((timeH==7) && (timeM==20)) OPEN=0;
  2525. if((timeH==17) && (timeM==40)) OPEN=1;                           
  2526.   //send_UART_two(0x3a);
  2527. if(DG==0)
  2528. {
  2529.    jsq_k=0;
  2530.    DGZT=1;

  2531.    if(jsq_dg==1)  //過閘
  2532.    {
  2533.               send_UART_two(0x3c);
  2534.        for(i=0;i<4;i++)    send_UART_two('O');
  2535.        send_UART_two(0x3d);
  2536.            jsq_dg=0;
  2537.    }
  2538.    if(jsq_dg==2)   ////出車,有效
  2539.    {
  2540.               send_UART_two(0x3C);
  2541.        for(i=0;i<4;i++)    send_UART_two('1');
  2542.        send_UART_two(0x3D);
  2543.            jsq_dg=0;
  2544.    }

  2545. }
  2546. if((DG==1)&&(DGZT==1))
  2547. {
  2548.        DGZT=0;
  2549.            jsq_dg=0;
  2550.              CLOSE=1;
  2551.            delay1ms(100);
  2552.            CLOSE=0;
  2553.              CLOSE=1;
  2554.            delay1ms(100);
  2555.            CLOSE=0;

  2556. }
  2557. if((DG==1)&&(DGZT==0)&&(jsq_dg==1))
  2558. {

  2559.      jsq_k++;
  2560.           if(jsq_k>1000)
  2561.           {        jsq_k=0;
  2562.            CLOSE=1;
  2563.            delay1ms(100);
  2564.            CLOSE=0;
  2565.            CLOSE=1;
  2566.            delay1ms(100);
  2567.            CLOSE=0;
  2568.            jsq_dg=0;
  2569.      }
  2570. }
  2571.                         
  2572. delay1ms(100);
  2573. }
  2574. }

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

使用道具 舉報

沙發(fā)
ID:731195 發(fā)表于 2023-3-3 10:05 | 只看該作者
用的什么語音芯片
回復

使用道具 舉報

板凳
ID:432633 發(fā)表于 2023-10-21 13:50 | 只看該作者
呦西,看到 2000多行,來興趣了
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久777| 中文字幕高清一区 | 欧美一级毛片在线播放 | 免费一级做a爰片久久毛片潮喷 | 日韩精品一区二区三区视频播放 | 国产一区二区三区四区五区加勒比 | 亚洲精品免费在线 | 99视频网 | 欧美一区二区三区四区视频 | 精品一区二区在线看 | 精品中文字幕在线 | 午夜国产 | 一本岛道一二三不卡区 | 亚洲性爰| 日本特黄a级高清免费大片 成年人黄色小视频 | 日韩欧美久久 | 日韩高清一区二区 | caoporn免费在线视频 | 免费看日韩视频 | 欧美99| 天堂精品视频 | 国产做a爱片久久毛片 | 热久久国产| 7777在线| 久久精品高清视频 | 国产ts人妖另类 | 国内精品久久久久久影视8 最新黄色在线观看 | 欧美一级α片 | 在线视频一区二区 | 视频一区二区三区中文字幕 | 欧美一级片 | 成人a免费 | 精品国产一区二区三区性色 | 国产一区在线看 | 成人深夜福利网站 | 久久久精品网 | 韩国理论电影在线 | 韩日在线观看视频 | 精品一二三 | 日本成人毛片 | 日韩在线视频一区二区三区 |