分享到:
#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++); } }
(0 )
(0 )


发表回复
块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖