Ȧ

来自「单片机应用技术(C语言版)[王静霞][程序源代码].zip」· 代码 · 共 33 行

TXT
33
字号
//程序:ex6_2.c
//功能:单片机控制的巡回检测系统,使其能对8路模拟输入信号巡回检测并加以处理。
//	并依次将采样数据存放在数组ad中。查询方式实现。
#include<absacc.h>				//该头文件中定义XBYTE关键字
#include<reg51.h>
#define uchar unsigned char
#define IN0 XBYTE[0xfef8]			//设置AD0809的通道0地址
sbit ad_busy=P3^3;				//定义EOC状态
//函数名:ad0809
//函数功能:8路通道循环检测函数
//形式参数:指针x,采样结果存放到指针x所指的地址中
//返回值:无返回值,但转换结果已经存放在指针x所指的地址中
void ad0809(uchar idata *x)	
{	
   uchar i;
   uchar xdata *ad_adr;				//定义指向外部RAM的指针
   ad_adr=&IN0;					//通道0的地址送ad_adr
   for(i=0;i<8;i++)				//处理8通道
     {	
         *ad_adr=0;				//写外部I/O地址操作,启动转换,写的内容不重要,只需写操作
	 i=i;					//延时等待EOC变低
	 i=i;
	 while(ad_busy==0);			//查询等待转换结束
	 x[i]=*ad_adr;				//读操作,输出允许信号有效,存转换结果
         ad_adr++;				//地址增1,指向下一通道
     }
}
void main(void)					//主函数
{	
   static uchar idata ad[10];			//static是静态变量的类型说明符,参见3.4.2节
   ad0809(ad);					//采样AD0809通道的值
}

⌨️ 快捷键说明

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