电子工程师技术服务社区
- 社区首页
- 下载
- host.zip
资料描述
其他51教程请参见: proteusmcu版教程合集之51单片机
作者:武力戡乱
日期:2016-02-14(最终更新日期)
测试:
1、利用模式2、3中3的9位数据来实现多机通讯
2、编写一个简单的地址和数据切换的协议
仿真文件:
仿真效果图:
仿真说明:
较以往,本设计稍微有一点点复杂。
1、双按键、扩展一个中断。通过与的方式并查询端口。两个按键分别和两个从机通讯。
2、从机地址选择。为求简化,本设计从机只设计一套从机程序,所有需要进行从机地址的现场配置。备注:请不要把从机地址配重复,这样会导致两个从机同时接受活不接受数据。
3、当按下按键,主机会显示主机的拨码上开关的拨码的次序,并且对应按键的从机也显示。
4、接受过程如下:地址接受,振铃响起;判定是否呼叫自己而定是否切换接受模式。
void isr_uart(void) interrupt 4
{
unsigned char uart_temp;
if (ri == 1)
{
uart_temp = sbuf; // 接受串口信息
if(addr_flag == 0) // 从机是处在只接受地址还是同时接受地址和数据模式
{
addr = 255 - p1; // 读取地址
if(uart_temp == addr) // 判定是否在呼叫自己
{
sm2 = 0; // 切换模式
addr_flag = 1; // 转换标记
}
}
else
{
p2 = uart_temp; // 显示接受数据
sm2 = 1; //