找回密码
 立即注册

QQ登录

只需一步,快速开始

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

16*64点阵程序

[复制链接]
跳转到指定楼层
楼主


  1. //帮忙修改点阵条屏16*16程序,此为静态显示程序范例,功能:key2 key3 key4 key5,其中任意两个为ON,锁定切换显示四个字.
  2. //key2 key3 key4 key5都为off按key1切换显示四个字。

  3. //现要求改成从右往左滚动显示字条,字条滚动播完一遍后,静止显示任意四个字5秒(可定义),接着播放。
  4. //key2 key3 key4 key5,其中任意两个为ON,锁定显示一条滚动字条。都为off时,按key1切换显示滚动字条内容。
  5. //字条任意,但关键地方要做好说明,方便后续修改字体内容·滚动速度


  6. #include<reg51.h>
  7. #define ROW_address                P2

  8. sbit R1=P1^0;
  9. sbit G1=P1^1;
  10. sbit SK=P1^2;
  11. sbit LT=P1^3;
  12. sbit EN=P1^4;


  13. sbit key1=P0^6;
  14. sbit key2=P0^0;
  15. sbit key3=P0^1;
  16. sbit key4=P0^2;
  17. sbit key5=P0^3;


  18. void debouncer(void);

  19. unsigned char code GB_16[] =          // 数据表
  20. {
  21. 0x08,0x10,0x3F,0xF8,0x08,0x80,0x04,0x40,0x06,0x18,0x24,0x48,0x0C,0x80,0x04,0x40,
  22. 0x04,0x20,0x24,0x48,0x09,0x00,0x04,0x40,0xFF,0xFE,0x3F,0xF8,0x13,0xFE,0x04,0x44,
  23. 0x00,0x00,0x01,0x00,0x12,0x80,0x44,0x46,0x3E,0x08,0x7F,0xFC,0x34,0x88,0x24,0x4C,
  24. 0x22,0x48,0x02,0x00,0x50,0xFC,0x24,0x48,0x3E,0x48,0x1F,0xF0,0x90,0x80,0x14,0x50,
  25. 0x22,0x48,0x10,0x10,0x10,0x80,0x1C,0x50,0x22,0x48,0x1F,0xF0,0x10,0x84,0x14,0x60,
  26. 0x3E,0x48,0x10,0x10,0x10,0xFE,0x04,0x40,0x22,0x48,0x1F,0xF0,0x10,0x80,0x04,0x40,
  27. 0x22,0x48,0x10,0x10,0x10,0x80,0x04,0x44,0x2A,0x08,0x1F,0xF0,0x10,0x80,0xFF,0xFE,
  28. 0x24,0x28,0x10,0x10,0x10,0x80,0x00,0x00,0x00,0x10,0xFF,0xFE,0x10,0x80,0x00,0x00, //one  前置作业



  29. 0x08,0x10,0x3F,0xF8,0x40,0x02,0x00,0x20,0x06,0x18,0x24,0x48,0x27,0xC2,0x40,0x28,
  30. 0x04,0x20,0x24,0x48,0x24,0x42,0x20,0x24,0xFF,0xFE,0x3F,0xF8,0x84,0x52,0x30,0x24,
  31. 0x00,0x00,0x01,0x00,0x45,0x52,0x27,0xFE,0x3E,0x08,0x7F,0xFC,0x55,0x52,0x00,0x20,
  32. 0x22,0x48,0x02,0x00,0x15,0x52,0xE0,0x20,0x3E,0x48,0x1F,0xF0,0x25,0x52,0x27,0xE0,
  33. 0x22,0x48,0x10,0x10,0x25,0x52,0x21,0x20,0x22,0x48,0x1F,0xF0,0x25,0x52,0x21,0x10,
  34. 0x3E,0x48,0x10,0x10,0xC5,0x52,0x21,0x10,0x22,0x48,0x1F,0xF0,0x41,0x02,0x21,0x0A,
  35. 0x22,0x48,0x10,0x10,0x42,0x82,0x29,0xCA,0x2A,0x08,0x1F,0xF0,0x42,0x42,0x36,0x06,
  36. 0x24,0x28,0x10,0x10,0x44,0x4A,0x20,0x02,0x00,0x10,0xFF,0xFE,0x48,0x04,0x00,0x00,  //two 无载跑合


  37. 0x00,0x7C,0x10,0x40,0x40,0x02,0x00,0x20,0x3F,0x80,0x10,0x20,0x27,0xC2,0x40,0x28,
  38. 0x02,0x20,0x23,0xFE,0x24,0x42,0x20,0x24,0x04,0x20,0x20,0x40,0x84,0x52,0x30,0x24,
  39. 0x08,0x40,0x44,0x40,0x45,0x52,0x27,0xFE,0x1F,0x80,0xF8,0x88,0x55,0x52,0x00,0x20,
  40. 0x03,0x20,0x09,0x04,0x15,0x52,0xE0,0x20,0x0C,0x10,0x13,0xFE,0x25,0x52,0x27,0xE0,
  41. 0x3F,0xF8,0x20,0x94,0x25,0x52,0x21,0x20,0x10,0x8C,0x7C,0x90,0x25,0x52,0x21,0x10,
  42. 0x04,0xA0,0x00,0x90,0xC5,0x52,0x21,0x10,0x08,0x90,0x00,0x90,0x41,0x02,0x21,0x0A,
  43. 0x10,0x88,0x1D,0x12,0x42,0x82,0x29,0xCA,0x20,0x84,0xE1,0x12,0x42,0x42,0x36,0x06,
  44. 0x42,0x84,0x02,0x0E,0x44,0x4A,0x20,0x02,0x01,0x00,0x04,0x00,0x48,0x04,0x00,0x00,  //three

  45. 0x00,0x00,0x08,0x00,0x10,0x40,0x00,0x00,0x00,0x00,0x0F,0xFC,0x10,0x40,0x00,0x00,
  46. 0x00,0x00,0x10,0x00,0x10,0xA0,0x00,0x00,0x00,0x00,0x2F,0xF8,0xFD,0x10,0x00,0x00,
  47. 0x00,0x00,0x48,0x08,0x12,0x0E,0x00,0x00,0x00,0x00,0x0F,0xF8,0x38,0x00,0x00,0x00,
  48. 0x00,0x00,0x08,0x08,0x35,0xF8,0x00,0x00,0x00,0x00,0x0F,0xF8,0x50,0x00,0x00,0x00,
  49. 0x00,0x00,0x04,0x00,0x50,0x88,0x00,0x00,0x00,0x00,0x07,0xF8,0x92,0x4C,0x00,0x00,
  50. 0x00,0x00,0x0C,0x10,0x11,0x48,0x00,0x00,0x00,0x00,0x12,0x60,0x11,0x50,0x00,0x00,
  51. 0x00,0x00,0x21,0x80,0x10,0x20,0x00,0x00,0x00,0x00,0x06,0x60,0x17,0xFE,0x00,0x00,
  52. 0x00,0x00,0x18,0x1E,0x10,0x00,0x00,0x00,0x00,0x00,0x60,0x04,0x00,0x00,0x00,0x00,  //four

  53. 0x00,0x00,0x00,0x00,0x10,0x40,0x00,0x00,0x00,0x00,0x0F,0xF0,0x10,0x40,0x00,0x00,
  54. 0x00,0x00,0x08,0x10,0x10,0xA0,0x00,0x00,0x00,0x00,0x08,0x10,0xFD,0x10,0x00,0x00,
  55. 0x00,0x00,0x08,0x10,0x12,0x0E,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x00,0x00,0x00,
  56. 0x00,0x00,0x08,0x10,0x35,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,
  57. 0x00,0x00,0x7E,0xFC,0x50,0x88,0x00,0x00,0x00,0x00,0x42,0x84,0x92,0x4C,0x00,0x00,
  58. 0x00,0x00,0x42,0x84,0x11,0x48,0x00,0x00,0x00,0x00,0x42,0x84,0x11,0x50,0x00,0x00,
  59. 0x00,0x00,0x42,0x84,0x10,0x20,0x00,0x00,0x00,0x00,0x7E,0xFC,0x17,0xFE,0x00,0x00,
  60. 0x00,0x00,0x42,0x84,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   //five

  61. 0x00,0x10,0x40,0x0C,0x00,0x01,0x00,0x00,0x00,0x18,0x40,0x06,0x00,0x00,0x80,0x00,
  62. 0x00,0x13,0xFC,0x02,0x00,0x3F,0xFE,0x00,0x00,0x28,0x40,0x01,0x00,0x21,0x00,0x00,
  63. 0x00,0x4C,0x40,0x03,0x00,0x21,0x00,0x00,0x00,0x88,0x40,0x02,0x80,0x3F,0xFC,0x00,
  64. 0x00,0x17,0xFE,0x02,0x80,0x22,0x40,0x00,0x00,0x10,0x10,0x04,0x40,0x24,0x40,0x00,
  65. 0x00,0x30,0x10,0x04,0x20,0x2F,0xFC,0x00,0x00,0x57,0xFE,0x08,0x20,0x24,0x40,0x00,
  66. 0x00,0x10,0x10,0x08,0x10,0x20,0x40,0x00,0x00,0x11,0x10,0x10,0x08,0x3F,0xFE,0x00,
  67. 0x00,0x11,0x10,0x20,0x0E,0x20,0x40,0x00,0x00,0x10,0x10,0x40,0x04,0x40,0x40,0x00,
  68. 0x00,0x10,0x50,0x80,0x00,0x40,0x40,0x00,0x00,0x10,0x20,0x00,0x00,0x80,0x40,0x00,  //six

  69. 0x00,0x00,0x10,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x10,0x60,0x7B,0xFC,0x00,0x00,
  70. 0x00,0x00,0x10,0x40,0x49,0x08,0x00,0x00,0x00,0x00,0x10,0x40,0x50,0x90,0x00,0x00,
  71. 0x00,0x00,0xFE,0xFE,0x57,0xFE,0x00,0x00,0x00,0x00,0x10,0x88,0x60,0x00,0x00,0x00,
  72. 0x00,0x00,0x10,0x88,0x53,0xF8,0x00,0x00,0x00,0x00,0x7D,0x88,0x4A,0x08,0x00,0x00,
  73. 0x00,0x00,0x46,0x50,0x4B,0xF8,0x00,0x00,0x00,0x00,0x44,0x50,0x6A,0x08,0x00,0x00,
  74. 0x00,0x00,0x44,0x20,0x53,0xF8,0x00,0x00,0x00,0x00,0x44,0x20,0x40,0x40,0x00,0x00,
  75. 0x00,0x00,0x7C,0x50,0x4F,0xFE,0x00,0x00,0x00,0x00,0x41,0x8E,0x40,0x40,0x00,0x00,
  76. 0x00,0x00,0x06,0x04,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x00,0x00,  //seven

  77. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x40,0x40,0x00,0x00,0x00,
  78. 0x00,0x00,0x08,0x40,0x27,0xFE,0x00,0x00,0x00,0x00,0x48,0xA0,0x30,0x20,0x00,0x00,
  79. 0x00,0x00,0x48,0x90,0x20,0x20,0x00,0x00,0x00,0x00,0x49,0x0E,0x00,0x20,0x00,0x00,
  80. 0x00,0x00,0x4B,0xF0,0xE2,0x20,0x00,0x00,0x00,0x00,0x7C,0x00,0x22,0x20,0x00,0x00,
  81. 0x00,0x00,0x04,0x84,0x22,0x3C,0x00,0x00,0x00,0x00,0x06,0x44,0x22,0x20,0x00,0x00,
  82. 0x00,0x00,0x35,0x48,0x22,0x20,0x00,0x00,0x00,0x00,0xC5,0x48,0x22,0x20,0x00,0x00,
  83. 0x00,0x00,0x04,0x10,0x2A,0x20,0x00,0x00,0x00,0x00,0x17,0xFE,0x32,0x20,0x00,0x00,
  84. 0x00,0x00,0x08,0x00,0x2F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   //eight

  85. 0x00,0x00,0x04,0x40,0x00,0x80,0x01,0x00,0x3F,0xFC,0x04,0x50,0x7C,0xC0,0x02,0x80,
  86. 0x01,0x00,0x3F,0x48,0x44,0x80,0x04,0x40,0x01,0x00,0x04,0x40,0x44,0xFC,0x08,0x20,
  87. 0x01,0x00,0xFF,0xFE,0x45,0x04,0x10,0x18,0x01,0x00,0x08,0x40,0x7D,0xF4,0x20,0x2E,
  88. 0x7F,0xFE,0x7F,0x44,0x52,0x94,0xDF,0xF4,0x01,0x80,0x10,0x44,0x10,0x94,0x00,0x00,
  89. 0x02,0x80,0x24,0x28,0x5E,0x94,0x00,0x00,0x02,0x80,0x7F,0x28,0x50,0xF4,0x1F,0xF0,
  90. 0x04,0x80,0x04,0x30,0x50,0x94,0x10,0x10,0x08,0x80,0x07,0x30,0x50,0x88,0x10,0x10,
  91. 0x10,0x82,0x7C,0x52,0x50,0x82,0x10,0x10,0x20,0x82,0x04,0x8A,0x5E,0x82,0x1F,0xF0,
  92. 0xC0,0x7E,0x05,0x04,0xE0,0x7E,0x10,0x10,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00, //nine

  93. 0x20,0x00,0x04,0x40,0x00,0x80,0x01,0x00,0x21,0xFC,0x04,0x50,0x7C,0xC0,0x02,0x80,
  94. 0xFE,0x08,0x3F,0x48,0x44,0x80,0x04,0x40,0x20,0x10,0x04,0x40,0x44,0xFC,0x08,0x20,
  95. 0x50,0x20,0xFF,0xFE,0x45,0x04,0x10,0x18,0x50,0x50,0x08,0x40,0x7D,0xF4,0x20,0x2E,
  96. 0x90,0x8C,0x7F,0x44,0x52,0x94,0xDF,0xF4,0xFD,0x04,0x10,0x44,0x10,0x94,0x00,0x00,
  97. 0x13,0xFE,0x24,0x28,0x5E,0x94,0x00,0x00,0x10,0x20,0x7F,0x28,0x50,0xF4,0x1F,0xF0,
  98. 0x1C,0x20,0x04,0x30,0x50,0x94,0x10,0x10,0xF0,0x20,0x07,0x30,0x50,0x88,0x10,0x10,
  99. 0x10,0x20,0x7C,0x52,0x50,0x82,0x10,0x10,0x10,0x20,0x04,0x8A,0x5E,0x82,0x1F,0xF0,
  100. 0x17,0xFE,0x05,0x04,0xE0,0x7E,0x10,0x10,0x10,0x00,0x04,0x00,0x00,0x00,0x00,0x00, //ten

  101. 0x41,0x10,0x04,0x40,0x00,0x80,0x01,0x00,0x21,0x10,0x04,0x50,0x7C,0xC0,0x02,0x80,
  102. 0x2F,0xFE,0x3F,0x48,0x44,0x80,0x04,0x40,0x01,0x10,0x04,0x40,0x44,0xFC,0x08,0x20,
  103. 0x80,0x00,0xFF,0xFE,0x45,0x04,0x10,0x18,0x57,0xFE,0x08,0x40,0x7D,0xF4,0x20,0x2E,
  104. 0x51,0x20,0x7F,0x44,0x52,0x94,0xDF,0xF4,0x17,0xFC,0x10,0x44,0x10,0x94,0x00,0x00,
  105. 0x25,0x24,0x24,0x28,0x5E,0x94,0x00,0x00,0x25,0x24,0x7F,0x28,0x50,0xF4,0x1F,0xF0,
  106. 0x25,0xB4,0x04,0x30,0x50,0x94,0x10,0x10,0xC6,0x4C,0x07,0x30,0x50,0x88,0x10,0x10,
  107. 0x44,0x84,0x7C,0x52,0x50,0x82,0x10,0x10,0x44,0x04,0x04,0x8A,0x5E,0x82,0x1F,0xF0,
  108. 0x44,0x14,0x05,0x04,0xE0,0x7E,0x10,0x10,0x44,0x08,0x04,0x00,0x00,0x00,0x00,0x00, //eleven


  109. 0x01,0x00,0x10,0x40,0x40,0x02,0x00,0x20,0x01,0x00,0x18,0x50,0x27,0xC2,0x40,0x28,
  110. 0x7F,0xFC,0x10,0x4C,0x24,0x42,0x20,0x24,0x02,0x00,0x20,0x48,0x84,0x52,0x30,0x24,
  111. 0x1F,0xF0,0x23,0xFC,0x45,0x52,0x27,0xFE,0x10,0x10,0x48,0x40,0x55,0x52,0x00,0x20,
  112. 0x10,0x10,0xF8,0x40,0x15,0x52,0xE0,0x20,0x1F,0xF0,0x13,0xFE,0x25,0x52,0x27,0xE0,
  113. 0x10,0x10,0x20,0x40,0x25,0x52,0x21,0x20,0x1F,0xF0,0x7C,0x48,0x25,0x52,0x21,0x10,
  114. 0x10,0x10,0x00,0x30,0xC5,0x52,0x21,0x10,0x1F,0xF0,0x00,0x22,0x41,0x02,0x21,0x0A,
  115. 0x10,0x10,0x1C,0xD2,0x42,0x82,0x29,0xCA,0x10,0x10,0xE3,0x0A,0x42,0x42,0x36,0x06,
  116. 0xFF,0xFE,0x00,0x06,0x44,0x4A,0x20,0x02,0x00,0x00,0x00,0x02,0x48,0x04,0x00,0x00, //twelve

  117. 0x00,0x00,0x01,0x00,0x40,0x02,0x00,0x20,0x3F,0xFE,0x01,0x00,0x27,0xC2,0x40,0x28,
  118. 0x20,0x00,0x01,0x00,0x24,0x42,0x20,0x24,0x20,0x80,0x01,0x00,0x84,0x52,0x30,0x24,
  119. 0x20,0x80,0x7F,0xFC,0x45,0x52,0x27,0xFE,0x20,0x88,0x01,0x04,0x55,0x52,0x00,0x20,
  120. 0x2F,0xFC,0x01,0x04,0x15,0x52,0xE0,0x20,0x20,0x80,0x01,0x04,0x25,0x52,0x27,0xE0,
  121. 0x20,0xA0,0x01,0x04,0x25,0x52,0x21,0x20,0x20,0x90,0x02,0x04,0x25,0x52,0x21,0x10,
  122. 0x20,0x98,0x02,0x04,0xC5,0x52,0x21,0x10,0x40,0x90,0x04,0x04,0x41,0x02,0x21,0x0A,
  123. 0x40,0x80,0x04,0x04,0x42,0x82,0x29,0xCA,0xBF,0xFE,0x08,0x04,0x42,0x42,0x36,0x06,
  124. 0x00,0x00,0x10,0x28,0x44,0x4A,0x20,0x02,0x00,0x00,0x20,0x10,0x48,0x04,0x00,0x00, //thirteen

  125. 0x00,0x00,0x10,0x40,0x40,0x02,0x00,0x00,0x00,0x00,0x18,0x40,0x27,0xC2,0x00,0x00,
  126. 0x00,0x00,0x13,0xFC,0x24,0x42,0x00,0x00,0x00,0x00,0x28,0x40,0x84,0x52,0x00,0x00,
  127. 0x00,0x00,0x4C,0x40,0x45,0x52,0x00,0x00,0x00,0x00,0x88,0x40,0x55,0x52,0x00,0x00,
  128. 0x00,0x00,0x17,0xFE,0x15,0x52,0x00,0x00,0x00,0x00,0x10,0x10,0x25,0x52,0x00,0x00,
  129. 0x00,0x00,0x30,0x10,0x25,0x52,0x00,0x00,0x00,0x00,0x57,0xFE,0x25,0x52,0x00,0x00,
  130. 0x00,0x00,0x10,0x10,0xC5,0x52,0x00,0x00,0x00,0x00,0x11,0x10,0x41,0x02,0x00,0x00,
  131. 0x00,0x00,0x11,0x10,0x42,0x82,0x00,0x00,0x00,0x00,0x10,0x10,0x42,0x42,0x00,0x00,
  132. 0x00,0x00,0x10,0x50,0x44,0x4A,0x00,0x00,0x00,0x00,0x10,0x20,0x48,0x04,0x00,0x00,  //fourteen

  133. };


  134. unsigned int x=0;
  135. unsigned long cnt=0;
  136. unsigned int Row=0;
  137. unsigned int m=0;

  138. void delay(unsigned int i)
  139. {
  140.         unsigned int j,k;
  141.         for(i;i>0;i--)
  142.         for(j=10;j>0;j--)
  143.         for(k=200;k>0;k--);
  144. }

  145. void display(unsigned int C_num)
  146. {
  147.         unsigned char k,n,num;


  148.                 for(k=0;k<2*C_num;k++)
  149.                 {
  150.                         num=GB_16[8*Row+k+128*x];

  151.                         for(n=0;n<8;n++)
  152.                         {
  153.                                 SK=0;
  154.                                 R1=~num&0x80;
  155.                                 G1=~num&0x80;
  156.                                 SK=1;
  157.                                 num<<=1;
  158.                         }
  159.                 }

  160.                 EN=1;

  161.                 LT=1;
  162.                 LT=0;


  163.                 ROW_address=Row;

  164.                 EN=0;

  165. }
  166. /************interrupt T0****************/
  167. void time0() interrupt 1
  168. {
  169.         TH0=0x1ff;
  170.         TL0=0x00;
  171.         Row++;
  172.         if(Row==16)
  173.                 Row=0;

  174.         display(4);

  175.         cnt++;

  176. }


  177. /***********init ************************/
  178. void init()
  179. {
  180.         TMOD=0x01;
  181.         TH0=0x1ff;
  182.         TL0=0x00;
  183.         ET0=1;
  184.         TR0=1;
  185.         EA=1;
  186. }
  187. void main(void)
  188. {
  189.         init();
  190.     key1=1;
  191.     key2=1;
  192.     key3=1;
  193.     key4=1;

  194.         while(1)
  195.         {
  196. //                if(key1==0 && key2==1 && key3==1 && key4==1 && key5==1)
  197.                 if(key1==0)
  198.                 {
  199.                  while(!key1);
  200.                  x++;
  201.                  if(x>=8)
  202.                  x=0;
  203.                 }

  204.                 else if(key2==0 && key3==0)
  205.                 {
  206.                  x=8;
  207.                 }


  208.                 else if(key2==0 && key4==0)
  209.                 {
  210.                  x=9;
  211.                 }


  212.                 else if(key2==0 && key5==0)
  213.                 {
  214.                  x=10;
  215.                 }

  216.                 else if(key3==0 && key4==0)
  217.             {
  218.                  x=11;
  219.                 }


  220.                 else if(key3==0 && key5==0)
  221.                 {
  222.                  x=12;
  223.                 }


  224.                 else if(key4==0 && key5==0)
  225.                 {
  226.                  x=13;
  227.                 }

  228.         }
  229. }
复制代码



16.64点阵程序(当前使用修改6版).rar

23.29 KB, 下载次数: 36, 下载积分: 黑币 -5

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

使用道具 举报

沙发
ID:829862 发表于 2022-2-4 21:17 | 只看该作者
:Q:loveliness::L
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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