利用单片机串行工作方式三做出的1主机+2从机通信系统。通过KEY1,KEY2分别让主机对子机发送数据。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机主机源程序如下(从机源码请下载附件):
- #include <reg51.h>
- #define uchar unsigned char
- #define NODE1_ADDR 1
- #define NODE2_ADDR 2
- uchar KeyValue = 0;
- uchar code str[]="0123456789ABCDEF";
- uchar pointer_1=0,pointer_2=0;
- void delay(uchar time){
- uchar i,j;
- for(i=0;i<130;i++)
- for(j=0;j<time;j++);
- }
- void proc_key(uchar node_number){
- delay(200);
- SCON=0xc0;
- TMOD=0x20;
- TH1=TL1=0xfd;
- TR1=1;
- TB8=1;
- SBUF=node_number;
- while(TI==0);
- TI=0;
- TB8=0;
- switch(node_number){
- case 1:{
- SBUF=str[pointer_1++];
- if(pointer_1>=16)pointer_1=0;
- break;
- }
- case 2:{
- SBUF=str[pointer_2++];
- if(pointer_2>=16)pointer_2=0;
- break;
- }
- default:break;
- while(TI==0);
- TI==0;
- }
- }
- void main(){
- while(1){
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
1 2主从式通信系统.rar
(69.37 KB, 下载次数: 102)
|