数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 5752|回复: 33

[家电] 用FT60E211单片机替换头灯的驱动芯片

[复制链接]
发表于 2023-7-13 10:16:05 | 显示全部楼层 |阅读模式
前段时间因电池装反,烧了头灯内部的驱动芯片,上网查了下芯片型号是YX8254,本身价格只有几毛钱,但算上运费就要好几块了,其实我只要单键开关功能就行了,想到以前买了些FT60E211单片机还在吃灰,就尝试用它代替。用厂家提供的例程略改了一下,凑和能用了,量了下待机时的电流为0.1uA左右。至于用到的编译器和编程器的资料,可以搜索本坛 2元成本玩2毛单片机这个帖子。


  1. #include "SYSCFG.h"

  2. bit start=0;

  3. void interrupt ISR(void)        
  4. {
  5.         //PA2外部中断处理
  6.         if(INTE && INTF)               
  7.         {
  8.                 INTF = 0;                          //清PA2 INT 标志位
  9.                 INTE = 0;                          //暂先禁止PA2中断
  10.             start=~start;
  11.         }
  12. }

  13. /*-------------------------------------------------
  14. * 函数名:POWER_INITIAL
  15. * 功能:  上电系统初始化
  16. * 输入:  无
  17. * 输出:  无
  18. --------------------------------------------------*/        
  19. void POWER_INITIAL (void)
  20. {
  21.         OSCCON = 0B01110001;        //IRCF=111=16MHz/4T=4MHz,0.25us
  22.         INTCON = 0;                          //暂禁止所有中断
  23.         PORTA = 0B00000100;               
  24.         TRISA = 0B00000100;                //PA输入输出 0-输出 1-输入
  25.                                                                                                                
  26.         WPUA = 0B00000100;            //PA端口上拉控制 1-开上拉 0-关上拉                                                        
  27.                            
  28.         OPTION = 0B00001000;        //Bit3=1,WDT MODE,PS=000=WDT RATE 1:1                             
  29.     PSRCA = 0B11111111;            //源电流设置最大

  30.     PSINKA = 0B11111111;    //灌电流设置最大
  31.                     
  32.     MSCON = 0B00110000;                           
  33.         //Bit5:        PSRCAH4和PSRCA[4]共同决定源电流。00:4mA; 11: 33mA; 01、10:8mA
  34.         //Bit4:        PSRCAH3和PSRCA[3]共同决定源电流。00:4mA; 11: 33mA; 01、10:8mA
  35.         //Bit3:        UCFG1<1:0>为01时此位有意义。0:禁止LVR;         1:打开LVR
  36.         //Bit2:        快时钟测量慢周期的平均模式。0:关闭平均模式;1:打开平均模式
  37.         //Bit1:        0:关闭快时钟测量慢周期;1:打开快时钟测量慢周期
  38.         //Bit0:        0:睡眠时停止工作:1: 睡眠时保持工作。
  39.     //                当T2时钟不是选择指令时钟的时
  40.         }
  41.       
  42. /*-------------------------------------------------
  43. *  函数名:DelayUs
  44. *  功能:  短延时函数
  45. *  输入:  Time延时时间长度 延时时长Time us
  46. *         输出:  无
  47. -------------------------------------------------*/
  48. void DelayUs(unsigned char Time)
  49. {
  50.         unsigned char a;
  51.         for(a=0;a<Time;a++)
  52.         {
  53.                 NOP();
  54.         }
  55. }                  
  56. /*-------------------------------------------------
  57. *         函数名:DelayMs
  58. *         功能:  短延时函数--16M-4T--大概快1%左右.
  59. *         输入:  Time延时时间长度 延时时长Time ms
  60. *         输出:  无
  61. -------------------------------------------------*/
  62. void DelayMs(unsigned char Time)
  63. {
  64.         unsigned char a,b;
  65.         for(a=0;a<Time;a++)
  66.         {
  67.                 for(b=0;b<5;b++)
  68.                 {
  69.                          DelayUs(98);
  70.            
  71.                 }
  72.         }
  73. }

  74. /*-------------------------------------------------
  75. * 函数名: INT_INITIAL
  76. * 功能:  中断初始化函数
  77. * 输入:  无
  78. * 输出:  无
  79. --------------------------------------------------*/
  80. void INT_INITIAL(void)
  81. {
  82.         TRISA2 =1;                                                                //SET PA2 INPUT
  83.         IOCA2 =0;                                                                //禁止PA2电平变化中断
  84.         INTEDG =0;                                                                //OPTION,INTEDG=0;PA2 INT 为下降沿触发
  85.         INTF =0;                                                                //清PA2 INT中断标志位
  86.         INTE =1;                                                                //使能PA2 INT中断
  87. }

  88. /*-------------------------------------------------
  89. *  函数名:  main
  90. *        功能:  主函数
  91. *  输入:  无
  92. *  输出:  无
  93. --------------------------------------------------*/
  94. void main()
  95. {   
  96.    
  97.         POWER_INITIAL();
  98.     PA3=1;
  99.         while(1)
  100.         {         
  101.             if(start==1)            
  102.                 {
  103.                        PA3=0;
  104.                        DelayMs(250);                                         
  105.                 }
  106.             else
  107.                 {
  108.                        PA3=1;
  109.                        DelayMs(250);                                    
  110.                 }      
  111.                                           
  112.                 INT_INITIAL();                                                //初始化外部中断
  113.                 GIE = 1;                                                        //开总中断
  114.                 SLEEP();
  115.         }
  116. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 5家元 +259 收起 理由
followboy + 6 優秀文章
xtay112 + 6 優秀文章
IlovePLC + 30 認真發帖
作死的家伙 + 7
家睦 + 210

查看全部打赏

发表于 2024-11-12 12:49:17 | 显示全部楼层
感谢楼主发布的帖子给我的启示,已经 成功用FT60E211替代净水机控制板MCU ,实现编程自由。
用2毛单片机FT60E211代替净水机控制板MCU优化制水程序
https://www.mydigit.cn/thread-481342-1-1.html
回复 支持 反对

使用道具 举报

发表于 2024-11-1 21:37:47 | 显示全部楼层

看起来是简单了些,需要编程,编程俺不会呀
回复 支持 反对

使用道具 举报

发表于 2024-11-1 09:51:50 | 显示全部楼层
wjxhone 发表于 2024-10-28 18:59
1.6.1版的烧录软件支持60F01X/E01X,60F21X/E21X这些单片机。

谢谢!已经把烧录器做好了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-28 18:59:49 | 显示全部楼层
tigerhifi 发表于 2024-10-22 14:35
请问楼主使用FT60E211这颗单片机,烧录是用“ 2元成本玩2毛单片机” 这个帖子里面作者自制的CH552G下载板 ...

1.6.1版的烧录软件支持60F01X/E01X,60F21X/E21X这些单片机。
回复 支持 反对

使用道具 举报

发表于 2024-10-22 14:35:49 | 显示全部楼层
wjxhone 发表于 2023-8-10 19:24
官方没有ft60e211的例程,我是拿ft60f12x的例程改的,没注意到这些细节。

请问楼主使用FT60E211这颗单片机,烧录是用“ 2元成本玩2毛单片机” 这个帖子里面作者自制的CH552G下载板进行的吗?帖子里使用的是FT60F011A,我不确定这个下载器是不是支持这两种单片机?麻烦确认一下啊
回复 支持 反对

使用道具 举报

发表于 2023-8-10 20:35:52 | 显示全部楼层
wjxhone 发表于 2023-8-10 19:24
官方没有ft60e211的例程,我是拿ft60f12x的例程改的,没注意到这些细节。



想用规格书里介绍的源电流3mA直接驱动led,结果不行,启动一次把mcu烧了,连烧2个,加了如图红色电阻1K就正常了。
附上FT60F21X_DEMO供大家,淘宝店客服提供的。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-10 19:24:08 | 显示全部楼层
3dg6 发表于 2023-8-10 15:33
请教一下:
MSCON = 0B00000000;         //            
        //Bit5:        PSRCAH4和PSRCA[4]共同 ...

官方没有ft60e211的例程,我是拿ft60f12x的例程改的,没注意到这些细节。
回复 支持 反对

使用道具 举报

发表于 2023-8-10 15:33:38 | 显示全部楼层
请教一下:
MSCON = 0B00000000;         //            
        //Bit5:        PSRCAH4和PSRCA[4]共同决定源电流。00:4mA; 11: 33mA; 01、10:8mA
        //Bit4:        PSRCAH3和PSRCA[3]共同决定源电流。00:4mA; 11: 33mA; 01、10:8mA

FT60F211规格书PDF里没有  MSCON :PSRCAH4没有说明。
回复 支持 反对

使用道具 举报

发表于 2023-7-19 12:44:22 来自手机浏览器 | 显示全部楼层
wei2860315 发表于 2023-7-15 13:14
自己瞎几把搞搞,坏了也没事,做产品就得保证可靠性了,不能生产几十万了发现有缺陷就麻烦了 ...

这都是爱好者自己的改装。
没有想到会批量吧
回复 支持 反对

使用道具 举报

发表于 2023-7-19 12:17:01 来自手机浏览器 | 显示全部楼层
总算是有实用级别的DIY了…顶一个
回复 支持 反对

使用道具 举报

发表于 2023-7-18 15:49:30 | 显示全部楼层
这年头如果会编程确实可以搞出许多新东西
回复 支持 反对

使用道具 举报

发表于 2023-7-18 15:48:53 | 显示全部楼层
2毛钱的大材小用
回复 支持 反对

使用道具 举报

发表于 2023-7-17 21:30:13 | 显示全部楼层
来学习单片机编程
回复 支持 反对

使用道具 举报

发表于 2023-7-17 09:34:54 | 显示全部楼层
单片机可以实现闪烁等多种功能,这个方法好
回复 支持 反对

使用道具 举报

发表于 2023-7-17 07:43:52 | 显示全部楼层
会编程就是好
回复 支持 反对

使用道具 举报

发表于 2023-7-16 01:02:58 | 显示全部楼层
可惜不是STC系列的51单片机
回复 支持 反对

使用道具 举报

发表于 2023-7-15 13:14:52 | 显示全部楼层
603599910 发表于 2023-7-14 12:54
单片机基础入门真的挺简单,精通就难,不过搞技术的要有兴趣有时间还要悟性加上一个契机或者说机会这样就会玩 ...

自己瞎几把搞搞,坏了也没事,做产品就得保证可靠性了,不能生产几十万了发现有缺陷就麻烦了
回复 支持 反对

使用道具 举报

发表于 2023-7-14 13:02:22 | 显示全部楼层
辉芒微FT60E211 系列我也了解着一阵,是价格真香系列,也想搞个来玩玩,后来看到下载器价格着实不低又加上我做产品不至于极致压缩成本,只玩玩就没必要再花心思搞.现在开发小方案都是用CH32V003,中型方案用CH32V203,大型方案用CH32V307,增加CH340,貌似现在越来越倾近于沁恒的全家桶了.
回复 支持 反对

使用道具 举报

发表于 2023-7-14 12:54:19 | 显示全部楼层
单片机基础入门真的挺简单,精通就难,不过搞技术的要有兴趣有时间还要悟性加上一个契机或者说机会这样就会玩的很愉快.我是之前模电专业出身的一直从事电子制造工程行业,后来在2010年后开发案子用模电实现的功能实在是事倍功半,开始学习单片机,最开始用STC的89C52学习板入门,现在基本用CH32V系列做产品开发.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-27 08:23 , Processed in 0.156001 second(s), 15 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表