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

📄 main.c

📁 Demo HZ256 Cluster LCD2 CW31 SH v1 ICD
💻 C
📖 第 1 页 / 共 3 页
字号:
      //lcdClock=0;
      PORTT=PORTT&0x7f;
      delayMS(1);
      //lcd2CS=0;
      
      delayMS(1);
       
    
  }
  
     
        
  void WriteDataLcd6432(unsigned char CmdData) 
  {
    unsigned char i ;
    PORTT=PORTT|0x80;
    //lcd2CS=1;
    PORTT=PORTT|0x20;
    //lcd2Data=1;
    for(i=0;i<5;i++)
      {
        PORTT=PORTT&0xbf;
        //lcdClock=0;
        PORTT=PORTT|0x40;
        //lcdClock=1;
      }
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT&0xdf;
      //lcdData=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    //rw 0
      
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x20;
      //lcdData=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    //rs 1
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    //0
      
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x80)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x80;   //d7
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x40)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x40;   //d6
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      
       PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x20)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x20;   //d5
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x10)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x10;   //d4
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      
       PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT&0xdf;
      //lcdData=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    // 0 
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    // 0
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    //0
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    //0
      
       
       PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x08)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x08;   //d3
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x04)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x04;   //d2
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      
       PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x02)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x02;   //d1
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      if(CmdData&0x01)
        {
          PORTT=PORTT|0x20;
        } 
      else
        {
          PORTT=PORTT&0xdf;
        }
      //lcdData=CmdData&0x01;   //d0
      PORTT=PORTT|0x40;
      //lcdClock=1;
      
      
       PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT&0xdf;
      //lcdData=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    // 0 
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    // 0
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    //0
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT|0x40;
      //lcdClock=1;    //0
      
     
      
      PORTT=PORTT&0xbf;
      //lcdClock=0;
      PORTT=PORTT&0x7f;
      //lcd2CS=0;
      
      delayMS(1);
      
    
  }
  
void  initLcd6432(void) 
   {
      
   
      WriteCommLcd6432(0x30); //8bit 
      delayMS(10);
      WriteCommLcd6432(0x30); //8bit 
      delayMS(10);
      WriteCommLcd6432(0x30); //8bit 
      delayMS(10);
      WriteCommLcd6432(0x0f); // 
      delayMS(10);
      WriteCommLcd6432(0x06); // 
      delayMS(10);
      WriteCommLcd6432(0x01); //   clear display
      delayMS(10);
      WriteCommLcd6432(0x90); // 
      delayMS(10);
       
       
      
      //WriteDataLcd6432(0xc7);  //this code cause problem,do not know why?
      //WriteDataLcd6432(0xe2);
      WriteDataLcd6432(0xd4);
      WriteDataLcd6432(0xc3);
      WriteDataLcd6432(0xb4);
      WriteDataLcd6432(0xb3);
      WriteDataLcd6432(0xd0);
      WriteDataLcd6432(0xc4);
      
       
      
        
      WriteCommLcd6432(0x80); // 
      delayMS(10);
      /*
      WriteCommLcd6432(0x81); // 
      delayMS(10);
      WriteCommLcd6432(0x82); // 
      delayMS(10);
      WriteCommLcd6432(0x83); // 
      delayMS(10);
      WriteCommLcd6432(0x84); // 
      delayMS(10);
      WriteCommLcd6432(0x85); // 
      delayMS(10);
      WriteCommLcd6432(0x86); // 
      delayMS(10);
      WriteCommLcd6432(0x87); // 
      delayMS(10);
      WriteCommLcd6432(0x88); // 
      delayMS(10);
      WriteCommLcd6432(0x89); // 
      delayMS(10);
      WriteCommLcd6432(0x8a); // 
      delayMS(10);
      WriteCommLcd6432(0x8b); // 
      delayMS(10);
      WriteCommLcd6432(0x8c); // 
      delayMS(10);
      WriteCommLcd6432(0x8d); // 
      delayMS(10);
      WriteCommLcd6432(0x8e); // 
      delayMS(10);
      WriteCommLcd6432(0x8f); // 
      delayMS(10);
      WriteCommLcd6432(0x90); // 
      delayMS(10);
      WriteCommLcd6432(0x91); // 
      delayMS(10);
      WriteCommLcd6432(0x92); // 
      delayMS(10);
      WriteCommLcd6432(0x93); // 
      delayMS(10);
      WriteCommLcd6432(0x94); // 
      delayMS(10);
      WriteCommLcd6432(0x95); // 
      delayMS(10);
      */
      WriteDataLcd6432(0xB3);
      WriteDataLcd6432(0xa4);
      WriteDataLcd6432(0xb3);
      WriteDataLcd6432(0xc7);
      WriteDataLcd6432(0xbb);
      WriteDataLcd6432(0xaa);
      
      WriteDataLcd6432(0xb9);
      WriteDataLcd6432(0xda);
       
      
      
      WriteDataLcd6432(0xc7);
      WriteDataLcd6432(0xe8);
      WriteDataLcd6432(0xd4);
      WriteDataLcd6432(0xc7);
      WriteDataLcd6432(0xb4);
      WriteDataLcd6432(0xb9);
      WriteDataLcd6432(0xd0);
      WriteDataLcd6432(0xc3);
      
      WriteDataLcd6432(0xd0);
      WriteDataLcd6432(0xc0);
      
      WriteCommLcd6432(0x90); // 
      delayMS(10);
       
      WriteDataLcd6432(0xd4);
      WriteDataLcd6432(0xc9);
      WriteDataLcd6432(0xb4);
      WriteDataLcd6432(0xb5);
      WriteDataLcd6432(0xd0);
      WriteDataLcd6432(0xc3);
      
      WriteDataLcd6432(0xd0);
      WriteDataLcd6432(0xcc);
  
       WriteCommLcd6432(0x90); // 
      delayMS(10);
       
      WriteDataLcd6432(0x31);
      WriteDataLcd6432(0x32);
      WriteDataLcd6432(0x33);
      WriteDataLcd6432(0x34);
      WriteDataLcd6432(0x35);
      WriteDataLcd6432(0x36);
      
      WriteDataLcd6432(0x37);
      WriteDataLcd6432(0x38);
   }

 
     
                       















void main(void)
{ 
     static unsigned int *paddr;



	byte j,mainStatus=0;
	unsigned int i;
	unsigned long tt;
	unsigned char ttemp[20],ttt[100];
	unsigned char clockBuff[7]=
	  {1,1,1,1,1,1,1 }  ;
	unsigned char clockBuff2[7]=
	  {0x02,0x02,0x01,0x01,0x01,0x01,0x01 }  ;
	   
	struct can_msg msg_send, msg_get;
	
	   INITRM=0X39;  //??????????????????????????????
	
	
 //	init_lcd2(); 	        // init lcd 
 	init_system();		    // init system modules
 	init_clock();					// clock initialization
 	init_var();						// variables initialization
 	
 	 TSCR1=TSCR1&0x7f;
    PORTT =0xFF; 
    DDRT=0xFE;    //??????????/ 
    PERT=0xFF;//PULL UP
    
    MSCANInit(MSCAN_0);
	MSCANInit(MSCAN_1);
 	
 	 
     initLcd6432();
     initLcd6432();
     initLcd6432();
 	
 //	LCD_on();							// display On to LCD panel
  for(j=0;j<10;j++)
    delay1();
    
  for(j=0;j<10;j++)
	  motor_flag[j] = 1;

	MotorMode[SPEEDOMETER]=TEST;	
	EnableInterrupts; 		// enable interrupt
	
 
	KeyDelayTime=Time8ms; // initialize KeyDelayTime
  j=LCD_disp_km(0);
	j=LCD_Disp(2, 0);
	DigitDot(ON);
	j=LCD_Disp(1, 0);
	ClockFlag=ENABLE;               // clock "on" running display "x:xx
   
 	clock_on();
/* 	
 while(1)
 	  {
 	    
 	  
 	 //motor_home();
 	 MotorFinalStep[0]=2500;
 	  
 	  
 	 motor_update(0,30) ;
 	 //while(1);
 	}	
 	
 	*/
 	
 	  paddr=(unsigned int *)(0x400); 
 	      
 	 
 	 // INITEE= 0x00;   //0x09
 	  
 	  
 	  	 i=*paddr; 
 	     j=*(paddr+1) ;
 	     
 	   //  for(;;)    
 	      {
 	        get1302( clockBuff);  
 	        delayMS(20);
 	   
 	      }
 	
    get1302( clockBuff);
   
    	     
 	setInitial1302(clockBuff2);     
 	get1302( clockBuff);
 for(;;)	
  {
        get1302( clockBuff);
        WriteCommLcd6432(0x90);
        WriteDataLcd6432(((clockBuff[1]&0xf0)>>4)+0x30);
        WriteDataLcd6432((clockBuff[1]&0x0f)+0x30);
        WriteDataLcd6432(45);
        j= clockBuff[0]&0xf0;
        j=j>>4;
        j=j+0x30;
     
    	WriteDataLcd6432(j);
     
    	WriteDataLcd6432((clockBuff[0]&0x0f)+0x30);
    	WriteDataLcd6432(32);
    	WriteDataLcd6432(32);
    	WriteDataLcd6432(32);
    	WriteDataLcd6432(32);
    	
    //	motorHome();
 	
 	    motorMove(0,5000);
 	    motorMove(1,5000);
 	    motorMove(2,5000);
 	    motorMove(3,5000);
 	    PORTT&=0xfd;
 	motorMove(0,6500);  
 	motorMove(1,6500);
    motorMove(2,6500);  
 	motorMove(3,6500);
 	PORTT|=0x02;
 	  //  motorMove(1000);
 
 
 	     
 	
 	motorHome();
 	
 	motorMove(0,5000);
 	motorMove(0,1000);
 	
 	
 	
 	motorMove(0,4000);
 	motorMove(0,3000);
 	motorMove(0,2000);
 	motorMove(0,1000);
 	motorMove(0,1100);
 	motorMove(0,1200);
 	motorMove(0,1300);
 	motorMove(0,1400);
 	motorMove(0,1500);
 	motorMove(0,1600);
 	motorMove(0,1700);
 	motorMove(0,1800);
 	motorMove(0,1900);
 	motorMove(0,2000);
 	motorMove(0,2010);
 	motorMove(0,2020);
 	motorMove(0,2030);
 	motorMove(0,2040);
 	motorMove(0,2050);
 	motorMove(0,2060);
 	motorMove(0,2070);
 	motorMove(0,2080);
 	motorMove(0,2090);
  
 	motorMove(0,2100);
 	motorMove(0,2200);
 	motorMove(0,2300);
 	motorMove(0,2400);
 	motorMove(0,2500);
 	motorMove(0,2600);
 	motorMove(0,2700);
 	motorMove(0,2800);
 	motorMove(0,2900);  	
 	motorMove(0,3000);
 	motorMove(0,3100);
 	motorMove(0,3200);
 	motorMove(0,3300);
 	motorMove(0,3400);
 	motorMove(0,3500);
 	motorMove(0,3600);
 	motorMove(0,3700);
 	motorMove(0,3800);
 	motorMove(0,3900);
 	motorMove(0,4000);
 	motorMove(0,4100);
 	motorMove(0,4200);
 	motorMove(0,4300);
 	motorMove(0,4400);
 	motorMove(0,4500);
 	motorMove(0,4600);
 	motorMove(0,4700);
 	motorMove(0,4800);
 	motorMove(0,4900);
 	motorMove(0,5000);
 	motorMove(0,5100);
 	motorMove(0,5200);
 	motorMove(0,5300);
 	motorMove(0,5400);
 	motorMove(0,5500);
 	motorMove(0,5600);
 	motorMove(0,5700);
 	motorMove(0,5800);
 	motorMove(0,5900);
 	motorMove(0,6000);
 	motorMove(0,6100);
 	motorMove(0,6200);
 	motorMove(0,6300);
 	motorMove(0,6400); 
 	PORTT&=0xfd;
 	motorMove(0,6500);  
 	PORTT|=0x02;
 	motorMove(0,6600);
 	PORTT&=0xfd;
 	motorMove(0,6700); 
 	PORTT|=0x02;
 	motorMove(0,6800);
 	motorMove(0,i);
  
 	
 	

⌨️ 快捷键说明

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