51驱动HCTL2032源代码.rar
(1.29 KB)
#include "reg51.h"
#include "intrins.H"
typedef unsigned char BYTE;
typedef unsigned int WORD;
#define FOSC 12000000L
#define BAUD 9600
#define NONE_PARITY 0
#define ODD_PARITY 1
#define EVEN_PARITY 2
#define MARK_PARITY 3
#define SPACE_PARITY 4
#define PARITYBIT NONE_PARITY
#define DATA P1
sbit EN1=P0^0;
sbit EN2=P0^1;
sbit SEL1=P0^2;
sbit OE=P0^3 ;
sbit XY=P0^4 ;
sbit SEL2=P0^5 ;
sbit RSTX=P0^6 ;
sbit CHBX=P0^7 ;
sbit CHAX=P2^7;
sbit CLK=P2^5;
sbit UDX=P2^0;
sbit bit9 = P2^2;
bit busy;
void SendData(BYTE dat) ;
void SendString(char *s);
char *data1;
unsigned char xdata i=0;
int OLD,NEW,RESULT1,RESULT2,RESULT3,RESULT4,OK1,OK2,OK3,OK4,j;
void main()
{
for(i=0;i<250;i++){}
for(i=0;i<250;i++){}
for(i=0;i<250;i++){}
SCON=0x50;
EA = 1;
ES = 1;
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xF3;
TL1 = 0XF3;
PCON = 0x80;
TR1 = 1;
// SBUF=DATA;
// SendString("abcdefg");
// SendData(0x);
// while(1);
OLD=0;
NEW=0;
EN1 = 1;
EN2 = 0;
XY=0;
// RSTX=0;
UDX=0;
for(i=0;i<18;i++)
{ for(j=0;j<250;j++){}
CLK=0;
for(j=0;j<250;j++){}
CLK=1;
}
for(i=0;i<250;i++){}
// RSTX=1;
for(i=0;i<18;i++)
{ for(j=0;j<250;j++){}
CLK=0;
for(j=0;j<250;j++){}
CLK=1;
}
for(i=0;i<250;i++){}
// SendString("HCTL-2032 INTI OK!"); //HCTL-2032初始化完毕!
OK1=1;
OK2=1;
OK3=1;
OK4=1;
///////////////////////////// 、///脉冲输出
while(1)
{
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
} //
CHAX=1;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
CHBX=0;
for(i=0;i<18;i++)
{ for(j=0;j<100;j++){}
CLK=1;
for(j=0;j<100;j++){}
CLK=0;
}
//
CHAX=0;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
CHBX=0;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
//
CHAX=0;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
CHBX=1;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
//
CHAX=1;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
CHBX=1;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
//////////////////////////////
////读取
OE=1;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
for(i=0;i<250;i++){}
SEL1=0;
SEL2=1;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
OE=0;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
while(OK1)
{
// SendString("11");
for(i=0;i<50;i++){}
for(i=0;i<50;i++){}
for(i=0;i<50;i++){}
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
OLD=DATA;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
for(i=0;i<50;i++){}
NEW=DATA;
if(OLD==NEW)
{ RESULT1=NEW;
OK1=0;
}
}
OK1=1;
// SendString("1 d OK!r=");
SendData(RESULT1);
for(i=0;i<50;i++){}
for(i=0;i<50;i++){}
for(i=0;i<50;i++){}
// SendString("1 d s OK!")
OE=1;
////1
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
SEL1=1;
SEL2=1;
OE=0;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
while(OK2)
{ for(j=0;j<50;j++){}
// SendString("Start secend data read!");
OLD=DATA;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
for(i=0;i<50;i++){}
NEW=DATA;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
if(OLD==NEW)
{ RESULT2=NEW;
OK2=0;
}
}
OK2=1;
// SendString("secend data OK!result=");
SendData(RESULT2);
////2
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
SEL1=0;
SEL2=0;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
while(OK3)
{ for(j=0;j<50;j++){}
// SendString("Start thirth data read!");
OLD=DATA;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
for(i=0;i<50;i++){}
NEW=DATA;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
if(OLD==NEW)
{ RESULT3=NEW;
OK3=0;
}
}
OK3=1;
// SendString("thirth data OK!result=");
SendData(RESULT3);
///3
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
SEL1=1;
SEL2=0;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
while(OK4)
{ for(j=0;j<50;j++){}
// SendString("Start 4 data read!");
OLD=DATA;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
for(i=0;i<50;i++){}
NEW=DATA;
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
if(OLD==NEW)
{ RESULT4=NEW;
OK4=0;
}
}
OK4=1;
// SendString("4 data OK!result=");
SendData(RESULT4);
for(i=0;i<18;i++)
{ for(j=0;j<50;j++){}
CLK=1;
for(j=0;j<50;j++){}
CLK=0;
}
OE=1;
/* while(1)
{ for(j=0;j<250;j++){}
CLK=1;
for(j=0;j<250;j++){}
CLK=0;
} */
////4
}
}
void Uart_Isr() interrupt 4 using 1
{ char *data1;
int i;
if(RI)
{
RI=0;
P0=SBUF;
*data1=SBUF;
bit9=RB8;
}
if(TI)
{ TI=0;
busy=0;
}
}
void SendData(BYTE dat)
{
while(busy);
ACC=dat;
busy=1;
SBUF=ACC;
}
void SendString(char *s)
{
while(*s)
{
SendData(*s++);
}
}
|