找回密码
 立即注册
查看: 541|回复: 2

STC8H1K17T-TSSOP20系列实验之一----点灯测试

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:521
  • 最近打卡:2025-05-02 09:38:13

109

主题

1900

回帖

5214

积分

论坛元老

积分
5214
发表于 2023-12-25 12:18:46 | 显示全部楼层 |阅读模式
STC8H1K17T-TSSOP20板子已经打样完成了,焊上关键元件,
第一步就是进行点灯测试,写了一个简单的点灯代码,把LED和WS2812点亮了。

STC8H1K17T点灯测试.mp4

17.27 MB, 下载次数: 50

点评

后续视频直接发到本论坛本地就行了,外网链接,我们没时间审核,一般是直接删除的  发表于 2023-12-25 13:08
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:521
  • 最近打卡:2025-05-02 09:38:13

109

主题

1900

回帖

5214

积分

论坛元老

积分
5214
发表于 2023-12-25 19:56:24 | 显示全部楼层
main.c

  1. #include "STC8H.h"
  2. #include <intrins.h>
  3. #include "config.h"
  4. //#include "portset.h"
  5. #include "delay.h"
  6. //#include "key.h"
  7. #include "WS2812.h"
  8. uint cp;
  9. #define LED P54            //LED
  10. #define ws2812b_IO    P35      //WS2812信号输入口
  11. #define TK1    P16        //触摸端口TK6
  12. #define TK2    P17        //触摸端口TK7
  13. #define TK3    P13        //触摸端口TK3
  14. #define DIO    P10      //TM1637数据输入
  15. #define CLK    P11      //TM1637时钟输入
  16. /*******************************************************************************
  17. *******************************************************************************/
  18. void UartInit();//串口、定时器初始化       
  19. void Timer0_Init(void);                //100微秒+16位自动装载+12T模式@24.000MHz
  20.        
  21. void main()
  22. {
  23.         //以下初始化
  24.         delay_us(1);
  25.         delay_ms(500);//等待稳定
  26.         UartInit();//串口、定时器初始化       
  27.         while(1)
  28.         {
  29.                 if(cp>5000)
  30.                 {
  31.                         LED=!LED;                       
  32.                         cp=0;
  33.                 }
  34.                 Breathing_lamp_Alternate(5);        //呼吸灯
  35.         }
  36. }
  37. void UartInit()//串口及定时器初始化
  38. {
  39.           P0M0 = 0x00; P0M1 = 0x00;
  40.     P1M0 = 0x00; P1M1 = 0x00;
  41.     P2M0 = 0x00; P2M1 = 0x00;
  42.     P3M0 = 0x00; P3M1 = 0x00;
  43.           P5M0 = 0x10; P5M1 = 0x00;
  44.                 Timer0_Init()        ;        //100微秒@24.000MHz
  45.           EA=1;//
  46. }
  47. void Timer0_Isr(void) interrupt 1
  48. {
  49.         cp++;
  50.        
  51. }
  52. void Timer0_Init(void)                //100微秒+16位自动装载+12T模式@24.000MHz
  53. {
  54.         AUXR &= 0x7F;                        //定时器时钟12T模式
  55.         TMOD &= 0xF0;                        //设置定时器模式
  56.         TL0 = 0x38;                                //设置定时初始值
  57.         TH0 = 0xFF;                                //设置定时初始值
  58.         TF0 = 0;                                //清除TF0标志
  59.         TR0 = 1;                                //定时器0开始计时
  60.         ET0 = 1;                                //使能定时器
  61. }
复制代码


回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 15:49 , Processed in 0.270581 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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