资源简介
电子烟小烟产品源代码。使用的是8 bit芯片。并适用于烟斗产品。
代码片段和文件信息
/*----------------------------------------
ML01 sn8p2501B
Noise_Filter Enable
Security Enable
Fcpu IHRC_16M
Watch_Dog Enable
Reset_pin Rest
LVC LVD_L
----------------------------------------*/
//设备选择宏定义
#define USE_GREEN_MODE
//#define USE_COMM_CODE
//#define USE_SYSLOCK
//#define USE_CHARGE //该项目不需要充电管理
//#define USE_VOUT_3_3V
//#define USE_VOUT_3_5V
#define USB_VOUT_3_7V
//#define USE_GND_DET_FROM_BAT
//#define USE_HEATER_R_LOW
#include “one_piece.h“
#define KEY_NONE 13
/*
C 与 汇编混编 时 汇编调用C的变量
①: 全局变量 int myGlobalVar;
__asm{
MOV A_myGlobalVar
}
②: 局部变量
#pragma ref myVar
void myFunc(void)
{
int myVar;
__asm{
MOV ACNameToAsmLabel(myVar)
}
}
③:函数传入参数
void myFunc1(int Var1 int Var2)
{
__asm{
MOV A_myFunc1_arg0 ; arg0 = Var1
MOV A_myFunc1_arg1 ; arg1 = Var2
}
}
④:关于 word型变量的存储方式. wADValue是如何存储的又如何获取高低字节用于汇编编程
_wADValue 获取低字节
_wADValue+1 获取高字节
*/
#define WDT_RST WDTR=0x5A;
//*********************************
#define HEATER_MOST_PIN_MODE(mode) FP40M=mode;
#define PIN_MODE_INPUT 0
#define PIN_MODE_OUTPUT 1
#define PWM_ENABLE FPWM0OUT=1;
#define PWM_DISABLE FPWM0OUT=0;
/* Set config for pin mode and then set ADC enableglobal channel enable convert channel. */
#define vADCH_25V P4CON=0x01; ADM=0x90;
#define vADCH_RL_L P4CON=0x08; ADM=0x93;
#define vADCH_RL_H P4CON=0x10; ADM=0x94;
#define vADCH_NTC P4CON=0x02; ADM=0x91;
//delay 函数无法用汇编优化 因为delay牵扯到AD采样的稳定延时延时时间是经过试验的
//从2.5V使能到稳定需要时间 延时短了将倒是AD采样值偏高.
byte filter_cnt = 0;
void vDelay_us(byte btime)
{
while(--btime);
/*
__asm{
;MOV A_bDelayusCount
LOOP_DELAY_US:
DECMS _bDelayusCount
JMP LOOP_DELAY_US
}
*/
}
#if PROJ_NAME == PROD_VPIPEII_2711A
void vClr_RAM(void)
{
__asm
{
CLR Y
B0MOV Z#0x3f
ClrRAM10:
CLR @YZ
DECMS Z
JMP ClrRAM10
CLR @YZ
}
}
#elif PROJ_NAME == PROD_VPIPEII_2712
void vClr_RAM(void)
{
__asm
{
CLR Y
B0MOV Z#0x5f
ClrRAM10:
CLR @YZ
DECMS Z
JMP ClrRAM10
CLR @YZ
}
}
#endif
void vSysInit(void)
{
#if PROJ_NAME == PROD_VPIPEII_2711A
//pin
P0=0x0B;
P0M=0x0F; // P00 - P03 is output mode.
P0=0x0B; // P00 P01 P03 pin is high
// P4M=0x06;
//P4=0x04;
P4=0x04; // P40 - P44
P4M=0x04; // P42 is output
P4=0x04; // P42 is high
P5M=0x18; // P53 P54 is both output mode.
P5=0x18; // P53 P54 is high.
//TC1 系统时钟
TC1M=0x60; // Fcpu/4
//TC0 PWM 控制MOS管
TC0M=0xF0; // PWM_OUT 占空比调节高电平
//INTEN=
FTC1IEN=1; // Enable TC1 interrupt
FTC1IRQ=1; // set IRQ flag
FTC1ENB=1;
相关资源
- 进程的管道通信编制一段程序,实现
- Synthesis and crystal structure of tert-butyl
- 12bit流水线ADC电路整体电路原理图-c
- pipeline_CPU
- piper三线图
- Petri网建模工具PIPE2.5
- pipe相关操作.doc
- OpenGL44PipelineMap.pdf
- 流体阻力计算软件pipedrop1.2.3+注册机
- 开源电子烟,小型电子烟,吸烟自动
- ExcelPipe.v2.41-DIGERATI.rar
- Pipe3.0网络应用工具
- 流水线cpu,pipeline_cpu
- 图形处理器架构(GPU_Architecture)与图
- 电子烟设计开发
- kwic 五种风格实现&逻辑视图&开发视图
- name-pipe-tcp-proxy
- Microprocessor Architecture - From Simple Pipe
- cpp-基于MXNetC框架的CPU实时人脸识别
- Pipe3.0petri网画图工具
- excelpipe绿色版[去时间限制
- piped串口映射工具.rar
- MIPS五级流水线CPU(verilog实现)
- 使用fork(),exec(),dup2() pip
- Pipe管道工具.7z
- 双管道CreatePipe与cmd.exe进程间通信的有
- Named Pipe TCP Proxy
- [原创]电子烟方案(非市面上广泛使用
- 电子烟程序
- piped端口工具
评论
共有 条评论