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

📄 shubiao.txt

📁 关于ARM控制鼠标运行的C程序 所用IC为LPC2132等,程序包含接收和发送数据子程序
💻 TXT
字号:
void SEND_BYTE(uint8 word)

{
 
 
 
 int i,j;
 
 
 uint32 parity=0;
 
 for (j=0;j<8;j++)
 
 
 {
 
  if ((word>>j)&0x1 == 1)
  
  parity=~(parity);
 
 }
 
 parity=~parity;
 
 
 
 
 IO0DIR = CLK|DATA;
 IO0SET = CLK|DATA;
 
 
 IO0CLR = CLK;


 
 
 
 for(i=0;i<1500;i++)
 ;
 
 
 
 //IO0DIR=CLK|DATA;
 for(i=0;i<300;i++);
 
 
 IO0CLR=DATA;
 
 for(i=0;i<75;i++);
 
 
 IO0DIR=DATA;
 
 
 
 
 
 //for(i=0;i<500;i++);
 
 
 
 
 
 
 
 
 //while (( IO0PIN & CLK )!=0);
 
 
 
 
 //while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 if ( (word>>0)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
  
  
 
 
 while( ( IO0PIN & CLK )==0);
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 if ( (word>>1)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
  
  
  
 
 
 while( ( IO0PIN & CLK )==0);
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 if ( (word>>2)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 if ( (word>>3)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 if ( (word>>4)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 if ( (word>>5)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 if ( (word>>6)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 if ( (word>>7)&0x1 )
  
  
  IO0SET=0x1;
  
  else
  
  
  IO0CLR=0x1;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 
 while (( IO0PIN & CLK )!=0);
 for(i=0;i<200;i++);
 if ( parity &0x1 )
  IO0SET=0x1;
  else
  IO0CLR=0x1;
  while( ( IO0PIN & CLK )==0);
 while (( IO0PIN & CLK )!=0);
 for(i=0;i<200;i++);
 IO0SET=0x1; 
 while( ( IO0PIN & CLK )==0);
 for(i=0;i<200;i++);
 IO0DIR=0;
 for(j=0;j<1500;j++);
 
 }

接受数据 

void RECEIVE_BYTE(void)
{
 int i,j;
 
 
 uint32 parity=0;
 
 at=0;
 
 /*for (j=0;j<8;j++)
 
 
 {
 
  if ((word>>j)&0x1 == 1)
  
  parity=~(parity);
 
 }
 
 parity=~parity;*/
 
 
 
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<500;i++);
 
 
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<0;
  
  
  
  
 
 
 while( ( IO0PIN & CLK )==0);
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<1;
  
  
  
  
  
 
 
 while( ( IO0PIN & CLK )==0);
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<2;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<3;
  
  
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<4;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<5;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<6;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<7;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<8;
  
  
 
 while( ( IO0PIN & CLK )==0);
 
 
 
 
 while (( IO0PIN & CLK )!=0);
 
 
 for(i=0;i<200;i++);
 
 
 
 at|=(IO0PIN&0x1)<<9;
  
  
  
 while( ( IO0PIN & CLK )==0);
 
 
 
 
 for(i=0;i<1000;i++);

}

平台 arm    lpc2132

⌨️ 快捷键说明

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