云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 毕业设计-单片机的主从控制系统

毕业设计-单片机的主从控制系统

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 20:23:59

附录2 从机1程序

//***********从机1代码*******

#include #include \

#include \

char TTemp;

unsigned char code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int ss=2; int num=1; sbit c1=P3^6;

void delay_50ms() {

int s=5000; while(--s); }

//************

void Serial_Init(void) //串口初始化 { SCON = 0x50; // 设定串行口工作方式 TMOD=0x20; TH1 = 0xfD; // 11.0952MHZ 波特率9600 TL1 = 0xfD; TR1=1; ES=1; }

//************

void Interrupt_Init(void) //中断初始化 { EA=1; EX0=1; }

//*************

void interrupt4(void) interrupt 4 using 2 //串口中断触发 { EA=0;

28

if(TI) TI=0; if(RI) { RI=0; if(SBUF==STD1) //如果接收到主机的地址码 { SBUF=Address_Respond1; //发送地址响应码 while(!TI); //必须 TI=0; SCON=0xd0; //并且把SCON中的SM2置0,允许响应数据中断 } if(SBUF==Clicent_Command1) //如果接收到主机的启动的命令 { SBUF=Command_Respond1; //发送响应码返回给主机 while(!TI); //必须 TI=0; } if(SBUF==Clicent_Data_Command1) //如果接受到主机的发送转化结果的命令 { SBUF=Data_Command_Respond1;//发送响应码 while(!TI); //必须 TI=0; } if(SBUF==Clicent_Receive_Data1) { SBUF=Data_Receive_Respone1; while(!TI); //必须 TI=0; while(!RI); //接收数据 测试 RI=0; TTemp=SBUF; P1=SEG7[TTemp];c1=0; SCON=0xf0; //并且把SCON中的SM2置1 } if(SBUF==Clicent_Send_Data1) //发送数据 {

29

SBUF=DS18B20_Data[0]; //发送温度数据 while(!TI); TI=0; SBUF=DS18B20_Data[1]; while(!TI); TI=0; SCON=0xf0; } } EA=1; }

//***************

void DS18B20_Run(void) {

DS18B20_Read_Temperature(); }

//***************/ void main(void) { P1=0; Interrupt_Init(); Serial_Init(); while(1) { delay_50ms(); //延时50ms左右读一次温度,读得太多太快可能会出现乱数 DS18B20_Run(); delay_50ms(); //延时50ms左右读一次温度,读得太多太快可能会出现乱数 } }

附录3 从机2程序

//***********从机2代码******

#include

#include \

30

#include \

extern char DS18B20_Data[2];

unsigned char code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; char TTemp; int num=0; sbit c1=P3^6;

void delay_50ms() {

int s=5000; while(--s); }

//************

void Serial_Init(void) //串口初始化 { SCON = 0x50; // 设定串行口工作方式 TMOD=0x20; TH1 = 0xfD; // 11.0952MHZ 波特率9600 TL1 = 0xfD; TR1=1; ES=1; }

//************

void Interrupt_Init(void) //中断初始化 { EA=1; EX0=1; }

//*************

void interrupt4(void) interrupt 4 using 2 //串口中断触发 { EA=0; if(TI) TI=0; if(RI) { RI=0; if(SBUF==STD2) //0x8f) //如果接收到主机的地址码 { SBUF=Address_Respond2; //发送地址响应码

31

搜索更多关于: 毕业设计-单片机的主从控制系统 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

附录2 从机1程序 //***********从机1代码******* #include #include \#include \ char TTemp; unsigned char code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int ss=2; int num=1; sbit c1=P3^6; void delay_50ms() { int s=5000; while(--s); } //************ void Serial_Init(void) //串口初始化 { SCON = 0x50;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com