找回密码
 立即注册
查看: 201|回复: 4

STC8H4K64TL 16*16点阵屏

[复制链接]
  • TA的每日心情
    开心
    昨天 20:26
  • 签到天数: 107 天

    [LV.6]常住居民II

    25

    主题

    304

    回帖

    1017

    积分

    荣誉版主

    Cyber Hamster

    积分
    1017
    发表于 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, 下载次数: 2)

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

    截图202404030006343453.jpg




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

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 90 天

    [LV.6]常住居民II

    68

    主题

    564

    回帖

    1850

    积分

    超级版主

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

    使用道具 举报

  • TA的每日心情
    开心
    2024-2-24 15:31
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    7

    主题

    31

    回帖

    263

    积分

    中级会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:55
  • 签到天数: 42 天

    [LV.5]常住居民I

    0

    主题

    156

    回帖

    339

    积分

    中级会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 00:15
  • 签到天数: 54 天

    [LV.5]常住居民I

    0

    主题

    177

    回帖

    332

    积分

    中级会员

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-30 03:13 , Processed in 0.063880 second(s), 50 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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