DDE is "Dynamic Data Exchange", and like its name, does nothing more than provide a protocol of exchanging data dynamically between two Windows applications. It's a somewhat older protocol that's been around since Windows 3.x days. Most Windows developers today use something called COM, or Component Object Model for interoperability, but DDE still has its niche as a lightweight asynchronous communications mechanism that doesn't require a lot of programming and extra DLLs.
ATCSmon supports DDE conversations for either input or output. DDE input is only useful for an external application that can send ATCSmon raw packet data directly to the application for decoding, in much the same way you set it up to receive packets from a remote server. The experimentation some of us are doing with US&S Flexicode, GRS Data Train and Harmon MCS protocols use external applets that do the brute-force signal demodulation, then pump ATCSmon with the raw packet. This keeps the experimental components separate from the working ATCSmon program during development.
DDE output is useful for for extracting decoded data from ATCS Monitor and into an external application. The example ddemacro.xls uses Excel to receive data from ATCSmon and populate cells with the contents of MCP and mnemonic data. Note that the DDE data format is not the same going in as going out, so unfortunately multiple ATCSmon instances cannot use DDE to communicate (only via server mode).
DDE is configured in the Options dialog. For DDE output, go to the General tab and check the "Enable DDE output" box. For DDE input, go to the Data Source tab and select "DDE" as the data source.
(Adapted from Mark Landgraf's "ATCS Instructions.txt")