单片机实验单片机控制串行口实验-单机实验.docVIP

单片机实验单片机控制串行口实验-单机实验.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实验单片机控制串行口实验-单机实验.doc

华 南 农 业 大 学 实 验 报 告 专业班次 08电信1 组别 200831120102 题目 实验七 单片机控制串口(单机) 姓 名 陈 建 泽 日期 2010.10.23 一、实验目的 1.掌握89C51串行口方式1的工作方式及编程方法。 2.掌握串行通讯中波特率的设置。 3.在给定通讯波特率的情况下,会计算定时时间常数。 二、实验设备: STC89C52单片机实验板、串口下载线、USB连接线、电脑 实验原理 89C51单片机串行通讯的波特率随串行口工作方式选择的不同而不同,除与振荡频率f,电源控制寄存器PCON的SMOD位有关外,还与定时器T1的设置有关。 1.在工作方式0时,波特率固定,仅与系统振荡频率有关,其大小为f/12。 2.在工作方式2时,波特率也只固定为两种情况: 当SMOD=1时, 波特率=f/32 当SMOD=0时, 波特率=f/64 3.在工作方式1和3时,波特率是可变的: 当SMOD=1时, 波特率=定时器T1的溢出率/16 当SMOD=0时, 波特率=定时器T1的溢出率/32 其中,定时器T1的溢出率=f/(12*(256-N)),N为T1的定时时间常数。在实际应用中,往往是给定通讯波特率,而后去确定时间常数。 在实际应用中,往往是给定通讯波特率,而后去确定时间常数。例如:f=6.144MHZ,波特率等于1200,SMOD=0时,则1200=6144000/(12*32*(256-N)),计算得N=F2H。 时间常数可通过教材中P163的表7-2查询。 RS232串行通信是常见的通信方式之一,本板采用MAX232电平转换芯片使单片机的串口和计算机的串口相连进行通信。具体电路原理图下图。 成绩: 教师: 日期: 串口电路原理图 四、实验步骤 1.分析实验所用到的电路原理图,根据需要连接跳线帽。 2.本实验要求通过单片机的串行口循环向PC发送从0-100的数据。定时器T1采用方式1,波特率为1.2Kbps,不加倍,计算定时常数。 3.发送的数据能够在数码管中显示。 4.画出流程图。 5.根据流程图编写实验程序,并完成调试。 五、实验流程图 实验程序 根据实验流程图,编写出一下实验程序。为了能够实时显示当前所发送的数据,本例还增加了数码显示所发送的数据的子程序。 //*******************实验7 单片机控制串行口实验************** ;实验名称:单片机控制串行口实验-单机实验(从单片机发送数据到PC机) ;功 能:通过单片机的串行口循环向PC发送从0-100的数据。定时器T1采用方式 ; 2,波特率为1.2Kbps,不加倍, 发送的数据能够在数码管中显示 。 ;编 写 人:08电信1 陈建泽 ;编写时间:2010年11月8日 //***********************程序代码如下************************** ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV TMOD,#20H ;定时器1为工作模式2,8位自动重装 MOV TH1,#0E6H ;@12MHz,误差为0.16% MOV TL1,#0E6H SETB TR1 ;启动定时器1 SETB SM1 ;设置串口在工作模式1,10为UART MOV R0,#00H ;发送数据寄存器 LOOP1:INC R0 ;R0增1,初始发送1 CJNE R0,#101,LOOP2 ;加到101时,R0赋初值 MOV R0,#00H AJMP LOOP1 LOOP2:MOV A,R0 ;把R0的值给A,再发送出去 MOV SBUF,A JNB TI,$ ;查询方式,TI为1则发送了一个数据,继续执行 LCALL DIS ;调用数码管数据显示子程序 CLR TI ;显示完后,请中断标志位,发送下个数据 AJMP LOOP1 //************

文档评论(0)

000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档