#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint a;
uchar num;
bit skt=0;
sbit s2=P1^0; //TCS3200 S2
sbit s3=P1^1; //TCS3200 S3
sbit out=P3^2;
sbit lcdrs=P0^7;
sbit lcdrw=P0^6;
sbit lcden=P0^5;
void delayns(int a)
{
uint i;
for(i=0;i<=a;i++)
{
_nop_();
}
}
void delay(int z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
bit lcd_bz()
{
bit result;
lcdrs=0;
lcdrw=1;
lcden=1;
delayns(4);
result=(bit)(P2&0x80);
lcden=0;
return result;
}
void write_ZHIL(uchar com)
{
while(lcd_bz());
lcden=0;
lcdrs=0;
lcdrw=0;
delayns(2);
P2=com;
delayns(4);
lcden=1;
delayns(4);
lcden=0;
}
void write_SHUJ(uchar date)
{
while(lcd_bz());
lcdrs=1;
lcdrw=0;
lcden=0;
delayns(2);
P2=date;
delayns(4);
lcden=1;
delayns(4);
lcden=0;
}
void init()
{
delay(15);
write_ZHIL(0x38);
delay(5);
write_ZHIL(0x38);
delay(5);
write_ZHIL(0x38);
while(lcd_bz());
write_ZHIL(0x38);
while(lcd_bz());
write_ZHIL(0x0c);
while(lcd_bz());
write_ZHIL(0x06);
while(lcd_bz());
write_ZHIL(0x01);
out=1;
s2=s3=0;
TMOD=0x01;
EA=1;
EX0=1;
IT0=1;
TR0=1;
PX0=1;
TH0=(65536-9174)/256;
TL0=(65536-9174)%256;
}
void main()
{
init();
while(skt==0);
while(lcd_bz());
write_ZHIL(0x80);
while(lcd_bz());
write_SHUJ(a);
while(1);
}
void xxzc() interrupt 0
{
a++;
}
void xxzxzczc() interrupt 1
{
EX0=0;
TR0=0;
skt=1;
}
é£ç°å¨è¿ä¸ªå¯¹åï¼ããæætcs3200æ¾å°æ£å¯¹ç½çº¸ä½ç½®ä¸ºä»ä¹æ²¡ææ°å¼å¢ï¼
tcs3200没ç¨è¿,,è¿0é½ ä¸æ¾ç¤ºå,å å ³æä¸æ,让液æ¶å±æ¾ç¤ºä¸ä¸ªå符çæ¯å¦æå,ç¶åå说计æ°çé®é¢