ad574.c
来自「Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践」· C语言 代码 · 共 26 行
C
26 行
#include<reg51.h>
#include<absacc.h>
#define ADCOM XBYTE[0xff7c] /* 使A0=0, R/C=0, CS=0 */
#define ADLO XBYTE[0xff7f] /* 使R/C=1, A0=1, CS=0 */
#define ADHI XBYTE[0xff7d] /* 使R/C=1, A0=0, CS=0 */
#define uint unsigned int
sbit r=P3^7; /* RD */
sbit w=P3^6; /* WR */
sbit adbusy=P1^0; /* STS */
uint AD574(void) { /* AD574转换函数 */
r=0; /* 产生CE=1 */
w=0;
ADCOM=0; /* 启动A/D转换 */
while(adbusy==1); /* 等待转换结束 */
return ((uint)(ADHI<<4)+ (ADLO & 0x0f)); /* 返回12位A/D转换结果 */
}
void main(void) {
uint idata result;
result=AD574(); /* 启动AD574进行一次转换, 获得12位转换结果 */
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?