用两个 89C51 单片机实现双机通讯来做一个时钟,A 机用来产生数据,B 机用来显示。
具体思路是 A 机产生 a、b、c 的具体值,然后把 abc 传给 B 机显示数据。
A 机发送 a, b, c 给 B 机,B 机拿来用。
写出了双方的通信部分,代码可见该问题的网址:
http://zhidao.baidu.com/question/1731754753643347587.html
为此,从网上找来这张图,显示函数、定时函数...,也都编写出来,供参考。
图片链接:
http://xiangce.baidu.com/picture/detail/8d7c506b7ade7f0feb49f353e22d81dfef5453dc
//============================================
B 机(显示数据)的程序如下:
//--------------------------------
#include<reg52.h>
unsigned char re_i = 0, r_buf[7] = {0,0,0,0,0,0,0};
unsigned char a = 13, b = 57, c = 40, d;
//--------------------------------
void delayms(unsigned int xms)
{
unsigned int i, j;
for(i = xms; i > 0; i--) for(j = 110; j > 0; j--);
}
//--------------------------------
void display()
{
char i, dis[6];
char code table[] = {