串行定时发送接收系统.docx

上传人:b****6 文档编号:7871303 上传时间:2023-05-12 格式:DOCX 页数:21 大小:274.05KB
下载 相关 举报
串行定时发送接收系统.docx_第1页
第1页 / 共21页
串行定时发送接收系统.docx_第2页
第2页 / 共21页
串行定时发送接收系统.docx_第3页
第3页 / 共21页
串行定时发送接收系统.docx_第4页
第4页 / 共21页
串行定时发送接收系统.docx_第5页
第5页 / 共21页
串行定时发送接收系统.docx_第6页
第6页 / 共21页
串行定时发送接收系统.docx_第7页
第7页 / 共21页
串行定时发送接收系统.docx_第8页
第8页 / 共21页
串行定时发送接收系统.docx_第9页
第9页 / 共21页
串行定时发送接收系统.docx_第10页
第10页 / 共21页
串行定时发送接收系统.docx_第11页
第11页 / 共21页
串行定时发送接收系统.docx_第12页
第12页 / 共21页
串行定时发送接收系统.docx_第13页
第13页 / 共21页
串行定时发送接收系统.docx_第14页
第14页 / 共21页
串行定时发送接收系统.docx_第15页
第15页 / 共21页
串行定时发送接收系统.docx_第16页
第16页 / 共21页
串行定时发送接收系统.docx_第17页
第17页 / 共21页
串行定时发送接收系统.docx_第18页
第18页 / 共21页
串行定时发送接收系统.docx_第19页
第19页 / 共21页
串行定时发送接收系统.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

串行定时发送接收系统.docx

《串行定时发送接收系统.docx》由会员分享,可在线阅读,更多相关《串行定时发送接收系统.docx(21页珍藏版)》请在冰点文库上搜索。

串行定时发送接收系统.docx

串行定时发送接收系统

课程设计任务书

学生姓名:

赵云成专业班级:

机械1301

指导教师:

徐汉斌工作单位:

机电工程学院

题目:

串行定时发送接收系统设计

初始条件:

1.采用MCS51作为主控芯片;

2.设计以RS232为标准的串行通讯系统;

3.设计实现定时发送数据,同时可接收不同命令改变发送数据。

要求完成的主要任务:

1、查阅参考资料,自学相关可编程接口芯片的内部结构、工作方式和初始化编程过程;

2、根据设计系统的具体功能和性能参数,明确设计目标;

3、单片机系统及其扩展接口电路设计,绘制系统硬件原理图;

4、编制系统控制源程序,绘制源程序流程图,包括初始化和监控程序;

5、撰写设计说明书(包括参考资料目录,字数不少于5000字)

时间安排:

(两周)

序号

内容

所用时间(天)

1

查阅资料,学习相关芯片知识

2

2

系统及扩展电路硬件设计

3

3

初始化程序和应用程序设计

3

4

相关硬件电路和程序调试

3

5

课程设计答辩

1

合计

12

指导教师签名:

2015年12月27日

系主任(或责任教师)签名:

年月日

目录

1.功能需求分析········································3

2.总体方案说明········································4

3.系统硬件部分设计···································5

3.1硬件总体原理图设计································5

3.2主控芯片选型······································6

3.3其它构成部分说明··································6

3.3.1RS232C中的DB-9·································6

3.3.2RS232C中的MAC232芯片·························7

3.3.3时钟电路·········································8

4.系统软件部分设计··································10

4.1软件总体设计·····································10

4.2主程序说明······································10

4.3子程序模块说明···································11

4.3.1初始化模块·····································11

4.3.2串行口中断模块·································11

4.3.3数据处理模块···································12

5.proteus仿真测试····································13

5.1proteus仿真测试图··································13

5.2proteus仿真效果介绍································15

6.总结与体会·········································18

7.参考文献············································19

附录···················································20

1.功能需求分析

串行通信就是数据在单条一位宽的传输线上,一比特接一比特地按顺序传送。

与并行通信一个字节(8位)数据在8条并行传输线上同时由源传到目的地不同,串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序传送。

这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。

由此可见,串行通信节省传输线,尤其是在远程通信时,此特点尤为重要,这也是串行通信的主要优点。

但是串行通信的数据传送效率低。

与并行通信比,这也这是显而易见的。

这也是串行通信的主要缺点。

串行通信是数据按顺序依次传送的通信方式,它的优点是只需要一对传输线就可以在系统间交换信息,特别适合于计算机与计算机之间,计算机与外部设备之间的远距离通信。

而且串行通信可以利用电话线,大大降低了传输成本,但是传输速率较低。

本次课程设计要求设计串行定时发送接收系统,主要利用AT89C51芯片,以RS232为串行通讯标准实现定时发送数据,同时可接收不同命令改变发送数据。

利用AT89C51芯片,以RS232为串行通讯标准设计定时中断等程序,达到串行定时发送接收的功能。

发送3组数据,达到定时发送接收功能。

本次设计为串行定时发送接收功能的系统。

 

2.总体方案说明

在本串行定时发送接收控制系统中,使用AT89C51芯片实现串行口的接收与定时发送数据,设计工作原理如下:

储存器中有等待发送的三组数据,分别为第一组0到9循环,第二组A到Z24个大写字母,第三组a到z24个小写字母,开机后,系统自动循环数字0到9,T0采用方式2定时中断,T1采用方式1定时中断后发送已在缓冲区准备好的数据。

接受数据后产生中断信号取走该组数据,然后储存在储存器上。

在等待产生定时中断时会不断的循环比较命令区中的数据是否有不同,如果不同就会转向数据处理程序,将新命令指定的数据从储存器中取出然后处理成要求的数据存放在缓冲区中等待发送。

当输入0时定时发送第一组,输入1时定时发送第二组数据,输入3时发送第三组数据。

开机后,系统自动发送0到9循环,当输入0时,系统发送第一组0-9循环,当手动输入为1时,发送第二组数据A-Z24个字母循环,手动输入3时发送第三组数据,发送第三组a-z24个小写字母循环。

输入为其他时,没有反应。

且不断循环。

 

3.系统硬件部分设计

3.1硬件总体原理图设计

 

图3-1串行定时发送接收系统硬件原理图

如图3-1所示,串行定时发送接收系统由AT89C51单片机,MAX232电平转换芯片,DB9接口,时钟电路,复位电路组成。

其中,MAX232芯片的T1IN引脚与AT89C51的P3.1(TXD)引脚相连,R1OUT引脚与P3.0(RXD)引脚相连;TIOUT引脚与DB9接口2(TXD)引脚相连,R1IN引脚与RXD相连。

晶振电路两引脚与单片机的XTAL1,XTAL2引脚相连。

复位电路接AT89C51单片机RESET引脚。

单片机供应5V电压电源。

3.2主控芯片选型

本次设计选用单片机主控芯片为AT89C51单片机,利用定时中断,实现定时发送接收功能

AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器。

如图3-2,其中,主要使用引脚如下:

WR:

写信号输出;

RD:

读选通信号;

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入;

XTAL2:

来自反向振荡器的输出;

RESET:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间;

/EA/VPP:

当/EA保持低电平时,在此期间外部程序存储器(0000H-FFFFH)。

当/EA端保持高电平时,此期间优先使用内部程序存储器。

图3-2AT89C51单片机引脚排列

P3.1(TXD)引脚与MAX232芯片的T1IN引

脚相连

P3.0(RXD)引脚与R1OUT引脚相连。

晶振电路两引脚与单片机的XTAL1,

XTAL2引脚相连。

 

3.3其他构成部分说明

3.3.1RS232C中的DB-9

单片机系统与PC设备之间的通信主要采用异步串行通信方式,通过RS-232C标准接口实现。

RS232c接口标准使用一个一个25针连接器,绝大多数设备只使用其中9个信号,所以我们用9针连接器,称为DB-9,如下图所示

TXD:

发送数据。

串行数据发送端

RXD:

接收数据。

串行数据接收端

RTS:

请求发送。

用于通知数据通信设备准备接收数据

CTS:

清除发送(允许发送)。

DTR:

数据终端准备好。

DSR:

数据装置准备好。

GND:

信号地

图3-3DB9接口

由于RS-232C通信方式规定了自己的电气标准,不能直接满足TTL电平的传送要求。

为了通过这些标准接口通信,必须在单片机应用系统中加入电平转换芯片,以实现TTL电平向标准接口电平的转换,通常采用单5V工作电源的MAX232芯片实现。

3.3.2RS232C中的MAC232芯片

图3-4MAX232芯片与DB9连接

如图3-4,第一部分是电荷泵电路。

由1、2、3、4、5、6脚和4只电容构成。

功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。

第二部分是数据转换通道。

由7、8、9、10、11、12、13、14脚构成两个数据通道。

TTL/CMOS数据从11引脚(T1IN)、10引脚(T2IN)输入转换成RS-232数据从14脚(T1OUT)、7脚(T2OUT)送到电脑DB9插头;DB9插头的RS-232数据从13引脚(R1IN)、8引脚(R2IN)输入转换成TTL/CMOS数据后从12引脚(R1OUT)、9引脚(R2OUT)输出。

第三部分是供电。

15脚GND、16脚VCC(+5v)。

使用MAX3232芯片的目的是转换电平。

使用串口进行通信时,我们最主要关心的是以下这三个引脚:

GND,RXD,TXD

3.3.3时钟电路

图3-5时钟电路

主要利用单片机芯片内部振荡电路实现,一般用晶体振荡器和电容组成并联谐振回路。

C7,C8一般取30pF左右,主要作用是帮助振荡器起振。

用来配合外部晶体实现振荡电路。

 

4.系统软件部分设计

数据发送模块

初始化模块

主程序模块

串行口中断模块

4.1系统软件总体设计

 

图4-1软件总体设计图

如图4-1所示,软件由主程序模块,数据处理模块,串行口中断模块,数据发送模块,初始化模块共五个模块构成。

4.2主程序模块

主程序模块的功能是,调用初始化程序,设置中断,设置波特率,然后开始循环检查判断是否有新命令并等待中断信号。

如果没有中断信号,程序将不断的检查判断标志,标志改变时就转去按新命令处理数据并存储在数据缓冲区。

输出0到9循环,如果有中断输入,程序将转入相应的中断服务程序。

输出相应的数据,总之主程序模块是初始化和设置中断。

流程图

开始

 

 

图4-2主程序流程图

4.3子程序模块说明

4.3.1初始化模块

初始化模块包含两个,一个定时器初始化,一个波特率初始化。

功能:

1完成定时器初始化

2设定串行口波特率

被主程序调用。

4.3.2串行口中断模块

串行口中断是判断接收信息,得到PC的指令。

若接收信息满足中断则进入中断模块,若中断开启,则执行中断程序,发送另一组数据。

开始

开启中断

清RI,启动T0

4.3.3数据处理模块

功能:

接收PC发送的指令,完成定时发送功能,通过T0定时50ms,循环发送0-9,通过接收指令,若接收指令为1,定时发送字母A-Z,若接收指令为2,定时发送小写字母a-z。

其中发送0到9月A到Z循环程序类似,若接收到PC发送指令,定时发送各组数据。

开始

开T0中断

接收PC指令

设置接收状态

发送数据

中断返回

图4-3数据处理模块流程图

 

5.系统测试

5.1proteus仿真测试图

图5-1仿真图

如图5-1为本系统仿真图,其中由于仿真过程中COMpim自带仿真模块,可不用接MAX232芯片,实际中要接入MAX232芯片,具体如前面介绍。

在完成仿真的过程中,需要加入一对虚拟端口,利用虚拟端口软件VSPD,可增加虚拟

图5-2VSPD软件增加虚拟端口图

端口,如图5-2点击增加一对虚拟端口。

然后再proteus中设置COMPIM属性

图5-3COMPIM属性设置

选择COM1,波特率设置9600,数据位8位,无效验位,停止位1位,如图5-3。

打开串行调试小助手选择COM2,波特率9600,数据位8位,无效验位,停止位1位。

5.2proteus仿真效果介绍

图5-4串口调试助手仿真数据(开机组)

图5-5输入1时串口调试助手仿真数据

图5-6输入2是串口调试助手仿真数据

启动仿真,如图5-4,,开机时定时发送0到9循环,图5-5,输入1时,定时发送A到Z循环,图5-6,输入2时定时发送a到z循环。

 

6.总结与体会

单片机应用系统设计课程设计,我分到了串行定时发送接收系统,在为期两周的课程设计中,我认真查阅关于单片机串行通信的资料,认真学习设计电路图,独立思考如何才能让程序达到要求并且可行。

本次单片机课设,我确实费了很大周折,分到题目时,我很迷茫,不是很理解题目的意思,因为题目好像有点空,但我认真查阅资料,学到了很多以前书本上没有的知识,通过这次课程设计使我懂得了理论与实际结合是很重要的。

在刚开始设计芯片时,我不懂MAX232芯片如何接,再查阅了资料后掌握了,但是有许多细节的处理方法上还是存在很大问题。

串行通信虽然在课堂上没有成为考试的内容,但其重要性不容忽视,更少的数据线和更远的传输距离是它的突出优点。

这次单片机课程设计,关于定时中断等内容,我又重新温习了一下课本,编写了程序,受益匪浅。

从拿到这个题目,虽然感到很棘手,但是我还是坚持做完了这个设计,并没有像其他同学那样萌生换题目的想法。

总之,这次课程设计,我收获很多,不枉费两周的努力和思考,同时也感谢老师的耐心指导,希望能更多的掌握单片机的知识。

 

7.参考文献

[1]李广第.单片机基础[M].北京:

北京航空航天大学,2007

[2]林立,张俊亮,曹旭东,等.单片机原理及应用-基于Proteus和KeilC[M].北京:

电子工业出版社,2009.

[3]楼然苗,李光飞.单片机课程设计指导[M].北京:

北京航空航天大学出版社,2007.

[4]王贤勇,赵传申.单片机原理与接口技术[M].北京:

清华大学出版社,2010.

[4]徐汉斌,熊才高.单片机原理及应用[M].武汉:

华中科技大学出版社,2012

[5]常敏,王涵,范江波,等.51单片机应用程序开发与实践[M].北京:

电子工业出版社,2009.

[6]张齐.单片机原理与应用系统设计[M].北京:

电子工业出版社,2010.

[7]王贤勇,赵传申.单片机原理与接口技术[M].北京:

清华大学出版社,2010.

 

附录

ORG0000H

DJMPMAIN

ORG000BH

DJMPTIM0

ORG0023H

DJMPUSART0

MAIN:

MOVTMOD,#21;设置TO为工作方式2,T1为工作方式1

MOVTH1,#0FDH;设置波特率为9600

MOVTL1,#0FDH

MOVTH0,#(65536-50000)/256

MOVTL0,#(65536-50000)MOD256;设置定时时间50ms

MOVSCON,#50H;设置串口方式1

MOVIE,#92H;中断允许寄存器开启ETO,ET1

MOVIP,#10H;中断优先控制PT1,PX0

SETBTR1;开启T1计数器

SETBTR0;开启T2计数器

MOVR1,#30H

MOVR3,#30H

MOVR2,#10

DJMP$

TIM0:

定时器0中断

MOVTH0,#(65536-50000)/256

MOVTL0,#(65536-50000)MOD256

DJNZR2,EXTI;判断计数为0时中断

MOVR2,#10;计数R2为10

MOVA,R3;

CJNEA,#30H,S3;判断为0,若A为0,跳转S3

MOVA,R1

CJNEA,#3AH,S1

MOVA,#30H

MOVR1,A

S1:

MOVSBUF,A

JNBTI,$

CLRTI

MOVSBUF,#20H

JNBTI,$

CLRTI

INCR1

RETI

S3:

CJNEA,#31H,S5;若A为1,跳转S5

MOVA,R1

CJNEA,#5BH,S4;到Z到后一位,执行S4,否则顺序执行

MOVA,#41H;从A发送

MOVR1,A

S4:

MOVSBUF,A

JNBTI,$;等待一帧数据发送完毕

CLRTI;清发送中断标志

MOVSBUF,#20H;

JNBTI,$;等待一帧数据发送完毕

CLRTI;清发送中断标志,必须软件清0

INCR1;R1自加1

RETI;中断返回

S5:

CJNEA,#32H,EXTI;判断输入2,中断,不为2,继续执行

MOVA,R1;

CJNEA,#7BH,S6;到z的后一位,执行S6,否则顺序执行

MOVA,#61H;从a发送到z

MOVR1,A

S6:

MOVSBUF,A

JNBTI,$

CLRTI

MOVSBUF,#20H

JNBTI,$

CLRTI

INCR1

RETI;中断返回

USART0:

JNBRI,EXTI1;RI串口接收中断,RI为1表示串口接收完成,

CLRES;禁止串口中断

CLRRI;关闭串口中断

MOVP0,SBUF

MOVR3,SBUF

MOVA,R3

CJNEA,#30H,A1;输入不为0执行A1,为0顺序执行

MOVR1,#30H;输出从0到9

MOVR2,#10

JMPEXTI1;

A1:

CJNEA,#31H,A2;串口接收为1,顺序执行,不为1,执行A2

MOVR1,#41H

MOVR2,#10

JMPEXTI1

A2:

CJNEA,#32H,EXTI1;串口接收2,顺序执行,开启中断

MOVR1,#61H

MOVR2,#10

EXTI1:

SETBES;允许串口中断

RETI;中断返回

END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2