条形led显示屏远程控制系统 第12页
- 37 -
侦 听总 线 上 的 数 据 。 若 从机 需要 发 送 数 据 , 则 必须 等 到 主机
才可 提 出 请 求。 在 这 种 通 信模 式 下 从机 不会 “ 侦听 ” 其 他从
号, 因 此 不 会 对 其 他 从 机 产生 错 误 的响 应。 系 统 上 电 或 复位
SM 2 位置 1 , 处 于 只接 收地 址 帧 监听 状 态 。主 机向 从 机发 送
机接 收 到 地 址 帧 后, 将 其 与本 地 地 址比 较, 判 断 是 否 一致
则清 除 S M 2 , 同时 发送 应 答 帧 , 进 入 通 信状 态 , 其 他 与 本地
则保 持 S M 2 位 不变 , 继 续 监 听。 主 从 机 均以 中 断 方 式 进 行通
如图 4 . 8 所 示。
图 4 . 8 多 机 通 信 流 程图
444 ... 444 .. 4 通 信 程 序 设计
// * 通信 程序 CCC 55 1描 述 ** /
vo i d r e c ( ) i n t e r r u p t 4 / * 串 口 中 断 服务 程 序* /
{ s t a t i c u n c h ar m , n ;
if ( T I ) {
吉 林大 学 工程 硕 士学 位 论文
- 38 -
TI = 0 ;
se n t _ s w = 0 ;
}
el s e {
RI = 0 ;
if ( S M 2 ) / * 对 照 地址 * /
{
if ( S B U F = = N o ) { / * 地址 符合 * /
SM 2 = 0 ;
co m m = 0 ;
n= 0 ;
re c i = 1 ;
}
}
el s e i f ( c o m m = = 0 )
{/ * 发 送 命令 * /
SB U F = c o m m ;
if ( c o m m = =0 X 0 D )
{ / * 改变 F L AS H 内 容, 1 级 命令 * /
TR 0 = 0 ; / * 暂 时 不 显示 * /
P1 = 0 x f f ;
P2 = 0 x f f ;
pa u s e = 0 ;
IS P _ C M D = 3 ;
fo r ( I S P _ A D D R H = 0 x 2 8 ; I S P _ A D D R H < 0 x 3 0 ; )
{/ * 清空 E E R O M * /
tr i g _ i s p ;
IS P _ A D D R H + = 2 ;
}
IS P _ A D D R H = 0 x 2 8 ;
}
}
吉 林大 学 工程 硕 士学 位 论文
- 39 -
el s e i f ( c o m m = =0 X 0 C )
{/ * 自定 义 显示 * /
if ( n = = 0 )
{/ * 发 送 字 数长 度, 2 级 命令 * /
n= S B UF ;
ds p _ n u m = n ; / * 接受 显 示 字 数 个数 * /
if ( n > 7 ) / * 计 算 发 送 字 形 编 码 字 节, 先 发送 1 页*
m= 0 ;
el s e / * 每 个 字形 3 2 个 字 节 编码 * /
m= n < < 5 ;
}
el s e
{/ * 发 送完 一 组数 据 * /
pa u s e = 0 ;
if ( c r c _ c o d e ! = S B U F ) / * 判断 C R C 错误 * /
{/ * 要 求 重 新 发送 * /
se n t _ s w = 1 ;
SB U F = E R R ;
}
el s e
{/ * 准 备 写入 E E P R O M * /
IS P _ A D D R L = 0 ;
IS P _ C M D = 2 ; / * 写 命令 * /
if ( n < 8 )
{/ * 判 断 接 收 长度 * /
m= n < < 5 ;
n= 0 ;
}
el s e
m= 0 ;
do
{/ * 写入 E E R O M * /
吉 林大 学 工程 硕 士学 位 论文
IS P _ D A T A = r e g [ m ] ;
m- - ;
tr i g _ i s p ;
IS P _ A D D R L + + ;
}w h i l e ( m ! = 0 ) ;
IS P _ A D D R H + + ; / * 准 备 接 受下 1 组 字 形编
se n t _ s w = 1 ;
SB U F = O K ;
}
}
}
el s e
{/ * 其 他 命 令* /
SM 2 = 1 ; / * 通 讯 结束 * /
if ( c o m m = = ' d ' | | c o m m = = ' D ' )
{/ * 改 变 显 示 内 容: 0 - 实 验 室, 1 - R O M , 2 - 自 定义 * /
di s p = S B U F ;
co u n t 1 = 0 ; / * 从头 显示 * /
co u n t 2 = 0 ;
co u n t 3 = w a i t ;
co u n t = 0 x f ;
if ( d i s p = = 1 )
{/ * 显示 R O M 信息 * /
ds p _ n u m = 1 4 ;
fo r ( n = 0 ; n < 1 9 2 ; n + + )
re g [ n ] = m e s 1 [ n ] ;
co u n t 1 = 0 ;
co u n t 2 = 0 ;
co u n t 3 = w a i t ;
}
el s e i f ( d i s p = = 2 )
{/ * 显 示自 定 义信 息 * /
<< 上一页 [11] [12] [13] [14] [15] [16] 下一页
条形led显示屏远程控制系统 第12页下载如图片无法显示或论文不完整,请联系qq752018766