📄 120ad.c
字号:
#include "c8051f120.h"
#define UCHAR unsigned char
void SYSCLK_Init(void);
void PORT_Init(void);
void init_adc(void)
{
SFRPAGE= 0x00;
ADC0CN = 0x80;
REF0CN = 0x02;
AMX0SL = 0x00;
ADC0CF = 0x90;
EIE2 &= ~0x02;
EIE1 &= ~0x04;
ADC0CN = 0x80;
}
void Delay1uS(void)
{
unsigned char i,j;
for(i=4;i--;)
for(j=255;j--;)
;
}
void SYSCLK_Init(void)
{
int i;
SFRPAGE=0x0F;
OSCXCN=0x67;
for(i=0;i<256;i++);
while(!(OSCXCN&0x80));
OSCICN=0x88;
}
void PORT_Init(void)
{
SFRPAGE=0x0F;
XBR0=0x04;
XBR1=0x00;
XBR2=0x40;
}
void main()
{
int idata adc=0x00;
WDTCN=0xde;
WDTCN=0xad;
SYSCLK_Init();
PORT_Init();
init_adc();
for(;;)
{
SFRPAGE=0x00;
AMX0SL = 0x00; // 模拟量输入通道,在这里只用了一个通道
Delay1uS();
AD0INT = 0; // 清除转换结束标记
AD0BUSY = 1; // 开始转换
Delay1uS();
while (!AD0INT);
SFRPAGE=0x00;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -