📄 例4.txt
字号:
第四个是一个调用ADC的程序,程序实现功能是,电位器旋转,三颗LED的状态也跟着变化。程序宗旨在于简单的应用,简单的控制。只是为了跑动一下各个功能模块,更深入的请自行研究。
#include "STM8S105C_S.h"
#define uint unsigned int
#define uchar unsigned char
uchar table[]={0x00,0x01,0x04,0x08};
uchar i=0;
void GPIO_Init(void)
{
PD_DDR|=0x0d; //3个LED端口(PD3 PD2 PD0 )设为推挽输出,频率10M 方向,方式,频率
PD_CR1|=0x0d;
PD_CR2|=0x0d;
//PD_DDR&=0x7f; //按键端口(PD7)设置为三态输入
//PD_CR1&=0x7f; //三态输入
//PD_CR2|=0x80; //使能中断
}
void ADC_Init(void)
{
ADC_CSR=0x03; //设定AIN3为模拟输入通道
ADC_CR1=0x03; //设定分频为1/2/ 连续转换模式,ADC电源开关打开
ADC_CR2=0x28; //禁止触发,禁止扫描,数据右对齐
ADC_CR3=0x00; //禁止数据缓存
ADC_CR1=0x03; //设定分频为1/2/ 连续转换模式,ADC电源开关打开
//ADC_DR //16为ADC转换数据寄存器
}
void Delay(uint k)
{
uint j;
for(j=k;j>0;j--);
}
main()
{
GPIO_Init();
ADC_Init();
while (1)
{
if(ADC_DR>682) PD_ODR=table[3];
else if(ADC_DR<341) PD_ODR=table[1];
else PD_ODR=table[2];
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -