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

📄 75823.c

📁 SC75823驱动程序
💻 C
字号:
#include <REGX51.H>
#include <intrins.h>
#define uchar  unsigned char 
#define uint   unsigned int 
#define ulong  unsigned long 
#define ce  P0_3
#define clk  P0_2
#define dat  P0_1
uint  time;
#define  th  ((uchar*)&time)[0]
#define  tl  ((uchar*)&time)[1]
uint code lcd[]={6339,6144,4550,6596,6405, 2501,2503,6209,6599,6597,260};	   
  uchar val1,val2,val3,val4,val5,val6,val7,val8;
  uint dataa;
  uchar shi=0,fen=0,miao=0;
  uchar sec;
  uchar bdata  road;
  sbit r1=road^0;
  sbit r2=road^1;
  sbit r3=road^2;
  sbit r4=road^3;
delay(uint time)
{
 uchar i;
 while(--time)
   {
    for(i=0;i<100;i++);
   }
}					  
tx_dat(uchar i)
{   
 uchar j;
 for(j=0;j<8;j++)
  {
  	clk=0;
    dat=(i&0x1);
	clk=1;
	i>>=1;
  }
}
tx_lcd(uint i)
{
 uchar j;
 for(j=0;j<13;j++)
  {
  	clk=0;
    dat=(i&0x1);
	clk=1;
	i>>=1;
  }
}
tx_bit(bit i)
{
 clk=0;
 dat=i;
 clk=1;
}
lcd_dat()
{

  ce=0;
  tx_dat(0x41);
  ce=1;
  tx_bit(r1);
  tx_bit(r4);
  tx_lcd(lcd[val8]);//1	  
  tx_bit(r3);
  tx_bit(r2);
  tx_lcd(lcd[val7]);//2
  tx_bit(0);
  tx_bit(0);
  tx_lcd(lcd[val6]); //3
  tx_bit(0);
  tx_bit(0);
  tx_lcd(lcd[val5]);//4
  tx_bit(0);
  tx_bit(0);
  tx_lcd(lcd[val4]);//5
  tx_bit(0);
  tx_bit(0);
  tx_lcd(lcd[val3]);//6
  tx_bit(0);
  tx_bit(0);
  tx_lcd(lcd[val2]);//7
  tx_bit(0);
  tx_bit(0);
  tx_lcd(lcd[val1]);//8
  tx_dat(0); //L2
  tx_dat(0); //L1
  tx_dat(0); //L8
  tx_dat(0);//SUB W
  tx_bit(0);//ESP45
  tx_bit(0);//FLASH
  tx_bit(0);//ST
  tx_bit(0);//NC
  tx_bit(1);// 1/3BIAS
  tx_bit(0);//DISPLAY ON
  tx_bit(0);//NORMAL MODE
  tx_bit(0);//NC
  ce=0;
     
}
display()
{		      	   
  val8=shi/10;
  val7=shi%10;	 
  val6=10;	   
  val5=fen/10;
  val4=fen%10;
  val3=10;	   
  val2=miao/10;
  val1=miao%10;
  lcd_dat();
}
void int0(void) interrupt 0
{
 uchar i,dat,add;
 TH0=TL0=0;
 TR0=1;
 while(!P3_2);
 TR0=0;
 time=0;
 th=TH0;tl=TL0;
 if(time<5500&&time>4500)
  {
   for(i=0;i<8;i++)
     { 
	    TR0=1;TH0=TL0=0;time=0;while(time<2000){th=TH0;tl=TL0;}//2ms
		add<<=1; 
		add|=P3_2;  
		while(P3_2 );
		while(!P3_2);
	 } 
	for(i=0;i<8;i++)
     { 
	    TR0=1;TH0=TL0=0;time=0;while(time<2000){th=TH0;tl=TL0;}//2ms
		dat<<=1; 
		dat|=P3_2;  
		while(P3_2);
		while(!P3_2);
	 }
	 fen=~add;
	 miao=~dat;
	 display();  
  }

}	 
main()
{
  TMOD=1;
  TH0=0;
  TL0=0;
  EA=1;
  EX0=1;
  IT0=1;
  delay(200);
  ce=clk=dat=0;
  road=3;
  display();
  while(1)
  {
   
   delay(200);
   	  
  }
}

⌨️ 快捷键说明

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