80C51单片机的STB端口和CHK端口是指哪一个啊?

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:43:14
数据传送的流程是: 单片机A 将数据送到端口后, 通过STB 信号中断单片机B, 单片机B 进入中断并从端口读取数据, 读完后, 利用BUSY 信号进行应答, 单片机A 在检查到端口线CHK 上的应答信号后, 就可以发送下一个数据了。以上是采用中断方式进行数据传送的具体方法。当然, 单片机B 也可以采用查询方式接收数据。

请问上面这段话具体是什么意思?我用的单片机是w77e58,没看到什么STB和CHK,谢谢!

事实上,STB ,CHK ,BUSY 等是单片机的信号线。但并不是单片机事先定义好的端口。而是在设计中用户指定单片机的某些引脚为STB,CHK,BUSY等信号。STB,CHK,BUSY 只是相应引脚功能的代号而已。例如可以:
#define STB P1.0
#define CHK P1.1
#define BUSY P1.2
然后A 向B 发送数据时 A执行 STB = 1;而STB 连接到B的中断引脚,如INT0,这样B就会自动进入中断,在B 的中断处理函数里就可以把A发送的数据读出处理。处理完后,B会执行 BUSY = 1;而BUSY 连接到了A 的某端口。A 在程序里可以一直扫描这个端口,当发现这个端口为1时,则进行相应处理。其他情况类似。

STB和CHK是信号状态,你可以向两个单片机的接口发送这些信号,然后通过中断处理程序进行操作的

STB和CHK是状态信号 不是具体的引脚

看采用什么中断?T0还是T1
参考datasheet对应的引脚

看了一下你的那个时序STB和CHK可能是在利用软件模拟I2C通信。。

你可以大至了解一下I2C的时序就可以了。。

其实实现通信的方法很多,没有必要一定要使用这种方法。也可以使用串口啊。

w77e58就有两个串口,一个可以用来与其他单片机通信,另一个与PC或其他通信

你看看A跟B的原理电路图,看线是怎么连得。
应该有两根信号线STB和CHK