STC8A8K64S4A12工程代码烧写到STC8A8K64D4单片机为何不工作
之前写的STC8A8K64S4A12单片机工程代码(keil4写)烧写到STC8A8K64D4单片机为何不工作,我比较了两个单片机的管脚配置,可以通用;手册中的注意事项我也看了,感觉代码不需要改动,但是就是板子不工作。有人遇到这两个单片机的替换吗,谢谢!不想一一去比对了,有哪些注意的地方,直接分享下,谢谢!STC8A8K64D4取代STC8A8K64S4A12的注意事项
请参考STC8A8K64D4手册的的附录V
特别注意复位电平是相反的,STC8A8K64S4A12是高电平复位,STC8A8K64D4是低电平复位
只要对应看一下代换注意事项那几点,别的都不用修改,STC8A8K64D4就是STC8A8K64S4A12的升级版。 梁工 发表于 2023-2-18 21:24
只要对应看一下代换注意事项那几点,别的都不用修改,STC8A8K64D4就是STC8A8K64S4A12的升级版。 ...
P_SW2= 0x80; //外设端口切换控制器(P_SW2): [|EAXFR|_|I2CS(1:0)|.|CMPO_S|S4_S|S3_S|S2_S|]
//访问XDATA区域的扩展SFR: "EAXFR=1"
PWMCKS = 0x00; //PWMCKS: [|_|_|_|SELT2|.|PWM_PS(3:0)|]; (PWM时钟=SYSCLK)
PWMC = 0x4000; //设置PWM周期为4000H个PWM时钟
PWM3T1 = 0x0200; //计数值为200H处输出低电平
PWM3T2 = 0x3300; //计数值为3300H处输出高电平
PWM3CR = 0x80; //使能PWM3输出
P_SW2= 0x00; //关闭XDATA区域的扩展SFR: "EAXFR=0"
PWMCR= 0x80; //启动PWM模块
同样的44脚封装的,这段代码在D4中无法输出PWM3(P2.3),但是在A12中可以实现PWM3输出,这是为何,是不是按照注意事项我没配置对,但是按照D4给的例程序,我没找到错误。求解? 梦里水乡 发表于 2023-2-21 20:12
P_SW2= 0x80; //外设端口切换控制器(P_SW2): [|EAXFR|_|I2CS(1:0)|.|CMPO_S|S ...
PWM3地址A12和D4不一样,这个在软件ISP的例程中也为更新 请直接下载HEX文件测试,示波器观察PWM波。
梁工 发表于 2023-2-21 23:59
请直接下载HEX文件测试,示波器观察PWM波。
太感谢了,真找D4头文件尼,昨天我才发现PWM3CR两个地址不一样,唉,谢谢,良心菜
页:
[1]