找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4118|回复: 3
收起左侧

车载屏的STM8单片机驱动 128x16点阵屏输出汉字源代码

[复制链接]
ID:192443 发表于 2017-4-22 18:35 | 显示全部楼层 |阅读模式
这个是车载屏的STM8驱动程序,一共128x16点,可输出8个汉字。
0.png

STM8单片机源程序:
  1. /*

  2. PE6  信号选择  0:控制卡   1: CPU

  3. PB7  5V电源控制  O:关   1:开

  4. */
  5. #include <iostm8s105s4.h>

  6. #define        uint         unsigned    int
  7. #define        uchar        unsigned    char
  8. #define        ulong        unsigned    long

  9. uchar num;

  10. uchar flag=150;

  11. uchar tim;

  12. uchar bk;


  13. #define        POWER_ON        1
  14. #define        POWER_OFF       0
  15. #define        SINGLE_CARD     0
  16. #define        SINGLE_CPU      1


  17. #define        SINGLE_CTL     PE_ODR_ODR6   
  18. #define        POWER_CTL     PB_ODR_ODR7  





  19. #define   LA  PD_ODR_ODR4     
  20. #define   LB  PD_ODR_ODR5     
  21. #define   LC  PD_ODR_ODR6     
  22. #define   LD  PD_ODR_ODR7     

  23. #define   G1  PB_ODR_ODR0     
  24. #define   G2  PB_ODR_ODR1
  25. #define   LAT  PB_ODR_ODR2     
  26. #define   OE  PB_ODR_ODR3
  27. #define   R1  PB_ODR_ODR4
  28. #define   R2  PB_ODR_ODR5
  29. #define   CLK  PB_ODR_ODR6



  30. uchar const Table0[]={ //取模宋体

  31. //车(0) 辆(1) 故(2) 障(3)

  32. 0xBF,0xFF,0xBF,0xFF,0x01,0xC0,0xDF,0xFF,0xDF,0xFE,0xEF,0xFE,0xF7,0xFE,0x03,0xC0,
  33. 0xFF,0xFE,0xFF,0xFE,0x00,0x80,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,/*"车",0*/

  34. 0xF7,0xFF,0x37,0x80,0xC0,0xF6,0xFB,0xF6,0x3B,0x80,0xB5,0xB6,0xB5,0xB6,0x80,0xB6,
  35. 0xB7,0xB6,0xB7,0xB4,0x07,0xAB,0x30,0x9D,0xB7,0xBF,0xB7,0xBF,0xB7,0xAF,0xB7,0xDF,/*"辆",1*/

  36. 0xF7,0xFD,0xF7,0xF9,0xF7,0xFD,0xF7,0xFD,0x80,0x80,0xF7,0xEE,0xF7,0xEE,0x41,0xEE,
  37. 0x9D,0xF5,0xDD,0xF5,0xDD,0xFB,0xDD,0xFB,0xC1,0xF5,0x7D,0x8E,0x9F,0xDF,0xFF,0xFF,/*"故",2*/

  38. 0xFF,0xFD,0x21,0xC0,0x6D,0xEF,0xF5,0xF6,0x15,0x80,0xF9,0xFF,0x35,0xE0,0xAD,0xEF,
  39. 0x2D,0xE0,0xA9,0xEF,0x35,0xE0,0xFD,0xFD,0x0D,0x80,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,/*"障",3*/


  40. };

  41. uchar const Table1[]={

  42. //绕(0) 道(1) 行(2) 驶(3)

  43. 0x77,0xFF,0x77,0xFF,0xFB,0xC0,0x3B,0xEE,0xED,0xF5,0xF0,0xFB,0xF7,0xD5,0x7B,0xCE,
  44. 0x1D,0x80,0x60,0xFB,0x7F,0xFB,0x7F,0xFB,0xA7,0xBB,0xB8,0xBB,0xDF,0x87,0xFF,0xFF,/*"绕",0*/

  45. 0xBF,0xF7,0x7D,0xFB,0x0B,0xC0,0xFB,0xFE,0x7F,0xFF,0x3F,0xF0,0xB8,0xF7,0x3B,0xF0,
  46. 0xBB,0xF7,0x3B,0xF0,0xBB,0xF7,0x3B,0xF0,0xBB,0xF7,0xF5,0xFF,0x0E,0x80,0xFF,0xFF,/*"道",1*/

  47. 0xEF,0xFF,0xC7,0xFF,0x73,0xC0,0xFD,0xFF,0xEE,0xFF,0xCF,0xFF,0x27,0x80,0xF3,0xFB,
  48. 0xF5,0xFB,0xF6,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFB,0xF7,0xFA,0xF7,0xFD,/*"行",2*/

  49. 0xFF,0xFB,0xE0,0xFB,0xEF,0xFB,0x6D,0xC0,0x6D,0xDB,0x6D,0xDB,0x6D,0xDB,0x01,0xC0,
  50. 0xBF,0xFB,0x3F,0xFB,0xA7,0xFA,0xB8,0xFD,0xBF,0xF9,0xBF,0xE6,0x57,0x8F,0xEF,0xDF,/*"驶",3*/


  51. };

  52. uchar const Table2[]={

  53.   //前(0) 方(1) 施(2) 工(3)
  54. 0xEF,0xF7,0x9F,0xE7,0xDF,0xFB,0x00,0x80,0xFF,0xFF,0x83,0xEF,0xBB,0xED,0x83,0xED,
  55. 0xBB,0xED,0xBB,0xED,0x83,0xED,0xBB,0xED,0xBB,0xED,0xAB,0xEF,0xDB,0xEB,0xFF,0xF7,/*"前",0*/

  56. 0xBF,0xFF,0x7F,0xFF,0xFF,0xFE,0x00,0x80,0xBF,0xFF,0xBF,0xFF,0x3F,0xF0,0xBF,0xF7,
  57. 0xDF,0xF7,0xDF,0xF7,0xEF,0xF7,0xEF,0xF7,0xF7,0xF7,0xFB,0xF6,0xFC,0xF9,0xFF,0xFF,/*"方",1*/

  58. 0xFB,0xFE,0xF7,0xFC,0xF7,0xFE,0x40,0x80,0x7B,0xFF,0xBB,0xFB,0xC3,0xFA,0xDB,0xC2,
  59. 0xDB,0xD8,0x1B,0xDA,0xDB,0xDA,0xDB,0xCA,0xDD,0xBA,0xD5,0xBE,0xEE,0x81,0xFF,0xFF,/*"施",2*/

  60. 0xFF,0xFF,0x03,0xC0,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
  61. 0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0xFF,0xFF,0xFF,0xFF,/*"工",3*/
  62. };

  63. uchar const Table3[]={
  64.   
  65. //请(0) 求(1) 帮(2) 助(3)

  66. 0xFF,0xFD,0x1D,0xC0,0xF3,0xFD,0x3B,0xE0,0xFF,0xFD,0x1F,0x80,0xF0,0xFF,0x37,0xE0,
  67. 0xB7,0xEF,0x37,0xE0,0xB7,0xEF,0x37,0xE0,0x97,0xEF,0xA7,0xEF,0xB7,0xEB,0xBF,0xF7,/*"请",0*/

  68. 0x7F,0xFD,0x7F,0xF3,0x7F,0xF7,0x00,0x80,0x7F,0xFF,0x7B,0xE7,0x77,0xFB,0x6F,0xFD,
  69. 0x5F,0xFC,0x6F,0xFB,0x77,0xE7,0x79,0x8F,0x7F,0xDF,0x7F,0xFF,0x5F,0xFF,0xBF,0xFF,/*"求",1*/

  70. 0xDF,0xFF,0x03,0x82,0xDF,0xDB,0x03,0xEA,0xDF,0xEB,0x01,0xDA,0xDF,0xB3,0xEF,0xCA,
  71. 0xF7,0xFA,0x0B,0xE0,0xED,0xEE,0xEF,0xEE,0xEF,0xEA,0xEF,0xF6,0xFF,0xFE,0xFF,0xFE,/*"帮",2*/

  72. 0xFF,0xFB,0x83,0xFB,0xBB,0xFB,0xBB,0xFB,0xBB,0xC0,0x83,0xDB,0xBB,0xDB,0xBB,0xDB,
  73. 0x83,0xDB,0xBB,0xDB,0xBB,0xDD,0x1B,0xDD,0xE0,0xDE,0x7F,0xD7,0xBF,0xEF,0xFF,0xFF,/*"助",3*/


  74. };




  75. uchar const Table4[]={
  76.   
  77. //施(0) 工(1) 重(2) 地(3)

  78. 0xFB,0xFE,0xF7,0xFC,0xF7,0xFE,0x40,0x80,0x7B,0xFF,0xBB,0xFB,0xC3,0xFA,0xDB,0xC2,
  79. 0xDB,0xD8,0x1B,0xDA,0xDB,0xDA,0xDB,0xCA,0xDD,0xBA,0xD5,0xBE,0xEE,0x81,0xFF,0xFF,/*"施",0*/

  80. 0xFF,0xFF,0x03,0xC0,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
  81. 0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0xFF,0xFF,0xFF,0xFF,/*"工",1*/

  82. 0x7F,0xF0,0x03,0xFF,0x7F,0xFF,0x00,0x80,0x7F,0xFF,0x07,0xF0,0x77,0xF7,0x07,0xF0,
  83. 0x77,0xF7,0x07,0xF0,0x7F,0xFF,0x03,0xE0,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0xFF,0xFF,/*"重",2*/

  84. 0xFF,0xFB,0x77,0xFB,0x77,0xFB,0x77,0xDB,0x40,0x83,0x77,0xD8,0x17,0xDB,0x77,0xDB,
  85. 0x77,0xDB,0x77,0xD3,0x77,0xEB,0x47,0xFB,0x73,0xBF,0x7C,0xBF,0xFF,0x80,0xFF,0xFF,/*"地",3*/

  86. };

  87. uchar const Table5[]={
  88.   
  89. //禁(0) 止(1) 入(2) 内(3)

  90. 0xEF,0xF7,0xEF,0xF7,0x81,0x80,0xC7,0xF3,0xAB,0xE5,0x6D,0xD6,0xEE,0xB7,0x03,0xE0,
  91. 0xFF,0xFF,0xFF,0xFF,0x00,0x80,0x6F,0xFB,0x77,0xF7,0x7B,0xEF,0x5D,0xEF,0xBF,0xFF,/*"禁",0*/

  92. 0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xEF,0xFE,0xEF,0xFE,0xEF,0xC0,0xEF,0xFE,
  93. 0xEF,0xFE,0xEF,0xFE,0xEF,0xFE,0xEF,0xFE,0xEF,0xFE,0xEF,0xFE,0x00,0x80,0xFF,0xFF,/*"止",1*/

  94. 0xCF,0xFF,0x9F,0xFF,0xBF,0xFF,0x7F,0xFF,0x3F,0xFF,0xBF,0xFE,0xBF,0xFE,0xDF,0xFD,
  95. 0xDF,0xFB,0xEF,0xFB,0xEF,0xF7,0xF7,0xEF,0xFB,0x8F,0xFD,0xDF,0xFE,0xFF,0xFF,0xFF,/*"入",2*/

  96. 0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x03,0xC0,0x7B,0xDF,0x7B,0xDF,0x7B,0xDE,0xBB,0xDD,
  97. 0xBB,0xDB,0xDB,0xD7,0xEB,0xD7,0xF3,0xDF,0xFB,0xDF,0xFB,0xDF,0xFB,0xD7,0xFB,0xEF,/*"内",3*/

  98. };

  99. uchar const Table6[]={
  100.   
  101. //事(0) 故(1) 现(2) 场(3)

  102. 0x7F,0xFF,0x00,0x80,0x7F,0xFF,0x07,0xE0,0x77,0xEF,0x07,0xE0,0x7F,0xFF,0x03,0xE0,
  103. 0x7F,0xEF,0x00,0x80,0x7F,0xEF,0x03,0xE0,0x7F,0xEF,0x6F,0xFF,0x5F,0xFF,0xBF,0xFF,/*"事",0*/

  104. 0xF7,0xFD,0xF7,0xF9,0xF7,0xFD,0xF7,0xFD,0x80,0x80,0xF7,0xEE,0xF7,0xEE,0x41,0xEE,
  105. 0x9D,0xF5,0xDD,0xF5,0xDD,0xFB,0xDD,0xFB,0xC1,0xF5,0x7D,0x8E,0x9F,0xDF,0xFF,0xFF,/*"故",1*/

  106. 0xFF,0xFF,0x00,0xE0,0xB7,0xEF,0xB7,0xED,0xB7,0xED,0xB7,0xED,0x81,0xED,0xB7,0xED,
  107. 0xB7,0xED,0xB7,0xEA,0xC7,0xFA,0x78,0xBB,0x7F,0xBB,0xBF,0xBB,0xDF,0x87,0xEF,0xFF,/*"现",2*/

  108. 0xF7,0xFF,0x37,0xE0,0xF7,0xF7,0xF7,0xFB,0xC0,0xFD,0xF7,0xDE,0x77,0x80,0xF7,0xD5,
  109. 0xF7,0xD5,0x97,0xDA,0x67,0xDB,0xB8,0xDD,0xFD,0xDE,0x7F,0xDF,0xBF,0xD7,0xFF,0xEF,/*"场",3*/


  110. };

  111. uchar const Table7[]={

  112. //注(0) 意(1) 安(2) 全(3)

  113. 0xFB,0xFE,0xF7,0xFD,0xF7,0xFD,0x1F,0x80,0xFE,0xFD,0xED,0xFD,0xED,0xFD,0xF7,0xFD,
  114. 0x37,0xC0,0xFB,0xFD,0xF8,0xFD,0xFB,0xFD,0xFB,0xFD,0xFB,0xFD,0x0B,0x80,0xFB,0xFF,/*"注",0*/

  115. 0x7F,0xFF,0x03,0xC0,0xEF,0xFB,0xDF,0xFD,0x00,0x80,0xFF,0xFF,0x07,0xF0,0xB7,0xF7,
  116. 0x77,0xF7,0x07,0xF0,0xFF,0xFF,0x6B,0xEF,0xEB,0xDE,0xE9,0xD7,0x1F,0xF0,0xFF,0xFF,/*"意",1*/

  117. 0xBF,0xFF,0x7F,0xFF,0x03,0x80,0xFB,0xDF,0xDD,0xEF,0x9F,0xFF,0xDF,0xFF,0x00,0x80,
  118. 0xEF,0xFB,0xEF,0xFB,0xEF,0xFD,0x9F,0xFE,0x7F,0xFF,0x9F,0xFC,0xE7,0xE3,0xF8,0xF7,/*"安",2*/

  119. 0x7F,0xFF,0x7F,0xFF,0xBF,0xFE,0xDF,0xFD,0xEF,0xF3,0xF7,0xC7,0x03,0xE0,0x7D,0xFF,
  120. 0x7F,0xFF,0x7F,0xF7,0x07,0xE0,0x7F,0xFF,0x7F,0xFF,0x7F,0xDF,0x01,0x80,0xFF,0xFF,/*"全",3*/

  121. };

  122. uchar const Table8[]={

  123.   //雨(0) 天(1) 路(2) 滑(3)

  124. 0xFF,0xFF,0x00,0x80,0x7F,0xFF,0x7F,0xFF,0x03,0xE0,0x73,0xEE,0x6B,0xED,0x5B,0xEB,
  125. 0x73,0xEE,0x6B,0xED,0x5B,0xEB,0x7B,0xEF,0x7B,0xEF,0x7B,0xEF,0x7B,0xEB,0xFB,0xF7,/*"雨",0*/

  126. 0xFF,0xFF,0x03,0xC0,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x01,0x80,0x7F,0xFF,
  127. 0x7F,0xFF,0xBF,0xFE,0xBF,0xFD,0xDF,0xFB,0xEF,0xE7,0xF7,0x8F,0xFB,0xDF,0xFD,0xFF,/*"天",1*/

  128. 0xFF,0xFE,0xE1,0xFE,0xED,0xC0,0x6D,0xEE,0xAD,0xED,0xC1,0xF5,0xF5,0xFB,0xF7,0xE5,
  129. 0x45,0x9E,0x35,0xC0,0x75,0xEF,0x75,0xEF,0x45,0xEF,0x78,0xE0,0x7F,0xEF,0xFF,0xFF,/*"路",2*/

  130. 0xFB,0xFF,0x37,0xE0,0xB7,0xEF,0x3E,0xEC,0xBD,0xED,0x1D,0x80,0xD7,0xDF,0x37,0xE0,
  131. 0xB7,0xEF,0x3B,0xE0,0xBB,0xEF,0x38,0xE0,0xBB,0xEF,0xBB,0xEF,0xBB,0xEB,0xBB,0xF7,/*"滑",3*/

  132. };

  133. uchar const Table9[]={

  134. //欢(0) 迎(1) 光(2) 临(3)

  135. 0xFF,0xFE,0xFF,0xFE,0xC0,0xFE,0x5F,0x80,0x5E,0xDF,0xAD,0xED,0xEB,0xFD,0xF7,0xFD,
  136. 0xE7,0xFD,0xE7,0xF9,0xDB,0xFA,0xDB,0xF6,0x7D,0xE7,0x9E,0x8F,0xE3,0xDF,0xFF,0xFF,/*"欢",0*/

  137. 0xFD,0xFF,0x7B,0xFE,0x93,0xC1,0xDB,0xDD,0xDF,0xDD,0xDF,0xDD,0xD8,0xDD,0xDB,0xDD,
  138. 0x5B,0xDD,0x9B,0xD5,0xDB,0xED,0xFB,0xFD,0xFB,0xFD,0xF5,0xFF,0x0E,0x80,0xFF,0xFF,/*"迎",1*/

  139. 0x7F,0xFF,0x7B,0xF7,0x67,0xE7,0x4F,0xF7,0x6F,0xFB,0x7F,0xDF,0x01,0x80,0xDF,0xFD,
  140. 0xDF,0xFD,0xDF,0xFD,0xDF,0xFD,0xEF,0xBD,0xEF,0xBD,0xF7,0xBD,0xFB,0x83,0xFD,0xFF,/*"光",2*/

  141. 0x7F,0xFF,0x6F,0xFE,0x6F,0xFF,0x6D,0x80,0xAD,0xFB,0xAD,0xF7,0xCD,0xF7,0x6D,0xDF,
  142. 0x6D,0x80,0x6D,0xDB,0x6D,0xDB,0x6D,0xDB,0x6D,0xDB,0x6F,0xC0,0x6F,0xDF,0xFF,0xFF,/*"临",3*/

  143. };

  144. uchar const Table10[]={

  145. //谢(0) 谢(1) 光(2) 临(3)

  146. 0x7F,0xEF,0xBD,0xEF,0x13,0xEE,0xDB,0xEE,0x1F,0x80,0xDF,0xEE,0x18,0xEC,0xDB,0xEA,
  147. 0x0B,0xEA,0x7B,0xEE,0xBB,0xEE,0xAB,0xEE,0xD3,0xEE,0xEB,0xEE,0xB7,0xEA,0x7F,0xF7,/*"谢",0*/

  148. 0x7F,0xEF,0xBD,0xEF,0x13,0xEE,0xDB,0xEE,0x1F,0x80,0xDF,0xEE,0x18,0xEC,0xDB,0xEA,
  149. 0x0B,0xEA,0x7B,0xEE,0xBB,0xEE,0xAB,0xEE,0xD3,0xEE,0xEB,0xEE,0xB7,0xEA,0x7F,0xF7,/*"谢",1*/

  150. 0x7F,0xFF,0x7B,0xF7,0x67,0xE7,0x4F,0xF7,0x6F,0xFB,0x7F,0xDF,0x01,0x80,0xDF,0xFD,
  151. 0xDF,0xFD,0xDF,0xFD,0xDF,0xFD,0xEF,0xBD,0xEF,0xBD,0xF7,0xBD,0xFB,0x83,0xFD,0xFF,/*"光",2*/

  152. 0x7F,0xFF,0x6F,0xFE,0x6F,0xFF,0x6D,0x80,0xAD,0xFB,0xAD,0xF7,0xCD,0xF7,0x6D,0xDF,
  153. 0x6D,0x80,0x6D,0xDB,0x6D,0xDB,0x6D,0xDB,0x6D,0xDB,0x6F,0xC0,0x6F,0xDF,0xFF,0xFF,/*"临",3*/
  154. };

  155. uchar const Table11[]={

  156. //欢(0) 迎(1) 再(2) 来(3)

  157. 0xFF,0xFE,0xFF,0xFE,0xC0,0xFE,0x5F,0x80,0x5E,0xDF,0xAD,0xED,0xEB,0xFD,0xF7,0xFD,
  158. 0xE7,0xFD,0xE7,0xF9,0xDB,0xFA,0xDB,0xF6,0x7D,0xE7,0x9E,0x8F,0xE3,0xDF,0xFF,0xFF,/*"欢",0*/

  159. 0xFD,0xFF,0x7B,0xFE,0x93,0xC1,0xDB,0xDD,0xDF,0xDD,0xDF,0xDD,0xD8,0xDD,0xDB,0xDD,
  160. 0x5B,0xDD,0x9B,0xD5,0xDB,0xED,0xFB,0xFD,0xFB,0xFD,0xF5,0xFF,0x0E,0x80,0xFF,0xFF,/*"迎",1*/

  161. 0x01,0xC0,0x7F,0xFF,0x7F,0xFF,0x07,0xF0,0x77,0xF7,0x77,0xF7,0x07,0xF0,0x77,0xF7,
  162. 0x77,0xF7,0x77,0xF7,0x00,0x80,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF5,0xF7,0xFB,/*"再",2*/

  163. 0x7F,0xFF,0x7F,0xFF,0x03,0xC0,0x7F,0xFF,0x6F,0xF3,0x5F,0xFB,0x3F,0xFD,0x01,0x80,
  164. 0x7F,0xFE,0x3F,0xFD,0x5F,0xFB,0x6F,0xE7,0x73,0x8F,0x7C,0xDF,0x7F,0xFF,0x7F,0xFF,/*"来",3*/

  165. };

  166. uchar const Table12[]={
  167.   
  168. //山(0) 高(1) 地(2) 陡(3)

  169. 0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,
  170. 0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0x7B,0xDF,0x01,0xC0,0xFB,0xDF,0xFF,0xFF,/*"山",0*/

  171. 0xBF,0xFF,0x7F,0xFF,0x00,0x80,0xFF,0xFF,0x0F,0xF8,0xEF,0xFB,0x0F,0xF8,0xFF,0xFF,
  172. 0x01,0xC0,0xFD,0xDF,0x0D,0xD8,0xED,0xDB,0xED,0xDB,0x0D,0xD8,0xFD,0xD7,0xFD,0xEF,/*"高",1*/

  173. 0xFF,0xFB,0x77,0xFB,0x77,0xFB,0x77,0xDB,0x40,0x83,0x77,0xD8,0x17,0xDB,0x77,0xDB,
  174. 0x77,0xDB,0x77,0xD3,0x77,0xEB,0x47,0xFB,0x73,0xBF,0x7C,0xBF,0xFF,0x80,0xFF,0xFF,/*"地",2*/

  175. 0xFF,0xFD,0xE1,0xFD,0x2D,0xC0,0xF5,0xFD,0xF9,0xFD,0x15,0x80,0xED,0xFD,0xED,0xFD,
  176. 0xAD,0xFD,0xA9,0xE1,0xB5,0xFD,0x9D,0xFD,0x5D,0xFD,0xED,0xFC,0xF5,0x83,0xFD,0xFF,/*"陡",3*/

  177. };

  178. void delay_us(uint a)
  179. {     
  180.          while(a--);
  181. }
  182. void delay_ms(uint ms)
  183. {
  184.    unsigned int ti;
  185.    while(ms--)
  186.     {
  187.       for(ti=0;ti<1420;ti++);  
  188.      }
  189. }

  190. void  Fosc_Init(void)
  191. {
  192.     CLK_CKDIVR_HSIDIV = 0;    //1分频
  193. }



  194. void  gpio_init(void)
  195. {
  196.     PA_DDR = 0<<4|0<<5|0<<6;
  197.     PA_CR1 = 0<<4|0<<5|0<<6;
  198.     PA_CR2 = 1<<4|1<<5|1<<6;
  199.     PA_ODR = 0<<4|0<<5|0<<6;
  200.    
  201.    
  202.    
  203.     //PB口初始化
  204.    
  205.     PB_DDR = 1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7;
  206.     PB_CR1 = 1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7;
  207.     PB_CR2 = 0<<0|0<<1|0<<2|0<<3|0<<4|0<<5|0<<6|0<<7;
  208.     PB_ODR = 0<<0|0<<1|0<<2|0<<3|0<<4|0<<5|0<<6|0<<7;

  209.     PD_DDR = 1<<4|1<<5|1<<6|1<<7;
  210.     PD_CR1 = 1<<4|1<<5|1<<6|1<<7;
  211.     PD_CR2 = 0<<4|0<<5|0<<6|0<<7;
  212.     PD_ODR = 0<<4|0<<5|0<<6|0<<7;


  213.     PE_DDR = 1<<6;
  214.     PE_CR1 = 1<<6;
  215.     PE_CR2 = 0<<6;
  216.     PE_ODR = 0<<6;

  217. }


  218. void  Exit_Init(void)
  219. {
  220.     EXTI_CR1_PAIS = 1;    //下降沿触发
  221. }


  222. void SendDate(unsigned char DataR1,unsigned char DataG1,unsigned char DataR2,unsigned char DataG2)
  223. {
  224. unsigned char i;
  225. for(i = 0; i < 8; i++)
  226. {
  227.   
  228.   R1=DataR1 & 0x01;
  229.   G1=DataG1 & 0x01;
  230.   R2=DataR2 & 0x01;
  231.   G2=DataG2 & 0x01;
  232.   CLK = 0;  
  233.   CLK = 1;
  234.   DataR1 = DataR1>>1;
  235.   DataG1 = DataG1>>1;
  236.   DataR2 = DataR2>>1;
  237.   DataG2 = DataG2>>1;
  238. }
  239. }

  240. void led_cls(void)
  241. {
  242.     for(num=0;num<16;num++)
  243.       {
  244.         SendDate(0X00,~0X00,~0x00,~0X00);
  245.         SendDate(0X00,~0X00,~0x00,~0X00);
  246.    
  247.         SendDate(0X00,~0X00,~0x00,~0X00);
  248.         SendDate(0X00,~0X00,~0x00,~0X00);
  249.    
  250.         SendDate(0X00,~0X00,~0x00,~0X00);
  251.         SendDate(0X00,~0X00,~0x00,~0X00);
  252.    
  253.         SendDate(0X00,~0X00,~0x00,~0X00);
  254.         SendDate(0X00,~0X00,~0x00,~0X00);

  255.         OE=1;   
  256.         LAT=1;     //输出锁存
  257.         delay_us(1);
  258.         LAT=0;
  259.         PC_ODR=num<<4;
  260.         OE=0;
  261.         delay_us(370);//延时
  262.        }
  263. }


  264. void  main(void)
  265. {
  266.     asm("sim");    //关总中断
  267.     gpio_init();  
  268.     Fosc_Init();
  269.     gpio_init();
  270.     Exit_Init();
  271.     asm("rim");    //开总中断

  272.     POWER_CTL=POWER_ON;
  273.     SINGLE_CTL=SINGLE_CARD;
  274.    
  275.    
  276.     LA=0;    //16位行选
  277.     LB=0;
  278.     LC=0;
  279.     LD=0;
  280.    
  281.    
  282.   while(1)
  283. {
  284.   bk=0;   
  285.   while(1)//车辆故障,绕道行驶
  286. {   
  287.    while(flag--)
  288.    {
  289.   for(num=0;num<16;num++)
  290.   {
  291.    SendDate(~Table0[num*2+0],~0X00,~0x00,~0X00);
  292.    SendDate(~Table0[num*2+1],~0X00,~0x00,~0X00);
  293.    
  294.    SendDate(~Table0[num*2+0+32],~0X00,~0x00,~0X00);
  295.    SendDate(~Table0[num*2+1+32],~0X00,~0x00,~0X00);
  296.    
  297.    SendDate(~Table0[num*2+0+64],~0X00,~0x00,~0X00);
  298.    SendDate(~Table0[num*2+1+64],~0X00,~0x00,~0X00);
  299.    
  300.    SendDate(~Table0[num*2+0+96],~0X00,~0x00,~0X00);
  301.    SendDate(~Table0[num*2+1+96],~0X00,~0x00,~0X00);
  302.    
  303.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  304.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  305.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  306.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  307.    
  308.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  309.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  310.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  311.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  312.    OE=1;   
  313.    LAT=1;     //输出锁存
  314.    delay_us(1);
  315.    LAT=0;
  316.    PC_ODR=num<<4;
  317.    OE=0;
  318.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  319.   }
  320.   //if(bk)break;
  321.    }
  322.    
  323.   while(flag--)
  324.   {
  325.    for(num=0;num<16;num++)
  326.   {
  327.    SendDate(~Table1[num*2+0],~0X00,~0x00,~0X00);
  328.    SendDate(~Table1[num*2+1],~0X00,~0x00,~0X00);
  329.    
  330.    SendDate(~Table1[num*2+0+32],~0X00,~0x00,~0X00);
  331.    SendDate(~Table1[num*2+1+32],~0X00,~0x00,~0X00);
  332.    
  333.    SendDate(~Table1[num*2+0+64],~0X00,~0x00,~0X00);
  334.    SendDate(~Table1[num*2+1+64],~0X00,~0x00,~0X00);
  335.    
  336.    SendDate(~Table1[num*2+0+96],~0X00,~0x00,~0X00);
  337.    SendDate(~Table1[num*2+1+96],~0X00,~0x00,~0X00);
  338.    
  339.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  340.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  341.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  342.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  343.    
  344.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  345.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  346.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  347.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  348.    OE=1;   
  349.    LAT=1;     //输出锁存
  350.    delay_us(1);
  351.    LAT=0;
  352.    PC_ODR=num<<4;
  353.    OE=0;
  354.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  355.   }
  356.   //if(bk)break;
  357. }
  358. }
  359.   
  360.   led_cls();   
  361.    
  362.   while(tim==1) //前方施工,绕道行驶
  363.   
  364.    {   
  365.    while(flag--)
  366.    {
  367.   for(num=0;num<16;num++)
  368.   {
  369.    SendDate(~Table2[num*2+0],~0X00,~0x00,~0X00);
  370.    SendDate(~Table2[num*2+1],~0X00,~0x00,~0X00);
  371.    
  372.    SendDate(~Table2[num*2+0+32],~0X00,~0x00,~0X00);
  373.    SendDate(~Table2[num*2+1+32],~0X00,~0x00,~0X00);
  374.    
  375.    SendDate(~Table2[num*2+0+64],~0X00,~0x00,~0X00);
  376.    SendDate(~Table2[num*2+1+64],~0X00,~0x00,~0X00);
  377.    
  378.    SendDate(~Table2[num*2+0+96],~0X00,~0x00,~0X00);
  379.    SendDate(~Table2[num*2+1+96],~0X00,~0x00,~0X00);
  380.    
  381.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  382.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  383.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  384.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  385.    
  386.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  387.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  388.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  389.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  390.    OE=1;   
  391.    LAT=1;     //输出锁存
  392.    delay_us(1);
  393.    LAT=0;
  394.    PC_ODR=num<<4;
  395.    OE=0;
  396.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  397.   }
  398.   if(bk)break;
  399.    }  
  400.   
  401.   while(flag--)
  402.   {
  403.    for(num=0;num<16;num++)
  404.   {
  405.    SendDate(~Table1[num*2+0],~0X00,~0x00,~0X00);
  406.    SendDate(~Table1[num*2+1],~0X00,~0x00,~0X00);
  407.    
  408.    SendDate(~Table1[num*2+0+32],~0X00,~0x00,~0X00);
  409.    SendDate(~Table1[num*2+1+32],~0X00,~0x00,~0X00);
  410.    
  411.    SendDate(~Table1[num*2+0+64],~0X00,~0x00,~0X00);
  412.    SendDate(~Table1[num*2+1+64],~0X00,~0x00,~0X00);
  413.    
  414.    SendDate(~Table1[num*2+0+96],~0X00,~0x00,~0X00);
  415.    SendDate(~Table1[num*2+1+96],~0X00,~0x00,~0X00);
  416.    
  417.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  418.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  419.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  420.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  421.    
  422.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  423.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  424.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  425.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  426.    OE=1;   
  427.    LAT=1;     //输出锁存
  428.    delay_us(1);
  429.    LAT=0;
  430.    PC_ODR=num<<4;
  431.    OE=0;
  432.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  433.   }
  434.   if(bk)break;
  435. }
  436. }

  437.    while(tim==2) //车辆故障请求帮助
  438.   
  439.    {   
  440.    while(flag--)
  441.    {
  442.   for(num=0;num<16;num++)
  443.   {
  444.    SendDate(~Table0[num*2+0],~0X00,~0x00,~0X00);
  445.    SendDate(~Table0[num*2+1],~0X00,~0x00,~0X00);
  446.    
  447.    SendDate(~Table0[num*2+0+32],~0X00,~0x00,~0X00);
  448.    SendDate(~Table0[num*2+1+32],~0X00,~0x00,~0X00);
  449.    
  450.    SendDate(~Table0[num*2+0+64],~0X00,~0x00,~0X00);
  451.    SendDate(~Table0[num*2+1+64],~0X00,~0x00,~0X00);
  452.    
  453.    SendDate(~Table0[num*2+0+96],~0X00,~0x00,~0X00);
  454.    SendDate(~Table0[num*2+1+96],~0X00,~0x00,~0X00);
  455.    
  456.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  457.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  458.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  459.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  460.    
  461.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  462.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  463.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  464.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  465.    OE=1;   
  466.    LAT=1;     //输出锁存
  467.    delay_us(1);
  468.    LAT=0;
  469.    PC_ODR=num<<4;
  470.    OE=0;
  471.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  472.   }
  473.   if(bk)break;
  474.    }  
  475.   
  476.   while(flag--)
  477.   {
  478.    for(num=0;num<16;num++)
  479.   {
  480.    SendDate(~Table3[num*2+0],~0X00,~0x00,~0X00);
  481.    SendDate(~Table3[num*2+1],~0X00,~0x00,~0X00);
  482.    
  483.    SendDate(~Table3[num*2+0+32],~0X00,~0x00,~0X00);
  484.    SendDate(~Table3[num*2+1+32],~0X00,~0x00,~0X00);
  485.    
  486.    SendDate(~Table3[num*2+0+64],~0X00,~0x00,~0X00);
  487.    SendDate(~Table3[num*2+1+64],~0X00,~0x00,~0X00);
  488.    
  489.    SendDate(~Table3[num*2+0+96],~0X00,~0x00,~0X00);
  490.    SendDate(~Table3[num*2+1+96],~0X00,~0x00,~0X00);
  491.    
  492.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  493.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  494.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  495.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  496.    
  497.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  498.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  499.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  500.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  501.    OE=1;   
  502.    LAT=1;     //输出锁存
  503.    delay_us(1);
  504.    LAT=0;
  505.    PC_ODR=num<<4;
  506.    OE=0;
  507.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  508.   }
  509.   if(bk)break;
  510. }
  511. }

  512.     while(tim==3) //施工重地,禁止入内
  513.   
  514.    {   
  515.    while(flag--)
  516.    {
  517.   for(num=0;num<16;num++)
  518.   {
  519.    SendDate(~Table4[num*2+0],~0X00,~0x00,~0X00);
  520.    SendDate(~Table4[num*2+1],~0X00,~0x00,~0X00);
  521.    
  522.    SendDate(~Table4[num*2+0+32],~0X00,~0x00,~0X00);
  523.    SendDate(~Table4[num*2+1+32],~0X00,~0x00,~0X00);
  524.    
  525.    SendDate(~Table4[num*2+0+64],~0X00,~0x00,~0X00);
  526.    SendDate(~Table4[num*2+1+64],~0X00,~0x00,~0X00);
  527.    
  528.    SendDate(~Table4[num*2+0+96],~0X00,~0x00,~0X00);
  529.    SendDate(~Table4[num*2+1+96],~0X00,~0x00,~0X00);
  530.    
  531.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  532.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  533.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  534.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  535.    
  536.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  537.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  538.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  539.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  540.    OE=1;   
  541.    LAT=1;     //输出锁存
  542.    delay_us(1);
  543.    LAT=0;
  544.    PC_ODR=num<<4;
  545.    OE=0;
  546.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  547.   }
  548.   if(bk)break;
  549.    }  
  550.   
  551.   while(flag--)
  552.   {
  553.    for(num=0;num<16;num++)
  554.   {
  555.    SendDate(~Table5[num*2+0],~0X00,~0x00,~0X00);
  556.    SendDate(~Table5[num*2+1],~0X00,~0x00,~0X00);
  557.    
  558.    SendDate(~Table5[num*2+0+32],~0X00,~0x00,~0X00);
  559.    SendDate(~Table5[num*2+1+32],~0X00,~0x00,~0X00);
  560.    
  561.    SendDate(~Table5[num*2+0+64],~0X00,~0x00,~0X00);
  562.    SendDate(~Table5[num*2+1+64],~0X00,~0x00,~0X00);
  563.    
  564.    SendDate(~Table5[num*2+0+96],~0X00,~0x00,~0X00);
  565.    SendDate(~Table5[num*2+1+96],~0X00,~0x00,~0X00);
  566.    
  567.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  568.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  569.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  570.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  571.    
  572.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  573.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  574.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  575.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  576.    OE=1;   
  577.    LAT=1;     //输出锁存
  578.    delay_us(1);
  579.    LAT=0;
  580.    PC_ODR=num<<4;
  581.    OE=0;
  582.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  583.   }
  584.   if(bk)break;
  585. }
  586. } //到此结束

  587. while(tim==4) //施工重地,禁止入内
  588.   
  589.    {   
  590.    while(flag--)
  591.    {
  592.   for(num=0;num<16;num++)
  593.   {
  594.    SendDate(~Table6[num*2+0],~0X00,~0x00,~0X00);
  595.    SendDate(~Table6[num*2+1],~0X00,~0x00,~0X00);
  596.    
  597.    SendDate(~Table6[num*2+0+32],~0X00,~0x00,~0X00);
  598.    SendDate(~Table6[num*2+1+32],~0X00,~0x00,~0X00);
  599.    
  600.    SendDate(~Table6[num*2+0+64],~0X00,~0x00,~0X00);
  601.    SendDate(~Table6[num*2+1+64],~0X00,~0x00,~0X00);
  602.    
  603.    SendDate(~Table6[num*2+0+96],~0X00,~0x00,~0X00);
  604.    SendDate(~Table6[num*2+1+96],~0X00,~0x00,~0X00);
  605.    
  606.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  607.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  608.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  609.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  610.    
  611.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  612.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  613.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  614.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  615.    OE=1;   
  616.    LAT=1;     //输出锁存
  617.    delay_us(1);
  618.    LAT=0;
  619.    PC_ODR=num<<4;
  620.    OE=0;
  621.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  622.   }
  623.   if(bk)break;
  624.    }  
  625.   
  626.   while(flag--)
  627.   {
  628.    for(num=0;num<16;num++)
  629.   {
  630.    SendDate(~Table1[num*2+0],~0X00,~0x00,~0X00);
  631.    SendDate(~Table1[num*2+1],~0X00,~0x00,~0X00);
  632.    
  633.    SendDate(~Table1[num*2+0+32],~0X00,~0x00,~0X00);
  634.    SendDate(~Table1[num*2+1+32],~0X00,~0x00,~0X00);
  635.    
  636.    SendDate(~Table1[num*2+0+64],~0X00,~0x00,~0X00);
  637.    SendDate(~Table1[num*2+1+64],~0X00,~0x00,~0X00);
  638.    
  639.    SendDate(~Table1[num*2+0+96],~0X00,~0x00,~0X00);
  640.    SendDate(~Table1[num*2+1+96],~0X00,~0x00,~0X00);
  641.    
  642.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  643.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  644.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  645.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  646.    
  647.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  648.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  649.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  650.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  651.    OE=1;   
  652.    LAT=1;     //输出锁存
  653.    delay_us(1);
  654.    LAT=0;
  655.    PC_ODR=num<<4;
  656.    OE=0;
  657.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  658.   }
  659.   if(bk)break;
  660. }
  661. } //到此结束

  662.   while(tim==5) //雨天路滑,注意安全
  663.   
  664.    {   
  665.    while(flag--)
  666.    {
  667.   for(num=0;num<16;num++)
  668.   {
  669.    SendDate(~Table8[num*2+0],~0X00,~0x00,~0X00);
  670.    SendDate(~Table8[num*2+1],~0X00,~0x00,~0X00);
  671.    
  672.    SendDate(~Table8[num*2+0+32],~0X00,~0x00,~0X00);
  673.    SendDate(~Table8[num*2+1+32],~0X00,~0x00,~0X00);
  674.    
  675.    SendDate(~Table8[num*2+0+64],~0X00,~0x00,~0X00);
  676.    SendDate(~Table8[num*2+1+64],~0X00,~0x00,~0X00);
  677.    
  678.    SendDate(~Table8[num*2+0+96],~0X00,~0x00,~0X00);
  679.    SendDate(~Table8[num*2+1+96],~0X00,~0x00,~0X00);
  680.    
  681.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  682.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  683.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  684.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  685.    
  686.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  687.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  688.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  689.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  690.    OE=1;   
  691.    LAT=1;     //输出锁存
  692.    delay_us(1);
  693.    LAT=0;
  694.    PC_ODR=num<<4;
  695.    OE=0;
  696.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  697.   }
  698.   if(bk)break;
  699.    }  
  700.   
  701.   while(flag--)
  702.   {
  703.    for(num=0;num<16;num++)
  704.   {
  705.    SendDate(~Table7[num*2+0],~0X00,~0x00,~0X00);
  706.    SendDate(~Table7[num*2+1],~0X00,~0x00,~0X00);
  707.    
  708.    SendDate(~Table7[num*2+0+32],~0X00,~0x00,~0X00);
  709.    SendDate(~Table7[num*2+1+32],~0X00,~0x00,~0X00);
  710.    
  711.    SendDate(~Table7[num*2+0+64],~0X00,~0x00,~0X00);
  712.    SendDate(~Table7[num*2+1+64],~0X00,~0x00,~0X00);
  713.    
  714.    SendDate(~Table7[num*2+0+96],~0X00,~0x00,~0X00);
  715.    SendDate(~Table7[num*2+1+96],~0X00,~0x00,~0X00);
  716.    
  717.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  718.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  719.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  720.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  721.    
  722.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  723.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  724.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  725.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  726.    OE=1;   
  727.    LAT=1;     //输出锁存
  728.    delay_us(1);
  729.    LAT=0;
  730.    PC_ODR=num<<4;
  731.    OE=0;
  732.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  733.   }
  734.   if(bk)break;
  735. }
  736. } //到此结束

  737.   while(tim==6) //施工重地,禁止入内
  738.   
  739.    {   
  740.    while(flag--)
  741.    {
  742.   for(num=0;num<16;num++)
  743.   {
  744.    SendDate(~Table4[num*2+0],~0X00,~0x00,~0X00);
  745.    SendDate(~Table4[num*2+1],~0X00,~0x00,~0X00);
  746.    
  747.    SendDate(~Table4[num*2+0+32],~0X00,~0x00,~0X00);
  748.    SendDate(~Table4[num*2+1+32],~0X00,~0x00,~0X00);
  749.    
  750.    SendDate(~Table4[num*2+0+64],~0X00,~0x00,~0X00);
  751.    SendDate(~Table4[num*2+1+64],~0X00,~0x00,~0X00);
  752.    
  753.    SendDate(~Table4[num*2+0+96],~0X00,~0x00,~0X00);
  754.    SendDate(~Table4[num*2+1+96],~0X00,~0x00,~0X00);
  755.    
  756.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  757.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  758.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  759.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  760.    
  761.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  762.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  763.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  764.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  765.    OE=1;   
  766.    LAT=1;     //输出锁存
  767.    delay_us(1);
  768.    LAT=0;
  769.    PC_ODR=num<<4;
  770.    OE=0;
  771.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  772.   }
  773.   if(bk)break;
  774.    }  
  775.   
  776.   while(flag--)
  777.   {
  778.    for(num=0;num<16;num++)
  779.   {
  780.    SendDate(~Table7[num*2+0],~0X00,~0x00,~0X00);
  781.    SendDate(~Table7[num*2+1],~0X00,~0x00,~0X00);
  782.    
  783.    SendDate(~Table7[num*2+0+32],~0X00,~0x00,~0X00);
  784.    SendDate(~Table7[num*2+1+32],~0X00,~0x00,~0X00);
  785.    
  786.    SendDate(~Table7[num*2+0+64],~0X00,~0x00,~0X00);
  787.    SendDate(~Table7[num*2+1+64],~0X00,~0x00,~0X00);
  788.    
  789.    SendDate(~Table7[num*2+0+96],~0X00,~0x00,~0X00);
  790.    SendDate(~Table7[num*2+1+96],~0X00,~0x00,~0X00);
  791.    
  792.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  793.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  794.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  795.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  796.    
  797.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  798.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  799.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  800.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  801.    OE=1;   
  802.    LAT=1;     //输出锁存
  803.    delay_us(1);
  804.    LAT=0;
  805.    PC_ODR=num<<4;
  806.    OE=0;
  807.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  808.   }
  809.   if(bk)break;
  810. }
  811. } //到此结束

  812.   while(tim==7) //欢迎光临
  813.   
  814.    {   
  815.    while(flag--)
  816.    {
  817.   for(num=0;num<16;num++)
  818.   {
  819.    SendDate(~Table9[num*2+0],~0X00,~0x00,~0X00);
  820.    SendDate(~Table9[num*2+1],~0X00,~0x00,~0X00);
  821.    
  822.    SendDate(~Table9[num*2+0+32],~0X00,~0x00,~0X00);
  823.    SendDate(~Table9[num*2+1+32],~0X00,~0x00,~0X00);
  824.    
  825.    SendDate(~Table9[num*2+0+64],~0X00,~0x00,~0X00);
  826.    SendDate(~Table9[num*2+1+64],~0X00,~0x00,~0X00);
  827.    
  828.    SendDate(~Table9[num*2+0+96],~0X00,~0x00,~0X00);
  829.    SendDate(~Table9[num*2+1+96],~0X00,~0x00,~0X00);
  830.    
  831.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  832.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  833.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  834.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  835.    
  836.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  837.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  838.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  839.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  840.    OE=1;   
  841.    LAT=1;     //输出锁存
  842.    delay_us(1);
  843.    LAT=0;
  844.    PC_ODR=num<<4;
  845.    OE=0;
  846.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  847.   }
  848.   if(bk)break;
  849.    }  

  850. } //到此结束

  851.    while(tim==8) //谢谢光临,欢迎再来
  852.   
  853.    {   
  854.    while(flag--)
  855.    {
  856.   for(num=0;num<16;num++)
  857.   {
  858.    SendDate(~Table10[num*2+0],~0X00,~0x00,~0X00);
  859.    SendDate(~Table10[num*2+1],~0X00,~0x00,~0X00);
  860.    
  861.    SendDate(~Table10[num*2+0+32],~0X00,~0x00,~0X00);
  862.    SendDate(~Table10[num*2+1+32],~0X00,~0x00,~0X00);
  863.    
  864.    SendDate(~Table10[num*2+0+64],~0X00,~0x00,~0X00);
  865.    SendDate(~Table10[num*2+1+64],~0X00,~0x00,~0X00);
  866.    
  867.    SendDate(~Table10[num*2+0+96],~0X00,~0x00,~0X00);
  868.    SendDate(~Table10[num*2+1+96],~0X00,~0x00,~0X00);
  869.    
  870.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  871.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  872.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  873.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  874.    
  875.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  876.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  877.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  878.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  879.    OE=1;   
  880.    LAT=1;     //输出锁存
  881.    delay_us(1);
  882.    LAT=0;
  883.    PC_ODR=num<<4;
  884.    OE=0;
  885.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  886.   }
  887.   if(bk)break;
  888.    }  
  889.   
  890.   while(flag--)
  891.   {
  892.    for(num=0;num<16;num++)
  893.   {
  894.    SendDate(~Table11[num*2+0],~0X00,~0x00,~0X00);
  895.    SendDate(~Table11[num*2+1],~0X00,~0x00,~0X00);
  896.    
  897.    SendDate(~Table11[num*2+0+32],~0X00,~0x00,~0X00);
  898.    SendDate(~Table11[num*2+1+32],~0X00,~0x00,~0X00);
  899.    
  900.    SendDate(~Table11[num*2+0+64],~0X00,~0x00,~0X00);
  901.    SendDate(~Table11[num*2+1+64],~0X00,~0x00,~0X00);
  902.    
  903.    SendDate(~Table11[num*2+0+96],~0X00,~0x00,~0X00);
  904.    SendDate(~Table11[num*2+1+96],~0X00,~0x00,~0X00);
  905.    
  906.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  907.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  908.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  909.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  910.    
  911.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  912.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  913.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  914.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  915.    OE=1;   
  916.    LAT=1;     //输出锁存
  917.    delay_us(1);
  918.    LAT=0;
  919.    PC_ODR=num<<4;
  920.    OE=0;
  921.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  922.   }
  923.   if(bk)break;
  924. }
  925. }

  926.     while(tim==9) //谢谢光临,欢迎再来
  927.   
  928.    {   
  929.    while(flag--)
  930.    {
  931.   for(num=0;num<16;num++)
  932.   {
  933.    SendDate(~Table12[num*2+0],~0X00,~0x00,~0X00);
  934.    SendDate(~Table12[num*2+1],~0X00,~0x00,~0X00);
  935.    
  936.    SendDate(~Table12[num*2+0+32],~0X00,~0x00,~0X00);
  937.    SendDate(~Table12[num*2+1+32],~0X00,~0x00,~0X00);
  938.    
  939.    SendDate(~Table12[num*2+0+64],~0X00,~0x00,~0X00);
  940.    SendDate(~Table12[num*2+1+64],~0X00,~0x00,~0X00);
  941.    
  942.    SendDate(~Table12[num*2+0+96],~0X00,~0x00,~0X00);
  943.    SendDate(~Table12[num*2+1+96],~0X00,~0x00,~0X00);
  944.    
  945.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  946.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  947.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  948.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  949.    
  950.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  951.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  952.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  953.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  954.    OE=1;   
  955.    LAT=1;     //输出锁存
  956.    delay_us(1);
  957.    LAT=0;
  958.    PC_ODR=num<<4;
  959.    OE=0;
  960.    delay_us(370);//延时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  961.   }
  962.   if(bk)break;
  963.    }  
  964.   
  965.   while(flag--)
  966.   {
  967.    for(num=0;num<16;num++)
  968.   {
  969.    SendDate(~Table7[num*2+0],~0X00,~0x00,~0X00);
  970.    SendDate(~Table7[num*2+1],~0X00,~0x00,~0X00);
  971.    
  972.    SendDate(~Table7[num*2+0+32],~0X00,~0x00,~0X00);
  973.    SendDate(~Table7[num*2+1+32],~0X00,~0x00,~0X00);
  974.    
  975.    SendDate(~Table7[num*2+0+64],~0X00,~0x00,~0X00);
  976.    SendDate(~Table7[num*2+1+64],~0X00,~0x00,~0X00);
  977.    
  978.    SendDate(~Table7[num*2+0+96],~0X00,~0x00,~0X00);
  979.    SendDate(~Table7[num*2+1+96],~0X00,~0x00,~0X00);
  980.    
  981.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  982.    //  SendDate(0xBB,~0X00,~0x00,~0X00);        
  983.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  984.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  985.    
  986.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  987.    // SendDate(0xBB,~0X00,~0x00,~0X00);
  988.    //  SendDate(0xBB,~0X00,~0x00,~0X00);
  989.    //  SendDate(0xBB,~0X00,~0x00,~0X00);   
  990.    OE=1;   
  991.    LAT=1;     //输出锁存
  992.    

  993. …………限于本文篇幅 余下代码请从51黑电子下载附件…………

复制代码

全部源码下载:
chezaiping.rar (299.38 KB, 下载次数: 34)
回复

使用道具 举报

ID:86901 发表于 2019-4-17 09:14 | 显示全部楼层
学习 学习
回复

使用道具 举报

ID:23303 发表于 2021-5-25 11:14 | 显示全部楼层
谢谢!学习学习。向各位老师学习
回复

使用道具 举报

ID:23303 发表于 2021-6-6 08:02 | 显示全部楼层
谢谢楼主分享,下载学习一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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