第7章 STC89C52单片机串行通信.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 STC89C52单片机串行通信

7.6 PC与单片机间的通信 7.6.1 PC与单片机的点对点通信设计 1.硬件接口电路 在功能比较复杂的控制系统和数据采集系统中,一般常用PC作为主机,单片机作为从机。单片机通过串行口与PC机的串行口相连,将采集到的数据传送至PC机,再在PC机上进行数据处理。 由于单片机的输入输出是TTL电平,而PC机配置的都是RS-232标准串行接口。由于两者的电平不匹配,必须将单片机输出的TTL电平转换为RS-232电平。 “D”型9针插头引脚定义 插针序号 功能说明 符号 信号方向 1 数据载波检测 DCD DTE←DCE 2 接收数据 RXD DTE←DCE 3 发送数据 TXD DTE→DCE 4 数据终端准备 DTR DTE→DCE 5 信号地 GND 6 数据设备准备好 DSR DTE←DCE 7 请求发送 RTS DTE→DCE 8 清除发送 CTS DTE←DCE 9 振铃指示 DELL DTE←DCE 2.程序设计思想 通信程序设计分为PC(上位机)程序设计与单片机(下位机)程序设计。 为了充分发挥高级语言(如C、BASIC)编程简单、调试容易、制图作表能力强的优点和汇编语言执行速度快的特点,PC机软件可采用VC、VB等语言编写的主程序调用汇编程序的方法,即PC机的主程序采用C语言编写,通信子程序由PC机汇编语言编写。在实际开发调试单片机端的串口通信程序时,也可以使用STC系列单片机下载程序中内嵌的串口调试程序或其它串口调试软件(如串口调试精灵软件)来模拟PC机端的串口通信程序。 7.6.2 PC与多个单片机的串行通信接口设计 在工控系统(尤其是多点现场工控系统)设计实践中,单片机与PC机组合构成分布式测控系统是一个重要的发展方向。PC机与单片机间的通信采用主从方式,PC机为主机,单片机为从机,由PC机确定与哪个单片机进行通信。 组成如图所示的分布式测控系统,首先要解决PC机与单片机之间的串行通信接口问题。 这种分布式测控系统在许多实时工业控制和数据采集系统中,充分发挥了单片机功能强、抗干扰性好、面向控制等优点,同时又可利用PC机弥补单片机在数据处理和交互性等方面的不足。在系统中,主机定时扫描前沿单片机,以便采集数据或发送控制信息。以STC89C52为核心的智能式测量和控制仪表(从机)既能独立地完成数据处理和控制任务,又可将数据传送给主机。PC机将这些数据进行处理、显示、打印,同时将各种控制命令传送给各子机,实现集中管理和最优控制,特别是某子机系统的故障不会影响其它子系统的正常工作。 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * * * 设置波特率的常用初始化片断如下: MOV TMOD,#20H ;设置定时器T1工作在方式2 MOV TH1,#XXH ;装载定时初值 MOV TL1,#XXH SETB TR1 ;开启定时器T1 MOV PCON,#80H ;波特率倍增 MOV SCON,#50H ;设置串行口工作在方式1 【例7-4】若STC89C52单片机系统时钟频率fCLK为11.0592MHz,工作在12T模式,采用T1定时器工作在方式2作为波特率发生器,波特率为2400波特,求初值。 解:取SMOD=0。 将已知条件带入公式 解得X=244=F4H。另查表也可得。 【例7-5】设STC89C52单片机系统时钟频率fCLK为11.0592MHz,T2工作方式在波特率发生器方式,波特率为9600波特。 1.设计分析: 根据题意知T2工作波特率发生器方式,T2产生发送时钟和接收时钟,则TCLK=1、RCLK=1。 (1)求定时初值:选择T2为定时模式,启动T2工作,即TR2=1我们选择向上计数,即DCEN=0,这时波特率计算公式如下: 取SMOD=0,由于MCU选12T,则n=32,已知波特率为9600,fCLK为11.0592MHz 令N=(RCAP2H,RCAP2L),则9600= ,即 TH2=FFH,TL2=DCH,RCAP2H=FF,RCAP2L=DCH (2)确定特殊功能寄存器T2CON、T2MOD值 T2CON=34H,(即TCLK=1,RCLK=

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档