搜索
bottom↓
回复: 4

发一个ST7585的51驱动

[复制链接]

出0入0汤圆

发表于 2014-11-28 09:10:55 | 显示全部楼层 |阅读模式
之前论坛送的ST7585,坛友发的驱动是STM的,根据那个驱动做了个51的驱动。在此感谢下发布驱动的朋友。
main.c:
  1. #include "STC90.H"
  2. #include "font.h"

  3. #define SDA  P20  
  4. #define A0   P21  
  5. #define CS   P22  
  6. #define SCL  P23  
  7. #define RES  P24  
  8. #define LED1 P20  
  9. #define LED2 P21  

  10. #define NOP                        0x00
  11. #define Function_Set                0x20
  12. #define Display_Control                0x08
  13. #define Set_Y_Address                0x40
  14. #define Set_X_Address                0x80
  15. #define Set_V0                        0x80
  16. #define Set_Test_Mode                0x30

  17. ///////////////////////////////////////////////////////////////////////////////////////////////////
  18. const unsigned char code BMP[768]={
  19. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  20. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  21. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  22. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  23. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  24. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  25. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0E,0x0E,0x1F,0x3F,
  26. 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,
  27. 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7E,0x7F,0x7F,0x7F,0x7F,0x7F,
  28. 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x1F,0x07,0x01,
  29. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  30. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  31. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  32. 0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
  33. 0x07,0x07,0x07,0x03,0x80,0xC0,0xE0,0xFC,0xFF,0xFF,0x3F,0x0F,0x03,0x00,0x00,0xE0,
  34. 0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xDF,0xF7,0xFE,0xFF,0xFF,0xFF,
  35. 0x7F,0x1F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  36. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  37. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  38. 0x80,0xE0,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xFC,0xF8,0xF0,
  39. 0xE0,0xC0,0x80,0x01,0x01,0x03,0x07,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x1F,0x07,
  40. 0x00,0x00,0xC0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFD,
  41. 0xFF,0xFF,0xFF,0xFF,0x3F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  42. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  43. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  44. 0x00,0x00,0x00,0x00,0xC0,0xF0,0xFE,0xFF,0xFF,0xE0,0x80,0x00,0x00,0x00,0x1E,0x1F,
  45. 0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  46. 0xFF,0x3F,0x0E,0x00,0x00,0xC0,0xF0,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  47. 0x7F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
  48. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  49. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  50. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xFC,0x7F,0x3F,0x1F,0x0F,0x0F,0x0F,
  51. 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
  52. 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
  53. 0x0F,0x0F,0x8F,0xEF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0x7F,0x1F,0x00,0x00,0x00,0x00,
  54. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  55. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  56. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xD0,0xD0,0xD0,
  57. 0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,
  58. 0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,
  59. 0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xF0,0xF0,0xF0,0xE0,0xC0,0x00,0x00,0x00,0x00,
  60. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  61. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  62. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  63. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  64. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  65. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  66. 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  67. };

  68. const char code write_chinese[][24]={
  69. /*--  文字:  两  --*/
  70. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  71. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  72. 0x01,0xF9,0x89,0x7F,0x49,0x89,0x7F,0x49,0x89,0xF9,0x01,0x00,0x00,0x07,0x00,0x00,
  73. 0x01,0x00,0x00,0x04,0x04,0x07,0x00,0x00,

  74. /*--  文字:  个  --*/
  75. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  76. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  77. 0x10,0x10,0x08,0x04,0x02,0xF9,0x02,0x04,0x08,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
  78. 0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,


  79. /*--  文字:  黄  --*/
  80. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  81. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  82. 0x08,0x0A,0xEA,0xAF,0xAA,0xFA,0xAA,0xAF,0xEA,0x0A,0x08,0x00,0x04,0x04,0x07,0x02,
  83. 0x02,0x03,0x02,0x02,0x07,0x04,0x04,0x00,

  84. /*--  文字:  鹂  --*/
  85. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  86. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  87. 0xFA,0x4A,0xFA,0x2A,0x4A,0xFA,0x00,0x7E,0x4B,0x52,0xDE,0x00,0x07,0x00,0x07,0x00,
  88. 0x04,0x07,0x01,0x01,0x05,0x05,0x03,0x00,

  89. /*--  文字:  鸣  --*/
  90. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  91. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  92. 0xFE,0x42,0x42,0xFE,0x00,0x7E,0x43,0x5A,0x52,0x5E,0xC0,0x00,0x00,0x00,0x00,0x01,
  93. 0x01,0x01,0x01,0x05,0x05,0x04,0x03,0x00,

  94. /*--  文字:  翠  --*/
  95. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  96. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  97. 0x01,0x91,0x5B,0x35,0x5F,0x90,0x51,0x3B,0x55,0x9F,0x00,0x00,0x01,0x01,0x01,0x01,
  98. 0x01,0x07,0x01,0x01,0x01,0x01,0x01,0x00,

  99. /*--  文字:  柳  --*/
  100. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  101. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  102. 0xC4,0x34,0xFF,0x24,0xFE,0x82,0xFD,0x00,0xFE,0x02,0xFE,0x00,0x00,0x00,0x07,0x00,
  103. 0x04,0x02,0x01,0x00,0x07,0x01,0x01,0x00,

  104. /*--  文字:  一  --*/
  105. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  106. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  107. 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,0x00,0x00,0x00,0x00,
  108. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  109. /*--  文字:  行  --*/
  110. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  111. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  112. 0x48,0x24,0xF3,0x08,0x09,0x09,0x09,0x09,0xF9,0x09,0x08,0x00,0x00,0x00,0x07,0x00,
  113. 0x00,0x04,0x04,0x04,0x07,0x00,0x00,0x00,

  114. /*--  文字:  白  --*/
  115. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  116. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  117. 0x00,0xFC,0x44,0x44,0x46,0x45,0x44,0x44,0x44,0xFC,0x00,0x00,0x00,0x07,0x04,0x04,
  118. 0x04,0x04,0x04,0x04,0x04,0x07,0x00,0x00,

  119. /*--  文字:  鹭  --*/
  120. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  121. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  122. 0x10,0x1F,0xD5,0x5D,0x57,0xEA,0x5B,0x55,0xD5,0x1B,0x08,0x00,0x04,0x04,0x05,0x05,
  123. 0x05,0x05,0x05,0x01,0x05,0x05,0x03,0x00,

  124. /*--  文字:  上  --*/
  125. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  126. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  127. 0x00,0x00,0x00,0x00,0x00,0xFF,0x10,0x10,0x10,0x10,0x00,0x00,0x04,0x04,0x04,0x04,
  128. 0x04,0x07,0x04,0x04,0x04,0x04,0x04,0x00,

  129. /*--  文字:  青  --*/
  130. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  131. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  132. 0x22,0x2A,0xEA,0xAA,0xAA,0xBF,0xAA,0xAA,0xEA,0x2A,0x22,0x00,0x00,0x00,0x07,0x02,
  133. 0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00,

  134. /*--  文字:  天  --*/
  135. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  136. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  137. 0x10,0x11,0x11,0x11,0xD1,0x3F,0xD1,0x11,0x11,0x11,0x10,0x00,0x04,0x04,0x02,0x01,
  138. 0x00,0x00,0x00,0x01,0x02,0x04,0x04,0x00,

  139. /*--  文字:  窗  --*/
  140. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  141. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  142. 0x04,0x16,0xFA,0x96,0xD2,0x7B,0x52,0xD2,0x16,0xFA,0x16,0x00,0x00,0x00,0x07,0x04,
  143. 0x06,0x05,0x05,0x06,0x04,0x07,0x00,0x00,

  144. /*--  文字:  含  --*/
  145. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  146. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  147. 0x10,0x10,0x88,0x94,0x92,0x99,0xD2,0xB4,0x88,0x10,0x10,0x00,0x00,0x00,0x07,0x04,
  148. 0x04,0x04,0x04,0x04,0x07,0x00,0x00,0x00,

  149. /*--  文字:  西  --*/
  150. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  151. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  152. 0x01,0xF9,0x09,0x89,0x7F,0x09,0xFF,0x89,0x89,0xF9,0x01,0x00,0x00,0x07,0x05,0x04,
  153. 0x04,0x04,0x04,0x04,0x04,0x07,0x00,0x00,

  154. /*--  文字:  岭  --*/
  155. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  156. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  157. 0xFC,0x00,0xFF,0x80,0xFC,0x50,0x4C,0x53,0x64,0xC8,0x10,0x00,0x01,0x01,0x00,0x00,
  158. 0x01,0x00,0x01,0x02,0x05,0x00,0x00,0x00,

  159. /*--  文字:  千  --*/
  160. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  161. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  162. 0x10,0x12,0x12,0x12,0x12,0xFE,0x11,0x11,0x11,0x10,0x10,0x00,0x00,0x00,0x00,0x00,
  163. 0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,

  164. /*--  文字:  秋  --*/
  165. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  166. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  167. 0x8A,0x6A,0xFE,0x29,0x49,0x3C,0x80,0x7F,0x90,0x08,0x04,0x00,0x01,0x00,0x07,0x04,
  168. 0x04,0x02,0x01,0x00,0x01,0x02,0x04,0x00,

  169. /*--  文字:  雪  --*/
  170. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  171. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  172. 0x0C,0x45,0x55,0x55,0x45,0x7F,0x45,0x55,0x55,0xC5,0x0C,0x00,0x00,0x04,0x05,0x05,
  173. 0x05,0x05,0x05,0x05,0x05,0x07,0x00,0x00,

  174. /*--  文字:  门  --*/
  175. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  176. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  177. 0x00,0xFC,0x01,0x06,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x07,0x00,0x00,
  178. 0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x00,

  179. /*--  文字:  泊  --*/
  180. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  181. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  182. 0x08,0x91,0x7A,0x00,0xFC,0x44,0x46,0x45,0x44,0x44,0xFC,0x00,0x01,0x07,0x00,0x00,
  183. 0x07,0x02,0x02,0x02,0x02,0x02,0x07,0x00,

  184. /*--  文字:  东  --*/
  185. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  186. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  187. 0x02,0x22,0x32,0xAA,0x26,0xFB,0x22,0x62,0xA2,0x22,0x02,0x00,0x02,0x02,0x01,0x00,
  188. 0x04,0x07,0x00,0x00,0x00,0x01,0x02,0x00,

  189. /*--  文字:  吴  --*/
  190. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  191. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  192. 0x80,0xA0,0xAF,0xA9,0xA9,0xE9,0xA9,0xA9,0xAF,0xA0,0x80,0x00,0x04,0x04,0x04,0x02,
  193. 0x01,0x00,0x01,0x02,0x02,0x04,0x04,0x00,

  194. /*--  文字:  万  --*/
  195. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  196. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  197. 0x02,0x02,0x02,0xC2,0x3E,0x12,0x12,0x12,0xF2,0x03,0x02,0x00,0x04,0x02,0x01,0x00,
  198. 0x00,0x02,0x04,0x04,0x03,0x00,0x00,0x00,

  199. /*--  文字:  里  --*/
  200. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  201. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  202. 0x00,0x00,0x7F,0x29,0x29,0xFF,0x29,0x29,0x29,0x7F,0x00,0x00,0x04,0x05,0x05,0x05,
  203. 0x05,0x07,0x05,0x05,0x05,0x05,0x04,0x00,

  204. /*--  文字:  船  --*/
  205. /*--  Trebuchet MS9;  此字体下对应的点阵为:宽x高=12x12   --*/
  206. /*--  高度不是8的倍数,现调整为:宽度x高度=12x16  --*/
  207. 0x20,0xFE,0xAB,0x22,0xFE,0x20,0xDF,0x41,0x41,0x5F,0xD0,0x00,0x06,0x01,0x00,0x04,
  208. 0x07,0x00,0x07,0x04,0x04,0x04,0x07,0x00
  209. };/**/


  210. ///////////////////////////////////////////////////////////////////////////////////////////////////

  211. void delay(unsigned int x)
  212. {
  213.   unsigned int i,j;       
  214.   for(i=0;i<x;i++)
  215.     for(j=0;j<100;j++);
  216. }

  217. void LCDShiftWrite(unsigned char dat)   
  218. {   
  219.   unsigned char i;                                      
  220.   unsigned char Series,Temp;                           
  221.   SCL = 0;                                          
  222.   Series = dat;   
  223.   for(i=0; i<8; i++)   
  224.   {   
  225.     SCL = 0;                              
  226.     Temp=Series & 0x80;                    
  227.     if(Temp)                              
  228.     {   
  229.       SDA = 1;                 
  230.     }   
  231.     else   
  232.     {   
  233.       SDA = 0;                  
  234.     }
  235.     SCL = 1;                           
  236.     Series = Series << 1;               
  237.   }   
  238. }   


  239. void send_cmd(unsigned char cmd, unsigned char dat)
  240. {
  241.   A0=0;       
  242.   CS=0;
  243.   LCDShiftWrite(cmd|dat);
  244.   CS=1;       
  245.   A0=1;
  246. }

  247. void send_dat(unsigned char dat)
  248. {
  249.   CS=0;
  250.   LCDShiftWrite(dat);
  251.   CS=1;
  252. }


  253. void LCDInit()
  254. {
  255.   RES=0;
  256.   delay(10);
  257.   RES=1;
  258.   delay(10);
  259.   send_cmd(Function_Set,0x01);       
  260.   send_cmd(Set_V0,0x30);       
  261.   send_cmd(Set_Test_Mode,0x02);       
  262.   send_cmd(Function_Set,0x00);       
  263.   send_cmd(Display_Control,0x04);       
  264. }

  265. void LCD_set_XY(unsigned char x,unsigned char y)
  266. {
  267.   send_cmd(Set_X_Address,x);
  268.   send_cmd(Set_Y_Address,y);  
  269. }

  270. void cls(void)
  271. {
  272.   int i;
  273.   send_cmd(Set_X_Address,        0);
  274.   send_cmd(Set_Y_Address,        0);
  275.   for(i=0;i<960;i++)
  276.     send_dat(0x00);
  277.   send_cmd(Set_X_Address,        0);
  278.   send_cmd(Set_Y_Address,        0);
  279. }

  280. void putch(unsigned char x, unsigned char y, unsigned int ch)
  281. {
  282.   unsigned char i;
  283.   send_cmd(Set_X_Address,x);
  284.   send_cmd(Set_Y_Address,y);
  285.   for(i=0;i<5;i++)
  286.     send_dat(FONT[(ch-0x20)*5+i]);
  287. }

  288. void putstr(unsigned char x, unsigned char y, char *str)
  289. {
  290.   while(*str!=0)
  291.   {
  292.     putch(x,y,*str++);
  293.     x=x+6;
  294.   }
  295. }


  296. void SHOW_BMP()
  297. {
  298.   unsigned int i,j,n=0;
  299.   for(i=0;i<8;i++)
  300.     for(j=0;j<96;j++)
  301.     {
  302.       send_cmd(Set_Y_Address,i);
  303.       send_cmd(Set_X_Address,j);   
  304.       send_dat(BMP[n++]);
  305.     }
  306. }

  307. /*-----------------------------------------------------------------------
  308. LCD_write_chinese_string: 在LCD上显示汉字
  309. 输入参数:X、Y    :显示汉字的起始X、Y坐标;
  310.           ch_with :汉字点阵的宽度
  311.           num     :显示汉字的个数;  
  312.           line    :汉字点阵数组中的起始行数
  313.           row     :汉字显示的行间距
  314. -----------------------------------------------------------------------*/
  315. void LCD_write_chinese_string(unsigned char X, unsigned char Y,
  316.                    unsigned char ch_with,unsigned char num,
  317.                    unsigned char line,unsigned char row)
  318. {
  319.   unsigned char i,n;
  320.   LCD_set_XY(X,Y);                             //设置初始位置  
  321.   for (i=0;i<num;)
  322.   {
  323.      for (n=0; n<ch_with*2; n++)              //写一个汉字
  324.     {
  325.       if (n==ch_with)                      //写汉字的下半部分
  326.       {
  327.         if (i==0) LCD_set_XY(X,Y-1);
  328.         else
  329.         LCD_set_XY((X+(ch_with+row)*i),Y-1);
  330.       }
  331.       send_dat(write_chinese[line+i][n]);
  332.     }
  333.     i++;
  334.     LCD_set_XY((X+(ch_with+row)*i),Y);
  335.   }
  336. }

  337. void main(void)
  338. {
  339.   CS = 0;
  340.   LCDInit();
  341.   cls();
  342.   LED1=0;
  343.   LED2=1;
  344.   while(1)
  345.   {
  346.     putstr(30,5,"amobbs");
  347.     putstr(30,3,"CY");
  348.     putstr(10,1,"STC90");
  349.     delay(5000);
  350.     cls();
  351.     SHOW_BMP();
  352.     delay(5000);
  353.     cls();
  354.     LCD_write_chinese_string(0,7,12,7,0,0);
  355.     LCD_write_chinese_string(0,5,12,7,7,0);
  356.     LCD_write_chinese_string(0,3,12,7,14,0);
  357.     LCD_write_chinese_string(0,1,12,7,21,0);
  358.     delay(5000);
  359.     cls();
  360.     LED1=~LED1;
  361.     LED2=~LED2;
  362.   }
  363. }
复制代码

font.c:
  1. const unsigned char code FONT[] =              // ASCII
  2. {
  3. 0x00,0x00,0x00,0x00,0x00, // - -

  4.         0x00,0x00,0x5F,0x00,0x00, // -!-

  5.         0x00,0x07,0x00,0x07,0x00, // -"-

  6.         0x14,0x7F,0x14,0x7F,0x14, // -#-

  7.         0x24,0x2E,0x7B,0x2A,0x12, // -$-

  8.         0x23,0x13,0x08,0x64,0x62, // -%-

  9.         0x36,0x49,0x56,0x20,0x50, // -&-

  10.         0x00,0x04,0x03,0x01,0x00, // -'-

  11.         0x00,0x1C,0x22,0x41,0x00, // -(-

  12.         0x00,0x41,0x22,0x1C,0x00, // -)-

  13.         0x22,0x14,0x7F,0x14,0x22, // -*-

  14.         0x08,0x08,0x7F,0x08,0x08, // -+-

  15.         0x40,0x30,0x10,0x00,0x00, // -,-

  16.         0x08,0x08,0x08,0x08,0x08, // ---

  17.         0x00,0x60,0x60,0x00,0x00, // -.-

  18.         0x20,0x10,0x08,0x04,0x02, // -/-

  19.         0x3E,0x51,0x49,0x45,0x3E, // -0-

  20.         0x00,0x42,0x7F,0x40,0x00, // -1-

  21.         0x62,0x51,0x49,0x49,0x46, // -2-

  22.         0x21,0x41,0x49,0x4D,0x33, // -3-

  23.         0x18,0x14,0x12,0x7F,0x10, // -4-

  24.         0x27,0x45,0x45,0x45,0x39, // -5-

  25.         0x3C,0x4A,0x49,0x49,0x31, // -6-

  26.         0x01,0x71,0x09,0x05,0x03, // -7-

  27.         0x36,0x49,0x49,0x49,0x36, // -8-

  28.         0x46,0x49,0x49,0x29,0x1E, // -9-

  29.         0x00,0x36,0x36,0x00,0x00, // -:-

  30.         0x40,0x36,0x36,0x00,0x00, // -;-

  31.         0x08,0x14,0x22,0x41,0x00, // -<-

  32.         0x14,0x14,0x14,0x14,0x14, // -=-

  33.         0x00,0x41,0x22,0x14,0x08, // ->-

  34.         0x02,0x01,0x59,0x05,0x02, // -?-

  35.         0x3E,0x41,0x5D,0x55,0x5E, // -@-

  36.         0x7C,0x12,0x11,0x12,0x7C, // -A-

  37.         0x7F,0x49,0x49,0x49,0x36, // -B-

  38.         0x3E,0x41,0x41,0x41,0x22, // -C-

  39.         0x7F,0x41,0x41,0x41,0x3E, // -D-

  40.         0x7F,0x49,0x49,0x49,0x41, // -E-

  41.         0x7F,0x09,0x09,0x09,0x01, // -F-

  42.         0x3E,0x41,0x51,0x51,0x72, // -G-

  43.         0x7F,0x08,0x08,0x08,0x7F, // -H-

  44.         0x00,0x41,0x7F,0x41,0x00, // -I-

  45.         0x20,0x40,0x41,0x3F,0x01, // -J-

  46.         0x7F,0x08,0x14,0x22,0x41, // -K-

  47.         0x7F,0x40,0x40,0x40,0x40, // -L-

  48.         0x7F,0x02,0x0C,0x02,0x7F, // -M-

  49.         0x7F,0x04,0x08,0x10,0x7F, // -N-

  50.         0x3E,0x41,0x41,0x41,0x3E, // -O-
  51.        
  52.         0x7F,0x09,0x09,0x09,0x06, // -P-
  53.        
  54.         0x3E,0x41,0x51,0x21,0x5E, // -Q-
  55.        
  56.         0x7F,0x09,0x19,0x29,0x46, // -R-
  57.        
  58.         0x26,0x49,0x49,0x49,0x32, // -S-
  59.        
  60.         0x01,0x01,0x7F,0x01,0x01, // -T-
  61.        
  62.         0x3F,0x40,0x40,0x40,0x3F, // -U-
  63.        
  64.         0x1F,0x20,0x40,0x20,0x1F, // -V-
  65.        
  66.         0x7F,0x20,0x18,0x20,0x7F, // -W-
  67.        
  68.         0x63,0x14,0x08,0x14,0x63, // -X-
  69.        
  70.         0x03,0x04,0x78,0x04,0x03, // -Y-
  71.        
  72.         0x61,0x51,0x49,0x45,0x43, // -Z-
  73.        
  74.         0x7F,0x7F,0x41,0x41,0x00, // -[-
  75.        
  76.         0x02,0x04,0x08,0x10,0x20, // -\-
  77.        
  78.         0x00,0x41,0x41,0x7F,0x7F, // -]-
  79.        
  80.         0x04,0x02,0x7F,0x02,0x04, // -^-
  81.        
  82.         0x08,0x1C,0x2A,0x08,0x08, // -_-
  83.        
  84.         0x00,0x00,0x01,0x02,0x04, // -`-
  85.        
  86.         0x24,0x54,0x54,0x38,0x40, // -a-
  87.        
  88.         0x7F,0x28,0x44,0x44,0x38, // -b-
  89.        
  90.         0x38,0x44,0x44,0x44,0x08, // -c-
  91.        
  92.         0x38,0x44,0x44,0x28,0x7F, // -d-
  93.        
  94.         0x38,0x54,0x54,0x54,0x08, // -e-
  95.        
  96.         0x08,0x7E,0x09,0x09,0x02, // -f-
  97.        
  98.         0x98,0xA4,0xA4,0xA4,0x78, // -g-
  99.        
  100.         0x7F,0x08,0x04,0x04,0x78, // -h-
  101.        
  102.         0x00,0x00,0x79,0x00,0x00, // -i-
  103.        
  104.         0x00,0x80,0x88,0x79,0x00, // -j-
  105.        
  106.         0x7F,0x10,0x28,0x44,0x40, // -k-
  107.        
  108.         0x00,0x41,0x7F,0x40,0x00, // -l-
  109.        
  110.         0x78,0x04,0x78,0x04,0x78, // -m-
  111.        
  112.         0x04,0x78,0x04,0x04,0x78, // -n-
  113.        
  114.         0x38,0x44,0x44,0x44,0x38, // -o-
  115.        
  116.         0xFC,0x24,0x24,0x24,0x18, // -p-
  117.        
  118.         0x18,0x24,0x24,0x24,0xFC, // -q-
  119.        
  120.         0x04,0x78,0x04,0x04,0x08, // -r-
  121.        
  122.         0x48,0x54,0x54,0x54,0x24, // -s-
  123.        
  124.         0x04,0x3F,0x44,0x44,0x24, // -t-
  125.        
  126.         0x3C,0x40,0x40,0x3C,0x40, // -u-
  127.        
  128.         0x1C,0x20,0x40,0x20,0x1C, // -v-
  129.        
  130.         0x3C,0x40,0x3C,0x40,0x3C, // -w-
  131.        
  132.         0x44,0x28,0x10,0x28,0x44, // -x-
  133.        
  134.         0x9C,0xA0,0xA0,0x90,0x7C, // -y-
  135.        
  136.         0x44,0x64,0x54,0x4C,0x44, // -z-
  137.        
  138.         0x08,0x36,0x41,0x00,0x00, // -{-
  139.        
  140.         0x00,0x00,0x77,0x00,0x00, // -|-
  141.        
  142.         0x00,0x00,0x41,0x36,0x08, // -}-
  143.        
  144.         0x08,0x04,0x08,0x10,0x08, // -~-
  145.        
  146.         0x55,0x2A,0x55,0x2A,0x55, // --
  147. };
复制代码

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-11-28 13:49:11 | 显示全部楼层
啥东西??
没了??

出0入0汤圆

 楼主| 发表于 2014-11-28 16:12:23 | 显示全部楼层
lxa0 发表于 2014-11-28 13:49
啥东西??
没了??

ST7585液晶驱动啊,96*64的伪SPI接口的,前段时间坛里有坛友送的那种。

出0入0汤圆

发表于 2014-11-28 16:16:15 | 显示全部楼层
mark 字数补丁

出0入0汤圆

发表于 2015-1-14 17:18:51 来自手机 | 显示全部楼层
记号一下,谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 23:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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