📄 c8051f350_command.h
字号:
//---------------------------------------------------------------
//C8051F350 控制命令宏定义
//---------------------------------------------------------------
//
//
//---------------------------------------------------------------
//ADC0命令区
//---------------------------------------------------------------
//
//ADC0CN(ADC0控制寄存器)
//ADC0极性选择
#define COM_ADC0_unipolar ADC0CN &= 0X0F; //单极性选择
#define COM_ADC0_bipolar ADC0CN |= 0X10; //双极性选择
//BURNOUT电流源选择
#define COM_ADC0_burnout_disen ADC0CN &= 0XF7; //电流源禁止
#define COM_ADC0_burnout_en ADC0CN |= 0X08; //电流源使能
//PGA增益系数选择
#define COM_ADC0_pga1 ADC0CN &= 0XF8; //PAG = 1
#define COM_ADC0_pga2 ADC0CN &= 0XF8; ADC0CN |= 0X01; //PAG = 2
#define COM_ADC0_pga4 ADC0CN &= 0XF8; ADC0CN |= 0X02; //PAG = 4
#define COM_ADC0_pga8 ADC0CN &= 0XF8; ADC0CN |= 0X03; //PAG = 8
#define COM_ADC0_pga16 ADC0CN &= 0XF8; ADC0CN |= 0X04; //PAG = 16
#define COM_ADC0_pga32 ADC0CN &= 0XF8; ADC0CN |= 0X05; //PAG = 32
#define COM_ADC0_pga64 ADC0CN &= 0XF8; ADC0CN |= 0X06; //PAG = 64
#define COM_ADC0_pga128 ADC0CN &= 0XF8; ADC0CN |= 0X07; //PAG = 128
//ADC0CF(ADC0配置寄存器)
//ADC0中断源选择(选择是sinc3滤波器还是快速滤波器转换完成产生中断)
#define COM_ADC0_sinc3_int ADC0CF &= 0X0F; //选择sinc3滤波器
#define COM_ADC0_fast_int ADC0CF |= 0X10; //选择快速滤波器
//VREF选择
#define COM_ADC0_internal_vref ADC0CF &= 0XFB; //选择内部基准源
#define COM_ADC0_external_vref ADC0CF |= 0X04; //选择外部基准源
//ADC0MD(ADC0方式寄存器)
//使能ADC0
#define COM_ADC0_disen ADC0MD &= 0X7F; //禁止ADC0
#define COM_ADC0_en ADC0MD |= 0X80; //使能ADC0
//ADC0工作方式选择
#define COM_ADC0_idle ADC0MD &= 0X80; //空闲模式
#define COM_ADC0_all_inside_calibrate ADC0MD &= 0X80; ADC0MD |= 0X01; //全内部校准
#define COM_ADC0_single_conver ADC0MD &= 0X80; ADC0MD |= 0X02; //单次转换
#define COM_ADC0_series_conver ADC0MD &= 0X80; ADC0MD |= 0X03; //连续转换
#define COM_ADC0_inside_offset_calibrate ADC0MD &= 0X80; ADC0MD |= 0X04; //内部偏移校准
#define COM_ADC0_inside_gain_calibrate ADC0MD &= 0X80; ADC0MD |= 0X05; //内部增益校准
#define COM_ADC0_system_offset_calibrate ADC0MD &= 0X80; ADC0MD |= 0X06; //系统偏移校准
#define COM_ADC0_system_gain_calibrate ADC0MD &= 0X80; ADC0MD |= 0X07; //系统增益校准
//ADC0CLK(调制时钟分频寄存器)
//ADC0DECH,ADC0DECL(抽取比寄存器)
//ADC0DAC(ADC偏移DAC寄存器)
//ADC0BUF(ADC0输入缓冲控制寄存器)
//ADC0STA(ADC0状态寄存器)
//ADC0COH,ADC0COM,ADC0COL(ADC0偏移校准寄存器)
//ADC0CGH,ADC0CGM,ADC0CGL(ADC0增益校准寄存器)
//ADC0H,ADC0M,ADC0L(ADC0_SINC3滤波器转换结果寄存器)
//ADC0FH,ADC0FM,ADC0FL(ADC0快速滤波器转换结果寄存器)
//ADC0MUX(ADC0模拟多路控制寄存器)
#define COM_ADC0_channels_1 ADC0MUX = 0x01;
#define COM_ADC0_channels_2 ADC0MUX = 0x23;
#define COM_ADC0_channels_3 ADC0MUX = 0x45;
#define COM_ADC0_channels_4 ADC0MUX = 0x67;
#define COM_ADC0_channels_agnd ADC0MUX = 0x88;
#define COM_ADC0_channels_temp ADC0MUX = 0xff;
//---------------------------------------------------------------
//写FLASH命令区
//---------------------------------------------------------------
//
//PSCTL (程序存储读写控制)
#define COM_FLASH_e_en PSCTL |= 0X02; //允许擦除FLASH
#define COM_FLASH_e_disen PSCTL &= 0XFD; //禁止擦除FLASH
#define COM_FLASH_w_en PSCTL |= 0X01; //允许写入FLASH
#define COM_FLASH_w_disen PSCTL &= 0XFE; //禁止写入FLASH
#define COM_FLASH_ew_en PSCTL = 0X03; //允许擦除和写入FLASH
#define COM_FLASH_ew_disen PSCTL = 0X00; //禁止擦除和写入FLASH
//FLKEY (FLASH锁定和关键码寄存器)
#define COM_FLASH_key_write FLKEY = 0XA5; FLKEY = 0XF1; //写入关键码,先写关键码0XA5,后写关键码0XF1
//PFE0CN (预取指令引擎寄存器)
#define COM_FLASH_signle_byte PFE0CN &= 0XFE; //选择单字节写入方式
#define COM_FLASH_double_byte PFE0CN |= 0X01; //选择双字节写入方式
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -