wuzhengmin 发表于 2026-1-21 22:05:44

SM2 这个标志位很重要,从机是否接收数据,就取决于SM2是否=0

SM2=0就接收数据!

流程图如下:

wuzhengmin 发表于 2026-1-21 22:12:34

TB8一开始=1 ,表示主机发送的是地址信息

发送完地址信息就等待中断,因此

进入中断服务程序后,先把发送中断标志TI清零

既然能进入中断服务程序,说明地址已经发送完了

接着就把TB8清零,表示要发送数据了,TB8是在SCON寄存器中

启动发送,循环10次,把数据发生完,恢复现场,返回主程序






wuzhengmin 发表于 2026-1-21 22:19:46

先看主机发送的汇编程序:

wuzhengmin 发表于 2026-1-21 22:21:11

接上页:

wuzhengmin 发表于 2026-1-21 22:23:20

注意第二次中断的时候

又一次对DB8清零:

wuzhengmin 发表于 2026-1-21 22:24:58

对应的C语言程序:

wuzhengmin 发表于 2026-1-21 22:26:08

中断服务函数如下:

wuzhengmin 发表于 2026-1-21 22:27:28

从机接收数据的汇编语言程序:

wuzhengmin 发表于 2026-1-21 22:29:07

从机收到数据的中断子程序:(汇编语言)

wuzhengmin 发表于 2026-1-21 22:31:00

对应的从机接受主函数(C语言)

页: 73 74 75 76 77 78 79 80 81 82 [83] 84 85 86 87 88 89
查看完整版本: 有关DMA,山东大学陈桂友教授