// Test9.pas
Program NewProgram;
// 本程序使用 Trubo51( https://turbo51.com/ ) 单片机 PASCAL 编译器
//
//
// 实例 9 演示了单片机串口 按自定协议收发串口数据
// 假设有PC可以发送如下多种命令给单片机
// .打开或关闭指定的LED灯
// .打开或关闭蜂鸣器
// .查询LED灯的状态或蜂鸣器状态
// 为此,设计PC发送的命令帧为 4 个字节:
// 起始|命令|设备号|检验
// 起始:固定为 $01
// 命令
// $4F(字符O) : 开启
// $43(字符C) : 关闭
// $51(字符Q ): 查询
// 检验为前面三个字符值按位与之值
// 设备号:$31(字符 0)--$38(字符 7) LED1 -- LED8
// $39 (字符 9) 蜂鸣器
// 单片机发回PC的应答帧为 4 个字节:起始|设备号|状态|检验
// 起始:固定为 $01
// 设备:
// 命令
// $4F(O ): 已开
// $43(C ): 已关
//
// 检验为前面三个字符值按位与之值
// CPU 电路图请看 实例 1
//
//
uses
Delay,MyDefine;
Type
TCmdFrame=Array[1..4] of Byte ;
var
RxFrame,TxFrame:TCmdFrame;
RxCnt,TxCnt:byte;
const
// 命令
CMD_BEGIN=$01 ;
CMD_OPEN= $4F ; // 开启
CMD_CLOSE=$43 ; // 关闭
CMD_QUERY=$51 ; // 查询
// 设备状态
DEV_ON=CMD_OPEN ;
DEV_OFF=CMD_CLOSE;
//设备编号
DEV_LED1=$30 ; // LED1
DEV_LED2=$31 ;
DEV_LED3=$32 ;
DEV_LED4=$33 ;
DEV_LED5=$34 ;
DEV_LED6=$35 ;
DEV_LED7=$36 ;
DEV_LED8=$37
51单片机-PASCAL语言实例9:串口编程之多字节收发
最新推荐文章于 2021-06-03 16:53:37 发布