晓飛飛 发表于 2024-11-1 01:31:07

荣誉版主 晓飛飛,2024/10,技术漫步, 共享,技术回复 索引

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 其他技术交流 › 请推荐一个DC-DC
2#你这个应用,用个小封装的buck芯片就可以了,这些都是我测试使用过的,都还不错。
https://www.stcaimcu.com/data/attachment/forum/202410/30/194836xxz3z336d9dz26u3.jpg

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ISP下载/做自己的ISP › 我想请问我一个烧录器可以同时烧录多个芯片吗 ...
12# 量小了一个一个烧录,量大了买厂家的专业烧录设备,量特别特别大了,让厂家帮忙烧录。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 问题反馈:ISP软件/头文件/单片机数据手册规格书等 › 加入ADC自动取平均(ADCEXCFG),ADC读数不对?加个延时 ...
2#我用STC8H8K64U 用以下初始化代码,毫无障碍,

[*]void ADC_init(void)//配置ADCADC转换速率300KSPS
[*]{
[*]      ADCEXCFG = 0x07;                //开启自动16点平均
[*]      ADCCFG &= ~0x0f;
[*]//      ADCCFG |= 0x01;                        //SPEED(1)
[*]      ADCCFG |= 0x20;                        //12位数据右对齐
[*]      ADCTIM = 0x38;                        //CSSETUP(1), CSHOLD(1), SMPDUTY(31)
[*]      ADC_CONTR = 0xcf;       //使能并启动ADC模块测试内部1.19V
[*]      EADC = 1;                              //开启ADC中断
[*]}

复制代码未开启滤波时,数据会出现0x05B3~0x05B6,大约3个字的跳动

https://www.stcaimcu.com/data/attachment/forum/202405/06/095503udszm4zxo4ko46m6.png
开启16点滤波后,数据只出现0x05B3、0x05B4,1个字的跳动
https://www.stcaimcu.com/data/attachment/forum/202405/06/095503eir8nb7p8asfxp78.png
开滤波的状态下,用来测量四个通道的心电图效果还不错的
https://www.stcaimcu.com/data/attachment/forum/202410/30/192838j81l4jpwtcw391o3.jpg

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 关于上电延时问题,有什么方法进一步缩短延时 ...
2#注意下面这个配置,同时,P3.2 P3.3至少一个上拉一个5.1K电阻到VCC,能进一步缩短上电延迟时间,不过下次启动时,需要好P3.2和P3.3同时为低,慎用。
https://www.stcaimcu.com/data/attachment/forum/202302/27/135457j5rnmonasranssn6.png
10# P3.2和P3.3全部下拉的话,每次上电必然会先进下载模式,你是无论如何都优化不了上电时间。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 之前朋友大电流弄坏我的单片机,现在好了一半 ...
4#可能是烧掉die的局部电路了,比如内核降压的LDO,或者IO缓冲器,导致电压高了以后不能正确识别逻辑电平,太专业的我也不懂,都是猜测。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 请教一下这个PWM呼吸灯的程序哪里有问题 ...
2#大概看了一眼,没看出什么问题,现在运行有问题吗?

[*]#include "stc8h.h"
[*]
[*]unsigned char pwm_count = 0;         // PWM 计数器
[*]unsigned int pwm_duty = 0;         // PWM 占空比,取值范围扩大到 0~200
[*]unsigned char pwm_direction = 1;   // PWM 增减方向,1 表示增加,0 表示减少
[*]unsigned int brightness_delay = 0;   // 控制亮度变化的延时计数器
[*]
[*]void Timer1_Isr(void) interrupt 3
[*]{
[*]    if (++pwm_count >= 200) pwm_count = 0; // 使 PWM 周期为 200,即 50us * 200 = 10ms 的周期
[*]
[*]    // PWM 控制:根据 pwm_duty 调整 LED 的亮暗
[*]    if (pwm_count < pwm_duty) P27 = 0;
[*]    else P27 = 1;
[*]
[*]    // 控制亮度变化频率,每隔10ms调整一次占空比
[*]    if (++brightness_delay >= 10) {// 每10次中断(即10ms)调整一次亮度
[*]      brightness_delay = 0;
[*]
[*]      // 每次调节占空比,以实现1秒从暗到亮的变化
[*]      if (pwm_direction) {
[*]            pwm_duty++;                     // 增加亮度
[*]            if (pwm_duty >= 200) pwm_direction = 0;// 达到最高亮度后,开始变暗
[*]      } else {
[*]            pwm_duty--;                     // 减少亮度
[*]            if (pwm_duty == 0) pwm_direction = 1;    // 达到最低亮度后,开始变亮
[*]      }
[*]    }
[*]
[*]}
[*]
[*]void Timer1_Init(void)                //50微秒@11.0592MHz
[*]{
[*]      AUXR |= 0x40;                        //定时器时钟1T模式
[*]      TMOD &= 0x0F;                        //设置定时器模式
[*]      TL1 = 0xD7;                              //设置定时初始值
[*]      TH1 = 0xFD;                              //设置定时初始值
[*]      TF1 = 0;                              //清除TF1标志
[*]      TR1 = 1;                              //定时器1开始计时
[*]      ET1 = 1;                              //使能定时器1中断
[*]}
[*]
[*]void main()
[*]{
[*]      P0M0 = 0x00;    P0M1 = 0x00;
[*]    P1M0 = 0x00;    P1M1 = 0x00;
[*]    P2M0 = 0x00;    P2M1 = 0x00;
[*]    P3M0 = 0x00;    P3M1 = 0x00;
[*]    P4M0 = 0x00;    P4M1 = 0x00;
[*]    P5M0 = 0x00;    P5M1 = 0x00;
[*]      Timer1_Init();
[*]      EA = 1;
[*]    while (1);
[*]}
[*]
[*]

复制代码
Your browser does not support the video tag




AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › EEPROM/DataFlash › 用户EEPROM大小的起始地址
5#   64K-60K=4K那么code区是0x0000~0x0fff,EEPROM区就是从0x1000开始到0xffff,0x1000对应eerom的0x0000


晓飛飛 发表于 2024-11-1 01:41:17

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 其他技术交流 › 如题,请问各位大佬,如何使用AD8605将1mv放大到1v,达 ...
2#这个最好做两级放大,第一级用精密仪表放大器,放大100~200倍左右,第二级用普通OP运放再放大5~10倍,单级普通运放直接放大1000倍是不现实的,无论是精度还是稳定性都不行。
仪表运放的话,INA333之类的,直接放大1000倍也还可以。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › SCH/PCB EDA设计技术交流区 › 请教大家,问一个比较傻的问题这两种图有区别吗 ...
7# 如果你认为导线有阻抗的话,那两个图不同,图1更优,如果你认为导线无阻抗的话,那两个图一样。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ADC/比较器,DMA支持的12位ADC,轨到轨比较器,DAC › 关于多路AD转换问题
4#

[*]void ADC_Isr() interrupt 5
[*]{
[*]      static unsigned char CH_sw;
[*]      ADC_CONTR &= ~0x20;               //清完成标志      
[*]      switch(CH_sw)
[*]      {
[*]                case 0:
[*]                        ADCRES = ADC_RES;
[*]                        ADCRES = ADC_RESL;
[*]                        CH_sw++;
[*]                        ADC_CONTR &= 0xF0;
[*]                        ADC_CONTR |= 0x40 | 0x0B;            //启动AD转换      //ADC11 P03                        
[*]                break;
[*]                case 1:
[*]                        ADCRES = ADC_RES;
[*]                        ADCRES = ADC_RESL;
[*]                        CH_sw++;
[*]                        ADC_CONTR &= 0xF0;
[*]                        ADC_CONTR |= 0x40 | 0x00;            //启动AD转换      //ADC0 P10
[*]                break;
[*]                case 2:
[*]                        ADCRES = ADC_RES;
[*]                        ADCRES = ADC_RESL;
[*]                        CH_sw++;
[*]                        ADC_CONTR &= 0xF0;
[*]                        ADC_CONTR |= 0x40 | 0x01;            //启动AD转换      //ADC1 P11
[*]                break;
[*]                case 3:
[*]                        ADCRES = ADC_RES;
[*]                        ADCRES = ADC_RESL;
[*]                        CH_sw = 0;
[*]                        ADC_CONTR &= 0xF0;
[*]                        ADC_CONTR |= 0x0A;            //不启动AD转换      //ADC10 P02               
[*]                        ADC_over = 1;
[*]                break;
[*]                default:
[*]                        CH_sw      = 0;
[*]                        ADC_CONTR &= 0xF0;
[*]                        ADC_CONTR |= 0x0A;            //不启动AD转换      //ADC10 P02      
[*]                break;
[*]      }
[*]}

复制代码

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 简简单单做个USB温度传感器
108#P3.2对地短路的状态再通电,会激活USB下载模式,为了保证不误触发,就上拉个电阻图个心安。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 › 如何应对解码433遥控(ASK/OOK)空闲时IO频繁变化的问题 ...
2# 这个没办法通过软件处理,必须通过硬件电路处理。一般来说,脉冲宽度检出的电路比较复杂,还不如直接使用PT2272可靠经济。
4# 主要问题是发射端不工作时,接收端这边不会自动降噪,会输出杂讯干扰,而且脉冲宽度很随机,不是不能软件处理,只是代价有点大,mcu顾了这个就干不了别的事情了。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › c51运算问题求大神解惑
2# 电压值 = 采样值 / 2的N次方 * VREF电压   N是ADC位数。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › C语言,汇编语言,Proteus MCU软件仿真 › 遇到循环队列问题
2#具体看你使用了什么类型处理字符,如果用到string类型,结尾是需要加“\0”的,

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › PNP三极管反接问题请教。
8#你的原理图在哪里,可以帮你分析下,如果是单纯CE画反,那可能会影响使用的。比如hfe=300的三极管,ce反了可能hfe只能到20以下,对于需要大电流才能驱动的负载,就没办法驱动了,另外,ce反接后耐压也下降很多,不过你这电路电压不是太高,也无需顾虑这个。
10#   嗯,三极管转180度焊上就好了,因为蜂鸣器电流比数码管大了不少,所以才会出现不能正常使用的问题,数码管可能那边能用,但是亮度也没达到设计值。
解决办法:对于直插器件的板,还是很好处理的,三极管的引脚外部整型交换一下顺序,焊上即可,可以在管脚根部套最细的热缩管防止短路,虽然有点难看,但好再可以正常使用。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ADC/比较器,DMA支持的12位ADC,轨到轨比较器,DAC › 对 ADC例程补充;如何读取左对齐的ADC结果? ...
3#ADC_Val=((u16)((ADC_RES>>4)<<8)+(ADC_RESL>>4));//采用左对齐模式,读出ADC转换值
上面这句是你的代码,我不理解的是,既然选择了左对齐,何苦再右移4位,而且,这样处理数据是错误的
正确应该是
                                                                       
[*]ADC_Val = (ADC_RES<<8) | ADC_RESL;   \\先得到完整的ADC值
[*]ADC_Val >>= 4; \\再整体去处理数据得到右对齐的值
[*]


AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › BLDC/144MHz-PWM-硬件移相/45路PWM+3路CCP/7组不同周期的PWM/DAC › 32G12K128实验箱能通过高速PWM来生成13Mhz正弦波吗 ...
2#   建议用DDS,频率太高,IO的速度都跟不上,就算勉强能输出,幅度也不可控。
6# 是的,相当于一个高速DAC模块,专用于合成高速模拟波形的。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › SCH/PCB EDA设计技术交流区 › PCB背面设置不钻孔焊盘属性
2# 你大概率没选对焊盘的叠层结构,应该指定顶层

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › AI8051U体系结构,高峰论坛,芯起点,芯高度 › C51语言中的微秒、毫秒软件延迟函数探讨 ...
4#   定时器周期中断+软定时器+状态机,能解决90%以上需要延时的场合,非阻塞、高效、扩展性能好。

14#1us延迟用nop好了,而且不一定能精确

晓飛飛 发表于 2024-11-1 01:55:52

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 › 电源的部分资料准备,2024/10/25, 技术沟通 ...
6#    应对buck上电过冲最好的办法就是用带SS软启功能的方案,以及对buck方案的反馈回路提供二阶补偿

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 问题反馈:ISP软件/头文件/单片机数据手册规格书等 › 库函数STC8H.H中EAXRAM()宏有误
18# https://www.stcaimcu.com/data/attachment/forum/202410/26/201836c9d195nw95ud1h11.png
#define    EAXSFR()      P_SW2 |= 0x80 这个的含义是P_SW2 = P_SW2 | 0x80, 0x80二进制值是b1000000,P_SW2 | 0x80就是最高位置1,这个没问题吧
#define    EAXRAM()       P_SW2 &= ~0x80 这个的含义是P_SW2 = P_SW2 & ~0x80,~0x80 = 0x7f,二进制值是b01111111,P_SW2 & 0x7f就是最高位清零,这个也没问题吧
AUXR&= ~0x02是什么意思,你是不是对这个代码有什么误会
23#   官方头文件里面的EAXRAM()并不是使能内部XRAM的功能,而是设置@DPTR,A指令的操作对象为扩展RAM(XRAM)    头文件里面没有对使能内部扩展RAM做宏定义,不要误会了。另外,AUXR的复位默认值是00000001,所以默认是启用内部扩展RAM的,无需再设置了。
27#EAXRAM()和EAXFR()就是控制访问扩展SFR的开关,
MOVX A,@DPTR/MOVX @DPTR,A这些操作是寄存器的间接寻址方式,P_SW2的最高位控制的就是间接寻址的RAM指向,置高为指向扩展SFR,清零为指向外部扩展RAM,所以才把禁止访问扩展SFR的名称设置为EAXRAM()
这个名称确实容易让人误会,您的建议也很有道理,叫DISXFR似乎更合理。但这个名称牵扯面太广,修改已经不太现实了,记住怎么回事便好了。
30#https://www.stcaimcu.com/data/attachment/forum/202410/26/212427xceam5mocuectcvz.png

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › 新手问题求回答
2#   你把P00=1 改成 P00=!P00      另外xtal是时钟频率的意思,单位是MHz
14#   24MHz的时候, 循环50000差不多是10Hz左右,应该闪的非常明显,

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 开孔95.8x55.8,需要设计一个计数屏
5#   用嘉立创EDA设计面板,用深色亚克力打样出来,使用螺丝加铜柱的方式和电路板连接固定即可

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 › stc8h@24M外部中断求问
5#    研究一下用PWM做计数,这个管脚是支持的。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 › ucosIi 如何实现us级延时
5#   暂时关全局中断,使用nop延时,

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › 积分兑换没有STC8H4K64TLCD


3#    目前芯愿能兑换的都是8H的USB系列和最新的8051U 32G系列,其它的可以去小程序买,也可以去淘宝看看。



AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 请教STC8H8K64U原理图绘制
4#   关于LED和数码管驱动电路,是一个限流电阻也没加,这个需要加限流电阻啊,哪怕阻值小点也是需要加的
如果IO误初始化成推挽方式,很容易烧掉数码管或者单片机IO的,别说MCU耐用,因为LED是非线性器件,高电平IO直接怼3.3V上去电流也是很大的。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 请问大家是如何学习单片机的
2#每个人有不同的方式方法,最基础的还是手头有一块可以实操的板子,有官方的例程和下载软件,包括论坛也有发布不少各种针对性的知识点,我感觉对于学习来说是足够了,
至于开发自己的isp程序,牵扯的概念比较多,可能需要多了解单片机的存储结构、地址规划、启动原理,包括串口的协议开发。先使用群里的例程跑起来,再按个性要求修改。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › STC-MCU读写 25NO1GVZE1G
6#理论上这个FLASH芯片需要做坏块管理,按块擦除时根据状态返回值来判断坏块,并做块地址记录。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 串行口,DMA支持的4组串口,RS232,RS485,Modbus, CRC16 › 串口2不能通信,设置如下
2#你先用AIapp-ISP软件生成的串口初始化代码吧,你这个代码关联了其它一些定义,说不好哪里的问题。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 串行口,DMA支持的4组串口,RS232,RS485,Modbus, CRC16 › 怎样尽量减少串口发送数据等待中断(完成)的时间? ...
12#   串口发送100多个字节怎么可能到了秒级,就算9600波特率也到不了秒级,从来没有遇到这类的烦恼,是不是某个中断里面纠缠太久的时间,尽可能的优化一下其它代码,避免影响串口中断,另外你适当提高串口中断优先级试试。
14#   建议优化定时器中断服务函数,把里面一些空等待任务通过状态机碎片化,只要别的中断不长时间占用进程,串口中断就有机会及时响应

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 定时器/计内部时钟,计数器/计外部脉冲,时钟分频输出,软件延时 › 关于延时函数
10#    所谓对不上是说有误差吧,那这个误差你实测有多少,希望误差控制在什么范围内,这些都要量化,不然总觉得不好,总觉得不够,到底要做到什么地步才算好,需要一个量化的东西,比如1分钟误差不超1秒,或者1秒误差不超1毫秒,不同的要求有不同的解决方案,问题太笼统,得到的答案也就很笼统。如果是微秒级的问题,通过NOP空指令的数量调整傻延迟即可,如果是毫秒级的范畴,考虑用定时器或者定时器+软定时器基本能解决所有问题,如果是分钟、小时,甚至年月日的话,用RTC又比较适合。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › C语言,汇编语言,Proteus MCU软件仿真 › IF (CODE_BANKING <> 0)这句中“<> 0”是怎么理解吗? ...
3#不等于
5#   但凡编程语法都是人为设定的规则,是程序员和编译器沟通的重要方法,至于说差别,得看是以哪个编译器来讲,对于都支持的那就没区别,对于不支持其一的,那就是正确和错误的区别。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 开源示波器,频谱分析仪-FFT,PID控制,四轴飞行器,智能小车 › 想入手示波器
7#   如果你想测电机电压的话,你前面考虑的所有产品和方案都不能满足要求,你需要的是一台四通道的示波器和至少3套差分高压探头。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › 换了个思路,重新整理下eeprom按字节写入
4#   正常上电后,去读EEPROM,遍历定位写到哪里去了,然后记录当前地址,下次记录挨着往进写,这样满一页就写下一页,有两个页够倒腾了。
8#EEPROM读是很快的,每次上电后先从头读EEPROM,看最后一条记录写到了哪里,然后接着那个地址往下写,直到写满一页再擦除或者写下一页。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 › 低压检测能在程序中关掉不
2#   除了看门狗,其它都能关掉

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 能不能把无刷电机驱动部分也做进实验箱里啊 ...
3#   综合开发板上做无刷电机驱动不太适合,建议单独出个电机驱动的开发板,最好能兼容常用的有刷、无刷、步进电机,无刷支持有霍尔或无霍尔,再加一些限位控制检测通道,这样就能做很多实用的东西。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ISP下载/做自己的ISP › TXD和RXD烧录口冲突问题请教

10#    不改板是不行的,除非能强制485隔离芯片工作在发送状态,
否则485芯片的D脚是强推挽?/低阻输出高电平,会钳位下载器的通信线路。
可以在PCB上割开导线,485芯片的D和单片机RXD之间串联贴一个二极管或者1k电阻即可解决问题。


AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › isp能握手、擦除,下载代码出现通讯超时。 ...
3#   换个有晶振的USB转串口模块,另外是否使用了劣质杜邦线,接触不良也会导致下载失败,因为握手和擦除的操作指令比较短,对于波特率不准的情况能够容忍,但下载数据是连续发送的,对波特率和连接质量要求就高了。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ADC/比较器,DMA支持的12位ADC,轨到轨比较器,DAC › 交/直流电压测量电路
2#   

[*]测量高电压除了调整分压电阻的比例,还需要考虑分压电阻本身是否能耐那么高的电压,如有必要,考虑采用大封装的电阻,或者多个等值电阻串联的方式分担耐压,
[*]分压低侧电阻和ADC之间,需要设置过压钳位电路,防止外部分压电路失效后对芯片造成伤害
[*]由于没有采用隔离方式取样电压,单片机部分也是带电的,单片机的地最好和市电零线共地,可减少干扰以,也可以降低调试触电风险。


晓飛飛 发表于 2024-11-1 02:05:58

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 请教一下AI8051U的外部32.768晶振问题
2#   只用32.768时钟的时候,需要按照这个时钟作为时基来配置串口波特率

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 其他技术交流 › 控制可控硅BT136损坏什么原因?
11#    两个BT136需要两组RC吸收电路,各自串联后并在可控硅的T1和T2

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 其他技术交流 › 请教ai8h编码器接口能接光栅尺吗?能工作但达不到对应的 ...
3#    编码器接口支持正交编码原理的光栅尺,如果你的光栅尺不止两路信号的话,那必然会失去设计精度。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 坛友们,帮参考参考,我想要个转接板,自己用,可以不 ...
4#   可以按照自己的需要增加一些必要的外部器件,比如USB接口、电压基准源、32.768KHz外部晶振等

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 一直以为dfn和qfn不好焊.刚刚试了一下. 感觉还行 ...
10#以单片机的功耗,不需要焊散热焊盘,悬空也是可以的,非要焊也不是不行,少搞点焊膏,涂在焊盘底下,铁板烧烤一下就好了,没有铁板烧就不用管它,四周焊盘焊好的时候,底下的焊盘也就顺带焊好了。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › CAN/Lin/CANOpen/已通过车规 AEC-Q100 Grade1(-40 ~ +125度) › 请问两个带CAN的单片机可以直接进行CAN通讯吗 | 每个单 ...
6#    CAN收发器不同于UART转RS232或者RS485那种纯物理的电平转换芯片,其实更像一个PHY,所以收发器是必须要有的。
由于CAN需要监停自身发送是数据实现仲裁,因此也有些野路子方法,输出分别通过OC门(如74LVC1G07)连到输入,输入线加一个上拉电阻。为了节约成本,也可以使用二极管加上拉电阻搭或门的方式实现。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › EEPROM/DataFlash › EEPROM低压中断掉电保存需要多少时间
3#    不建议使用掉电检测中断去做EEPROM参数保存,虽然测试没什么问题,但是电路中负载情况负载的时候,掉电速率并非完全取决于电源电容的容量,如果掉电过快,在掉电过程中操作EEPROM并非可靠做法。
建议尽可能检测更加前端的电源掉电,比如通过电阻分压配合内部比较器检测LDO之前的电压、甚至通过光耦检测220V市电的掉电情况,这样能充分赢得操作时间,稳定可靠的去擦写EEPROM。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › AI8051U体系结构,高峰论坛,芯起点,芯高度 › 硬件延时与硬件休眠的两种方法介绍:单片机倒计时技术的 ...
3#   人机交互应用也适用,其实“人”总是比“机”慢,除非“机”的设计太拉胯
对于响应速度依赖型应用,可以提高定时器中断频率,结合休眠加唤醒的话,那就调整唤醒定时器的周期,缩短唤醒时间即可。
实际中,很多针对低功耗优化的单片机,唤醒时间仅需要1us,而且有多种低功耗模式(LPM),低功耗应用的框架中,主循环一般只有关于休眠的调用操作,其它业务都在具有睡眠唤醒的中断里写。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › 8G1K08A的ADC是如何选择引脚使用的?
2#想要做ADC输入的相关通道端口全部配置成高阻输入即可,在ADC操作中,交替选通这些端口就能正常采集。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › C语言,汇编语言,Proteus MCU软件仿真 › 不同类型变量之间相互赋值问题
2#    大部分不同变量之间是可以直接赋值操作的,编译器会适配处理的。一般涉及到强制类型转换的场合主要有函数参数的类型不一致、指针类型不一致会导致出现直接的错误或编译报错。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › USB:USB-CDC虚拟串口/就是串口,一箭双雕之USB转双串口,[鼠标+键盘]的HID复合设备 › 有计划出有内置匹配电阻的型号不?
6#不用22欧姆也不影响USB通信

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 段码LCD/80mA大电流LED数码管自动刷新显示/RTC实时时钟/触摸按键/低功耗 › 触摸按键PCB画的是否可以
5#   能用和好用是两码事,从视觉上很难判断是哪种情况,网状铺铜的动机是这样的:
不铺铜的话,是开放空间电极,没有参考,无法和地形成稳定的电容结构,空间分布电容太小,容易受干扰误触发,
实心铺铜的话,分布电容又太大,造成触摸灵敏度下降难以触发,
因此,大多数触摸电极PCB采用网状铺铜,而且每个电极的尺寸和走线尽可能的对称或一致,减小调试匹配难度。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 其他技术交流 › 关于5V霍尔 AI8H ADC采样的问题,急求!!!! ...
2#   定义个有符号类型,ADC读取后减掉零位对应的ADC值就可以了。
比如float I
int adc_int
adc_int = (ADC_RES << 8) | ADC_RESL
adc_int -= 0x0800
然后再进行后续比例计算。
我帮你算好了,输出电流I = adc_int * 0.12207
https://www.stcaimcu.com/data/attachment/forum/202410/12/235343qkld8kukll5ozy8u.jpg

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 › 用单片机IO口驱动大功率场效应管方案
3#   大功率场效应管分为N沟道和P沟道两类,在数字电路钟,按工作状态一般分为静态开关和PWM两类,不同的场效应管和不同的工作状态下,驱动方法也不同
需要考虑场效应管的VGSth和单片机IO输出的电平是否匹配,如果单片机输出电平>VGSth,且电路属于静态开关的方式,那可以用IO直驱大功率场效应管
如果单片机的输出电平<VGSth,那是不能直驱的,或者MOS需要工作在PWM方式下,由于大功率MOS的Cg比较大,充放电需要的电流也很大,这是用单片机IO直驱是会造成VGS上升和下降沿变宽,MOS发热加重甚至烧毁。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ISP下载/做自己的ISP › 自制的串口下载器显示通讯超时
4#   使用目标芯片预置的系统时钟,避免波特率不准引起通信失败。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › Ai8H8K64U EEPROM 写数据不是写1和写0要反着来吗 ...
8#   和新的老的没关系,写进去是啥,读出来还是啥,直接写进去读出来一样,取反写进去读出还得取反才能还原。

晓飛飛 发表于 2024-11-1 02:24:00

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ISP下载/做自己的ISP › USB-Link1D的S-VCC电压问题 | 主控工作电压也会同步到设 ...
6#   ISP软件配置的输出电压不光对SVCC有效,对TXD和RXD的电平也有效。
11#    一般来说会从Link1D的TxD灌5V到目标MCU,Link1D的对外端口都有小电流自恢复保险,应该能避免出问题,一箭双雕是有串电阻,也能起到保护作用。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 › 32F12K54   48Mhz频率点灯失败
3#    手头没有STC32F12K54的开发板,只有STC32G12K128-BETA核心的实验箱V9.4,实测你的程序在35MHz下驱动P6闪烁正常。
你尝试WTST使用默认值1看看可否正常运行。
4#我怀疑是WTST = 0 这条代码作祟,没有按照手册中“特别注意”中描述的要求来配置,时钟那么高支持不了“零等待”。官方建议17MHz以上等待值就需要设置为1了,实测到30MHz以上才出问题,这已经超速太多了。
11#搞开发一定要看官方手册


AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › C语言,汇编语言,Proteus MCU软件仿真 › 51寄存器地址操作相关
2#   端口对应的寄存器SFR为特殊寄存器,只能直接寻址,也就是使用sfr关键词定义寄存器名称   你可以
sfr LED = 0xa0;   然后   LED = 0x00;   控制LED


AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › I/O读写及点灯,外部中断 ,所有I/O都支持的普通I/O中断,按键扫描 › 哪一个按键接法比较科学?
18#   准双向按图一接法很正常,没什么风险,非要说风险的话,,两种电路都没有做额外的ESD防护,毕竟按键式非常高概率会引入人体静电的。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › SCH/PCB EDA设计技术交流区 › PCB布局
4#    嘉立创EDA有很多布局对齐和分布排列功能,可以用一下,可以把器件排列的整整齐齐的,熟练了可以使用快捷键,加速布局。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › 求救:Ai8051 换成 贴片之后p2.6的引脚带动的发光管子要 ...
5#   原理、PCB、焊接、程序都有可能,仔细找

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 其他技术交流 › 关于 8H1K08 使用 RTX51 tiny 遇到的问题
5#   1K RAM 跑了OS就没啥资源了,用定时中断+状态机更恰当

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 串行口,DMA支持的4组串口,RS232,RS485,Modbus, CRC16 › Modbus效验问题
2#   看看校验函数的实现过程,应该容易理解吧


AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › USB:USB-CDC虚拟串口/就是串口,一箭双雕之USB转双串口,[鼠标+键盘]的HID复合设备 › USB-超强演示程序包全家福发布,RMB0.99 !一箭双雕之US ...
181#   USB供电的线路不建议搞1000uF的滤波电容,除非有软启动电路做保障,否则很容易烧坏一些脆弱的USB接口

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › TFT/LCD12864/LCD1602/红外遥控 › 红外遥控发送/接收的演示程序,8H8K64U / 32G12K128实验 ...
29#    AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 问题反馈:ISP软件/头文件/单片机数据手册规格书等 › STC32G例程反馈 红外发射部分
解决办法已更新,可以参考一下。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 作品展示 › 嘉立创打板做的开发板
58#    有个东西叫缝合孔,了解一下

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 学习打卡区 | 感悟 › 8H2K12U制作电风扇遥控器
11#    不大可能是过零检测的问题,因为单片机是电平驱动可控硅的,控制信号没了,可控硅将在失去驱动信号的周波结束过零时关断,也就是说最多维持半个周波就关断了。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 老鸟反刍/吐槽,新手乐园,毕业设计 › 单片机驱动74HC595的LED显示屏闪烁问题
10#   如果芯片价格明显低于正常行情,那买回来一定要看看是否翻新货,有个心理准备

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 电源/复位/省电模式/外部晶振/内部时钟/对外时钟输出/PLL-144MHz时钟 › 单片机8H8K64U对纹波的要求如何?(开关电源供电) ...
5#    这种情况使用带软启动的buck方案比较合适,设计好了不会出现上冲,效率也能有保证

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ISP下载/做自己的ISP › USB下载问题 | 外部手动复位也可以进入 USB-HID 下载模 ...
6#   1)芯片出厂内置了HID固件,默认支持USB下载,
   下载用户程序后,内置的HID固件就冲掉了,
   再次下载就需要重新按P3.2及断电键
====系统区的 USB-HID ISP下载程序不会被擦除的
2)内部EEPROM用不到的话,不用管设置,默认大小即可
3)目前能买到的8H8K64U基本都是D版本了,不用太关心版本问题。
=====================================================
3,USB下载的 特殊提醒
在USB插上的情况下,
如果复位脚的功能已被设置成是复位脚而不是I/O,
则外部手动复位也可以进入 USB-HID 下载模式

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › C语言,汇编语言,Proteus MCU软件仿真 › printf打印输出的读数不对帮忙指点
6#   使用stdio的printf就不要用uart的中断了,不然处理起来很麻烦

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ISP下载/做自己的ISP › USB下载的三种方式:1,P3.2为低,上电;2,外部手动按 ...
15#    有一点很重要, 配置RST引脚使能并下载后,必须冷启动一次RST引脚才会生效,才能测试第二种方法。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › ISP下载/做自己的ISP › 想让另一个MCU通过UART的方式给8H1K08升级 | 可以 ...
12#   如果是双单片机,用一个单片机接收固件当做升级子系统,通过UART给另一个8H1K08是可以的。协议都公开的。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 其他技术交流 › 求大神们指点下,这个380V安全间距够么
4#      单纯的耐380V问题不大,峰峰值540V左右,2mm的槽可以的

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › C语言,汇编语言,Proteus MCU软件仿真 › printf怎么打印 局部变量啊?
6#   局部变量一定要在作用域范围内赋值或者printf输出,如果超出作用域,那就需要转移赋值给全局变量再输出了

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 综合讨论 › 15W408AS-35I 工厂生产流程问题
3#   1,当然可以让厂家烧录后发货
2,厂家烧录过程中是有校验过程的,可以确保烧录正确,不放心的话,可以在固件中做自检功能,配合测试工装完成PCBA整体测试
3,需要自己写程序留版本查询接口,用于查看固件版本号。

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 学习打卡区 | 感悟 › 要怎么样才能实现“非阻塞延时”?
21#       其实很多阻塞延迟是可以优化掉的,甚至非阻塞的延迟也可以改变架构来优化掉,比如多利用周期性中断+状态机来做各种时序和逻辑,可以避免使用各种傻delay

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 学习打卡区 | 感悟 › 不带USB硬件的芯片,能否可以模拟USB进行通讯吗? ...
8#    参考一下AVR的Vusb库,底层是汇编写的,用到了终端脚,占ROM可不少。
13#   我觉得没必要费这个劲,就算搞出来也未必稳定,AVR下载器USBASP就存在兼容性差的问题,不是所有的电脑都能轻松识别,如果库存小可以用在别的小制作上,或者扔了也不可惜,如过库存大,建议挂闲鱼出掉,不建议把模拟的USB用在产品上,免得后患无穷。



晓飛飛 发表于 2024-11-1 12:06:38

主题帖

AI32位8051交流社区,车规 AEC-Q100 Grade1 › 技术交流 › 问题反馈:ISP软件/头文件/单片机数据手册规格书等 › Ai32G例程反馈 红外发射部分
有代码bug分析过程
提供了解决思路和代码示例



页: [1]
查看完整版本: 荣誉版主 晓飛飛,2024/10,技术漫步, 共享,技术回复 索引