编辑: JZS133 2019-07-01

H欢迎邮购本刊! #$! 年光盘版,每套!%%元《电子技术应用》&

%%&

年第 期 字节, 表示传送数据的校验和.%&

'

%0N OC ]K(0)_ O E]K(0)'

O! ]KM99]K&

9 OEC]-%0N_ Ohttp://doc.xuehai.net/b32bdc3ae8386541019909047.htmlaE]M, ]K, ]b 设置定时器9为方式! 定时器9使能 设定波特率$#. NMR 6DX6(0) 设置串口为方式S(#^AX) 硬件系统结构 在()* ,%-总线协议基础上,笔者构建了一个实际的自动售卖系统,系统原理图如图.所示./(%通过读钞机和读卡器交互,控制外设的()*总线与投币机、 运转,并从外设获得用户的支付情况.同时,/(%也负责处理与用户之间的交互,驱动液晶显示,处理键盘输入,驱动符合用户需要的电机运转出货.在本项目中, /(%还需通过(0)1(自动拨号连接公司总部的服务 器,将销售数据传送回公司. 如图.所示,所有()*外设均挂在同一总线上,由总线提供!2/和3/的电源,数据线与单片机的串口相连. (字节的传送!) 这里需要注意的是:发送数据时要根据需要设置方式位,而接收数据时要返回方式位的值,以判断是否收完 [此处图片未下载成功] 所有数据. 传送字节 <

=>

IcAX*dXDYFGH=<

^dXDe^AXcWCDZ ――准备发送的字节 形参:^dXD― [ ――预备要设置的方式位cWCD― *U]6*T7^dXD]fHA@DYgK,Z] 设置方式位 发送字节 等待发送完毕 该单本项目中选用的单片机为)45546)63 !7-.片机代码级兼容(h39系列单片机,在使用外存的情况下仍然可以使用2个-0作为数据, 0,带外设的能力较强.但它只有一个串口,控制()*总线和控制因此必须将串口进行复用.通(0)1(都需要使用串口,过一个译码器实现选通功能. , ] 接收字节Bh<

=Jc=CAI=^@D =<

MDGDAVD*dXhttp://doc.xuehai.net/b32bdc3ae8386541019909047.htmlDYFGH=<

P^dXDeFGH=<

P^(WCDZ ――返回接收到的字节值 形参:P^dXD― ,-./0123会话控制 将/(%与外设之间通过()*总线的会话分为四个层次: (串口初始化9) 初始化串口时,主要工作是设置波特率(和传#. )输方式(.为顺利获得#. 波特率,单片机采用99位)采用7<

=>

?@A>

9的晶振为99: 3#!(&

;

.源代码如下(语言编写): 一些常量定义 >

DFGH=<

F>

IAJ>

DCGH=<

BCDEA>

DKLM16-0N61 ODDBCDEA>

D(4QL*50%'

L6,R1S.BCDEA>

D1MMLK,(1L0TK OU9 P3: 毫秒P P数据块最大长度P P超时P [ ――返回接收到的字节的方式位P^(WCD― 返回值: ―超时,9―成功接收K(0)_ OE ]K(0)'

O 9]K&

N61]K5 O ]K7 ]KM 9] @DYgM,__gK7 Z ]K7 ]AEYM,Z[ , ]P^dXD6*T7]P^(WCD*U]<

DXF<

>

9]bD@ID[ , ]<

DXF<

>

]bb 超时 返回字节值 返回方式位 已接收字节 等待接收字节直至超时 定时器 使能 设置超时门限 设置定时器 为方式9Y9.位Z >

D1MMLN0L(0)1L*,K OU! P未收到http://doc.xuehai.net/b32bdc3ae8386541019909047.html最后字节P BCDEA>

D1MML%&

1%'

6T( OUS P校验和错P BCDEA>

D4%'

O BCDEA>

DM1K O==BCDEA>

DN4'

OEE 初始化串口VWAC,>

AX6D<

A=@-W<

XYZ[ 《电子技术应用》! !年第#期本刊投稿邮箱$! #$%&

'

!(&

)*(&

%!# 计算机应用 (<

)数据块的传送 这部分与下面的会话部分放在一个函数体内实现.(6)会话 这是>

?4会话控制的核心部分.根据需要传送数据包,计算校验字节,控制方式位,在时序允许的响应时间内接受外设返回的数据,做出3/@或A3@等反应.并且按照>

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题