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

📄 main.c

📁 我同事做的一个CS5522的51单片机的驱动,用的是89S52,开发环境是KEIL C
💻 C
字号:
#pragma SRC
#include<reg52.h>
//*******************************
sbit cs=P2^1;    //和cs5522有关的端口
sbit sdi=P2^2;
sbit sdo=P2^0;
sbit sclk=P2^3;
//extern bit cs;    //和cs5522有关的端口
//extern bit sdi;
//extern bit sdo;
//extern bit sclk;  
//*******************************
unsigned char bdata  message; //消息变量
unsigned char bdata  main_temp;  //全局缓冲变量
sbit main_temp_7=main_temp^7; 
sbit get_data=message^0;
sbit sen_data=message^1;
sbit bcd_data=message^2;
sbit show_data=message^3;
//*******************************
unsigned char data  dis_data[3];   //三字结的被显示数。
unsigned char data  t_d[8];    //需要显示的每位数。 
//********************************
void eight_dis(void);
void InitCs(void);
void initserial(void);
void display(unsigned char  SubDisNum);
//*********************************
void bcd_change(void);

//********************************
unsigned char ReadW(void);
void Se_Cs_W(unsigned char Cs_Word);
//********************************

//********************************
  main()
   {



//******************************************
	  unsigned char main_i,main_j,main_k;
      



//**********************************
		message=0;
      sen_data=1;
//*********************************
//cs5522端口初始化      
      cs=1;
	  sclk=0;
//*********************************
//延时600ms.
      main_i=16;
      while(main_i)
		   {
			  main_j=0xff;
			  while(main_j)
			     { 
				     main_k=0xff;
				     while(main_k)
					      {
							  main_k--;
							
							}
				     main_j--;
				  }
			   main_i--;
			}  		
      initserial();
		InitCs();
//********************************************
//采集数据
      while(1)
	      {
//*********************************
//发转化命令
			 if(sen_data)
			     {
				    get_data=1;
				    cs=0;				  
				   // Se_Cs_W(0x80);
				    sen_data=0;				  
				    cs=1;
				  }
//**********************************
////接收数据。
		    if(get_data)
		        { 
 				    sen_data=0;
				    if(~sdo)
				        { 
 						    cs=0;
							//dis_data[2]=ReadW();
						   // dis_data[2]=ReadW();//接收数据。
				          //  dis_data[1]=ReadW();
				           // dis_data[0]=ReadW();
						    cs=1;
					     	bcd_data=1;  //触发BCD转换
							 
						   
						   } 
				    
				  }
//**********************************************
			 if(bcd_data)
		 	     {
				    bcd_data=0;
				    show_data=1;
				//	 bcd_change();
				  
				  }
			 if(show_data)
			    {
				  // eight_dis();
				//	show_data=0;
				 
				 
				 }
		   main_i=9;
         while(main_i)
		     {
			     main_j=0xff;
			     while(main_j)
			       { 
				       main_k=0xff;
				       while(main_k)
					       {
							    main_k--;							
							 }
				       main_j--;
				    }
			    main_i--;
			  }

	   }
      
//*************************************************
}        

⌨️ 快捷键说明

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