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

📄 0806c.c

📁 本文件好似一系列的仿真
💻 C
字号:



 #include <reg51.h>	 //外接芯片来实现外围电机的选择
#include <stdio.h>
#define DAC0832Addr0 0X7FFF   //0832地址1 
#define uchar unsigned char   //单个字节无符号数
#define uint unsigned int  // 输出口初始化	
sbit  p10=P1^0 ;
sbit  p12=P1^2 ;
sbit  p14=P1^4;
sbit  p16=P1^6 ;
bit flag;
uchar keynumber;
uchar i,j;	  
void Delay ();
void TransformData ( uint DAC0832,uchar c0832data); //转换数据
void ST();
void TR();
//void  SQ();
//void SIN();
main ()
  {
       
  	   P0=0xff;  //端口初始化,其实不用  上电后自动置高
       P1=0xff;  //端口初始化,其实不用  上电后自动置高
       P2=0xff;  //端口初始化,其实不用  上电后自动置高				  
   	   P3=0xff;  //端口初始化,其实不用  上电后自动置高		
       Delay();
	   EX0=1;
	   IT0=1;
	   EA=1;
	   while(1)
	   {
         switch(keynumber)
	      {	 
		     case 1:	ST();
		    	break;
				  
		    	
		     case 0: TR();
		    	break;	  
			
	     }
	   }
  }	
  void  ST()
  {	  
	 
         TransformData( DAC0832Addr0,i)	;
	     i++;
	    
	    
  }		 

 void  TR()
  {	  
	
	    
     TransformData( DAC0832Addr0,j)	;

	 if((j==255)|( j==0))	//g=关系或
	      {flag=~flag;}
	  if (flag==1)
	     {
	       j++;
	     }
	 if (flag==0)
	     {
	      j--;
	      }	  
	   
	}  
	  
  
void int0() interrupt	0 using  0
  {
    
    if (p10==0)
          keynumber=0;	
	if (p12==0)
           keynumber=1;
	if (p14==0)
           keynumber=3;
	if (p16==0)
           keynumber=4;
  }	
 void TransformData( uint DAC0832,uchar c0832data)//转换数据
	 {
                *((uchar  xdata *)DAC0832)=c0832data; //向0832输出待转换数字量c0832data
       /* 在C语言中 访问外部寄存器时要先进行类型转换。用(uchar xdata *)转化位指针型数据,再间接寻址*/
     }  
void Delay () 
  {
       ;
       ;
  }	   




 /*
#include <reg51.h>	 //外接芯片来实现外围电机的选择
#include <stdio.h>
#define DAC0832Addr0 0X7FFF   //0832地址1 
#define uchar unsigned char   //单个字节无符号数
#define uint unsigned int  // 输出口初始化	
sbit  p10=P1^0 ;
sbit  p12=P1^2 ;
sbit  p14=P1^4;
sbit  p16=P1^6 ;
bit flag;
uchar keynumber;
uchar i,j;	  
void Delay ();
void TransformData ( uint DAC0832,uchar c0832data); //转换数据
void ST();
void TR();
//void  SQ();
//void SIN();
main ()
  {
       
  	   P0=0xff;  //端口初始化,其实不用  上电后自动置高
       P1=0xff;  //端口初始化,其实不用  上电后自动置高
       P2=0xff;  //端口初始化,其实不用  上电后自动置高				  
   	   P3=0xff;  //端口初始化,其实不用  上电后自动置高		
       Delay();
	   EX0=1;
	   IT0=1;
	   EA=1;
      while(1) 
	  {	 
		  if(keynumber==1)
		   {	
		   	ST();
				  
			}
		  if(keynumber==2)
		   {	
		   	TR();	  
			}
	  }
	   
  }	
  void  ST()
  {	  uchar i;
      i=0;
	 
	   while(1)
	     {
	  
         TransformData( DAC0832Addr0,i)	;
	     i++;
	     Delay();
	     } 
  }
  void  TR()
  {	  
      uchar i;
      i=0;
	  flag=0;
	  
	  
	   /* while(1)
	    {
         TransformData( DAC0832Addr0,i)	;
	     if((i==255)|( i==0))	//g=关系或
	      {flag=~flag;}
	     if (flag==1)
	     {
	       i++;
	     }
	     if (flag==0)
	     {
	       i--;
	      }
	   	  Delay();
	   }   */
	  
  //}
/*void int0() interrupt	0 using  0
  {
    
    if (p10==0)
          keynumber=1;	
	if (p12==0)
           keynumber=2;
	if (p14==0)
           keynumber=3;
	if (p16==0)
           keynumber=4;
  }	
 void TransformData( uint DAC0832,uchar c0832data)//转换数据
	 {
                *((uchar  xdata *)DAC0832)=c0832data; //向0832输出待转换数字量c0832data
       /* 在C语言中 访问外部寄存器时要先进行类型转换。用(uchar xdata *)转化位指针型数据,再间接寻址*/
 //    }  
 /*	
void Delay () 
  {
       ;
       ;
  }	   
	  */

⌨️ 快捷键说明

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