- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装载的8位定时方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。 T1溢出率=fsoc/{12*[256-(TH1)]} 在单片机的应用中,常用的晶振频率为:12MHZ和11.0592MHZ。所以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系如表表示。 常用波特率 fosc/MHZ SMOD TH1初值 19200 11.0592 1 0FDH 9600 11.0592 0 0FDH 4800 11.0592 0 0FAH 2400 11.0592 0 0F4H 1200 11.0592 0 0E8H 表 定时T1工作于模式2常用波特率及初值 所以,用定时器/计数器的模式2作波特率发生器最恰当。 选用11.0592MHZ时钟频率,可获得标准的波特率。 串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器、串行口控制和中断控制。具体步骤如下: 确定定时器的工作方式(TMOD设置) 计算定时器的初值,装载TH、TL 启动定时器(置位TR) 确定串行口控制(设置SCON) 串行口在中断方式工作时,要进行中断设置(设置IE、IP) 串口编程初始化,例如: SCON=0x50; //串口方式1,允许接收,TI和RI清零 PCON=0x80; //波特率加倍(×2) TMOD=0x20; //T1设为定时方式2 TH1=0xfd; //T1计数初值,9.6k波特率 TL1=0xfd; //T1计数初值,9.6k波特率 IE; //中断使能(开总中断,开串口中断) TR1=1; //启动T1 GATE TMOD C/T M1 M0 M0 M1 GATE C/T (89H) 序号 波特率 SMOD a 1 62500 1 0xff 2 19200 1 0xfd 3 9600 0 0xfd 4 4800 0 0xfa 5 2400 0 0xf4 6 1200 0 0xe8 7.3 串行通信工作方式 方式0——八位同步移位寄存器方式 数据传输波特率固定为fosc/12 由RXD引脚输入或输出数据 TXD引脚输出fosc/12时钟信号 以8位数据为一帧,不设起始位和停止位,先发送或接收最低位 方式0主要用于扩展I/O口(串并转换)。 扩展输出口 扩展输入口 扩展输出芯片:CD4094、 74LS164… …扩展输入芯片:CD4014、 74LS165… … 方式1—— 10位数据异步通讯方式 一帧信息 = 1个起始位(0)+8位数据位+1个停止位(1) ,(起始位和停止位是自动插入的)。 指定T1为波特率时钟发生器, 一般选择定时方式2 序号 波特率 SMOD a 1 62500 1 0xff 2 19200 1 0xfd 3 9600 0 0xfd 4 4800 0 0xfa 5 2400 0 0xf4 6 1200 0 0xe8 (fosc=11.0592MHz) 方式1主要用于点对点通信 接线关系: 主机TXD、RXD分别与外设RXD、TXD相接;两机共地 接线关系: 利用RS-232C进行电平转换——(1:-5~-15V, 0:+5~ +15V) 实例2: 采用双机串行通信,其中甲机发送数据,乙机接收数据,两机fosc约为12MHz,波特率为2.4k,串口方式1。 甲机循环发送数字0~F,乙机接收后返回接收值。若发送值与返回值相等,继续发送下一数字,否则重复发送当前数字。 发送值和接收值分别显示在双方LED数码管上; 采用查询法检查收发是否完成。 ——通信协议 实例2电路原理图 带译码电路的数码管(7SEG-BCD——可直接输入数据0~F,无需显示字模) 实例2程序流程图 实例2参考程序(甲机) #includereg51.h unsigned char i,temp; void delay(unsigned int z) { unsigned int x,y; for(x=z;x0;x--) for(y=125;y0;y--); } { SBUF=i; while(!TI); TI=0; while(!RI); RI=0; temp=SBUF; if(temp==i) { P2=i; delay(500); i++; if(i==16) i=0; } } } void main() { SCON=0x50; PCON=0; TMOD=0x20; TH1=TL1=0xf4; TR1=1; while(1) 实例2参考程序(乙机)
您可能关注的文档
最近下载
- 2025年民航招飞pat测试题及答案.doc VIP
- 阿里人才盘点实践.pptx VIP
- 唐山丰南区有关招聘职业高中、足球特色校教师简章.PDF VIP
- 新版《铁路调车作业标准》电子版.docx
- 福建农林大学金山学院《高等数学(D)》2025 - 2026学年第一学期期末试卷.docx VIP
- 贵州企业招聘:2024贵阳铝镁设计研究院有限公司秋季招聘58人笔试备考试题及答案解析.docx VIP
- 广联达BIM5D+3.5操作手册.pdf VIP
- 17 猫 课件(共29张PPT)(完整版).pptx VIP
- 投资项目投资风险分析与评估方案.docx VIP
- 05X101-2_001地下通信电缆.pdf VIP
原创力文档


文档评论(0)