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

📄 text2.c

📁 单片机控制的AD对正弦波信号采样后用串口发送到电脑上
💻 C
字号:
#include <reg51.h>
#include <absacc.h>
#include <intrins.h>

sbit P0_0 = P0^0;
sbit P0_1= P0^1;
sbit P0_2 = P0^2;
sbit P0_3 = P0^3;
sbit P0_4 = P0^4;
sbit P0_5 = P0^5;
sbit P0_6 = P0^6;
sbit P0_7 = P0^7;

sbit EOC = P1^0;
sbit ST = P2^6;
sbit OE = P2^7;

sbit P1_2= P1^2;

unsigned char  ad_value; 

void DelayMs(unsigned int count1);     

void  AD(void);
unsigned char   data_value; 
void main(void)
{	  
	TMOD = 0x20;
	TH1 = 0xf3;
	TL1 = 0xf3;
	SCON = 0xd8;
	PCON = 0x00;
	TR1 = 1;

	
	while(1)
	{
		
		AD();
		ad_value=0x00;
		if(data_value&0x80)ad_value=ad_value+0x01;
		if(data_value&0x40)ad_value=ad_value+0x02;
		if(data_value&0x20)ad_value=ad_value+0x04;
		if(data_value&0x10)ad_value=ad_value+0x08;
		if(data_value&0x08)ad_value=ad_value+0x10;
		if(data_value&0x04)ad_value=ad_value+0x20;
		if(data_value&0x02)ad_value=ad_value+0x40;
		if(data_value&0x01)ad_value=ad_value+0x80;
			
		SBUF = ad_value;
//	SBUF=0xf1;
	//	P1_2=0;

	//	while (TI == 0);
	//	TI = 0;
		
	//	DelayMs(10);	
	//	P1_2=1;
		DelayMs(8);
	}
    
}




                    /*******  AD		  **********/
 
void  AD(void)	
{	

	
	P2 = 0xc2;
	_nop_();
	ST=0;
	_nop_();
	ST=1;
	_nop_();
	_nop_();
	ST=0;
	
	_nop_();		
	while(EOC ==0)	;
	OE=1;
	
		 
	data_value=P0;
	
		  
	_nop_();
	_nop_();
	_nop_();
	OE=0;
//	return data_AD;

}


void DelayMs(unsigned int count1)
{
	while (count1--)
	{
		unsigned char count2 = 0;
		for (; count2<125; count2++);
	}
}

⌨️ 快捷键说明

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