上海di寺冈di-30ss 的波特率怎么调

条码使用手册-用户使用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
条码使用手册-用户使用
上传于||文档简介
&&棉​花​加​工​专​用
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢工厂部分常见问题及解决办法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
工厂部分常见问题及解决办法
上传于||文档简介
&&工​厂​部​分​常​见​问​题​及​解​决​办​法
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢2944人阅读
硬件设计(208)
为什么51系列单片机常用11.0592MHz的晶振设计?
现在有许多极好的编译程序能显示代码,在速度和尺寸两方面都是非凡有效的。现代的编绎器非常适应寄存器和变量的使用方面,比手动编译有较好的优越性,甚至在其它常规方面,所以C应是看代码方面最合适的。
& & 答1: 因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(1),不管多么古怪的值,这些晶振都是准确,常被使用的。
&&&&答2: 当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1的溢出率和SMOD的值(PCON.7------双倍速波特率)决定:
&&& 方式1、3波特率= (定时器1的溢出率)
&&& 特殊时,定时器被设在自动重袋模式(模式2,TMOD的高四位为0100B),其为:
&&& 方式1、 3波特率=11.0592MHZ晶振的一些典型波特率如下:
&&& 更换一种计算方式,它将以修改公式达到我们需求的波特率来计算出晶振。
&&& 最小晶振频率=波特率x
384 x 2 SMOD
&&& 这就是我们所需波特率的最小晶振频率,此频率能成倍增加达到我们需求的时钟频率。
&&& 例如:波特率为19.2KH2的最小晶振频率:
&&&&&&&&& 3.x384x2(波特率为19.2K的SMOD为1 )
&&&&&&&&& 11.4x3
&&&&&&&&& 其中TH1是由倍乘数(3)确定
&&&&&&&&& TH1=256-3=253=0FDH
&&&& 用来确定定时器的重装值,公式也可改为倍乘数的因子:
&&& 晶振频率=波特率x(256-TH1)x384x2
&&& 这是波特率为19.24K的晶振频率。
&&& 以上的例子可知,被乘数(3)是用来确定TH1:
&&& TH1=256-3=253=0FDH
&&& 19.2K波特率的晶振为
&&& 11.x(256-0FDH)x384x2(19.2 k的SMOD为1)
&&& 其它值也会得出好的结果,但是11.0592MHZ是较高的晶振频率,也允许高波特率。
&设定80C51串行异步通讯的波特率 本文的目的在于补充及阐明一些有关的内容。这些内容涉及到将标准串行口(UART)应用于通常的RS-232串行通讯时,如何确定波特率及晶振频率。这里简化了标准的波特率计算公式,并重申此公式可用于解决其他参数,如晶振频率和定时器重载值。 下面的讨论需要读者已经具备串行口和定时器的一些知识。这里讨论的内容可以考虑作为《Philips 80C51 Family Microcontroller Data Book》中“定时器/计数器和标准串行口”章节的补充说明。 因为我们假设使用标准串行口进行RS-232 串行通讯,因此,串行口应工作于方式1或方式3(波特率可变的模式),定时器T1 应工作于方式2(8位定时器,自动重载模式,用作波特率发生器)。在这里,对于CMOS工艺的,根据SMOD位是否被设置,所有的公式均可提供2个时间除数的选择。对于NMOS工艺的器件,总是使用默认值(SMOD≠1)。 定时器重载值的基本公式规定如下: 波特率 ) 则除数为(若 晶振频率192 1 384 256 1 = - = SMOD TH例如:当晶振为11.0592MHz时,如果需要获得9600波特率的通讯速率,则定时器重载值为: )  (十六进制的xFD 0 253 3 256
= - = - 也可以根据公式,从其他已知条件求出波特率或晶振频率,如下所示: 1 256 192 1 384 TH SMOD - = = ) 则除数为(若晶振频率波特率) 则乘数为(若设定的波特率所需的最小晶振频率192 1 384 = × = SMOD 按上述公式,对于SMOD=1的CMOS器件,若使用19.2K的通讯波特率,则应使用的最小晶振频率为1,即3.6864MHz。当使用这个公式时,作为最大波特率的定时器重载值总是为255(十六进制数0xFF),即TH1=256-1。 因此,按此方法计算,使用相差偶倍数的晶振频率,采用不同的定时器重载值,可以产生相同的波特率。举例来说,3.6864MHz的4倍是14.7456MHz。在14.7456MHz的晶振频率下,只要使用1/4的定时器溢出率:252(十六进制数0xFC),即TH1=256-4,作为定时器重载值,就可以同样产生19.2k的通讯波特率。 一、用于产生标准波特率的晶振频率 下表列出了当80C51串行口工作在标准波特率下时可以使用的晶振频率。此表假设串行口工作于方式1或方式3(波特率可变的模式),定时器T1 应工作于方式2(8位定时器,自动重载模式)。此表同时假设所需产生的最小波特率为9600(包括可使用置位SMOD位使波特率倍增)。 如果仅需产生一个较低数值的波特率,那可以选用许多晶振频率。 最小定时数值(timer count)栏指出:在当前晶振频率下,用以产生表中所给出的最大波特率时,所需的最小定时数值。最后一栏为定时器重载值,用以产生最小定时数值。定时器重载值显然是等于256减去最小定时数值。 在相同的晶振频率下,如需产生另外的通讯波特率,则可以将最小定时数值按照前面的方法连续乘以2倍,并计算得出新的定时器重载值。例如,在晶振频率为1.8432MHz时,需产生为4800的通讯波特率,定时数值将为2(因为9600的波特率是4800的两倍),定时器重载值为254(256-2,或十六进制0xFE)。 - 2 - 二、偏差频率的晶振所带来的影响 有时,人们希望在设计中使用一偏差频率的晶振,但仍想使用串行口进行调试。因为大多数终端(或其他RS-232 器件)与其他装置通讯过程中,使用的波特率会有几个百分点的误差,但经常是能够成功完成。注意:在应用场合的正常操作中,如果需要对另外的RS-232 器件进行通讯,那么,不推荐使用偏差频率进行串行通讯。 关于频率偏差的允许值应该是多少,则没有这方面的精确限制。因为这取决于器件通讯、波特率、所有器件的精确频率,等等。但,可以这么说,如果频率偏差少于5%,可能通讯会可靠工作。这个稍微用点肯定的数字是从以下几点得来的:对于一个10位的串行代码(1个起动位、8个数据位、1个停止位),只要有10%的数据错误概率(在一个数据帧的末尾加上或减去一个位时间),就会使接收器发生偏差。如果人们想要十分可靠的通讯效果,那么一个位时间的错误看起来是十分过分的。因此考虑其10%的一半(5%)就不错了。这就是为什么常常可以在应用中看到人们使用一个许多标准的“非定制”晶振,在调试、出厂测试等工作中完成串行通讯。举个例,比如著名的“彩色脉冲串(color burst)”,当使用3.579545MHz晶振时,速度要比3.6864MHz晶振慢3%。3.6864MHz可以作为理想的波特率发生器。 同样的,在某些情况时,可以用低成本的晶振代替低标准的晶振。另外一个明显的替换则出现在表中,以标准的14.31818MHz晶振代替非标的14.7456MHz晶振,这个替换所产生的误差小于3%, 由于它有快速的指令执行速度,因此更方便。反之,3.58MHz晶振在许多的应用中就太慢了。 也应该记住,如果字符的传输的方式不是“返回-返回”式,那么RS-232 的通讯能力是非常健壮(抗干扰能力很强)。如果需要在特别应用中,不按规定使用串行口时,这一点会非常重要。当数据全速发送时,一旦接收器没能同步上,接收器就没有机会再次同步传输数据帧。 但是,当字符与字符间有一短暂的间隔(大约2-3个位时间或更长),接收器就能够完全正确地锁定起始位,不会产生数据帧错误。最坏的情况下,在通讯中只要有一个字节时间或更长时间的短暂间隔,接收器不论如何地不同步,也总会做到再同步。 三、分析一个小小的已知现象 在大多数应用程序的串行口设置代码中,定时器寄存器TL1并没有被预先设定。在许多应- 3 - 用中,这会对串行口发送第一个字符带来影响,尽管出现这种影响的机会很少。通过逻辑分析仪观察自串行口发出的第一个字节,可以看到:复位结束后这个效应就被激发。第一个字节开始发送,但在逻辑分析仪上看不到任何本来应该有的单个单个的位。 这个情况出现的原因是:在第一个字节传输完成之前,TL1必须有一次定时溢出。如果TL1没有被预先设置,那么其值将会被设置为复位值“0”。根据TH1中的重载值(此值同时取决于波特率和晶振频率),这可能会在传送开始时产生一个最大为255个标准位时间的非工作延迟。 还有,在大多数应用中,这并不很重要。实际上,当电源上电后,在第一个串行字符发送之前,此延时期间是有利的。但是,如果要求第一个串行字符应该要立即起动,那么,TL1可以预先设置为一不是“0”的数值。如果不需要延迟,TL1所设定的数值应该等于TH1中的数值。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7465543次
积分:87663
积分:87663
排名:第9名
原创:1130篇
转载:2959篇
评论:1324条
(10)(2)(3)(13)(13)(4)(9)(62)(16)(8)(23)(9)(37)(73)(34)(31)(120)(128)(183)(23)(69)(75)(1)(171)(33)(148)(168)(145)(27)(144)(139)(208)(61)(59)(10)(10)(32)(2)(7)(34)(24)(9)(39)(25)(32)(46)(20)(44)(8)(21)(43)(49)(100)(113)(136)(35)(55)(15)(29)(41)(15)(50)(17)(20)(182)(206)(43)(27)(19)(17)(13)(1)(40)(5)(3)(4)(21)(71)(73)(19)(2)(2)(1)(1)(1)(6)(3)7816&ATR分析及高波特率设置:
ATR组成参考下表,
TS:参考上表 通常使用3B。
T0:格式字符
高四位(B8-B5)分别对应接口字符TD1-TA1是否存在,可根据需要进行设定,当相应的bit为1时需添加对应的字符。低四位(B4-B1)为表示历史字节的个数(范围0-15),历史字节跟在接口字符后面。
TA1:高四位(B8-B5)为FI,低四位(B4-B1)为DI,
7816中的波特率使用etu来表示, 1etu =FI/DI*1/f ,其中f默认为3.579545MHz,FI和DI的值可以通过查询下表获得。
例如:缺省值FI=1,DI=1则TA1=0x11,通过查表可以获得1etu=372/3579545(s), etu的单位为秒,对其取倒数相当于串口的bps, 1/1etu`=9600bps,
TB1: b1~b5确定最大编程电压,b6~b7确定最大编程电流,b8不使用。一般情况下此字节不使用,即将T0中的B6设为0。
TC1:用于设定从终端到IC卡的两相邻字符间的定时。
TD1:表示有无更多的接口字节传送,以及关于传输协议类型的信息。
根据7816 PPS的定义,可以调节TA1的值来设置波特率。
//11--74 01&11为ATR的第三个字节, 74写入IOBAUD0 &01写入IOBAUD1& 0x0174 = 372
//12--BA 00&0x00BA = 186
//13--5D 00&
//91--00 02
//92--00 01
//93--80 00
//94--40 00
//95--10 00&& 0x0010 = 16
参考ATR设置:3B 94 11 00 xx xx xx xx&
&&&&&&&&&&&&&&&&&&&&&&&&&&& & &3B D4
xx xx xx xx
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:10235次
排名:千里之外
转载:16篇
(1)(1)(3)(2)(6)(1)(1)(1)(1)(1)(3)(6)(2)(2)

我要回帖

更多关于 上海di 的文章

 

随机推荐