基于单片机at89c51全双工串行口通信设计

基于单片机at89c51全双工串行口通信设计

ID:5387633

大小:175.29 KB

页数:3页

时间:2017-12-08

基于单片机at89c51全双工串行口通信设计_第1页
基于单片机at89c51全双工串行口通信设计_第2页
基于单片机at89c51全双工串行口通信设计_第3页
资源描述:

《基于单片机at89c51全双工串行口通信设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3期(总第127期)机械管理开发2012年6月No.3(SUMNo.127)MECHANICALMANAGEMENTANDDEVELOPMENTJun.2012基于单片机AT89C51的全双工串行口通信设计朱志清(国营第七八五厂第一研究所,山西太原030024)摘要:计算机控制系统中,多数场合要多个串行口,由于串行口初始化及中断程序会增加时间开销,往往会使其在规定的时间内,完成不了一个完整的控制周期。为解决此瓶颈,提出了一种基于单片机AT89C51的全双工串行口设计。计算机只需通过双端口RAM与其相连,

2、就使串行口通信等效为计算机的RAM读写操作,从而大大减少了计算机的时间开销。关键词:AT89C51;全双工通信;接收;发送中图分类号:TP368.1文献标识码:A文章编号:1003—773X(2012)03—0193—030引言实际接收到的数据字节数控制系统中,运算速度及实时陛是设计人员必须是否相等来判断这一祯数考虑的问题。本文提出的基于单片机AT89C51的全据是否可用。4)使用该双工串行口,可大大减少计算机的运行时间,设计合程序只需根据需要将发理,价格低廉,自主性强,在工业控制的领域中具有广送、接收数

3、据单元起始地泛的应用前景。址分别送入70h、71h和1系统的总体设计72h、73h。系统中计算机Pc作为主机,AT89C51作为从机,3.2程序流程图(见图3)其间采用双端口RAM连接,因此,主机的接收和发送串行口中断服务程数据只需操作双端口RAM,从机通过读写双端口RAM序,见图4。时钟0中断服的数据后,自行完成串行口的接收和发送,见图1。务子程序,见图5。3-3程序清单内部RAM:70H,71H——发送单元地址72H,73H——接收单元地址74H——记录发送数据长度75H——记录接收数据长度外部RAM

4、:ooooH——发送图1系统的总体结构图数据长度单元2串行口硬件设计0001H一0oFFH——发送数据单元图3程序流程图串行口硬件设计,见图2。3串行口软件设计3.1软件设计简要说明图2串行口硬件设计1)程序使用了单片机串行口中断和0#定时器中断。采用全双工通信方式,波特率为750kbpst”。2)单片机串行通信数据祯为如下结构:第一字节,数据祯长度;第二字节起,数据祯正文(长度在256字节以内)。3)0#定时器主要用于检验接收数据的完整性。0#定时器在每次接收到一祯数据的第一个字节时启动,定时为64s,

5、以后每收到一个字节清一次定时器,当超过64s仍未收到新数据时,定时器会引发单片机中断,通知一包数据已经接收完毕,系统可通过比较数据包中数据长度字节与图4串行口中断服务程序收稿日期:2011-12一l9;修回日期:2012-02-18作者简介:朱志清(1975一)'-k-,山西代县人,工程师,本科,从事电子电路设计工作。E-mail:ZZL95321@163.com..·193·第3期(总第127期)机械管理开发2012年6月OIOOH⋯一~接收数据长度单元;串行口中断子程序010lH—O1FFH一接收数据

6、单元Sry:jbti,tran0220H一允许,禁止发送单元jbri,rec02脯零位地址:01H发送控制信号sjmpCCC0IH=I发送01H=0发送结束72H、73H清零tran:clrtl;发送子程序接收控制信号jnb01h,CCC02H=l接收movdph,71h02H=0接收结束图5时钟口中断movdpl,70h0RGO0oOH服务子程序movxas@dptrLJMPSTARTmovsbuLa0RGooOBHinc70hUMPclkdj.z74h,CCC;发送完成否,否则返回0RG0023Hcl

7、r01h;发送完成初始化发送单元,返回LJMPsrymov70h,#OOh0RGO10OHmov71h,#00hSTART:movsp,#30hmov74h,#00hMOVSC0N.#90HsjmpCCCmov87h,#80hM0VTM0D.}}O1Hrec:clrri;接收子程序CLRRSoclrtrOCLRRSljb02h,latermovdptr,#0220hsethO2h;接收第一字节置位02H,并清零75H单元mova.}}0ohmov75h,#00hmovx@dptr,alater:movdp

8、l,72h接收非第一字节clrO1hmovdph,73hclr02hmovassbufmov70h,#00hmovx@dptr,amov71h,#00h;此处设置接受数据单元为0000H,可更改inc75Hmov72h,#OOh;此处设置接受数据单元为010oH,可更改inc72hmov73h.#o1hmovtl0,#80hmov74h.#oohmovth0,#0fibmov75h.#00hsetbtrOSETBETOCCC:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。