��Ƭ�C(j��)C�Z�Գ����O(sh��)Ӌ(j��)�� ��Ƭ�C(j��)�c PC ͨ��
/* ���Q��?ji��n)�Ƭ�C(j��)�c PC ͨ��
�f����?ji��n)�Ƭ�C(j��)�ɽ��� PC �l(f��)
�͵Ĕ�(sh��)���ַ�������Ƭ�C(j��)��
K1 �I��Ƭ�C(j��)���� PC �l(f��)��
�ַ������� Proteus �h(hu��n)�������
�� ��(sh��) �(y��n) �r(sh��) �� �� Ҫ �� �b Virtual
Serial Port Driver �ʹ����{(di��o)ԇ��
�����������_ 100 ��(g��)��(sh��)���ַ���
���_�M����(sh��)�֏�ǰ���_ʼ��ţ��h(hu��n)�ξ��_����
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar Receive_Buffer[101]; //���վ��_
uchar Buf_Index=0;
//��(sh��)�a�ܾ��a
//���_���g����
uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
//�ӕr(sh��)
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
//������
void main()
{
uchar i;
P0=0x00;
Receive_Buffer[0]=-1;
SCON=0x50; ����ģʽ 1�����S����
TMOD=0x20; //T1 ����ģʽ 2
TH1=0xfd; //������ 9600
TL1=0xfd;
PCON=0x00; �����ʲ�����
EA=1;EX0=1;IT0=1;
ES=1;IP=0x01;
TR1=1;
while(1)
{
for(i=0;i<100;i++)
{ //�յ�-1 ��һ���@ʾ�Y(ji��)��
if(Receive_Buffer[i]==-1) break;
P0=DSY_CODE[Receive_Buffer[i]];
DelayMS(200);
}
DelayMS(200);
}
}
//���ڽ����Дຯ��(sh��)
void Serial_INT() interrupt 4
{
uchar c;
if(RI==0) return; //�P(gu��n)�]������
ES=0; //������Д���(bi��o)־
RI=0;
c=SBUF;
if(c>='0'&&c<='9')
{ //�����½��յ�ÿ��(g��)�ַ�����������-1 ��Y(ji��)����(bi��o)־
Receive_Buffer[Buf_Index]=c-'0';
Receive_Buffer[Buf_Index+1]=-1;
Buf_Index=(Buf_Index+1)%100;
}
ES=1;
}
void EX_INT0() interrupt 0 //�ⲿ�Д� 0
{
uchar *s="�@���� 8051 �l(f��)�͵��ַ�����rn";
uchar i=0;
while(s[i]!='')
{
SBUF=s[i];
while(TI==0);
TI=0;
i++;
}
}

�U(ku��)չ��x��?ji��n)�Ƭ�C(j��)�����C(j��)�l(f��)���ַ�������

����admin ����ĕr(sh��)�g��2018-05-23