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

📄 yn.c

📁 通过计算机串口传入单片机的数字,单片机将数字编码,以led方式显示出来
💻 C
字号:
#include <reg51.h>
/*unsigned char DATA_7SEG[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};*/
	 /*unsigned char DAT[11]={0xfd,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00};*/
	unsigned char DAT[11]=   {0xbc,0xb5,0x4d,0xf4,0xfc,0xc1,0xfd,0xdd,0xf1,0x00};
/* a-15
b-7
c-1
d-2
e-3
f-4
g-5
h-6

11111101  abcdefg	  fd
01000001  bc      41
10110101  abdeg b5
11100101  abcdg	 e5
01001101   bcfg	  4d
11110100  acdeg	   f4
11111100  acdefg	fc
11000001  abc		 c1
11111101  abcdefg	  fd
11011101  abcefg	   dd
11111001  abcdef		f1
*/

     unsigned char DIG[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
void delay(int ) ;
void out_disp(unsigned char);
void init_rs232();
void tx_char( char );
unsigned char rx_char();

void main()
{
   char dat1,dat2;
  int i;
  
   delay(1000);
   init_rs232();
   out_disp(~DAT[1]);
   out_disp(~DAT[1]);
   
   P11=0; P11=1;

   while (1){
   
       dat1=rx_char();
       dat2=rx_char();
      
    for (i=0;i<10;i++){
    if (dat1==DIG[i]) break;}
         out_disp(DAT[i]);
    for (i=0;i<10;i++){
    if (dat2==DIG[i]) break;}
         out_disp(DAT[i]);
    
        
      P11=0; P11=1;

      tx_char(dat1);
      tx_char(dat2);
    }
    
}

void init_rs232()
{	/*PCON=0x80;	 波特率加倍					*/
	SCON=0x50;
	TMOD=0x20;
	TH1=0xfd;
	TL1=0xfd;
    TR1=1;
	TI=1;
    //TCON.6=1;
	//SCON.1=1;

/*	TH1=0xfa;*/
/*	TL1=0xfa;*/
/*    TR1=1;*/
/*	TI=1;*/
	}

unsigned char rx_char()
{
	while(1)
	if((SCON & 0x01)==0x01)	 break;
	
//	SCON.0=0;
	RI=0;
	return SBUF;
}
	
void tx_char( char c)
{
	while(1)
	if((SCON & 0x02)==0x02) break;
	
//	SCON.1=0;
	TI=0;
	SBUF=c;
}

 

void delay(int time) {
int i,j;
for (i=0;i<time;i++) 
{
	for (j= 0;j<10;j++) ;} 
}

void out_disp(unsigned char dd) {
	unsigned char i,k;
	for (i=0;i<8;i++) {  k=dd & 0x01;P10=k;P12=1;dd=dd>>1;P12=0;	}
               }



⌨️ 快捷键说明

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