📄 main.c
字号:
//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 + -