今天上午学习了STC单片机的ADC,这里做个笔记,有两点:
1、ADC中断标志位,也就是ADC_CONTR的ADC_FLAG位。当ADC转换完成后,该位置1,若使能了ADC中断,则会进入ADC中断子函数。需要注意的是,ADC中断标志位需要软件清零,不像外总中断,定时器中断,会硬件清零。
2、ADC启动位,也就是ADC_CONTR的ADC_START位,在ADC转换完成后,该位会清零,也就是说,AD转换只进行一次。如果想要连续转换,则要在ADC中断子函数中再次启动ADC。
// 一些宏定义
#define GPIO_Pin0 0x01
#define GPIO_Pin1 0x02
#define GPIO_Pin2 0x04
#define GPIO_Pin3 0x08
#define GPIO_Pin4 0x10
#define GPIO_Pin5 0x20
#define GPIO_Pin6 0x40
#define GPIO_Pin7 0x80
#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x04
#define BIT3 0x08
#define BIT4 0x10
#define BIT5 0x20
#define BIT6 0x40
#define BIT7 0x80
//ADC_CONTR寄存器的一些宏定义
#define ADC_POWER