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

📄 muti-commu_t.c

📁 单片机之间的通讯(多个) 可以设定选择接收端 KEIL C 开发平台 PROTEUS 测试过 附有proteus 原理图
💻 C
字号:
#include<regx51.h>
#include<intrins.h>
#include"lcd.h"	
#define COUNT 10
#define NODE_ADDR 64
/*---------------
11.0529Mhz/(12*16*(256-253(TH1=0XFD)))
baudrate 19200
---------------*/
unsigned char buffer[COUNT];
int pointer=0;
void main(void)
{  unsigned char i,j;
init_LCD();
clear_LCD();
 ///*
 while(pointer<COUNT)
 {
 buffer[pointer]='A'+pointer;									    
 pointer++;
 }
 //*/
 display_LCD_string(buffer);  //显示buffer[]的内容
 SCON=0XC0;
 TMOD=0X20;
 TH1=0XFD;
 TR1=1;
 ET1=0;
 ES=1;
 EA=1;
 pointer=0;
 TB8=1;
 SBUF=NODE_ADDR;
 while(pointer<COUNT)
 {
  for(i=0;i<225;i++)
 for(j=0;j<20;j++)
 _nop_();
 }
}
void send(void) interrupt 4 using 3
{
 TI=0;
 gotoxy(2,0);
 write_LCD_data(buffer[pointer]);
 if(pointer>=COUNT)
 return;
 else
 {
 TB8=0;
 SBUF=buffer[pointer]; 
  pointer++;
 /*----------------------------
 下面(延时可以用上面(main()里的循环)的代替)紧接着的不能去掉	 发送的两个char之间延迟一下 
 ----------------------------*/
// for(i=0;i<225;i++)
// for(j=0;j<20;j++)
// _nop_(); 
 }

}










⌨️ 快捷键说明

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