⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 max186.c

📁 PRJPCBStructure设计
💻 C
字号:
#include<reg52.h>
#include"top.h"
sbit CS=P1^1;		/*p1.1为片选信号*/
sbit SCLK=P1^0;		/*p1.0为串行时钟信号*/
sbit DIN=P1^2;		/*p1.2为数据输入*/
sbit DOUT=P1^3;		/*p1.3为数据输出*/
void ad_186(UWORD*addata)
{
	UBYTE i,j,m,s,z=0;
	UWORD out[8][10];
	UWORD outdata=0;
/*---------数据暂存单元清零程序----------------*/
	for(i=0;i<8;i++)
		{
			for(j=0;j<10;j++)
				{
					out[i][j]=0;
				}
		}
/*-----------A/D转换数据采集程序--------------*/
	CS=1;
	SCLK=0;
	for(j=0;j<10;j++)
		{
			s=0x8f;
			z=0;
			do
				{
					CS=0;
					SCLK=0;
					for(i=0;i<8;i++)
						{
							UBYTE indata;
							indata=s;
							indata=((indata<<i)&0x80);
							DIN=indata;
							SCLK=1;
							for(m=0;m<5;m++);
							SCLK=0;
						}
					CS=1;
					for(i=0;i<10;i++);
					CS=0;
					SCLK=1;
					for(i=0;i<12;i++)
						{
							SCLK=1;
							SCLK=0;
							outdata=outdata<<1;
							if(DOUT)
							outdata+=1;
						}
					out[z][j]=outdata;
					z++;
					for(i=0;i<4;i++)
						{
							SCLK=1;
							SCLK=0;
						}
					CS=1;
					outdata=0;
					s=s+0x10;
				}while(s<0xff);
			}
/*---------------中值滤波程序--------------------*/
				for(z=0;z<8;z++)
					{
						UWORD a=0;
						for(j=0;j<10;j++)
							{
								a=a+out[z][j];
							}
			     addata[z]=a/10;
		         	}
	}

⌨️ 快捷键说明

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