版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成绩:课 程 设 计 报 告 书所属课程名称 单片机原理与接口技术 题 目 双机串行通信 分 院 机电学院 专 业、班 级 机械设计制造及其自动化 b0902 学 号 0612090218 学 生 姓 名 爱谁谁 指 导 教 师 周春明 2012年7月13日目 录1 课程设计任务书12 总体设计23 硬件系统设计34 程序设计65 程序调试及结果分析116 总结137 参考文献14辽东学院一 课 程 设 计 任 务 书课程设计题目: 双机串行通信 课程设计时间:自 2012 年7月2日起至 2012 年 7月 13日。课程设计要求: 1.通过本次课题设计,应用单片机原理及其接口技术等所学相关知
2、识及查阅资料,完成简易双机串行通信设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。2.两片单片机之间进行串行通信,发送端将0f循环发送到接收端,并在接收端显示。接收完成后,led灯亮。 学生签名:史强 2012 年7月 13日课程设计评阅意见项目课程设计态度评价10%出勤情况评价10%任务难度、量评价10%创新性评价10%综合设计能力评价20%报告书写规范评价20%答辩20%成绩综合评定等级评阅教师: 2012年 月 日二 总体设计2.1 设计目的 通过本次课题设计,应用单片机原理及其接口技术等所学相关知识及查阅资料,完成简易双机串行通信设计,以达到理论与实践更
3、好的结合、进一步提高综合运用所学知识和设计的能力的目的。通过本次设计的训练,可以使我在基本思路和基本方法上对基于mcs-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。2.2 设计任务两片单片机之间进行串行通信,发送端将0f循环发送到接收端,完成后在接收端的led 灯亮。2.3 设计方法本次设计,对于两片89c51,采用rs232进行双机通信。发送方的数据由串行口txd段输出。接受方接收后,灯亮。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收,主机先送aah给从机,当从机接收到aah后,向主机回答bbh。主机收到bbh后就
4、把数码表tab16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00h给主机;否则发送ffh给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。三 硬件系统设计3.1基本功能:利用89c51完成两片单片机之间进行串行通信。3.2可选器件:51系列单片机、电容、led灯 本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。在单片机的应用系统程序设计时,常用的是汇编语言和c语言。c语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类
5、型丰富,具有结构化的控制语句。本着学习和创新的精神,我们采用汇编语言编写了程序。3.1 51单片机串行通信功能图1.at89c51计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为uart(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1
6、)数据缓冲器(sbuf)接受或发送的数据都要先送到sbuf缓存。有两个,一个缓存,另一个接受,用同一直接地址99h,发送时用指令将数据送到sbuf即可启动发送;接收时用指令将sbuf中接收到的数据取出。(2)串行控制寄存器(pcon)scon用于串行通信方式的选择,收发控制及状态指示,各位含义如下:sm0sm1sm2rentb8rb8tirism0,sm1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表sm0sm1工作方式功能波特率 0008位同步移位寄存器(用于i/o扩展)forc/1201110位异步串行通信(uart)可
7、变(t1溢出率*2smod/32)10211位异步串行通信(uart)forc/64或forc/3211311位异步串行通信(uart)可变(t1溢出率*2smod/32)sm2:多机通信控制位。ren:接收允许控制位。软件置1允许接收;软件置0禁止接收。tb8:方式2或3时,tb8为要发送的第9位数据,根据需要由软件置1或清0。rb9:在方式2或3时,rb8位接收到的第9位数据,实际为主机发送的第9位数据tb8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。ti:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。ri:接收中断标志。接收完一
8、帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收sbuf中。(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器t1作为波特率发生器,t1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器pcon其最高位为smod。(6)波特率计算当定时器t1工作在定时方式的时候,定时器t1溢出率=(t1计数率)/(产生溢出所需机器周期)。由于是定时方式,t1计数率= forc/12。产生溢出所需机器周期数=
9、模m-计数初值x。3.2 整体电路设计最终设计电路如下图3所示,发送方的数据由串行口txd段输出,经过电平转换芯片max232将ttl电平转换为rs232电平输出,经过传输线将信号传送到接收端。图2.整体电路四 程序设计通过通信协议进行发送接收,主机先送aah给从机,当从机接收到aah后,向主机回答bbh。主机收到bbh后就把数码表tab16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00h给主机;否则发送ffh给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。4.1 串行通信软件实现(1)串行口
10、工作于方式1;用定时器1产生2400bit/s的波特率,工作于方式2。(2)功能:将本机rom中数码表tab16中的16个数发送到从机,并保存在从机内部rom中,从机收到这16个数据后送到一个数码管循环显示。(3)通信协议:主机首先发送连络信号(aah),从机接收到之后返回一个连络信号(bbh)表示从机已准备好接收。(4)通信过程使用第九位发送奇偶校验位。(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00h,否则返回ffh。(6)主机发送一个数据后,等待从机返回数据;若为00h,则继续发送下一个数据,若为ffh,则重新发送数据。4.2 程序流程图(1)发送端程序流程图主程
11、序开始从机是否回答bbh?程序初始化主机发送aahn主机发送数据,检验和输出完成?n清除标志位(2) 接收方程序流程图主程序开始检验和相等?程序初始化接收数据,计算检验和n发送00h至主机接收完成?n清除标志位发送ffh,重新接收显示4.3:源程序汇编语言程序:发送程序清单如下: start:clr ea mov tmod,#20h ;定时器1置为方式2 mov th1,#0f4h ;装载定时器初值,波特率2400 mov tl1,#0f4h mov pcon,#00h setb tr1 ;启动定时器 mov scon,#50h ;设定串口方式1,且准备接收应答信号 loop1:mov sbu
12、f,#0aah ;发联络信号 jnb ti,$ ;等待一帧发送完毕 clr ti ;允许再发送 jnb ri,$ ;等待2号机的应答信号 clr ri ;允许再接收 mov a,sbuf ;2号机应答后,读至a xrl a,#0bbh ;判断2号机是否准备完毕 jnz loop1 ;2号机未准备好,继续联络 loop2:mov r0,#40h ;2号机准备好,设定数据块地址指针初值 mov r7,#10h ;设定数据块长度初值 mov r6,#00h ;清校验和单元 loop3:mov sbuf,r0 ;发送一个数据字节 mov a,r6 add a,r0 ;求校验和 mov r6,a ;保存
13、校验和 inc r0 jnb ti,$ clr ti djnz r7, loop3 ;整个数据块是否发送完毕 mov sbuf,r6 ;发送校验和 jnb ti,$ clr ti jnb ri,$ ;等待2号机的应答信号 clr ri mov a,sbuf ;2号机应答,读至a jnz loop2 ;2号机应答“错误”,转重新发送 ret ;2号机应答“正确”,返回接收程序清单如下: start:clr ea clr p1.0mov tmod,#20h mov th1,#0f4h mov tl1,#0f4h mov pcon,#00h setb tr1 mov scon,#50h ;设定串口方
14、式1,且准备接收 loop1:jnb ri,$ ;等待1号机的联络信号 clr ri mov a,sbuf ;收到1号机信号 xrl a,#0aah ;判是否为1号机联络信号 jnz loop1 ;不是1号机联络信号,再等待 mov sbuf,#0bbh ;是1号机联络信号,发应答信号 jnb ti,$ clr ti mov r0,#40h ;设定数据块地址指针初值 mov r7,#10h ;设定数据块长度初值 mov r6,#00h ;清校验和单元 loop2:jnb ri,$ clr ri mov a,sbuf mov r0,a ;接收数据转储 inc r0 add a,r6 ;求校验和
15、mov r6,a djnz r7, loop2 ;判数据块是否接收完毕 jnb ri,$ ;完毕,接收1号机发来的校验和 clr ri mov a,sbuf xrl a,r6 ;比较校验和 jz end1 ;校验和相等,跳至发正确标志 mov sbuf,#0ffh ;校验和不相等,发错误标志 jnb ti,$ ;转重新接收 clr ti end1:setb p1.0mov sbuf,#00h ret五 系统调试与存在的问题在protues上进行仿真实验。首先使用keil将编写完成的程序编译生成hex文件,将hex文件录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端接收到数据。图
16、4.仿真图5.1 硬件调试常见故障:1、逻辑错误:它是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路等。2、元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、集成电路安装方向错误等。3、可靠性差:因其可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;走线和布局不合理也会引起系统可靠性差。4、电源故障:若样机由电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。调试方法:包括多级调试和联机调试。在调试过程中要针对可能出现的故障认真分析,直至检查出原因并排除。本次硬件调试过程中,对所出现的问题进行了认真的分析和改正,最后能够很好的达到设计要求的效果。5.2 软件调试软件调试一般分为以下四个阶段:1、 编写程序并查错;2、 在汇编语言的编译系统中编译源程序3、 对程序进行编译连接,并及时发现程序中存在的错误;4、 改正错误。在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。 六 设计小结经过繁忙而又紧张的课程设计,终于顺利的完成了设计任务。虽然在这段时间里每天都那么繁忙,但是在这忙碌的过程中却得到了许多的收获。经过课程设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年铝箔及铝合金箔项目发展计划
- 一年级小学生童话寓言故事10篇
- 小学二年级暑假作文300字10篇
- 2024年数字化X射线机项目发展计划
- Sulisobenzone-Standard-生命科学试剂-MCE
- Sudan-II-d6-Sudan-orange-RPA-sub-d-sub-6-sub-生命科学试剂-MCE
- 2024-2025学年八年级物理下册8.1牛顿第一定律学案含解析新版新人教版
- 九年级物理全册10.2内能习题2新版北师大版
- 2024-2025学年新教材高中化学第一章原子结构与性质2.1原子结构与元素周期表教案新人教版选择性必修2
- 2025届新教材高考地理一轮复习课时规范练13岩石圈物质循环内力作用与地表形态含解析鲁教版
- 英语学科家长会模板
- 中华诗词之美期末考试答案
- 光伏居间合同协议书范本
- 幼儿园家长助教课件下载两篇
- 妇科病历书写培训
- 垃圾分类知识竞赛试题100道
- 幼儿园施工组织设计施工方案
- 1.2数据的计算第一课时教案教科版高中信息技术必修1
- 人教版小学六年级英语上册全册
- 内分泌科常用药物使用注意事项
- 2024-2030年中国桥梁行业市场运营现状及行业发展趋势报告
评论
0/150
提交评论