stc8h芯片使用记录

1 喷雾器和电动升降桌使用的芯片型号是stc8h1k08和stc8h1k16,这两款芯片都是用的头文件stc8h.h

2 stc8h8k64 pwm管脚定义与stm32不同,比如 pwm1p,pwm1p_2,pwm1p_3,后面的数字表示pwm通道输出脚选择。无数字表示c1ps[1:0]选择00,xxx_2表示选择01,xxx_3表示选择02.

  PWM6_2:表示PWMB的第2个通道的第2种脚位分配,

  STC8H集成了8通道PWM定时器,分别命名为PWMA和PWMB,第一组PWMA有4个通道分别为PWM1P/PWM1N...PWM4P/PWM4N,第二组PWMB分别为PWM5...PWM8.

3 如果使能了外设中断,必须加中断服务程序,否则当中断产生时,pc指针填充错误,会导致死机,而stm32用cube产生了的代码,会自动增加入口程序。

4 烧录程序时需要在烧录软件上手动选择MCU的时钟频率,这点和STM32不同。

5 在线调试的时候,要先用STC-ISP软件把芯片制作成仿真片,才能进行在线调试。

6 stc8h主程序在操作16位宽或者32宽的数据时,不是原子操作,中间可能会被中断打断,如果在中断中也操作了该16位宽或者32位宽的数据,就会导致主程序出错。

7 当两个8位宽的变量按高八位低八位组合成16位宽的数据时,需要这样操作  var_16bits = (unsigned int)(hi8<<8) + (unsigned int)lo8;才能成功,和stm32的不同

8 工具方面:烧录和在线调试(制作仿真片)时,需要先把外加电源断开,用stc-link-1d自带的电源来进行烧录和调试,否则将连接不上软件。

9 EEPROM大小可在烧录时指定大小。

10 在调试洗碗机触摸按键时,TSU总是进入不了中断服务程序,后面将ISR.asm添加到项目里就可以了,ISR.asm 35号中断(TSU)借用了13号中断,

因为keil里最大只能响应32号中断,超过32号中断无法响应。参考关于中断号大于31在Keil中编译出错的处理-深圳国芯人工智能有限公司

附:

TSU中断入口程序:

void TKSU_Interrupt(void) interrupt 13
{}

ISR.asm文件内容:

CSEG AT 011BH 
LJMP 006BH
END

35

011B H

触摸按键

13

006B H

 预留

posted @ 2024-05-22 15:49  okyihu  阅读(148)  评论(0)    收藏  举报