找回密码
 立即注册
查看: 838|回复: 5

STC8H4K64TL 16*16点阵屏

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4846

回帖

8376

积分

超级版主

DebugLab

积分
8376
发表于 2024-4-3 00:12:00 | 显示全部楼层 |阅读模式
STC8H4K64TL 16*16点阵屏
点阵管都用共阳的,下面两个旋转90度当共阴的用,仅供
学习STC8H4K64TL的硬件LED驱动器和汉字左移算法,
程序仅为LED点阵屏部分,无关内容已删除。

Cache_760a18ff032adcd8..jpg



https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=7541&pid=69780


  1. #include <STC8G.H>
  2. #include "define.h"
  3. #include <intrins.h>
  4. #include <absacc.h>
  5. #include <string.h>
  6. #include <stdarg.h>
  7. #include <stdio.h>
  8. #include <math.h>
  9. #define LED0 P50
  10. #define LED1 P51
  11. #define LED2 P04
  12. #define LED3 P52
  13. #define LED4 P07
  14. #define LED5 P06
  15. #define LED6 P05
  16. #define LED7 P53
  17. #define TSK0 P54
  18. #define TSK1 P13
  19. #define TSK2 P17
  20. #define TSK3 P16
  21. #define TSK4 P15
  22. #define TSK5 P14
  23. #define TSK6 P11
  24. #define TSK7 P10
  25. #define COM0 P20
  26. #define COM1 P21
  27. #define COM2 P22
  28. #define COM3 P23
  29. #define COM4 P24
  30. #define COM5 P25
  31. #define COM6 P26
  32. #define COM7 P27
  33. #define SEG0 P40
  34. #define SEG1 P41
  35. #define SEG2 P42
  36. #define SEG3 P43
  37. #define SEG4 P44
  38. #define SEG5 P45
  39. #define SEG6 P46
  40. #define SEG7 P47
  41. #define SEG8 P00
  42. #define SEG9 P01
  43. #define SEGA P02
  44. #define SEGB P03
  45. #define SEGC P34
  46. #define SEGD P35
  47. #define SEGE P36
  48. #define SEGF P37
  49. #define                FOSC                11059200UL
  50. #define                BAUD                115200UL
  51. #define                BRT                        (0x10000-FOSC/BAUD/4)
  52. unsigned char Offset_Bit,Offset_String;
  53. unsigned char code String[][16][2]=
  54. {
  55.         #include <0.h>
  56. };
  57. /*----------------------------延时10us@STC-Y6@11.0592MHz----------------------------*/
  58. //void Delay_10us(void)
  59. //{
  60. //        unsigned char i;
  61. //        i=35;
  62. //        while(--i);
  63. //}
  64. /*----------------------------延时x10us----------------------------*/
  65. //void Delay_x10us(unsigned char x)
  66. //{
  67. //        while(x--)
  68. //                Delay_10us();
  69. //}
  70. /*----------------------------延时10ms@STC-Y6@11.0592MHz----------------------------*/
  71. void Delay_10ms(void)
  72. {
  73.         unsigned char i,j;
  74.         _nop_();
  75.         _nop_();
  76.         i=144;
  77.         j=157;
  78.         do
  79.         {
  80.                 while(--j);
  81.         }while(--i);
  82. }
  83. /*----------------------------延时x10ms----------------------------*/
  84. void Delay_x10ms(unsigned char x)
  85. {
  86.         while(x--)
  87.                 Delay_10ms();
  88. }
  89. void Display_String(void)
  90. {
  91.         unsigned char i;
  92.         unsigned char xdata *p=XBYTE+0xfb10;
  93.         for(i=0;i<8;i++)
  94.         {
  95.                 *(p+i)=Offset_Bit<8?(String[Offset_String][i][0]>>Offset_Bit)|(String[Offset_String][i][1]<<(8-Offset_Bit)):(String[Offset_String][i][1]>>Offset_Bit-8)|(String[Offset_String+1][i][0]<<(8-(Offset_Bit-8)));
  96.                 *(p+8+i)=Offset_Bit<8?(String[Offset_String][i][1]>>Offset_Bit)|(String[Offset_String+1][i][0]<<(8-Offset_Bit)):(String[Offset_String+1][i][0]>>Offset_Bit-8)|(String[Offset_String+1][i][1]<<(8-(Offset_Bit-8)));
  97.                 *(p+16+i)=Offset_Bit<8?(String[Offset_String][i+8][0]>>Offset_Bit)|(String[Offset_String][i+8][1]<<(8-Offset_Bit)):(String[Offset_String][i+8][1]>>Offset_Bit-8)|(String[Offset_String+1][i+8][0]<<(8-(Offset_Bit-8)));
  98.                 *(p+24+i)=Offset_Bit<8?(String[Offset_String][i+8][1]>>Offset_Bit)|(String[Offset_String+1][i+8][0]<<(8-Offset_Bit)):(String[Offset_String+1][i+8][0]>>Offset_Bit-8)|(String[Offset_String+1][i+8][1]<<(8-(Offset_Bit-8)));
  99.         }
  100. }
  101. void Init(void)
  102. {
  103.         P_SW2|=EAXFR;
  104.         LED0=0;
  105.         LED1=0;
  106.         LED2=0;
  107.         LED3=0;
  108.         LED4=0;
  109.         LED5=0;
  110.         LED6=0;
  111.         LED7=0;
  112.         P0M0=0x0F; P0M1=0x00;
  113.         P1M0=0x00; P1M1=0x00;
  114.         P2M0=0xFF; P2M1=0x00;
  115.         P3M0=0xF0; P3M1=0x00;
  116.         P4M0=0xFF; P4M1=0x00;
  117.         P5M0=0x00; P5M1=0x00;
  118.         P6M0=0x00; P6M1=0x00;
  119.         P7M0=0x00; P7M1=0x00;
  120.         P0PU=0xF0;        
  121.         P5PU=0x0F;
  122.         P2DR=0x00;
  123.         
  124.         COMEN=0xFF;
  125.         SEGENL=0xFF;
  126.         SEGENH=0xFF;
  127.         LEDCTRL=0xA0;
  128.         LEDCKS=0x00;
  129.         
  130.         EA=1;
  131.         
  132.         COM0_DA_L=0x00;
  133.         COM0_DA_H=0x00;
  134.         COM1_DA_L=0x00;
  135.         COM1_DA_H=0x00;
  136.         COM2_DA_L=0x00;
  137.         COM2_DA_H=0x00;
  138.         COM3_DA_L=0x00;
  139.         COM3_DA_H=0x00;
  140.         COM4_DA_L=0x00;
  141.         COM4_DA_H=0x00;
  142.         COM5_DA_L=0x00;
  143.         COM5_DA_H=0x00;
  144.         COM6_DA_L=0x00;
  145.         COM6_DA_H=0x00;
  146.         COM7_DA_L=0x00;
  147.         COM7_DA_H=0x00;
  148.         COM0_DC_L=0x00;
  149.         COM0_DC_H=0x00;
  150.         COM1_DC_L=0x00;
  151.         COM1_DC_H=0x00;
  152.         COM2_DC_L=0x00;
  153.         COM2_DC_H=0x00;
  154.         COM3_DC_L=0x00;
  155.         COM3_DC_H=0x00;
  156.         COM4_DC_L=0x00;
  157.         COM4_DC_H=0x00;
  158.         COM5_DC_L=0x00;
  159.         COM5_DC_H=0x00;
  160.         COM6_DC_L=0x00;
  161.         COM6_DC_H=0x00;
  162.         COM7_DC_L=0x00;
  163.         COM7_DC_H=0x00;
  164. }
  165. void main(void)
  166. {
  167.         Init();
  168.         while(1)
  169.         {
  170.                 Offset_Bit++;
  171.                 if(Offset_Bit==16)
  172.                 {
  173.                         Offset_Bit=0;
  174.                         Offset_String++;
  175.                 }
  176.                 if(Offset_String==sizeof String/32-1)
  177.                 {
  178.                         Offset_String=0;
  179.                 }
  180.                 Display_String();
  181.                 Delay_x10ms(5);
  182.         }
  183. }
复制代码
define.h (5.23 KB, 下载次数: 59)

0.h (40.72 KB, 下载次数: 60)

截图202404030006343453.jpg




2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
DebugLab
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-04-28 08:49:07
已绑定手机

90

主题

961

回帖

2318

积分

超级版主

积分
2318
QQ
发表于 2024-4-3 08:48:56 | 显示全部楼层
荣誉版主 持续发力{:5_332:}
热线19952583534
www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-24 13:36:20

8

主题

39

回帖

342

积分

中级会员

积分
342
发表于 2024-4-3 09:11:52 | 显示全部楼层
感谢楼主分享!!!!!!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:403
  • 最近打卡:2025-05-02 11:18:12

0

主题

170

回帖

959

积分

高级会员

积分
959
发表于 2024-4-3 09:39:39 | 显示全部楼层
字符走起来相当流畅丝滑,支持一下。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2025-04-30 00:26:42

0

主题

336

回帖

1490

积分

金牌会员

积分
1490
发表于 2024-4-3 22:40:11 | 显示全部楼层
支持,学习一下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:143
  • 最近打卡:2025-04-29 09:29:30

31

主题

148

回帖

982

积分

高级会员

积分
982
发表于 6 天前 | 显示全部楼层
真厉害,可惜stc8H没法在proteus中仿真。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 15:41 , Processed in 0.146598 second(s), 87 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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