ADC0832简单应用c程序.doc

上传人:文库蛋蛋多 文档编号:2384273 上传时间:2023-02-17 格式:DOC 页数:11 大小:21KB
返回 下载 相关 举报
ADC0832简单应用c程序.doc_第1页
第1页 / 共11页
ADC0832简单应用c程序.doc_第2页
第2页 / 共11页
ADC0832简单应用c程序.doc_第3页
第3页 / 共11页
ADC0832简单应用c程序.doc_第4页
第4页 / 共11页
ADC0832简单应用c程序.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《ADC0832简单应用c程序.doc》由会员分享,可在线阅读,更多相关《ADC0832简单应用c程序.doc(11页珍藏版)》请在三一办公上搜索。

1、#include #include #include #define uchar unsigned char#define uint unsigned int#define led_wei 0xefff#define led_duan 0xf7ff sbit ADCLK =P16; /时钟接口sbit ADDO =P35; /数据输出接口sbit ADDI =P17; /数据输入接口sbit ADCS =P15; /使能接口uchar buff = 0;uint data i;uchar code seg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80

2、,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void disp(uchar n)uchar dis0,dis1; dis0=n&0x0f; dis1=(n&0xf0)4; XBYTEled_duan=segdis0; XBYTEled_wei=0xfe; /for(i=0;i60000;i+)_nop_(); XBYTEled_wei=0xfc; XBYTEled_duan=segdis1; XBYTEled_wei=0xfd; /for(i=0;i60000;i+)_nop_(); XBYTEled_wei=0xfc;/*程序名称:ADC0832子程序作 者:li

3、uanggh 时 间: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个

4、脉冲下沉之前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_();/*函数名称:

5、uchar AD_read()函数作用:读取ADC0832转换的数据参数说明:无函数返回:返回8位的数据*/uchar AD_read() uchar temp = 0; uchar temp1 = 0; uchar temp2 = 0; uchar i = 0; uchar flag = 0; for(i = 0; i 8; i+) ADDO=1; ADCLK = 1; _nop_(); _nop_(); ADCLK = 0; /形成下降沿 _nop_(); _nop_(); if(ADDO)temp1|=0x01; temp1 = temp1 1; if(ADDO)temp2 |= 0x8

6、0; for(i = 0; i 1; ADCLK = 1; _nop_(); _nop_(); if(ADDO)temp2|=0x80; ADCLK = 0; /形成下降沿 _nop_(); _nop_(); /if(temp1 = temp2) return temp1;unsigned int Adc0832(unsigned char channel) uchar i=0;uchar j;uint dat=0;uchar ndat=0;if(channel=0)channel=2;if(channel=1)channel=3;ADDI=1;_nop_();_nop_();ADCS=0;/

7、拉低CS端_nop_();_nop_();ADCLK=1;/拉高CLK端_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿1_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=channel&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿2_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=(channel1)&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿3ADDI=1;/控制命令结束 _nop_();_nop_();dat=0;for(i=0;i8;i+)

8、 dat|=ADDO;/收数据 ADCLK=1; _nop_(); _nop_(); ADCLK=0;/形成一次时钟脉冲 _nop_(); _nop_(); dat=1; if(i=7)dat|=ADDO; for(i=0;i8;i+) j=0; j=j|ADDO;/收数据 ADCLK=1; _nop_(); _nop_(); ADCLK=0;/形成一次时钟脉冲 _nop_(); _nop_(); j=j7; ndat=ndat|j; if(i=1;ADCS=1;/拉低CS端ADCLK=0;/拉低CLK端ADDO=1;/拉高数据端,回到初始状态dat=8;dat|=ndat; return(dat); /return ad datamain()uchar n;uint i,m;while(1) m=Adc0832(1); disp(m);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号