课程设计单机片串口通信_第1页
课程设计单机片串口通信_第2页
课程设计单机片串口通信_第3页
课程设计单机片串口通信_第4页
课程设计单机片串口通信_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录 一、摘要 .1 1. 51 单片机原理.1 (1)51 单片机的 i/o 口的使用原理和设置.1 (2)51 单片机的定时/计数器的设置.1 2. 电平转换芯片的认识和使用.1 3. 按键的判断和使用.1 4. 51 单片机开发环境的熟悉和使用.1 二、课程设计的目的及基本的要求 .1 三、设计内容提要及说明 .1 1 设计内容.1 2 系统设计.2 3 rs-232 串行接口标准.2 4 波特率(baud rate).2 5、线制 rs-232c 串行通信接线方法.2 四、原理图及元件清单 .4 五、元件清单 .5 六、单片机各引脚定义 .5 七、系统程序流程图 .5 八、串口通信设

2、计的系统源程序 .7 九、课程设计心得体会 .11 参考文献 .12 一、摘要一、摘要 1. 51 单片机原理 (1)51 单片机的 i/o 口的使用原理和设置 (2)51 单片机的定时/计数器的设置 2. 电平转换芯片的认识和使用 3. 按键的判断和使用 4. 51 单片机开发环境的熟悉和使用 二、课程设计的目的及基本的要求二、课程设计的目的及基本的要求 单片机已经广泛的应用于人们的日常生活中,在各个领域中起到越来越重要 的作用。因此,掌握单片机的基本功能是非常重要的技能。进行课程设计是加强 实践,提高动手能力的重要环节,是将所学理论知识与实际联系起来的桥梁和纽 带。通过课程设计:同时在软件

3、编程、排错调试、焊接技术及相关仪器设备的使 用等各个方面得到全面的提高。掌握单片机开发过程,为将来的实际工作打下一 定得基础。 本课程设计以philipsp89v51rb2 单片机为基础,基本要求如下: 1、熟悉单片机的基本机构; 2、电平转换芯片的认识和使用; 3、掌握按键的判断及使用; 4、掌握菲利普 p89v51rb2 单片机的使用方法; 5、掌握单片机 c 语言一般的编程技巧; 6、掌握单片机系统调试的一般步骤及方法; 7、熟悉掌握电路板的焊接及排错; 8、掌握程序的下载及调试。 三、设计内容提要及说明三、设计内容提要及说明 1 设计内容 本次设计的题目要求基本内容如下: 通过串口调试

4、助手软件来实现单片机与电脑的通信,单片机接收pc机发来的 不同指令信号,完成不同的工作。 本设计程序流程:在 pc 机上使用串口调试软件,向单片机发送字符串, 当接收指令信号为:go , 单片机向 pc 机发送字符串welcome to china! , 当接收指令信号为:who ,单片机向 pc 机发送字符串my name is liming , 当接收指令信号为:home ,单片机向 pc 机发送字符串 yingyongkexuexueyuan , 这时,串口调试软件就会在窗口显示出相应字符串;如果接送的字符串不正 确,单片机不响应。 2 系统设计 根据设计题目的要求分析,系统分成两大部分

5、: (1)单片机的控制部分; (2)串口通信电路部分。 3 rs-232 串行接口标准 目前 rs-232 是 pc 机与通信工业中应用最广泛的一种串行接口。rs-232 被 定义为一种在低速串行通信中增加通信距离的单端标准。rs-232 采取不平衡传 输方式,即所谓单端通信。收、发端数据信号相对于信号地。可以分为 9 针串口 和 25 针串口。 rs232 转换芯片介绍 (max232 即是实现电平的转换)具体芯片引脚如下图 3-1 所示。 图 3-1 max232 max232 芯片是美信公司专门为电脑的 rs-232 标准串口设计的接口电路,使 用+5v 单电源供电。a02e 4 波特率

6、(baud rate) 波特率,即数据传送速率,表示每秒钟传送二进制代码的位数,单位是位 秒。假如数据传送的速率每秒为 120 个字符,每个字符包含 10 个代码位(1 个起 始位、8 个数据位、1 个停止位),这时,传送的波特率为: 10120 位秒1200 波特(bps) 5、线制 rs-232c 串行通信接线方法 首先,串口传输数据只要有接收数据针脚和发送针脚就能实现。同一个串口 的接收脚和发送脚相连,两个串口相连或一个串口和多个串口相连。 同一个串口的接收脚和发送脚直接用线连,对 9 针串口和 25 针串口,均是 2 与 3 直接相连。其连接方法如下表 1 所示。 9 针9 针25 针

7、25 针 9 针25 针 233223 322332 557757 表是对微机标准串行口而言的,还有许多非标准设备则需要看具体情况而 定。九针串口示意图如下图所示: 图 3-2 串口 db9 串行端口的本质功能是作为 cpu 和串行设备间的编码转换器。当数据从 cpu 经过串 行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数 据。 在 windows 环境(windows nt、win98、windows2000)下,串口 是系统资源的一部分。 应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要 求(打开串口) ,通信完成后必须释放资源(关闭串口)

8、 。 计计 算算 机机 单单 片片 机机 串串 口口 图 3-3 电路连接图 四、原理图及元件清单四、原理图及元件清单 图 4-1 串口通信原理 图 4-2 串口通信仿真图 五、元件清单五、元件清单 表 5.1 元器件清单 器 件 名 称数 量 最小系统板1 个 isp 下载线1 根 usb 电源线1 根 电平转换芯片 max2321 个 九针串口 db91 个 六、单片机各引脚定义六、单片机各引脚定义 单片机控制部分采用菲利普 p89v51rb2,各引脚定义如下: 表 6.1 单片机引脚定义 单片机引脚各器件引脚功能描述 xtal1接内部时钟电路晶振反向输入 xtal2接内部时钟电路晶振反向

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

10、序流程图 串口初始化 接收文件初始化 接收到文件 调发数据处理程序 图 7.2 单片机主程序流程图 八、串口通信设计的系统源程序八、串口通信设计的系统源程序 #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=yingyongk

11、exuexueyuan; unsigned char send_s; unsigned char s_count,s_count2,t_count; unsigned char buf20; void service_intt0() interrupt 1 using 2 /定时器中断 0 ea=0; t_count+; if(t_count=10) if(s_count=2) /判断接收字符长度为 2 if(buf0=r10) else if(s_count=3) /判断接收字符长度为 3 if(buf0=r20) else if(s_count=4) /判断接收字符长度为 4 if(buf

12、0=r30) s_count=0; t_count=0; th0=0 x3c; tl0=0 xb0; 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=0 x3c; tl0=0 xb0; ri=0; else if(ti=1); ea=1; void main() /主函数入口 tmod=0 x21; /设置 t1 工作方式为 2,t0 工作方式为 1 th0=0 x3c;

13、 /送 t0 初值 tl0=0 xb0; th1=0 xfd; /送 t1 初值,设置波特率 9600 tl1=0 xfd; tr0=1; tr1=1; scon=0 x50;/设置串口通讯方式为方式 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; t

14、h0=0 x3c; tl0=0 xb0; 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=0 x3c; tl0=0 xb0; 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+; s

15、end_s=0; th0=0 x3c; tl0=0 xb0; ea=1; else if(send_s=4) ea=0; send_s=0; th0=0 x3c; tl0=0 xb0; ea=1; 九、课程设计心得体会九、课程设计心得体会 此次单片机课程设计,在冯新刚老师、李明辉老师和钟国梁等老师的精心指 导下,我们顺利完成了串口通信的课程设计。通过此次课程设计,收获颇丰,在 此真心感谢三位老师的耐心及细心指导。 1、对课程设计的意义有更深的理解 通过此次课程设计,掌握了如何用 keil 编译程序,如何用 proteus 软件仿 真单片机的动作,编译程序工作的基本过程及其各阶段的基本任务,熟悉

16、了编译 程序总流程框图,了解如何编译程序构造工具及其相关的技术对课本上的只是有 了更深的理解,课本上的知识是机械的、表面的,关键是如何将所学的知识与实 际的应用结合起来。 2、激发了学习的积极性 通过此次课程设计,全面系统的理解了单片机原理及编程的一般原理和基本 实现方法。把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的单 片机原理的知识强化,能够把课堂上的知识通过自己设计的作品表示出来,加深 了理论知识的理解。以前对于单片机控制系统的认识是很模糊的,概念上的、表 面上的、肤浅的。现在通过自己动手做设计,从实践上认识了制作控制系统应该 如何来实现,如何运用其他辅助软件帮助程序设计,对

17、 keil 软件的操作熟练程 度有了一定得提高,但是课程设计中调试和编译比较复杂的程序时,仍然在程序 的编写中存在一点问题。在这次课程设计中,我们就是按照实验指导的思想来完 成,培养实践动手能力和程序开发能力的目的。 3、学生在此次课程设计中学会了自己如何解决在实际中的困难 课程设计目的在于加深对 mcs-51 单片机的理解,掌握单片机应用系统的设 计方法;掌握常用接口芯片的正确使用;强化单片机应用电路的设计与分析能力; 提高学生在单片机应用方面的实践技能和严谨的科学作风;培养学生综合运用理 论知识解决实际问题的能力,力求实现理论结合实际,学以致用的原则。 学生通过查阅资料、接口设计、程序设计、安装调试、整

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论