- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
ADC0832简单应用c程序
#include reg52.h
#include intrins.h
#include absacc.h
#define uchar unsigned char
#define uint unsigned int
#define led_wei 0xefff
#define led_duan 0xf7ff
sbit ADCLK =P1^6; //时钟接口
sbit ADDO =P3^5; //数据输出接口
sbit ADDI =P1^7; //数据输入接口
sbit ADCS =P1^5; //使能接口
uchar buff[] = {0};
uint data i;
uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void disp(uchar n)
{uchar dis0,dis1;
dis0=n0x0f;
dis1=(n0xf0)4;
XBYTE[led_duan]=seg[dis0];
XBYTE[led_wei]=0xfe;
//for(i=0;i60000;i++){_nop_();}
XBYTE[led_wei]=0xfc;
XBYTE[led_duan]=seg[dis1];
XBYTE[led_wei]=0xfd;
//for(i=0;i60000;i++){_nop_();}
XBYTE[led_wei]=0xfc;
}
/**********************************************
程序名称:ADC0832子程序
作 者:liuanggh
时 间:2006.12.30
**********************************************/
/********************************************************
函数名称:void AD_init(uchar i)
函数作用:初始化ADC0832
参数说明:i=2,表示通道0,i=3,表示通道1
********************************************************/
void AD_init(uchar i)
{
ADDI = 1; /*在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号*/
_nop_();
_nop_();
ADCS = 0; //使能ADC0832
_nop_();
_nop_();
ADCLK = 0;
_nop_();
_nop_();
_nop_();
ADCLK = 1; //形成上升降沿1
_nop_();
_nop_(); /*在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能*/
_nop_();
ADCLK = 0;
_nop_();
_nop_();
ADDI = 1;
_nop_();
_nop_();
ADCLK = 1;//lock sgl
_nop_();
_nop_();
ADCLK = 0;
_nop_();
_nop_();
if(i==0x02)
ADDI = 0;
if(i==0x03)
ADDI = 1;
_nop_();
_nop_();
ADCLK = 1;
_nop_();
_nop_();
ADCLK = 0;
_nop_();
_nop_();
_nop_();
_nop_();
}
/********************************************************
函数名称:uchar AD_read()
函数作用:读取ADC0832转换的数据
参数说明:无
函数返回:返回8位的数据
********************************************************/
uchar AD_read()
{
uchar temp = 0;
uchar temp1 = 0;
uchar temp2 = 0;
uchar i = 0;
uchar flag =
文档评论(0)