《单片机与PC机通信串口仿真单片机课程设计.doc》由会员分享,可在线阅读,更多相关《单片机与PC机通信串口仿真单片机课程设计.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机与PC机通信串口仿真单片机课程设计.精品文档. 大作业(论文) 课程名称: 单片机原理及其应用 题 目: 单片机与PC机通信串口仿真 西安建筑科技大学大作业(论文)任务书专业班级: 计算机1102 学生姓名:110620227 指导教师(签名): 1、 大作业(论文)题目 单片机与PC机串口的通信仿真2、 本次大作业(论文)应达到的目的课程设计的基本教学目的是培养学生综合运用所学的基础理论、专业知识和基本技能,提高分析与解决实际问题的能力以及科技写作或设计能力。要求学生在做大作业的过程中要有意识地培养自己的实际能力。通过本次大作业的实践
2、,了解单片机工作的原理及应用技术,掌握根据硬件电路设计软件的方法,了解设计过程中的各个基本环节,也为今后的实际应用奠定基础。3、本次大作业(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 设计任务:以单片机为核心,进行单片机与PC机串口的通信仿真。设计内容和要求: 1) PC 机上位机通过上位机程序界面发送数据给单片机,并送给液晶屏显示相应的数据;键盘输入数据传给单片机,接着发送给 PC 机,并在 PC 机上位机程序界面上显示出来。2)按照任务书的要求完成系统需求分析及功能定义。 3)完成硬件设计。 4)完成软件设计。 5)完成代码编写。 6)进行硬件线路连接。 7)进行代码
3、的在线调试。 8)完成任务书的撰写。详见西安建筑科技大学本科课程设计(论文) 4、应收集的资料及主要参考文献: 1)单片机系统教材及相关元器件的数据手册 2)仿真软件protues的使用说明 3)protel的原理图绘制使用说明 5、审核批准意见教研室主任(签字) 摘要 本次课程设计主要介绍一种用双工方式实现单片机与 PC 机之间的串行通信。这次以AT89C2051 单片机为主,辅以串口模型、虚拟终端 VIRTUAL TERMINA、收发器以及7SEG-BCD-GRN:绿色 BCD 数码管等器件。系统在虚拟终端口输入相应的字符然后会在LED灯显示其相应的ASCALL码,本系统运行稳定,其优点是
4、硬件电路简单,软件功能完善,性价比较高等,具有一定的实用和参考价值。关键词:AT89C2051 单片机;7SEG-BCD-GRN:绿色 BCD 数码管;串口模型;VIRTUAL TERMINA 目录1、概述. .12、课程设计任务、要求及分析2.1、设计任务及要求.22.2、系统需求分析.23、系统方案设计3.1、方案设计说明. 33.2、硬件设计及描述. 43.3、软件设计及描述. 63.4、代码设计及实现.74、设计调试过程及结果4.1、加载目标代码文件. 84.2、串口模型属性设置. 84.3、虚拟终端属性设置. 94.4、启动仿真. 105、 系统设计体会. .146、 致谢.157、
5、参考文献 .16 8、附录 . .17 1、 概述 单片微型计算机是大规模集成电路技术发展的产物,属于第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 随着计算机技术尤其是单片机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、湿度等参数进行检测和控制。PC 机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过 PC 机的 RS 232 串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。因此针对一些远
6、距离控制或者是危险性比较高的数据采集和控制的应用情况,如何实现 PC 机与单片机之间的通信具有非常重要的现实意义。 本次课程设计主要介绍一种用双工方式实现单片机与 PC 机之间的串行通信。这次以AT89C2051 单片机为主,辅以串口模型、虚拟终端 VIRTUAL TERMINA、收发器以及7SEG-BCD-GRN:绿色 BCD 数码管等器件。系统在虚拟终端口输入相应的字符然后会在LED灯显示其相应的ASCALL码,本系统运行稳定,其优点是硬件电路简单,软件功能完善,性价比较高等,具有一定的实用和参考价值2、课程设计任务要求及分析2.1 设计任务及要求: 任务:以单片机为核心,进行单片机与PC
7、机串口的通信仿真。 要求:(1)PC 机上位机通过上位机程序界面发送数据给单片机,并送 给液晶屏显示相应的数据;键盘输入数据传给单片机,接着发送给 PC 机,并在 PC 机上位机 程序界面上显示出来。 2)按照任务书的要求完成系统需求分析及功能定义。 3)完成硬件设计。 4)完成软件设计。 5)完成代码编写。 6)进行硬件线路连接。 7)进行代码的在线调试。 8)完成任务书的撰写。详见西安建筑科技大学本科课程设计 (论文) 2.2 系统需求分析: 本次课程设计的任务是单片机与PC机串口的通信仿真,在满足其功能的前提下,我们需要串口模型来进行模拟,需要虚拟终端进行输入数据,需要LED显示器来显示
8、相应的结果3、系统方案设计3.1 方案设计说明系统总体方案 此双工无线通信系统的总体框图如图 1 所示。由于此系统可实现双工通信,因此它可分为两个通信过程:PC 机上位机通过上位机程序界面发送数据给单片机,并送给液晶屏显示相应的数据;键盘输入数据传给单片机,接着发送给 PC 机,并在 PC 机上位机程序界面上显示出来。无线收发部分无线收发部分单片机部分液晶单片机部分 电平 转换PC机键盘 图31通信系统的总体框图 AT89C2051 主要性能:(1) 和 MCS-51 产品兼容;(2) 2KB 可重编程 FLASH 存储器(1000 次);(3) 2.7-6V 电压范围; (4) 全静态工作:
9、0Hz-24KHz (5) 2 级程序存储器保密锁定 (6) 1288 位内部 RAM (7) 15 条可编程 I/O 线 (8) 两个 16 位定时器/计数器(9) 6 个中断源 (10)可编程串行通道 (11 )高精度电压比较器(P1.0,P1.1,P3.6) (12)直接驱动 LED 的输出端口 正因为 AT89C2051 有以上特点所以用它来设计一个串行通讯系统是很可靠地。设计电路的时候也比较灵活大大提高了电路设计的速度,利用 AT89C2051 单片设计的系统也比较稳定,调试方便容易,给我省去了许多繁琐的步骤,本次设主要用到了 AT89C2051 的 P1口与 P3 口的第二功能,串
10、行口输入端 P3.0/RXD 串行口输出端 P3.1/TXD。3.2 硬件设计及描述根据设计原理及需要我们得出了如图2的元器件。图32 所需的器件设备3.2.1、打开 PROTEUS 软件从库中选取元器件:a、 AT89C2051:单片机b、RES:电阻;c、7SEG-BCD-GRN:绿色 BCD 数码管;d、CAP-ELEC:电容、电解电容;e、MAX232:RS232 收发器; f、COMPIM:串口模型;3.2.2、串口模型 串口模型 COMPIM 及其引脚功能如图3所示图33 串口模型及其引脚功能图3.2. 3、虚拟终端 从虚拟仪器中选取虚拟终端 VIRTUAL TERMINA 图34
11、 虚拟终端 VIRTUAL TERMINA结构图3.2.4、放置元器件 放置电源和地、连线、元器件属性设置、电器检测所有操做都是在 ISIS 中进行的 。 (如图 5) 放置 4 个虚拟终端,分配给单片机的串行口及 COMPIM 的 2 脚、3 脚。COMPIM 的 3 脚与虚拟终端的发送端 TXD 相连,将单片机串口的 RXD、TXD,以及 COMPIM 的 2 脚分别接入虚拟终端的 RXD。 图35 实验原理图3.3 软件设计及描述对应于本次设计任务及要求,在编写代码时,需考虑实施方案的选择。不同的系统,需求不尽相同,侧重点亦不同,必然导致编写代码的差异,优化的代码更能使系统稳定运行,更好
12、地实现系统功能。 而对于PROTEUS仿真,需要用汇编语言进行代码的编制,而且汇编语言非常接近计算机的硬件,因此,它可以最大限度地发挥计算机硬件的性能。用汇编写的程序执行速度相当快,适用于实时性要求较高的场合。图36 程序流程图3.4、代码设计及实现 本次课程设计的代码主要包含三部分:设置相关寄存器的处置和工作方式。对输入的字符进行判断。在LED显示器上显示相应的结果3.4.1、设置寄存器的初值和工作方式ORG 3OHSJMP STARTSTART:MOV TMOD,#20H ;设置定时方式寄存器 MOV PCON,#0 ;设置电源制寄存器 MOV TH1,#0E6H MOV TL1,#0E6
13、H ;装初值 SETB TR1 ;开中断 CLR ES ;终端允许 MOV SP,#5FH LOOP:MOV SCON,#50H JNB RI,$ ;判断RI=1? CLR RI ;清零 MOV A,SBUF ;读进收到的数据 PUSH ACC3.4.2、对输入的字符进行判断 CJNE A,#30H,RANG1 ;判断A的内容是否等于48 RANG1:JC RANG3 ;判断Cy=1? CJNE A,#3AH,RANG2 ;判断A的内容是否等于58 RANG2:JNC RANG3 ;判断Cy=0?CLR C SUBB A,#30H 3.4.3、在LED显示器上显示相应的结果 RANG3:MOV
14、 PI,A ;输出到数码管显示 POP ACC RANG4:NOP NOP NOP NOP NOP MOV SBUF,A ;启动发送 JNB T1,$ ;判断TF=1? END 4、设计调试过程及结果4.1、加载目标代码文件 打开元器件单片机属性窗口,在“源代码”栏中添加上面编译好的目标代码文件QQ.ASM ; 图41 添加源代码4.2、串口模型属性设置 串行口模型的属性设置如下图所示: 图42 串行口属性设置界面4.3、虚拟终端属性设置 PCS 代表计算机发送数据,PCR 用来监视 PC 接收到的数据,PCS、PCR 终 端属性设置一样,如图 9 所示,注意他们的 RX/TX 极性相反。SC
15、MS、SCMR 分别为单片机发送、接收终端,分别监视,他们的属性设置如图 10、图 11 所示。单片机与 PC 双方的波特率、数据位、停止位、校验位保证一致。SCMS、SCMR、PCR 终 RXD端的 RXD 脚分别于单片机的 TXD、 及串口模型的 2 脚相接PCS 终端的 TXD 串口模型的 3 脚相接。 图43 PCR属性设置界面 图44 SCMR 属性设置界面 图45 SCMS 属性设置界面4.4、启动仿真 在完成了各项属性设置之后,保存,编译,如图 12 所示:图46 加载代码并进行编译单击按钮开始仿真,该窗口出现闪烁的光标。 图47 当不进行输入时的仿真结果 图48 当输入数字0时
16、的仿真结果图49 当输入字母A时的仿真结果 图410 当输入字母b时的仿真结果图411 当输入为“:”时的仿真结果5、系统设计体会这学期我们学习单片机原理及应用这门课程,对单片机原理及其应用有了一定的认识,单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机与微机的串行通信可以弥补单片机在数据处理方面的不足和 PC 机在控制方面的欠缺。 数据的各位逐位送出。串行通信方式只要用一根传输导线,将组成一个数据的各个二进制位按先后顺
17、序逐位进行传送。由于一根导线在同一时刻只能有一种电平出现,即一个二进制位占据整根导线,所以组成一个数据的二进制位只能分时传送,因此其传送速度相对较慢。串行通信就是指甲、乙双方通过其间的单根连接线路进行数据的分位传送,通信终端设备可以是同一种类型,如计算机之间的通信;也可以是不同类型,如计算机通过电话线进行的拨号上网。根据通信双方的信息传送方向,可以把串行通信分为单工、半双工及全双工三种形式。 进行分析后得出结论如下:系统电路部分设计没有原则性的错误,在制版的过程中注意了走线,并且在焊接过程中没有发生大的事故,因此硬件部分功能完好。但因为软件系统编写方面的疏忽,在串行通信部分没有能很好的实现。除
18、此之外,软件达到了系统的要求。 这次的电子综合课程设计就是对我们的一次考核,也可以说是一次考验,在平时做题目比较简单,而这次课程设计综合考核了我们的学习结果。课程设计培养了学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。 然而从理论到实践,我在做课程设计的一个多星期里,使我对有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的实际操作才能更好地学习它,但是学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论
19、知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知解得不够深刻,掌握得不够牢固,在编写程序的过程中我几乎是重新复习课本上的知识,但这还是没能让我完成这次课程设计,通过询问同学、到网上查询资料慢慢的完善这次做业才勉强完成。 6、致谢 首先感谢老师给了我这次机会进行单片机课程设计,通过这次的课程设计我收获良多,更加的了解了51单片机的原理及其应用,单片机是靠程序运行的,并且可以修改。我在做课程设计的一个多星期里
20、,使我对有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的实际操作才能更好地学习它,但是学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。这也为我以后的学习积累了相当宝贵的经验,因此,再次感谢老师给了我这次来之不易的机会!7、参考文献【1】李明 李君君. 单片机原理与接口技术. 大连:大连理工大学出版社,2009【2】 徐惠民,安德宁.单片微型计算机原理、接口及应用.第二版.北京:北京邮电大学出版社.2000【3】张靖武,周林彬.单片机系统的 Proteus 设计与仿真 . 北京:电子工业出版社,2008【4】王福瑞.单片微机测控系统
21、设计大全M.北京:北京航空航天大学出版社,1998【5】李东生.Protel99 SE 电路设计技术入门与应用.第一版.北京:电子工业出版社,2002【6】周坚 . 单片机项目教程.北京:北京航空航天大学出版社,2008【7】胡汉才. 单片机原理及系统设计. 北京:清华大学出版社,2002【8】彭为.黄科,雷道仲.单片机典型系统设计实例精讲.北京:电子工业出版社.2006.5【9】周景润等. Prtoeus 在 MCS51ARM7 系统中的应用百例. 北京:电子工业出版社,2006.108、附录源程序: ORG 3OH SJMP STARTSTART:MOV TMOD,#20H ;设置定时方式
22、寄存器 MOV PCON,#0 ;设置电源制寄存器 MOV TH1,#0E6H MOV TL1,#0E6H ;装初值 SETB TR1 ;开中断 CLR ES ;终端允许 MOV SP,#5FH LOOP:MOV SCON,#50H JNB RI,$ ;判断RI=1? CLR RI ;清零 MOV A,SBUF ;读进收到的数据 PUSH ACC CJNE A,#30H,RANG1 ;判断A的内容是否等于48 RANG1:JC RANG3 ;判断Cy=1? CJNE A,#3AH,RANG2 ;判断A的内容是否等于58 RANG2:JNC RANG3 ;判断Cy=0? CLR C SUBB A,#30H ;转换为ACSALL码 RANG3:MOV PI,A ;输出到数码管显示 POP ACC RANG4:NOP NOP NOP NOP NOP MOV SBUF,A ;启动发送 JNB T1,$ ;判断TF=1? END