你的通訊程序寫的有問題,如下:
1 你的程序中的D20是接收區,因此初始化的時候賦值為0就可以了,它將來接受的是你通訊的對方設備傳輸的數據,不需要你去賦值,只需要初始化就可以了;
2 你的程序中的D70應該是接收數據暫存緩沖區,就是你的D20中接收的數據暫存到這個寄存器區,然后做一些運算處理,比如這些數據是要顯示用的等等;
3 你的程序中的D10是發送緩沖區,當數據給定了之后,就可以直接置位M8122,啟動發送,發送完成后,M8122會自動復位,然后通過M8123這個接收完成標志去接受數據,如你的程序所寫;
個人感覺你應該是看了一些相關的通訊程序,但是并沒有吃透這些程序中的各個寄存器及標志位如何使用,建議參照相關的通訊手冊中的例子再看看。