ch9-4.c

来自「单片机接口技术(C51版)例程源代码」· C语言 代码 · 共 44 行

C
44
字号
#include <reg52.h>
#include <stdio.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int

sbit adcdo=P1^4;
sbit adccs=P1^2;
sbit adcclk=P1^3;
sbit adcdi=P1^0;

void delay1(uchar x);
uchar readadc(void);
void adcck(void);

void delay1(uchar x)   /*延时函数*/
 {   
      uchar i; 
      for(i=0;i<x;i++); 
 }

void adcck(void)    /*时钟信号函数*/
 { 
     adcclk=1; delay1(2); 
     adcclk=0; delay1(2); 
 }

uchar readadc(void)
{    uchar i;
     char ch0=0;
     adccs=0;           /* 片选信号为0                       */
     adcck(); adcdi=1;  /* 启动A/D信号                       */
     adcck(); adcdi=1;  /* SGL=1                             */
     adcck(); adcdi=0;  /* ODD=0,单极性,选中通道0           */
     adcck();           /* 延时一个时钟期,产生一个时钟信号  */
     for (;adcdo==1;) adcck();
     for (i=0; i<8; i++) 
            {  adcck();  /*产生时钟信号*/
               ch=(ch<<1)|adcdo;  /*接收TLC0832输出的转换结果*/
            }
     adccs=1;           /*片选信号置1*/
     return(ch);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?