📄 tongbuxianshi.c
字号:
#include "reg52.h"
#include "intrins.h"
#define uchar unsigned char
#include <absacc.h>
sbit Clk=P1^5; //定义时钟端
sbit RCK=P1^2; //定义控制端
sbit E=P1^3;
sbit SRCK=P1^1;
sbit SER=P1^0;
sbit Dat=P1^4; //定义串行数据输入端
sbit RDSG=0xD8^0;
sbit RDQB=0xD8^1;
sbit PRE=0xD8^2;
sbit CLR=0xD8^3;
unsigned char a[4];
unsigned char c,d,e,f;
unsigned char *p,*q;
uchar code DispTab[]={0x3F,0x03,0x6D,0x67,0x53,0x76,0x7E,0x23,0x7F,
0x73,0x00};//定义定形码表
void SendData(unsigned char SendDat) //传送一个字节的数据数据
{ unsigned char i;
for(i=0;i<8;i++)
{ if((SendDat&0x80)==0)
SER=0;
else
SER=1;
_nop_();
SRCK=0;
_nop_();
SRCK=1;
SendDat=SendDat<<1;
}
}
void Disp()
{ uchar c;
uchar i;
RCK=0; //关闭存储寄存器的输入
for(i=0;i<3;i++)
{
unsigned char g;
c=a[i];
g=DispTab[c];
if(i==2)
{if(((e&0x80)==0x80)&&((e&0x40)==0))
g=DispTab[c]|0x80;
}
if(i==1)
{if(((e&0x40)==0x40)&&((e&0x80)==0))
g=DispTab[c]|0x80;
}
SendData(g); //送出字形码数据
}
SendData(a[3]);
RCK=1; //开启存储寄存器的输入
}
void main()
{for(;;)
{ RDSG=0; //锁存个十位数据 //锁存百千位数据
RDQB=1;
*p=XBYTE[0x9000];
c=*p;
d=c&0x0F;
switch(d)
{ case 0x00 : a[0]=0;break;
case 0x01 : a[0]=1;break;
case 0x02 : a[0]=2;break;
case 0x03 : a[0]=3;break;
case 0x04 : a[0]=4;break;
case 0x05 : a[0]=5;break;
case 0x06 : a[0]=6;break;
case 0x07 : a[0]=7;break;
case 0x08 : a[0]=8;break;
case 0x09 : a[0]=9;
}
c=c&0xF0;
switch(c)
{ case 0x00 : a[1]=0;break;
case 0x10 : a[1]=1;break;
case 0x20 : a[1]=2;break;
case 0x30 : a[1]=3;break;
case 0x40 : a[1]=4;break;
case 0x50 : a[1]=5;break;
case 0x60 : a[1]=6;break;
case 0x70 : a[1]=7;break;
case 0x80 : a[1]=8;break;
case 0x90 : a[1]=9;
}
RDSG=1;
RDQB=0;
*q=XBYTE[0x9001];
e=*q;
f=e&0x0F;
switch(f)
{ case 0x00 : a[2]=0;break;
case 0x01 : a[2]=1;break;
case 0x02 : a[2]=2;break;
case 0x03 : a[2]=3;break;
case 0x04 : a[2]=4;break;
case 0x05 : a[2]=5;break;
case 0x06 : a[2]=6;break;
case 0x07 : a[2]=7;break;
case 0x08 : a[2]=8;break;
case 0x09 : a[2]=9;
}
f=e&0x30;
switch(f)
{ case 0x00 : a[3]=0x3F;break;
case 0x10 : a[3]=0x03;break;
case 0x20 : a[3]=0x40;break;
case 0x30 : a[3]=0x43;
}
E=0;
Disp();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -