单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3687|回复: 30
收起左侧

N76E003无线充电5W源程序

  [复制链接]
kenxu 发表于 2018-4-19 10:47 | 显示全部楼层 |阅读模式
N76E003 5W 程序 见附件

这2颗芯片资源一致,N76E003比STM8S003 FLASH 大10K ,  其他性能N76E003略优于STM8S003,并且在价格上大幅低于STM8S003.  程序转移也相对简单,我司免费提供  技术支持及程序调试,免费代烧写程序。


单片机源程序如下:
  1. #include <stdio.h>
  2. #include "N76E003.h"
  3. #include "Common.h"
  4. #include "Delay.h"
  5. #include "SFR_Macro.h"
  6. #include "Function_define.h"
  7. #include "ctrl.h"
  8. #include "hardware.h"
  9. #include "qi.h"

  10. #define LED_RED_GPIO  P13
  11. #define LED_BLUE_GPIO  P14
  12. #define BUZZER_GPIO   P30

  13. uint16_t    LedFlashDelayCnt;
  14. uint8_t LedStatus = 0;
  15. uint8_t LedDisplayCnt = 0;

  16. QI_POWER_CHARGE_STATE_TYPEDEF QiPowerChargeState = State_Charge_Standby;

  17. #ifdef MARKFU
  18. void SysPara_Delay_Count(void)
  19. {
  20.     static uint16_t led_status_cnt = 0;
  21.     static uint8_t led_cnt = 0;
  22.        
  23.      if(LedFlashDelayCnt<1000)
  24.         LedFlashDelayCnt++;
  25.     else
  26.         LedFlashDelayCnt=0;
  27.     if(led_status_cnt < 300)
  28.         led_status_cnt++;
  29.     else
  30.     {
  31.         led_status_cnt = 0;
  32.         LedStatus++;
  33.          led_cnt = 0;       
  34.     }
  35.     switch(LedStatus)
  36.     {
  37.         case 0:
  38.             P04 = 1;
  39.             break;
  40.         case 1:
  41.             led_cnt++;
  42.             if(led_cnt>2)
  43.             {
  44.                 P04 = 0;
  45.                   led_cnt = 0;
  46.             }
  47.              else
  48.                 P04 = 1;
  49.             break;       
  50.         case 2:
  51.             led_cnt++;
  52.             if(led_cnt>1)
  53.             {
  54.                 P04 = 0;
  55.                   led_cnt = 0;
  56.             }
  57.              else
  58.                 P04 = 1;                       
  59.             break;
  60.         //case 3:
  61.              //P04 ^= 1;       
  62.             //break;
  63.         case 3:
  64.             led_cnt++;
  65.             if(led_cnt>1)
  66.             {
  67.                 P04 = 1;
  68.                   led_cnt = 0;
  69.             }
  70.              else
  71.                 P04 = 0;                               
  72.             break;
  73.         case 4:
  74.             led_cnt++;
  75.             if(led_cnt>2)
  76.             {
  77.                 P04 = 1;
  78.                   led_cnt = 0;
  79.             }
  80.              else
  81.                 P04 = 0;
  82.             break;
  83.         case 5:
  84.             led_cnt++;
  85.             if(led_cnt>3)
  86.             {
  87.                 P04 = 1;
  88.                   led_cnt = 0;
  89.             }
  90.              else
  91.                 P04 = 0;
  92.             break;       
  93.         case 6:
  94.             led_cnt++;
  95.             if(led_cnt>4)
  96.             {
  97.                 P04 = 1;
  98.                   led_cnt = 0;
  99.             }
  100.              else
  101.                 P04 = 0;
  102.             break;
  103.         case 7:
  104.             led_cnt++;
  105.             if(led_cnt>5)
  106.             {
  107.                 P04 = 1;
  108.                   led_cnt = 0;
  109.             }
  110.              else
  111.                 P04 = 0;
  112.             break;       
  113.         case 8:
  114.             led_cnt++;
  115.             if(led_cnt>7)
  116.             {
  117.                 P04 = 1;
  118.                   led_cnt = 0;
  119.             }
  120.              else
  121.                 P04 = 0;
  122.             break;       
  123.         case 9:
  124.             led_cnt++;
  125.             if(led_cnt>10)
  126.             {
  127.                 P04 = 1;
  128.                   led_cnt = 0;
  129.             }
  130.              else
  131.                 P04 = 0;
  132.             break;                       
  133.         case 10:
  134.             P04 = 0;
  135.             break;                       
  136.         default:
  137.              if(LedDisplayCnt < 3)
  138.              {
  139.                  LedDisplayCnt++;
  140.                  LedStatus = 0;
  141.              }
  142.              else if(QiPowerChargeState == State_Charge_On)
  143.                  LedStatus = 0;
  144.              else
  145.                  LedStatus = 10;
  146.                         
  147.             break;
  148.     }
  149. }
  150. #else
  151. void SysPara_Delay_Count(void)
  152. {
  153.      if(LedFlashDelayCnt<1000)
  154.         LedFlashDelayCnt++;
  155.     else
  156.         LedFlashDelayCnt=0;
  157. }
  158. #endif

  159. /*----------------------------------------------------------------------------
  160. *       Led control : the normal charge
  161. *---------------------------------------------------------------------------*/
  162. void Led_Charge_On(void)
  163. {
  164.     LED_BLUE_GPIO = 0;
  165.     LED_RED_GPIO = 1;
  166. }

  167. /*----------------------------------------------------------------------------
  168. *       Led control : System standby
  169. *---------------------------------------------------------------------------*/
  170. void Led_Standby(void)
  171. {
  172.     LED_BLUE_GPIO = 1;
  173.     LED_RED_GPIO = 1;
  174. }

  175. /*----------------------------------------------------------------------------
  176. *       Led control : charge full
  177. *---------------------------------------------------------------------------*/
  178. void Led_Charge_Full(void)
  179. {
  180.     LED_BLUE_GPIO = 1;
  181.     LED_RED_GPIO = 1;
  182. }

  183. /*----------------------------------------------------------------------------
  184. *       Led control : charge error
  185. *---------------------------------------------------------------------------*/
  186. void Led_Charge_Error(void)
  187. {
  188.     LED_BLUE_GPIO = 1;
  189.     LED_RED_GPIO = 0;
  190. }

  191. /*----------------------------------------------------------------------------
  192. *       Led control : close all led
  193. *---------------------------------------------------------------------------*/
  194. void Led_Charge_Off(void)
  195. {
  196.     LED_BLUE_GPIO = 1;
  197.     LED_RED_GPIO = 1;
  198. }

  199. /*----------------------------------------------------------------------------
  200. *       Led control : charge over-temperature
  201. *---------------------------------------------------------------------------*/
  202. void Led_Charge_OverTermper(void)
  203. {
  204.     if(LedFlashDelayCnt<500)
  205.     {
  206.         Led_Charge_Error();
  207.     }
  208.     else
  209.     {
  210.         Led_Charge_Off();
  211.     }
  212. }

  213. /*----------------------------------------------------------------------------
  214. *       Led control : detect the FOD
  215. *---------------------------------------------------------------------------*/
  216. void Led_Charge_FOD(void)
  217. {
  218.     if(LedFlashDelayCnt<500)
  219.     {
  220.         Led_Charge_Error();
  221.     }
  222.     else
  223.     {
  224.         Led_Charge_Off();
  225.     }
  226. }


  227. #ifdef MARKFU
  228. void Display(void)
  229. {
  230.     switch(QiPowerChargeState)
  231.     {
  232.         case State_Charge_Standby:
  233.             if(LedDisplayCnt > 2)
  234.                  LedStatus = 10;
  235.             break;
  236.         case State_Charge_Ping:
  237.             if(LedDisplayCnt > 2)
  238.                  LedStatus = 10;                       
  239.             break;                       
  240.         case State_Charge_On:
  241.             break;
  242.         case State_Charge_Full:
  243.             break;
  244.         case State_Charge_FOD:
  245.             Led_Charge_FOD();
  246.             break;
  247.         case State_Charge_OverTemper:
  248.             Led_Charge_OverTermper();
  249.             break;
  250.         default:
  251.              break;
  252.     }
  253. ……………………

  254. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
N76E003无线充电5W 程序.rar (34.01 KB, 下载次数: 214)
回复

使用道具 举报

leavylee 发表于 2018-4-23 16:43 | 显示全部楼层
不错,不错,谢谢
回复

使用道具 举报

符小明 发表于 2018-5-7 13:02 | 显示全部楼层
学习一下,谢谢
回复

使用道具 举报

恩波斯甲 发表于 2018-5-16 20:06 | 显示全部楼层
学习一哈
回复

使用道具 举报

289466080 发表于 2018-6-8 11:11 | 显示全部楼层
不错,可以提供下完整方案啊。
回复

使用道具 举报

xuxulei 发表于 2018-6-8 14:07 | 显示全部楼层
学习一下
回复

使用道具 举报

luyop0163 发表于 2018-6-8 15:06 | 显示全部楼层
可用吗??
回复

使用道具 举报

小李子铁头 发表于 2018-6-12 08:58 | 显示全部楼层
没有硬件支持貌似没有啥用
回复

使用道具 举报

virtual_z 发表于 2018-6-12 19:30 | 显示全部楼层
不错,可以提供下完整方案啊。
回复

使用道具 举报

ag2002 发表于 2018-6-20 18:10 | 显示全部楼层
压缩包解压缩有问题!
回复

使用道具 举报

a920366858 发表于 2018-6-28 10:21 | 显示全部楼层
支持一吓楼主
回复

使用道具 举报

a920366858 发表于 2018-6-28 10:25 | 显示全部楼层
少了个.c文件呀
回复

使用道具 举报

黄彪 发表于 2018-7-1 13:19 | 显示全部楼层
谢谢分享,试试看
回复

使用道具 举报

460339918 发表于 2018-7-5 02:25 来自手机 | 显示全部楼层
不错感谢楼主!
回复

使用道具 举报

zhizhiyaya 发表于 2018-7-5 12:15 | 显示全部楼层
能用吗?学习学习。。
回复

使用道具 举报

陪伴风 发表于 2018-7-5 21:07 | 显示全部楼层
可以有仿真图吗?
回复

使用道具 举报

jiangchun9981 发表于 2018-7-7 22:22 | 显示全部楼层
不错,不错,谢谢
回复

使用道具 举报

zhouxingxing123 发表于 2018-7-28 22:25 | 显示全部楼层
是全部的源代码吗? 里面有没有lib库
回复

使用道具 举报

adsl989 发表于 2018-8-9 08:26 | 显示全部楼层
不错,不错,谢谢
回复

使用道具 举报

hthbzh 发表于 2018-8-19 16:18 | 显示全部楼层
很好,具有很好参考意义
回复

使用道具 举报

776700272 发表于 2018-8-23 22:14 | 显示全部楼层
里面有库文件吗?
回复

使用道具 举报

bjghui 发表于 2018-8-25 00:18 | 显示全部楼层
学习一下,谢谢楼主提供资料
回复

使用道具 举报

翱翔云端的鸟 发表于 2018-9-6 19:08 | 显示全部楼层
感谢分享!
回复

使用道具 举报

xingvip 发表于 2018-9-11 21:19 | 显示全部楼层
下来看看,谢谢了
回复

使用道具 举报

飘逸心晴 发表于 2018-9-13 17:55 | 显示全部楼层
看一下
回复

使用道具 举报

飘逸心晴 发表于 2018-9-13 17:56 | 显示全部楼层
如果是有lib库的那就不要放上来了,没卵用
回复

使用道具 举报

晨dada 发表于 2018-9-28 23:24 | 显示全部楼层

不错,可以提供下完整方案啊。
回复

使用道具 举报

晨dada 发表于 2018-9-28 23:47 | 显示全部楼层
源代码不完整,缺少QI协议部分代码。
回复

使用道具 举报

wwzgch 发表于 2018-11-5 15:31 | 显示全部楼层
代码少QI协议部分,没意义
回复

使用道具 举报

colin 发表于 2019-3-13 17:34 来自手机 | 显示全部楼层
飘逸心晴 发表于 2018-9-13 17:56
如果是有lib库的那就不要放上来了,没卵用

原来是不完整的程序
回复

使用道具 举报

touch_mcu 发表于 2019-4-9 14:25 | 显示全部楼层
不错,不错,谢谢
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛5群 联系QQ:125739409;技术交流QQ群174280738

Powered by 单片机教程网

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