保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基于MDB/ICP协议的自动售卖系统的主控制器实现


初始化串口时,主要工作是设置波率(9600)和传输方式(11位)。为顺利获得9600波特率,单片机采用的晶振为11.0592MHz。源代码如下(采用Franklin C51语言编写):

// 一点常量定义

#define uchar unsigned char

#define T_RESPONSE 0xee //*5.0毫秒*/

#define MAX_BLOCK_SIZF 36 /*数据块最大长度*/

#define ERR_TIME_OUT 0x81 /*超时*/

#define ERR_NO_MODE_BIT 0x82*/未收到最后字节*/

#define ERR_CHECKSUM 0x83 /*校验和错*/

#define ACK 0x00

#define RET 0xaa

#define NAK 0xff

//初始化串口

void InitSerialPort()

{

SCON = 0xd0; //设置串口为方式3(9bit)

TMOD &=0x0f;

TMOD I=0x20; //设置定时器1为方式2

TR1 =1; //定时器1使能

TH1 = 0xfd; //设定波行率:9600 NRZ

PCON &=0x7f; //Set SMOD=0

RI=0;

TI=0;

}

    (2)字节的传送

这里需要注意的是:发送数据时要根据需要设置方式位,而接收数据时要返回方式位的值,以判断是否收完所有数据。

// 传送字节

void TransmitByte(uchar byte,bit mode)

//形参:byte——准备发送的字节

// mode——预备要设置的方式位

{

TB8=mode; //设置方式位

SBUF = byte; //发送字节

While(!TI); //等待发送完毕

TI=0;

}

//接收字节

#pragma disable

uchar Receiv

《基于MDB/ICP协议的自动售卖系统的主控制器实现(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/161161.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。