ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:359.86KB ,
资源ID:10219094      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10219094.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机与PC机串口通信.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机与PC机串口通信.docx

1、单片机与PC机串口通信摘 要本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。本单片机系统采用AT89S51控制,整个硬件系统由A/D、D/A转换、LED显示、键盘、串行

2、通信等模块组成。本设计只完成了单片机部分的开发设计,没有设计外部的采集和控制电路。因为没有外部采集电路,所以不能完成具体的测量功能,要完成具体的测量功能(如测量压力、温度、湿度)还要配上外部的各种传感器采集电路和相应的软件。若配上采集电路和相应的软件就能将测量结果用LED数码管十进制显示出来,其中包括了A/D、D/A转换,还可以用按键来控制,进行人机对话;系统中设置了5个按键,其中1个是复位键,其余的4个键,用程序来控制实现不同的功能。之所以没有设计外部采集电路是因为设计了外部采集电路系统的功能就比较单一,不方便系统功能的外部扩展。该系统还能实现单片机与PC机的串行通信和编程的下载、软件设计的

3、时钟显示。关键词:单片机AT89C51,串行通信,A/D转换,D/A转换,LED数码管显示 目录1、课程设计说明 11.1课程设计内容 11.2任务分析与设计思路 11.3总体方案设计 12、引言 22.1单片机与PC机串行通信研究背景 22.2单片机与PC机串行通信研究目的和意义 23、实验设备 33.1 Proteus 33.1.1 Proteus软件简介 33.1.2 Proteus软件仿真 43.2 汇编软件keil c51 43.2.1 汇编软件 43.2.2汇编编程 44、相关参考程序内容 44.1资料转移指令 44.2算术指令 54.3逻辑指令 54.4控制转移类指令 64.5位

4、变量指令 65、相关硬件内容 75.1MCS-51 75.2Virtual Terminal(VT) 75.3COMPIM器件 86、流程图 87、源程序 108、汇编结果 149、电路连接 1410、小结 15参考文献 16附录 171、课程设计说明1.1课程设计内容 运用所学单片机、模拟和数字电路等方面的知识,完成单片机与PC计算机的串口接口设计。此系统具有如下功能:1) 单片机可以从RS-232串口接收PC计算机来的一组4位10进数,并显示在4位LED数码管显示器上,波特率可选1200、2400、4800、9600,采用奇偶校验。2) 设置一个按键,按下按键时停止接收PC计算机发送的信号

5、,再次按下按键又继续接收。1.2任务分析与设计思路 1)设计要求接收数据并显示,接收数据的波特率可选1200、2400、4800、9600,并采用奇偶校验。设计思路为使用89c51的串行接口来接收数据,波特率越高,数据传输速度越快,任务对传输速度未作要求,考虑到定时器T1的时间常数初值与相应波特率之间有误差,在选择单片机时钟频率为12M情况下,4800的误差较小,所以波特率选择4800。由于采用奇偶校验,所以串口工作方式选择3。2)采用4位LED数码管对接收数据进行显示,从节约硬件的角度考虑,采用软件译码,并采用动态显示。3)按键控制接收,通过INT0中断实现。1.3总体方案设计 通过RS-2

6、32实现PC机与单片机的连接,由于需要电平转换,采用MAX232芯片,设计采用两块单片机,其中一块作添加校验位来用。单片机通过P0.0P0.6(字形码),P2.0P2.3(字位码)与LED数码管相连。按键接INT0脚。设计框图如下RS-2322、引言2.1单片机与PC机串行通信研究背景近年来,随着科学技术的发展,PC机以其优越的性价比和丰富的软件资源成为计算机应用的主流机种。在工业控制中单片机得到广泛的应用,现代化集中管理需要对现场数据进行统计、分析、制表、打印、绘图、报警等,同时,又要求对现场装置进行实时控制,完成各种规定操作,达到集中管理的目的。由于单片机的计算能力有限,难以进行复杂的数据

7、处理。因此在功能比较复杂的控制系统中,通常以PC机为上位机,单片机为下位机,由单片机完成数据的采集及对装置的控制,而由上位机完成各种复杂的数据处理及对单片机的控制,二者结合,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。2.2单片机与PC机串行通信研究目的和意义现代信息网络技术的一个突出特点,就是使工业控制系统中的所有设备连接成网,从而在一个核心软件管理下工作,形成一个有机的整体。这种整体网络方式在现代工业控制系统具有传统独立控制系统所无法比拟的先进性,不仅能极大地提高工业设备的生产效率,还可以大大提高系统的安全性和可靠性。单片机自

8、诞生以来以其性能稳定、价格低廉、功能强大,在智能仪器、工业装备以及日用电子消费品中得到了广泛的应用。在单片机的输入输出控制中,除直接接上小键盘和LCD显示屏等方法外,一般都通过串口和上位机PC进行通信。这样不仅能够实现远程控制,而且能够利用PC机强大的数据处理功能以及友好的控制界面。在一般的利用PC机对单片机进行控制的场合,都是采用Windows作为上位机的平台,其优点是界面友好,编程和操作都比较容易。因此研究PC机与单片机串行通信具有重要的现实及工业意义。3、实验设备Proteus 7 Professional软件及汇编软件keil c513.1 Proteus3.1.1 Proteus软件

9、简介Proteus不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持

10、IAR、Keil和MPLAB等多种编译器。 Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。3.1.2 Proteus软件仿真在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 3.2 汇编软件keil c513

11、.2.1 汇编软件KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。 3.2.2汇编编程(1)新建工程保存工程(2)新建文件保存文件(按格式保存)(3)为source group增加文件(4)调整目标属性(5)生成HEK文件以备proteus仿真4、相关参考程序内容4.1资料转移指令

12、MOV 移动MOVC 程式记忆体移动MOVX 外部RAM和扩展I/O口与累加器A的数据传送指令PUSH 放入堆叠POP 由堆叠取回XCH 8位元交换XCHD 低4位元交换 SWAP 高低4位元交换 4.2算术指令 ADD 两数相加ADDC 两数相加再加CSUBB 两数相减再减CINC 加一指令DEC 减一指令MUL (MUL AB乘法指令仅此一条)相乘指令,所得的16位二进制数低8位存累加器A高8位存BDIV (DIV AB 除法指令仅此一条)相除指令,所得商存A,余数存BDA (DA A 只此一条指令)调整为十进数 4.3逻辑指令 ANL做AND(逻辑与)运算ORL做OR(逻辑或)运算XRL

13、 做(逻辑异或)运算CLR 清除为0CPL 取反指令RL 不带进位左环移RLC 带进位左环移RR 不带进位右环移RRC 带进位右环移4.4控制转移类指令 JC C=1时跳JNC C=0时跳JB 位元=1时跳JNB 位元=0时跳JBC 位元=1时跳且清除此位元LCALL 长调用子程序ACALL 绝对调用子程序RET 由副程式返回RETI 由中断副程式返回AJMP 绝对转移SJMP 相对转移JMP A+DPTR 散转,相对DPTR的间接转移JZ A=0时跳JNZA 0时跳CJNE 二数比较,不相等时跳DJNZ 减一,不等於0时跳NOP 空操作4.5位变量指令SETB 设定为1ORG 程序开始,规定

14、程序的起始地址END 程序结束EQU 等值指令(先赋值后使用)例:SUM EQU 30HDB 定义字节指令DW 定义字内容DS 定义保留一定的存贮单元数目 BIT 位地址符号指令 例:SAM BIT P1.0RET 子程序返回指令RETI 中断子程序返回指令$ 本条指令地址5、相关硬件内容5.1MCS-5180C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In

15、 Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。5.2Virtual Terminal(VT) 虚拟终端(VT)是一种提供类似于Internet的Telnet协议的远程终端仿真的国际标准化组织(ISO)协议。在远程终端的用户,可以在远程计算机上运行应用程序,就象他们是

16、坐在这台计算机前面一样。 虚拟终端是在个人电脑上虚拟的一个终端以及为此目的而写的软件。虚拟终端的目的是达到个人电脑及其用户能够与大型计算机的连接。一般来说需要连接的大型计算机是IBM的大型计算机或者所谓的超小型计算机(过去往往是迪吉多的VAX)。 虚拟终端使得个人电脑的用户可以直接使用他的个人电脑来与大型计算机联系,而不必使用专门的终端。 通过虚拟终端的软件虚拟终端还可以扩展大型计算机的标准终端的功能,通过虚拟终端不但可以将个人电脑上的数据传递给大型计算机,而且还可以将大型计算机的数据传递给个人电脑,并在个人电脑上继续加工。 一般大型计算机的终端是字母式的输入和输出接口,因此一个虚拟终端至少需

17、要一个能够模拟这样的字母式(比如ASCII)输入和输出接口的能力。最常见的平台是图像式的用户表面。要使得新的、图像式的程序能够使用老的字母式的或者没有图像式输入和输出能力的程序也需要虚拟终端。 现代的大型计算机也内部使用虚拟终端,这样它们可以向老的、需要终端的程序假装一个终端,而实际上它则将程序的显示转到显示卡上。比如Linux以及其它大多数基于个人电脑的类似Unix的操作系统假装有六至十个这样的“虚拟”的终端。 字母程序 虚拟终端 图像显示 5.3COMPIM器件protues的解释:COM Port Physical Interface model 串口物理端口模型。在protues里面C

18、OMPIM可以调用实际的串口和外部通信。比如台式机有个串口COM1,我在protues里添加COMPIM后设置属性,就能在仿真里通过COM1和外部实际的东西进行通信6、流程图软件部分包括按键、通信、显示等,按键采用INT0中断,通信涉及对单片机串口的编程,采用动态显示编程7、源程序ORG 0000HLJMP 1000HORG 1000HMOV 70H,#0 ;显示区70H73HMOV 71H,#0MOV 72H,#0MOV 73H,#0MOV R0,#70H ;R0指向显示区MOV R3,#11H ;R3存位控位MOV TMOD,#20H ;选择定时器T1,方式2MOV TH1,#0F3H ;

19、选择波特率4800,计算初值0F3HMOV TL1,#0F3HSETB TR1 ;启动定时器MOV SCON,#0D0H ;串口选择方式3,允许接收MOV PCON,#80H ;SMOD=1MOV R1,#60H ;R1指向接收区60H63HMOV R4,#04H ;R4存接收个数SETB EA SETB ES ;开串口中断SETB IT0 ;INT0中断选负边沿触发SETB EX0 ;开INT0中断MOV A,R3 LD0:MOV P2,AMOV A,R0ADD A,#15MOVC A,A+PCMOV P0,AACALL DELAYINC R0MOV A,R3RL AMOV R3,ACJNE

20、 R0,#74H,LD0MOV R0,#70HSJMP LD0 ;显示显示区的数DB 40H, 4FH,24H,30H,19H,12H,02H,78H,00H ,18HDELAY: ;1ms延时程序MOV R7,#02HDELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETORG 0023H ;串口终端服务程序LJMP 2000HORG 2000HRE:CLR RI ;清标志位MOV A,SBUFMOV R5,AMOV 20H,#00HMOV 21H,#00HMOV C,PMOV 00H,CMOV C,RB8MOV 08H,CMOV

21、A,20HXRL A,21HJNZ L3MOV A,R5 ;奇偶校验 L5: CJNE A,#30H,L2L2:JC L3CJNE A,#3AH,L4 L4:JNC L3 ;判断接收数据是否在30H39H之间ANL A,#0FH ;清接收数据高四位MOV R1,A ;送数据接收区INC R1L3:CJNE R1,#64H,L1 ;判断是否接受完4个数据MOV R1,#60H MOV 70H,60HMOV 71H,61HMOV 72H,62HMOV 73H,63H ;若接收完则接收数据送显示区L1:RETIORG 0003H ;INT0中断服务程序LJMP 2500HORG 2500HCPL R

22、EN ;允许接收位取反MOV R1, #60HRETIEND8、汇编结果9、电路连接仿真前仿真后10、小结 通过本次课程设计,我有对51单片机有了更进一步的了解,对51单片机的更能结构更记得熟悉了。课程设计是在原有的学科基础上所进行的更深层次的综合性较强的学习。在本次课程设计中,我们3个人分为一组,彼此合作,经过几天的努力,终于基本上完成了本次课程设计。在本次课程设计中,我们的课程设计题目为:单片机与PC机的串口通信。刚一接触这个题目,我们觉得找不到具体的着手点。但在3个人的努力思考下,我们决定彼此分工,各自完成自己的任务。这一学期我们学习了单片机原理及应用。但由于所学时间不长,外加书本上的内

23、容相对简单,我不太清楚如何去利用从中所学的知识,很难将书本上的基本理论与实际的问题结合起来。但在这次单片机的课程设计中,我加深了对单片机原理及应用的认识,并结合自己学到的知识,掌握了根据硬件电路设计软件的方法,培养了自己的实际能力。这也为我今后的实际应用奠定了基础。总之,本次课程设计我完成了自己的任务,达到了课程设计的目的,为小组设计的成功贡献了自己的一份力量,并从中受益匪浅。11、结束语首先,理论课的重要性 。平时上理论课的时候总觉得理论课上的知识与实践总有很远的距离,不知道上理论课的重要性,所以在学的时候兴致缺缺,但在课程设计时,才发现根修房子最重要是打好地基一样,没有理论课所学知识的支撑

24、设计根本无法完成。 其次,不刚愎自用。在做该课程设计过程中遇到困难的时候,不要忘记学习除了一个人独自琢磨外还应多与同学切磋,一个人学习容易走进死胡同,而且进入死胡同后会大大的打击做设计的积极性,这时候应与同学多交流,从一个新的角度去看待问题、分析问题、解决问题,会有耳目一新的感觉。再做起设计来事倍功半,最主要的是,从课程设计中学会了把课本上的理论知识实践化,还有良好的编程风格,注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。如果注释和代码不一致,那就更加糟糕。参考文献1)胡汉才单片机原理及其接口技术清华大学出版社,20042)吴飞青等单片机原理与应用实践指导机械工业出版社 2

25、009.23)李建忠.单片机原理与应用(第二版).西安电子科技大学出版社4)李朝青.单片机原理及接口技术(简明修订版).杭州:北京航天航空大学出版社,19985).李广弟.单片机基础M.北京:北京航天航空大学出版社,19946).阎石.数字电子技术基础(第三版).北京:高等教育出版社,19897).廖常初.现场总线概述J.电工技术,19998).周良权,傅恩锡,李世馨.模拟电子技术基础(第二版).北京:北京高等教育出版社,2001.129).李干林.STAR ES598PCI试验仪 微机原理实验指导书M.南京工附录附录A:元件清单如下:元件名称数量(个)元件名称数量(个)7SEG-MPX4-CA1CAP-POL480C512COMPIM1BUTTON1CRYSTAL2CAP4MAX2321 CAP-ELEC2RES2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1