应广科技单片机PADAUK微控制器开发全解析:FPPA IDE与Mini.C实战指南,极低成本生产产品的微控制器制造商,在遇到应广单片机(PADAUK)生态系统后,以低成本的微控制器 ,不是那么糟糕的事情

整理编辑:逐高电子技术开发部 / 日期:2025-4-19

应广单片机(PADAUK) 微控制器的特点

分析应广单片机(PADAUK)芯片的模型范围,可以识别以下特征:

各种外壳中的微控制器,从SOT 23-6 u(PMS150,4个输入/输出端口)到SOP28(PFC460,到26个委托/输出端口),值得注意的是,对于同一微控制器,船体有各种版本;

程序的内存容量从512到4096个字,RAM从64到256字节的量;

时钟速度高达16 MHz(来自内部时钟发生器),大多数处理器命令在一个时钟中执行;

微控制器缺乏硬件接口(UART,I2C,SPI等),内置在IDE代码生成器中,以用软件实现它们;

有具有闪存(MPT)和一次可编程(OTP)的模型;

一些微控制器配备了所谓的“程序处理器阵列”(FPSPA),关于它是什么以及如何使用它,我们将在下面讨论。

制造商的官方网站有英文和中文所有控制器型号的文档。全功能的FPPA IDE开发环境可供下载(我们稍后将讨论安装并与之配合)。程序可以写在经典的汇编上,但制造商还提供了C语言的变体 - Mini.C,我认为这非常有趣。


为实验开发了调试费。微控制器PFC161的文档说,微控制器支持架构内编程模式。为此,使用了五条程序员线:ICPCK、LASPA、VDD、GND和ICVPP。它们分别连接到微控制器的引脚:PA3、PA6、VDD、GND 和 PA5。

 

 

符号“星”可以指电阻器和电容器。它们用于将程序信号的导线与外围电路隔离。电阻应约为10 kO,如果使用容量,则应约为220 pF。

使用电压限制编程(低伏编程),而:

  • 不要在电压小于5.0 V的电压下连接VDD和GND稳定器,程序员本身为可编程MK供电,因此悬挂在饮食上的所有东西都不应消耗超过20mA;
  • 不连接容量超过500μF的容量在VDD和GND之间;
  • PA3、PA5 和 PA6 编程线不应用于为任何负载供电。

一般来说,这样的要求是相当可以理解的。以防万一添加一个DIP开关,将编程中使用的微控制器线与电路板的其余部分断开。

 

事实证明,这是一种绑带微控制器的方案:

 

XS5(IDC-6)连接器实际上用于连接到程序员。在板上还增加了一对用于负载切换的H桥(目标费用中的微控制器将控制双极步进器)。

 

这是一个如此美丽的模型:

 

这就是实施:

信号和电源路径,厚度为0.25毫米,仅用于测试LUT技术的能力。有趣的是,获得了微型接触指定(在印刷电路板的形式上很高)。起初我以为它们会在转移图纸或蚀刻时消失得无影无踪,但没有,保存!符号线的厚度为0.07毫米。

组装和检查调试板后,您可以继续创建项目并编写固件

 

FPPA IDE 中的第一个项目

如上所述,开发环境完全免费,可在制造商的官方网站上下载

下载并拆包存档后,它将拥有唯一的exe文件。我们开始它,并观看安装的惊人程序的工作,这不会问你绝对没有什么,但只会报告成功安装。几个图标将出现在桌子上。

FPPA IDE是开发环境。Writer 是与程序员一起工作的实用工具,它也可以从 IDE 获得。

启动IDE。最后一个项目或文件打开,如果我们第一次运行,应用程序注意也可以从顶部面板获得。以下是处理器命令上的文档,mini.C编程语言的描述,代码生成器的描述。

一切看起来熟悉和标准。在文件管理器的左侧,在编译器消息的底部,在代码编辑器窗口的中央部分。顶部面板上有一个工具包。

 

创建项目: 文件 / 新项目

我们设置项目名称,在指定地点将创建一个文件夹,其名称为项目。选择一个系列和一个微控制器模型。其余的设置还没有触及,我们稍后会处理。单击确定并查看生成的项目。

 

 

现在,您可以将我们的微控制器连接到前面板。由于我们将对内部程序进行编程,因此您需要一根连接调试板上的连接器和程序员前面板上的夹紧面板的导线。我们将制作另一个适配器,连接适当的引脚,在调试板上到程序化器的连接器。在程序员的屏幕上将有一个铭文“IC ready”,这意味着微控制器已准备好固件。

在"写入器"窗口中,按软件本身的自动程序图标或程序按钮。加载固件的程序将开始。之后,在屏幕上,我们将看到一个关于成功操作的消息。

 

现在,您可以断开程序员并连接调试板的电源。

事实是问题所在,我们的固件什么也不做。

Mini.C 上的编程

首先,我尝试实现一个简单的算法,使用位于PCB上的驱动程序来控制步进电机。通过点击其中一个按钮,它应该在给定的步骤上向一个方向旋转,通过按下另一个按钮 - 在相反的方向上采取相同数量的步骤。由于我在C上为大多数项目编写固件,因此对于这些控制器,我选择了Mini.C,希望它更容易习惯它。

关于这种语言和编译器的特性,该怎么说呢?的确,语法作为C语言。编译器不支持将参数转移到函数。此外,该函数不能返回值。但有迹象和全球变量。

这里的数据类型在名称上有些不同,但一般来说,它们的含义与经典的SI相同。不支持浮点计算。所有算术都只是整数。

开发环境不喜欢评论中的西里尔字母。不,你可以正式写评论。编译时,他不会给出一个错误。但是,出于某种原因,当保存文件并重新打开时,一些字符会更改为问号。好吧,这很好,但是!当你尝试执行编译器时,回收器会挂起,介质会飞出。我痛苦了很久,不明白是什么原因。错误是浮动的。也就是说,包含包含西里尔语注释的新创建文件可以是“重新组装”,并且没有重新打开。奇迹......

#include "extern.h"

// H桥引脚
#define AP 7
#define AN 5
#define BP 3
#define BN 6

// 电机工作模式
#define STOP 0
#define FORWRD 1
#define BACKWARD 2

#define DEADTIME 30
#define PHASE_DEL 3000

BYTE motorDirection = STOP;
BYTE stepperPhase[10];
WORD pntStart, pntEND, phaseCounter;
WORD delCounter;
WORD delValue = 0;

WORD stepCounter = 0;

void delay_tick (void) {
while(delValue > 0) {
delValue -= 1;
nop;
}
}

void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/8, Init_RAM;

//电机步进相位
stepperPhase[1] = (0< stepperPhase[2] = (0< stepperPhase[3] = (0< stepperPhase[4] = (0< stepperPhase[5] = (0< stepperPhase[6] = (1< stepperPhase[7] = (1< stepperPhase[8] = (1<
// 之前的stepperPhase[phaseCounter]
// поэтому используем указатели
pntStart =&stepperPhase[0];
pntEND=&stepperPhase[9];
相位计数器 = pntStart+1;

删除计数器 = 1;


PA = 0b00000000; // AP强烈建议您在进行配置更改之前清除端口数据寄存器。
PAC = 0b11101000;

PB = 0b00000000;
PBC = 0b00000000;

同时(1)
{
// 按钮控制
如果(PA.4 == 0)
{
电机方向 = FORWRD;
步数计数器 = 50;
}
如果(PB.0 == 0)
{
电机方向=向后;
stepCounter = 50;
}

while(stepCounter > 0)
{
if(motorDirection == FORWRD)
{
phaseCounter += 1;
delCounter += 1;
}
else if(motorDirection == BACKWARD)
{
phaseCounter -= 1;
delCounter -=1;
}

// 相位控制
if(phaseCounter == pntStart)
{
phaseCounter = pntEND - 1;
}
else if(phaseCounter == pntEND)
{
phaseCounter = pntStart + 1;
}

// 延时控制
if(delCounter == 0)
{
delCounter = 2;
}
else if(delCounter == 3)
{
delCounter = 1;
}


// 当前步骤在引脚上发送

PA = (PA & 0b00010111) | (*相位计数器);
/* 为避免使PA.4数据寄存器的值混乱,
* 首先阅读内容,
* 应用掩码,然后才插入当前引擎阶段
*/
delValue = PHASE_DEL;
if(delCounter == 1)
{
delValue = 死区时间;
}

延迟滴答();
/* 是的,这里可以不用手写功能,
* 只需使用命令 .DELAY 4000
*(同样不能传递变量),
* 但我想知道它是如何工作的
*/


步数计数器 -=1;
}

// 禁用步进器
电机方向=停止;
PA = (PA & 0b00010111);

}
}

void Interrupt (void)
{
pushaf;

if (Intrq.T16)
{ // T16 触发
// 用户可以添加代码
Intrq.T16 = 0;
//...
}

popaf;
}

结论

 

最后能说什么。在遇到应广单片机(PADAUK)生态系统后,我留下了愉快的印象。以低成本的微控制器 - 不是那么糟糕的事情。如果我们与其他8个金库微控制器(如Tiny13或Tiny10或PIC10)进行比较,这些微控制器在更广泛的方面是无与伦比的,那么PFC161在性能上都不逊色于这些同志,也不逊于这些同志的程序的内存量,也不逊色于外围的丰富性。但它在价格上获胜,甚至具有可重写内存的模型。此外,源代码可以很容易地在PMS152下移植(带有OTP内存),基于它的产品已经可以复制(前提是您不需要特定的外围,例如触摸按钮控制器)。

 

当然,也有特点。我得买一个专有的程序员。好,或者收集自己的,好是一个开放的项目。开发环境和Mini.C编译器,当然,具有...

很快,我将尝试将我的项目转移到这些微控制器上,我将看到这将会发生什么,并分享工作的结果

 


如需更详细的电路原理图或代码示例, 
若对以上说明有不清楚之处或仍有其他疑问
请与 逐高电子技术方案开发部    sales11@zicoic.com    0755-88364040  联络  获取官方开发包。 

 

 

应广单片机技术资料

  • 台湾应广单片机官网
  • 应广单片机例程
  • 应广单片机编程指南
  • 应广单片机定时器
  • 技术开发工具
  • 应广单片机IDE&仿真器
  • 应广单片机烧录器
  • 代码生成器
如何用应广PFC886-S16单片机实现BLDC无感控制?算法+代码全公开,低成本BLDC驱动方案,对比STM32方案节省30%的秘诀,过流保护如何设计?硬件+软件双重防护方案

如何用应广PFC886-S16单片机实现BLDC无感控制?算法+代码全公开,低成本BLDC驱动方案,对比STM32方案节省30%的秘诀,过流保护如何设计?硬件+软件双重防护方案


应广单片机开发中的PMC-APN007 LVR设置全解析:如何避免低电压误触发与系统崩溃,单片机电源管理必看!PMC/PMS系列LVR电压阈值配置技巧

应广单片机开发中的PMC-APN007 LVR设置全解析:如何避免低电压误触发与系统崩溃,单片机电源管理必看!PMC/PMS系列LVR电压阈值配置技巧


应广单片机Padauk PFS154微控制器汇编程序使用指南,极简嵌入式编程教程,低成本单片机开发方案,Paduak汇编工具链配置,这是一款专为Padauk PFS154微控制器设计的轻量级汇编开发工具,SRAM变量声明语法

应广单片机Padauk PFS154微控制器汇编程序使用指南,极简嵌入式编程教程,低成本单片机开发方案,Paduak汇编工具链配置,这是一款专为Padauk PFS154微控制器设计的轻量级汇编开发工具,SRAM变量声明语法


如何解决芯片烧录良率下降,应广科技单片机PMC-APN022芯片烧录接线指南–在 PA5 引脚串联电阻,针对部分芯片在半自动机台烧录时可能受杂讯干扰导致烧录良率下降或引脚击穿的问题,PMS150G-100R烧录转接板

如何解决芯片烧录良率下降,应广科技单片机PMC-APN022芯片烧录接线指南–在 PA5 引脚串联电阻,针对部分芯片在半自动机台烧录时可能受杂讯干扰导致烧录良率下降或引脚击穿的问题,PMS150G-100R烧录转接板


应广科技官网公布PMS152E 和 PMS152/PGS152 主要差异表PMS152E,8 位 OTP IO 类型单片机的V2.0版PDF开发文档,在使用 IC 前,请务必认真阅读 PMS152E 相关的 APN,不建议使用于 AC 阻容降压供电或有高 EFT 要求的应用

应广科技官网公布PMS152E 和 PMS152/PGS152 主要差异表PMS152E,8 位 OTP IO 类型单片机的V2.0版PDF开发文档,在使用 IC 前,请务必认真阅读 PMS152E 相关的 APN,不建议使用于 AC 阻容降压供电或有高 EFT 要求的应用


应广科技(padauk)PMC-APN022芯片烧录接线指南–在 PA5 引脚串联电阻,适用硬件烧录器型号PDK5S-P-003 / PDK5S-P-003B / PDK5S-P-003B2 / PDK5S-P-003C

应广科技(padauk)PMC-APN022芯片烧录接线指南–在 PA5 引脚串联电阻,适用硬件烧录器型号PDK5S-P-003 / PDK5S-P-003B / PDK5S-P-003B2 / PDK5S-P-003C


应广单片机(PADAUK)开发应用案例中常见问题的解答,涵盖开发环境、硬件设计、编程调试等方面的问题,适用于消费电子、家电控制、工业控制等场景

应广单片机(PADAUK)开发应用案例中常见问题的解答,涵盖开发环境、硬件设计、编程调试等方面的问题,适用于消费电子、家电控制、工业控制等场景


应广单片机电池电量显示选型,推荐PMS132B,PFS122,ADC采样/电压分段/动态校准/低功耗设计,适配电压范围:2.75V - 4.2V,多通道ADC轮询采集,实现深度休眠场景下μA级的超低功耗表现

应广单片机电池电量显示选型,推荐PMS132B,PFS122,ADC采样/电压分段/动态校准/低功耗设计,适配电压范围:2.75V - 4.2V,多通道ADC轮询采集,实现深度休眠场景下μA级的超低功耗表现


应广单片机开发简易音乐播放器电路程序代码案例,定义8255控制引脚,要实现音乐播放、按键控制以及显示功能控制多个音频播放通道

应广单片机开发简易音乐播放器电路程序代码案例,定义8255控制引脚,要实现音乐播放、按键控制以及显示功能控制多个音频播放通道


应广单片机中断优化策略与实战技巧,如外部中断、定时器中断、串口中断等首先,软件判断中断源的速度要快,可能用位操作或者查表法。其次,减少中断服务函数的执行时间

应广单片机中断优化策略与实战技巧,如外部中断、定时器中断、串口中断等首先,软件判断中断源的速度要快,可能用位操作或者查表法。其次,减少中断服务函数的执行时间


应广单片机(PADAUK) MINI-C 编程指南初级(系列1),台湾科技的 MINI-C 编译器基本上是构建于 ANSI C,MINI-C的语法结构、程序控制语句、函数处理

应广单片机(PADAUK) MINI-C 编程指南初级(系列1),台湾科技的 MINI-C 编译器基本上是构建于 ANSI C,MINI-C的语法结构、程序控制语句、函数处理


应广单片机(mcu)性能特点与在AI应用中的潜力与挑战,低功耗场景的竞争力在智能家居、可穿戴设备等对功耗敏感的场景中

应广单片机(mcu)性能特点与在AI应用中的潜力与挑战,低功耗场景的竞争力在智能家居、可穿戴设备等对功耗敏感的场景中


应广单片机芯片(MCU)的PMS150C-U06 进行编程闪光器, 应广科技(Padauk)的真实且仅有3分钱的开发的控制器,PMS150C 与 PFS154 高度兼容,但只能编程一次(OTP,一次性可编程)

应广单片机芯片(MCU)的PMS150C-U06 进行编程闪光器, 应广科技(Padauk)的真实且仅有3分钱的开发的控制器,PMS150C 与 PFS154 高度兼容,但只能编程一次(OTP,一次性可编程)


网友博客热帖:如果你喜欢使用廉价物美的微控制器,应广单片机(Padauk MCU)系列无疑将是您的最佳选择,它们拥有最强大的架构、包括闪存选项在内的广泛设备、良好的文档以及唯一具有开源工具链的产品线

网友博客热帖:如果你喜欢使用廉价物美的微控制器,应广单片机(Padauk MCU)系列无疑将是您的最佳选择,它们拥有最强大的架构、包括闪存选项在内的广泛设备、良好的文档以及唯一具有开源工具链的产品线


应广单片机MCU的LED蜡烛发光案例, PFS154和PMS150C中的一个PWM来控制 LED 的亮度,使用一种算法生成偏向最大亮度的随机数分布

应广单片机MCU的LED蜡烛发光案例, PFS154和PMS150C中的一个PWM来控制 LED 的亮度,使用一种算法生成偏向最大亮度的随机数分布


开发实力

专业资深的软硬件开发工程师团队,熟悉行业客户产品硬件技术平台解决方案

全球渠道

为客户提供高性价比的产品和服务,满足客户及时快速的电子生产制造需求

品质保证

专业的测试保证团队,保证每批方案的稳定性,兼容性,和抗干扰性

售后服务

专业的技术服务团队,24小时为客户提供各种软硬件的技术支持和售后服务

服务热线

0755-88364040
18902464556

义隆代理

烧录开发

技术支持

申请样品

扫描微信二维码