基于单片机10通道数据采集系统设计
6、软件程序
#include<absacc.h> #include<intrins.h> #include<reg51.h>
#define uint unsigned int #define uchar unsigned char
#define ADCOM XBYTE[0xff7c] //控制寄存器地址 #define ADLO XBYTE[0xff7f] //数据字节低4位地址 #define ADHI XBYTE[0xff7d] //数据字节高8位地址
sbit r = P3^7; //p3.7口 sbit x = P3^6; //p3.6口 sbit adbusy = P3^0; //p3.0口
uint ad574(void) //AD转换子程序 {
r = 0; x = 0;
ADCOM = 0; //启动转换 while(adbusy == 0);
return((uint)(ADHI<<4)+(ADLO&0x0f)); //返回转换数据 }
main() //主程序 {
uint idata result[10]; //定义数据存储数组 uchar ad_now = 0; //通道号 while(1) {
P1 = ad_now; //通过p1选择通道 _nop_();
result[ad_now] = ad574(); //取转换数据 ad_now++; //通道号加一 if(ad_now == 11) ad_now = 0; //返回0通道 }
//数据通过10通道选择器进入AD574(AD574是一个12位数模转换期间,内置采样保持电路,无需附加外围电路),通过单片机控制数据选择器的控制端口,选择进行AD转换的通道,进行循环采集转换,并存入数组result[10]
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库基于单片机10通道数据采集系统设计(9)在线全文阅读。
相关推荐: