使用应广单片机开发项目Padauk PFS154微控制器驱动的charlieplexed LED 阵列,一段时间没有数据发送到芯片时的波形动画,8个LED8 位 PWM,9600波特率uart 输入

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

PFS154特征:
 8 个 LED,8 位 PWM(线性:-/)
 一段时间没有数据发送到芯片时的波形动画
9600 波特率 uart 输入(8 字节帧缓冲区)

Padauk PFS154微控制器驱动LED

通用迅龙MTP系列
不建议使用于AC 阻容降压供电或有高EFT要求之应用
工作温度范围: -20°C ~ 70°C

系统特性
1.     2KW MTP 程序储存器 (可编程1,000次以上)
2.     128 Bytes 数据储存器
3.     一个16位计时器
4.     两个8位定时器(可做为PWM产生器)
5.     三个11位PWM生成器
6.     提供一个比较器
7.     14 个IO 引脚带有上拉电阻选项
8.     提供3组不同的IO 驱动能力以满足不同的应用需求
9.     可选择的IO 驱动能力(普通或低)
10.     每个IO 引脚都可设定唤醒功能
11.     内建 1/2 VDD LCD 偏置电压生成器,可支持最大 4x10 点阵的 LCD屏幕
12.     时钟源:内部高频RC震荡器,内部低频RC震荡器和外部晶体震荡(EOSC,32KHz 保留)
13.     对所有带有唤醒功能的IO,都支援2种可选择地唤醒速度:正常唤醒与快速唤醒
14.     八段LVR 复位电压设定: 4.0V, 3.5V, 3.0V, 2.75V, 2.5V, 2.2V, 2.0V, 1.8V
15.     2个外部中断引脚
    
CPU 特性
1.     单一处理单元工作模式
2.     提供82 个有效指令
3.     1T(单周期)指令
4.     可程序设定的堆叠指针和堆叠深度
5.     数据存取支援直接和间接寻址模式,用数据存储器即可当作间接寻址模式的数据指针(index pointer)
6.     IO 地址以及储存地址空间互相独立

LED 动画核心代码

ANI_STATE_0_LEN=(0x81-0x57) ; ex pcadd
ANI_STATE_1_LEN=(0x8e-0x81)
ANI_STATE_2_LEN=(0x93-0x8e)
ANI_STATE_3_LEN=(0x96-0x93)
ANI_STATE_4_LEN=(0x98-0x96)
ANI_STATE_5_LEN=(0x9a-0x98)
ANI_STATE_6_LEN=(0x9c-0x9a)

ANI_STATE_1=1 + ANI_STATE_0_LEN
ANI_STATE_2=ANI_STATE_1 + ANI_STATE_1_LEN
ANI_STATE_3=ANI_STATE_2 + ANI_STATE_2_LEN
ANI_STATE_4=ANI_STATE_3 + ANI_STATE_3_LEN
ANI_STATE_5=ANI_STATE_4 + ANI_STATE_4_LEN
ANI_STATE_6=ANI_STATE_5 + ANI_STATE_5_LEN
ANI_STATE_7=ANI_STATE_6 + ANI_STATE_6_LEN

;

.macro ani_init
    mov a, #2
    mov p_hi, a
    clear p
    clear slowdown
    mov a, #p
    mov sp, a
    mov a, #1
    mov i, a
    mov brightness_lo, a
    mov state, a
    clear new_pa
    clear end_pa
    clear brightness_hi
.endm


.macro ani_high_nibbles out, out_next, out_new_data, ?l1, ?l2, ?l3, ?iter_1_to_7, ?state_and_out, ?nop_state_and_out, ?nop2_state_and_out, ?nop3_check_uart, ?check_uart
    pwm_block brightness_hi     ;  0 + 4
    mov a, state                ;  4 + 1
    pcadd a                     ;  5 + 2
; 0
    mov a, #LED1_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #LED1_HIGH           ;  9 + 1
    goto l1                     ; 10 + 2
; 1
    mov a, #LED2_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #LED2_HIGH           ;  9 + 1
    goto l1                     ; 10 + 2
; 2
    mov a, #LED3_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #LED3_HIGH           ;  9 + 1
    goto l1                     ; 10 + 2
; 3
    mov a, #LED4_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #LED4_HIGH           ;  9 + 1
    goto l1                     ; 10 + 2
; 4
    mov a, #LED5_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #LED5_HIGH           ;  9 + 1
    goto l1                     ; 10 + 2
; 5
    mov a, #LED6_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #LED6_HIGH           ;  9 + 1
    goto l1                     ; 10 + 2
; 6
    mov a, #LED7_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #LED7_HIGH           ;  9 + 1
    goto l1                     ; 10 + 2
; 7
    mov a, #LED0_DIR            ;  7 + 1
    mov new_pac, a              ;  8 + 1
    mov a, #(0xfd)              ;  9 + 1
    mov i, a                    ; 10 + 1
    mov a, #LED0_HIGH           ; 11 + 1
l1:
    mov new_pa, a               ; 12 + 1
    mov a, #ANI_STATE_1         ; 13 + 1
nop_state_and_out:
    wdreset                     ; 14 + 1
state_and_out:
    mov state, a                ; 15 + 1
    pwm_block brightness_hi     ; 16 + 4
    goto out                    ; 20 + 2

;ANI_STATE_1
    mov a, #32                  ;  7 + 1
    add p, a                    ;  8 + 1
    mov a, #4                   ;  9 + 1
    add i, a                    ; 10 + 1
    mov a, #ANI_STATE_2         ; 11 + 1
check_uart:
    t1sn uart_status, #NEW_DATA ; 12 + 1|2
nop2_state_and_out:
    goto state_and_out          ; 13 + 2
    goto l2                     ; 14 + 2
l2:
    pwm_block brightness_hi     ; 16 + 4
    goto out_new_data           ; 20 + 2

;ANI_STATE_2
    dzsn slowdown               ;  7 + 1
    goto l3                     ;  8 + 1|2
    inc p                       ;  9 + 1
l3:
    mov a, #ANI_STATE_3         ; 10 + 1
    goto nop2_state_and_out     ; 11 + 2

;ANI_STATE_3
    mov a, #ANI_STATE_4         ;  7 + 1
    goto nop3_check_uart        ;  8 + 2
nop3_check_uart:
    goto check_uart             ; 10 + 2

;ANI_STATE_4
    mov a, #ANI_STATE_5         ;  7 + 1
    goto nop3_check_uart        ;  8 + 2

;ANI_STATE_5
    mov a, #ANI_STATE_6         ;  7 + 1
    goto nop3_check_uart        ;  8 + 2

;ANI_STATE_6
    mov a, #ANI_STATE_7         ;  7 + 1
    goto nop3_check_uart        ;  8 + 2

;ANI_STATE_7
    mov a, i                    ;  7 + 1
    mov state, a                ;  8 + 1
    ldsptl                      ;  9 + 2
    mov brightness_lo, a        ; 11 + 1
    ldspth                      ; 12 + 2
    mov brightness_hi, a        ; 14 + 1
    ceqsn a, #0                 ; 15 + 1
    mov a, new_pa               ; 16 + 1
    mov end_pa, a               ; 17 + 1
    mov a, new_pac              ; 18 + 1
    mov pac, a                  ; 19 + 1
    goto out_next               ; 20 + 1
.endm

项目代码下载

应广单片机产品应用领域

玩具类:
RF/IR遥控直升飞机,遥控车,PS游戏机,儿童智能玩具,动物语音玩具,游戏方向盘,儿童学习机等

电子消费类:
电子万年历、温度湿度计、跑步计速器、按摩器、数码复读录音、笔电子礼品、电子密码锁,镍氢,锂电池充电器,超声波测距,防盗报警器,灯饰控制,舵机

 

深圳市逐高电子有限公司

我们是一家单片机代理、方案设计、芯片烧录、配单等一条龙电子元器件服务商。公司拥有强大的资源优势和完整的产品线, 是台湾应广单片机、 台湾义隆单片机、台湾九齐单片机一级代理。主要应用于小家电、消费类电子产品,LED照明控制等领域。


我公司设有专门的研发部门,具有雄厚的单片机开发实力,工程师都是具有多年单片机开发应用经验,可为您提供较强的技术支援。
有先进的开发能力,完善的售后服务及技术支援,现已成功开发出一系列电子产品方案。

应广单片机技术资料

  • 台湾应广单片机官网
  • 应广单片机例程
  • 应广单片机编程指南
  • 应广单片机定时器
  • 技术开发工具
  • 应广单片机IDE&仿真器
  • 应广单片机烧录器
  • 代码生成器
网友博客热帖:如果你喜欢使用廉价物美的微控制器,应广单片机(Padauk MCU)系列无疑将是您的最佳选择,它们拥有最强大的架构、包括闪存选项在内的广泛设备、良好的文档以及唯一具有开源工具链的产品线

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


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

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


应广单片机PMC-APN021充电 MCU 设计使用需知,适用芯片:PMB180/PMB182/PMB183/YMB1801/YMB1805,为避免 Vbat 电压逆流至 Vcc 引脚进而产生漏电现象

应广单片机PMC-APN021充电 MCU 设计使用需知,适用芯片:PMB180/PMB182/PMB183/YMB1801/YMB1805,为避免 Vbat 电压逆流至 Vcc 引脚进而产生漏电现象


应广科技PMC-APN-017型号单片机提升 IC 在电源插拔测试下的抗干扰能力重要通知,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整

应广科技PMC-APN-017型号单片机提升 IC 在电源插拔测试下的抗干扰能力重要通知,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整


应该科技单片机PMC-APN006PMC150/153/156/166对抗电源急速波动的重要通知,遇电源急速波动(例如电源 被手动快速开关,或者是因为强烈的电源杂讯)

应该科技单片机PMC-APN006PMC150/153/156/166对抗电源急速波动的重要通知,遇电源急速波动(例如电源 被手动快速开关,或者是因为强烈的电源杂讯)


应广单片机,PMC-APN-017提升IC 在电源插拔测试下的抗干扰能力,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整,有助于提升 IC 在小部份特定 应用环境下做电源反复插拔测试时的稳定性及抗干扰能力。

应广单片机,PMC-APN-017提升IC 在电源插拔测试下的抗干扰能力,IDE 0.91M1 后的版本将针对.Adjust_IC Macro 做优化调整,有助于提升 IC 在小部份特定 应用环境下做电源反复插拔测试时的稳定性及抗干扰能力。


应广科技提醒用户在使用PMS134G系列单片机IC时避免常犯的一些错误,IO 作为数字输入时,Vih 与 Vil 的准位,会随着电压与温度变化

应广科技提醒用户在使用PMS134G系列单片机IC时避免常犯的一些错误,IO 作为数字输入时,Vih 与 Vil 的准位,会随着电压与温度变化


应广单片机烧录PMC-APN011半自动烧录机台提高烧录稳定性,应广科技烧录器操作方法说明,烧录器在烧录IC时会进行精确的相关特性校正如 IHRC…等等

应广单片机烧录PMC-APN011半自动烧录机台提高烧录稳定性,应广科技烧录器操作方法说明,烧录器在烧录IC时会进行精确的相关特性校正如 IHRC…等等


网友开发者热议应广单片机(Padauk) PMS150C 成功驱动 300个WS2812B LED,实际上只需修改8Mhz微控制器就可以做很多事情

网友开发者热议应广单片机(Padauk) PMS150C 成功驱动 300个WS2812B LED,实际上只需修改8Mhz微控制器就可以做很多事情


应广科技八核心平行处理单片机 (FPPA) 介绍,有什么优点?相信许多研发人员都有选择 MCU 的痛苦经验, 选这颗 MCU少个UART,选那颗Timer又不够,就算选好了MCU写软体才是真正痛苦

应广科技八核心平行处理单片机 (FPPA) 介绍,有什么优点?相信许多研发人员都有选择 MCU 的痛苦经验, 选这颗 MCU少个UART,选那颗Timer又不够,就算选好了MCU写软体才是真正痛苦


网友热论开发应广单片机,工业级8-bit MTPIO 类型PFC154单片机具体应广的讨论帖子,在分析了READ和WRITE后,发现:PFC154程序字=14位,但使用19位进行读/写。

网友热论开发应广单片机,工业级8-bit MTPIO 类型PFC154单片机具体应广的讨论帖子,在分析了READ和WRITE后,发现:PFC154程序字=14位,但使用19位进行读/写。


模数转换器ADC 如何工作?应广科技官网公布的PMS132/PMS132B8单片机,ADC 装进程的步骤,有 7 个寄存器需要配置

模数转换器ADC 如何工作?应广科技官网公布的PMS132/PMS132B8单片机,ADC 装进程的步骤,有 7 个寄存器需要配置


应广单片机烧录方法,PMS133/PMS134 的烧录脚为 PA3,PA4,PA5,PA6,VDD,GND 这 6 只引脚,随着烧录器版本的不同,每种封装形式烧录方法也不尽相同

应广单片机烧录方法,PMS133/PMS134 的烧录脚为 PA3,PA4,PA5,PA6,VDD,GND 这 6 只引脚,随着烧录器版本的不同,每种封装形式烧录方法也不尽相同


应广单片机YFS1224 系列12bit ADC 型 MTP MCU 带 2K-bit EEPROM,包含两个部分:PFS122B MCU,2Kbit EEPROM,是一款 12bit ADC 类型的 MTP MCU

应广单片机YFS1224 系列12bit ADC 型 MTP MCU 带 2K-bit EEPROM,包含两个部分:PFS122B MCU,2Kbit EEPROM,是一款 12bit ADC 类型的 MTP MCU


应广单片机PMB180 8 位 OTP 型单片机带充电,IC充电器使用与设定,PMB180 的充电器做电性量测V1 电压波形:(CC Mode, R1 = 10Kohm, C1 = 1uF)

应广单片机PMB180 8 位 OTP 型单片机带充电,IC充电器使用与设定,PMB180 的充电器做电性量测V1 电压波形:(CC Mode, R1 = 10Kohm, C1 = 1uF)


开发实力

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

全球渠道

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

品质保证

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

售后服务

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

服务热线

0755-88364040
18902464556

义隆代理

烧录开发

技术支持

申请样品

扫描微信二维码