找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4015|回复: 3
打印 上一主题 下一主题
收起左侧

一个串口自发自收的C51程序

[复制链接]
跳转到指定楼层
楼主
ID:134194 发表于 2016-7-19 00:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include<absacc.h>
#define  PA XBYTE [0Xcfa0]
#define  PB XBYTE [0Xcfa1]
#define  PC XBYTE [0Xcfa2]
unsigned char table1[10]={1,2,3,4,5,6,7,8,9,10     };
unsigned char table2[10]={ 0,0,0,0,0,0,0,0,0,0    };
unsigned char LEDSEG[10]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F}
unsigned char i=0,j=0,k=0;
void Delay (unsigned int u);
void send ();
void recv ();
void display ();
void main ()
{
  TMOD=0X20  ;
  TH1=TL1=255  ;
  TR1=1;
  SCON=0x50;
  PCON=0x80;
  EA=1;ES=1;
  while (1)
  {
   send ();
   display ();
  }
  
}
void send ()
{SBUF=table1[i++];
Delay (50);
if (i==10)  i=0;
}

void recv()
{table2[j++]=SBUF;
   if (j==10) j=0;


}

  void display ()
  {
     if (j!=0)
     {P1=table2[k++];
      Delay (1000);
      if (k==10) k=0;
      PB=0xfe;
      PA=LEDSEG[table1[10]-0x30];
      delay(10);
     }
  }
  
  void ser () interrupt 4
   {
     if(TI==1)  TI=0;
     if(RI==1)  
     {RI=0;recv ();}
     
   }
   
   void Delay (unsigned int u)
   {
   unsigned char i;
   while (u--)
   {for (i=0;i<42;i++);}
   }
   
  

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:79544 发表于 2016-7-19 10:20 | 只看该作者
楼主:用的什么型号单片机?
回复

使用道具 举报

板凳
ID:79544 发表于 2016-7-19 10:23 | 只看该作者
楼主:可以解释一下#define  PA XBYTE [0Xcfa0]
#define  PB XBYTE [0Xcfa1]
#define  PC XBYTE [0Xcfa2]  定义的意思吗?
回复

使用道具 举报

地板
ID:129467 发表于 2016-7-19 11:21 | 只看该作者
不加注释的都是大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表