📄 51xx.cqd
字号:
#include <ldy.h>
#define rs p34
#define r_w p35
#define e p33
#define T 0x54
#define E 0x45
#define S 0x53
#define equal 0x3d
#define Y 0x59
#define J 0x4a
#define I 0x49
#define N 0x4e
#define G 0x47
#define O 0x4f
#define K 0x4b
#define D 0x44
#define V 0x56
#define L 0x4c
#define M 0x4d
#define R 0x52
#define zero 0x30
#define two 0x32
#define three 0x33
#define four 0x34
#define nine 0x39
#define P 0x50
#define A 0x41
#define B 0x42
#define D 0x44
#define space 0x20
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar number[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
uchar led[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x8c};
void delay(unsigned long v)
{
while(v!=0)v--;
}
void dlms()
{
uchar i;
for(i=200;i>0;i--){}
}
uchar bf_and_ac() //read busy and adrss counter
{
uchar x;
r_w=0;
rs=0;
e=0;
delay(100);
r_w=1;
e=1;
delay(100);
x=p1;
e=0;
r_w=0;
return(0);
}
void w_code(uchar order)
{
uchar x;
x=bf_and_ac();
while((x&0x80)==0x80)
{
x=bf_and_ac();
}
r_w=0;
e=1;
p1=order;
e=0;
r_w=0;
}
void w_data(uchar su)
{
uchar x;
x=bf_and_ac();
while((x&0x80)==0x80)
{
x=bf_and_ac();
}
r_w=0;
rs=1;
e=1;
p1=su;
e=0;
r_w=0;
}
uchar r_data()
{
uchar x;
x=bf_and_ac();
while((x&0x80)==0x80)
{
x=bf_and_ac();
}
r_w=0;
rs=1;
e=1;
x=p1;
e=0;
r_w=0;
return(x);
}
void w_ram(uchar adrss,uchar su,uchar length)
{
uchar i;
w_code(adrss);
for(i=0;i<length;i++)
w_data(su);
}
void init()
{
w_code(0x38);
delay(1000);
w_code(0x01);
delay(1000);
w_code(0x06);
delay(1000);
w_code(0x0e);
}
void display_good(unsigned long num_good)
{
uchar y=0;
unsigned long y1=0;
p31=0;
w_ram(0x85,space,0x01);
w_ram(0x86,O,0x01);
w_ram(0x87,K,0x01);
y=num_good/10000;
y1=num_good%10000;
w_ram(0xc3,number[y],0x01);
y=y1/1000;
y1=y1%1000;
w_ram(0xc4,number[y],0x01);
y=y1/100;
y1=y1%100;
w_ram(0xc5,number[y],0x01);
y=y1/10;
w_ram(0xc6,number[y],0x01);
y=y1%10;
w_ram(0xc7,number[y],0x01);
}
void display_bad(unsigned int num_bad)
{
uchar y=0;
unsigned long y1=0;
p31=1;
w_ram(0x85,B,0x01);
w_ram(0x86,A,0x01);
w_ram(0x87,D,0x01);
y=num_bad/100;
y1=num_bad%100;
w_ram(0xcd,number[y],0x01);
y=y1/10;
w_ram(0xce,number[y],0x01);
y=y1%10;
w_ram(0xcf,number[y],0x01);
}
uchar kbscan()
{
uchar lie4=0;
uchar hang2=0;
p3=0xf0;
if((p3&0xf0)!=0xf0)
{
dlms();
if((p3&0xf0)!=0xf0)
{
lie4=~(p3|0x0f);
p3=0xfe;
if((p3&0xf0)!=0xf0)hang2=0x01;
p3=0xfd;
if((p3&0xf0)!=0xf0)hang2=0x02;
p3=0xfb;
if((p3&0xf0)!=0xf0)hang2=0x04;
p3=0xf7;
if((p3&0xf0)!=0xf0)hang2=0x08;
if(hang2!=0)return(lie4+hang2);
else return(0);
}
}
else return(0);
}
void main()
{
uchar l0,l1,l2;
bit flag;
uint led_number=0;
uchar lcd_value=0;
uint number_replace=0;
unsigned long good=0;
unsigned int error=0;
init();
while(1)
{
l1=kbscan();
if(l1==0x21){led_number=1;lcd_value=1;p3=p2=p1=led[0];p0=led[1];delay(10000);}
else if(l1==0x41){led_number=2;lcd_value=2;p3=p2=p1=led[0];p0=led[2];delay(10000);}
else if(l1==0x81){led_number=3;lcd_value=3;p3=p2=p1=led[0];p0=led[3];delay(10000);}
else if(l1==0x22){led_number=4;lcd_value=4;p3=p2=p1=led[0];p0=led[4];delay(10000);}
else if(l1==0x42){led_number=5;lcd_value=5;p3=p2=p1=led[0];p0=led[5];delay(10000);}
else if(l1==0x82){led_number=6;lcd_value=6;p3=p2=p1=led[0];p0=led[6];delay(10000);}
else if(l1==0x24){led_number=7;lcd_value=7;p3=p2=p1=led[0];p0=led[7];delay(10000);}
else if(l1==0x44){led_number=8;lcd_value=8;p3=p2=p1=led[0];p0=led[8];delay(10000);}
else if(l1==0x84){led_number=9;lcd_value=9;p3=p2=p1=led[0];p0=led[9];delay(10000);}
else if(l1==0x28){led_number=0x0a;lcd_value=0x2a;p3=p2=p1=led[0];p0=led[10];delay(10000);}
else if(l1==0x48){led_number=0;lcd_value=0;p3=p2=p1=led[0];p0=led[0];delay(10000);}
else if(l1==0x88){led_number=0x0b;lcd_value=0x23;p3=p2=p1=led[0];p0=led[11];delay(10000);}
else dlms();
l0=led_number/1000;
number_replace=led_number%1000;
p3=led[l0];
l0=number_replace/100;
number_replace=number_replace%100;
p2=led[l0];
l0=number_replace/10;
p1=led[l0];
l0=number_replace%10;
p0=led[l0];
if(led_number>9999)led_number=0;
else led_number=led_number+1;
delay(3000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -