课程设计单机片串口通信.doc

上传人:laozhun 文档编号:2386529 上传时间:2023-02-17 格式:DOC 页数:13 大小:100.50KB
返回 下载 相关 举报
课程设计单机片串口通信.doc_第1页
第1页 / 共13页
课程设计单机片串口通信.doc_第2页
第2页 / 共13页
课程设计单机片串口通信.doc_第3页
第3页 / 共13页
课程设计单机片串口通信.doc_第4页
第4页 / 共13页
课程设计单机片串口通信.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《课程设计单机片串口通信.doc》由会员分享,可在线阅读,更多相关《课程设计单机片串口通信.doc(13页珍藏版)》请在三一办公上搜索。

1、目 录一、摘要11. 51单片机原理1(1)51单片机的I/O口的使用原理和设置1(2)51单片机的定时/计数器的设置12. 电平转换芯片的认识和使用13. 按键的判断和使用14. 51单片机开发环境的熟悉和使用1二、课程设计的目的及基本的要求1三、设计内容提要及说明11 设计内容12 系统设计23 RS-232串行接口标准24 波特率(Baud Rate)25、线制RS-232C串行通信接线方法2四、原理图及元件清单4五、元件清单5六、单片机各引脚定义5七、系统程序流程图5八、串口通信设计的系统源程序7九、课程设计心得体会11参考文献12一、摘要1. 51单片机原理 (1)51单片机的I/O

2、口的使用原理和设置 (2)51单片机的定时/计数器的设置2. 电平转换芯片的认识和使用3. 按键的判断和使用4. 51单片机开发环境的熟悉和使用 二、课程设计的目的及基本的要求单片机已经广泛的应用于人们的日常生活中,在各个领域中起到越来越重要的作用。因此,掌握单片机的基本功能是非常重要的技能。进行课程设计是加强实践,提高动手能力的重要环节,是将所学理论知识与实际联系起来的桥梁和纽带。通过课程设计:同时在软件编程、排错调试、焊接技术及相关仪器设备的使用等各个方面得到全面的提高。掌握单片机开发过程,为将来的实际工作打下一定得基础。本课程设计以philipsP89V51RB2单片机为基础,基本要求如

3、下:1、熟悉单片机的基本机构;2、电平转换芯片的认识和使用;3、掌握按键的判断及使用;4、掌握菲利普P89V51RB2单片机的使用方法;5、掌握单片机C 语言一般的编程技巧;6、掌握单片机系统调试的一般步骤及方法;7、熟悉掌握电路板的焊接及排错;8、掌握程序的下载及调试。三、设计内容提要及说明1 设计内容本次设计的题目要求基本内容如下:通过串口调试助手软件来实现单片机与电脑的通信,单片机接收PC机发来的不同指令信号,完成不同的工作。本设计程序流程:在PC机上使用串口调试软件,向单片机发送字符串,当接收指令信号为:go , 单片机向PC机发送字符串WELCOME TO CHINA!,当接收指令信

4、号为:who,单片机向PC机发送字符串MY NAME IS LIMING,当接收指令信号为:home,单片机向PC机发送字符串YINGYONGKEXUEXUEYUAN,这时,串口调试软件就会在窗口显示出相应字符串;如果接送的字符串不正确,单片机不响应。2 系统设计根据设计题目的要求分析,系统分成两大部分:(1)单片机的控制部分;(2)串口通信电路部分。3 RS-232串行接口标准 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速串行通信中增加通信距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通信。收、发端数据信号相对于信号地。可以分为9针

5、串口和25针串口。RS232转换芯片介绍 (max232即是实现电平的转换)具体芯片引脚如下图3-1所示。图 3-1 MAX232MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。a02e4 波特率(Baud Rate)波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,单位是位秒。假如数据传送的速率每秒为120个字符,每个字符包含10个代码位(1个起始位、8个数据位、1个停止位),这时,传送的波特率为: 10120位秒1200波特(bps)5、线制RS-232C串行通信接线方法首先,串口传输数据只要有接收数据针脚和发送针脚就能实现。同一个串口

6、的接收脚和发送脚相连,两个串口相连或一个串口和多个串口相连。同一个串口的接收脚和发送脚直接用线连,对9针串口和25针串口,均是2与3直接相连。其连接方法如下表1所示。9针9针25针25针 9针25针233223322332557757 表是对微机标准串行口而言的,还有许多非标准设备则需要看具体情况而定。九针串口示意图如下图所示:图3-2 串口DB9串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。 在Windows环境(Windows NT、Win98、Windows2000)下,串口

7、是系统资源的一部分。 应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。计算机单片机串口图3-3 电路连接图四、原理图及元件清单图4-1 串口通信原理图4-2串口通信仿真图五、元件清单 表5.1 元器件清单器 件 名 称数 量最小系统板1个ISP下载线1根USB电源线1根电平转换芯片MAX2321个九针串口DB91个六、单片机各引脚定义单片机控制部分采用菲利普P89V51RB2,各引脚定义如下:表6.1 单片机引脚定义单片机引脚各器件引脚功能描述XTAL1接内部时钟电路晶振反向输入XTAL2接内部时钟电路晶振反向输出EA接电源

8、为单片机供电P3.0接R1OUT串行数据接收端P3.1接T1IN串行数据发送端RST接按键K1复位电路七、系统程序流程图本设计程序流程:程序开始,当启动时,串口首先进行初始化,程序首先对定时计数器送初值主程序流程图如下:接通电源,当按下复位键时,输入字符到串口的缓存地址中,然后接收中断,判断接收到的字符是否符合字节数要求,如果符合,则进行比较,待完全符合后,发送预先设计好的字符,由此进行无限循环。开始通信发送联络信号“*”收到“?”接收字节数按字符发送并计算累加和发送校验和收到“F” RET图7.1 接收发送程序流程图串口初始化接收文件初始化接收到文件调发数据处理程序图7.2单片机主程序流程图

9、八、串口通信设计的系统源程序#include code unsigned char r1=go; /定义目标字符串code unsigned char r2=who;code unsigned char r3=home;code unsigned char s1=WELCOME TO CHINA!; /定义返回字符串code unsigned char s2=MY NAME IS LIMING;code unsigned char s3=YINGYONGKEXUEXUEYUAN;unsigned char send_s;unsigned char s_count,s_count2,t_coun

10、t;unsigned char buf20;void service_intt0() interrupt 1 using 2 /定时器中断0 EA=0;t_count+;if(t_count=10)if(s_count=2) /判断接收字符长度为2if(buf0=r10)&(buf1=r11) /判断接收数组中字符为“go”send_s=1; else if(s_count=3) /判断接收字符长度为3if(buf0=r20)&(buf1=r21)&(buf2=r22) /判断接收数组字符为“who”send_s=2; else if(s_count=4) /判断接收字符长度为4if(buf0

11、=r30)&(buf1=r31)&(buf2=r32)&(buf3=r33) /判断接收字符长度为“home”send_s=3; s_count=0;t_count=0;TH0=0x3c;TL0=0xb0; EA=1;void service_ints() interrupt 4 using 3 /串口中断程序EA=0; /关中断if(RI=1)bufs_count=SBUF; /接收PC机字符存在数组buf中s_count+; t_count=0;TH0=0x3c;TL0=0xb0; RI=0;else if(TI=1);EA=1;void main() /主函数入口TMOD=0x21; /

12、设置T1工作方式为2,T0工作方式为1TH0=0x3c; /送T0初值TL0=0xb0;TH1=0xfd; /送T1初值,设置波特率9600TL1=0xfd;TR0=1;TR1=1;SCON=0x50;/设置串口通讯方式为方式1,允许串口输入RI=0;TI=0;ET0=1; /定时器T0中断允许ES=1; /允许串口中断EA=1; /中断允许while(1)if(send_s=1) /发送数组S1中字符EA=0;s_count2=0; while(s1s_count2!=0)SBUF=s1s_count2;while(TI=0);TI=0;s_count2+;send_s=0;TH0=0x3c

13、;TL0=0xb0;EA=1;else if(send_s=2) /发送数组S2中字符EA=0;s_count2=0;while(s2s_count2!=0)SBUF=s2s_count2;while(TI=0);TI=0;s_count2+;send_s=0;TH0=0x3c;TL0=0xb0;EA=1;else if(send_s=3) /发送数组S3中字符EA=0;s_count2=0;while(s3s_count2!=0)SBUF=s3s_count2;while(TI=0);TI=0;s_count2+;send_s=0;TH0=0x3c;TL0=0xb0;EA=1;else if

14、(send_s=4) EA=0;send_s=0;TH0=0x3c;TL0=0xb0; EA=1;九、课程设计心得体会此次单片机课程设计,在冯新刚老师、李明辉老师和钟国梁等老师的精心指导下,我们顺利完成了串口通信的课程设计。通过此次课程设计,收获颇丰,在此真心感谢三位老师的耐心及细心指导。1、对课程设计的意义有更深的理解通过此次课程设计,掌握了如何用Keil编译程序,如何用Proteus软件仿真单片机的动作,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解如何编译程序构造工具及其相关的技术对课本上的只是有了更深的理解,课本上的知识是机械的、表面的,关键是如何将所学的知

15、识与实际的应用结合起来。2、激发了学习的积极性 通过此次课程设计,全面系统的理解了单片机原理及编程的一般原理和基本实现方法。把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的单片机原理的知识强化,能够把课堂上的知识通过自己设计的作品表示出来,加深了理论知识的理解。以前对于单片机控制系统的认识是很模糊的,概念上的、表面上的、肤浅的。现在通过自己动手做设计,从实践上认识了制作控制系统应该如何来实现,如何运用其他辅助软件帮助程序设计,对Keil软件的操作熟练程度有了一定得提高,但是课程设计中调试和编译比较复杂的程序时,仍然在程序的编写中存在一点问题。在这次课程设计中,我们就是按照实验指导的思

16、想来完成,培养实践动手能力和程序开发能力的目的。3、学生在此次课程设计中学会了自己如何解决在实际中的困难 课程设计目的在于加深对MCS-51单片机的理解,掌握单片机应用系统的设计方法;掌握常用接口芯片的正确使用;强化单片机应用电路的设计与分析能力;提高学生在单片机应用方面的实践技能和严谨的科学作风;培养学生综合运用理论知识解决实际问题的能力,力求实现理论结合实际,学以致用的原则。学生通过查阅资料、接口设计、程序设计、安装调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能;熟悉开展科学实践的程序和办法,为今后从事生产技术工作打下必要的基础;学会灵活运用已经学过的知识,并能不断接受新的知识,大胆发明创造的设计理论。参考文献1 潘永雄主编.新编单片机原理与应用.西安电子科大出版社,2009. 2 张天凡等主编.C51单片机C语言开发详解.电子工业出版社,2006. 3 周润景等主编.Proteus在MCS-51&AR7系统中应用百例.电子工业出版社,2008. 4 王军茹等主编.MCS-51单片机原理及应用.2008

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号