导航:首页 > 操作系统 > 怎么查单片机的传输速率

怎么查单片机的传输速率

发布时间:2024-07-05 10:34:11

⑴ 51单片机波特率计算公式和定时器初值

51单片机芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义如下: 

SM0 SM1 SM2 REN TB8 RB8 TI RI 

SM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。 

波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。这里所指的波特率,如标准9600 不是每秒种可以传送9600个字节,而是指每秒可以传送9600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是9600÷10=960 字节。 

    51芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以达到1M。模式2的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD位,如SMOD 为0,波特率为focs/64,SMOD 为1,波特率为focs/32。 

    模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率,就是说定时器1每溢出一次,串口发送一次数据。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。 

上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。通常会使用定时器1工作在定时器工作模式2下,这时定时值中的TL1做为计数,TH1做为自动重装值,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2下定时器1溢出速率的计算公式如下: 

  溢出速率=(计数速率)/(256-TH1初值) 

  溢出速率=fosc/[12*(256-TH1初值)] 

    上式中的“计数速率”与所使用的晶体振荡器频率有关,在51 芯片中定时器启动后会在每一个机器周期使定时寄存器TH 的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M 的晶振用在51芯片上,那么51的计数速率就为1M。通常用11.0592M 晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600 的波特率,晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式: 

11.0592M 

               9600=(2÷32)×((11.0592M/12)/(256-TH1)) 

TH1=250 

12M 

               9600=(2÷32)×((12M/12)/(256-TH1)) 

TH1≈249.49 

    上面的计算可以看出使用12M晶体的时候计算出来的TH1不为整数,而TH1的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。

⑵ 什么是波特率在51单片机中如何使用

波特率就是一秒种传输0或1的个数,若波特率是9600那么它传输一位0或1的时间就是1/9600秒如果串口工作在方式一下波特率是9600晶振是11059200
定时器选用timer1的自动重装模式
即1/9600=定时时间
就是1/9600=(12*32/11059200)*(256-定时初值)。那么
定时初值=256-(11059200/(12*32*9600));
这里的32是51单片机的硬件典型结构,串口通信使用的频率是晶振频率的1/32或者1/16,但是这种模式下,限制了波特率的提高,因此,现在一些改进的51单片机是1/2分频。

⑶ 鍗旷墖链烘尝鐗圭巼鏄澶氩皯

1.RS-232-C镙囧嗳瑙勫畾镄勬暟鎹浼犺緭阃熺巼涓50銆75銆100銆150銆300銆600銆1200銆2400銆4800銆9600銆19200銆38400娉㈢壒銆傝嚜瀹氢箟闅忎究鍙瑕佸彲浠ヨ揪鍒般

2.UART涓插彛锛屼綔涓哄崟鐗囨満链甯哥敤镄勯氲鎺ュ彛宸茬粡娣卞叆姣忎竴涓宓屽叆寮忓伐绋嫔笀镄勮剳娴枫俇ART涓插彛链夌潃绠鍗曘佸疄鐢ㄧ殑鐗规э纴宓屽叆寮忓伐绋嫔笀甯稿父鐢ㄦ潵灏嗗叾浣滀负璋冭瘯绯荤粺镄勯吨瑕佸伐鍏枫俇ART涓插彛镄勯厤缃鍙傛暟链夊緢澶氾纴浣嗘槸链甯哥敤锛屼笖闇瑕佷慨鏀圭殑鍙傛暟鍙链夐氲娉㈢壒阃熺巼杩欎竴涓銆

𨰾揿𪾢璧勬枡锛

娉㈢壒鐜囷细

1.鍗旷墖链烘垨璁$畻链哄湪涓插彛阃氢俊镞剁殑阃熺巼銆傛寚镄勬槸淇″彿琚璋冨埗浠ュ悗鍦ㄥ崟浣嶆椂闂村唴镄勫彉鍖栵纴鍗冲崟浣嶆椂闂村唴杞芥尝鍙傛暟鍙桦寲镄勬℃暟锛屽傛疮绉挜挓浼犻240涓瀛楃︼纴钥屾疮涓瀛楃︽牸寮忓寘钖10浣嶏纸1涓璧峰嬩綅锛1涓锅沧浣嶏纴8涓鏁版嵁浣嶏级锛岃繖镞剁殑娉㈢壒鐜囦负240Bd锛屾瘆鐗圭巼涓10浣*240涓/绉=2400bps銆

2.姣忕挜挓浼犻240涓浜岃繘鍒朵綅锛岃繖镞剁殑娉㈢壒鐜囦负240Bd锛屾瘆鐗圭巼涔熸槸240bps銆(浣嗘槸涓鑸璋冨埗阃熺巼澶т簬娉㈢壒鐜囷纴姣斿傛浖褰绘柉鐗圭紪镰侊级銆傛尝鐗圭巼锛屽彲浠ラ氢织镄勭悊瑙d负涓涓璁惧囧湪涓绉挜挓鍐呭彂阃侊纸鎴栨帴鏀讹级浜嗗氩皯镰佸厓镄勬暟鎹銆

3.瀹冩槸瀵圭﹀彿浼犺緭阃熺巼镄勪竴绉嶅害閲忥纴1娉㈢壒鍗虫寚姣忕掍紶杈1涓镰佸厓绗﹀彿锛堥氲繃涓嶅悓镄勮皟鍒舵柟寮忥纴鍙浠ュ湪涓涓镰佸厓绗﹀彿涓婅礋杞藉氢釜bit浣崭俊鎭锛夛纴1姣旂壒姣忕掓槸鎸囨疮绉掍紶杈1姣旂壒锛坆it锛夈 鍗曚綅钬沧尝鐗光濇湰韬灏卞凡缁忔槸浠h〃姣忕掔殑璋冨埗鏁帮纴浠モ沧尝鐗规疮绉掆濓纸Baud per second锛変负鍗曚綅鏄涓绉嶅父瑙佺殑阌栾銆

鍙傝冭祫鏂欙细

锏惧害锏剧-娉㈢壒鐜

⑷ 鍗旷墖链轰腑濡备綍阃夌敤SPI銆乁ART鍜孖IC/SmBus链夎皝鐭ラ亾浠栦滑镄勪紶杈挞熷害鍜屽簲鐢ㄥ満...

1銆丼PI锛歋PI(SerialPeripheralInterface)鏄疢OTOROLA鍏鍙告彁鍑虹殑钖屾ヤ覆琛屾荤嚎鏂瑰纺銆傞珮阃熷悓姝ヤ覆琛屽彛銆3锝4绾挎帴鍙o纴鏀跺彂镫绔嬨佸彲钖屾ヨ繘琛.锲犲叾纭浠跺姛鑳藉己澶ц岃骞挎硾搴旂敤銆傚湪鍗旷墖链虹粍鎴愮殑鏅鸿兘浠鍣ㄥ拰娴嬫带绯荤粺涓銆
2銆両IC鐢1镙逛覆琛屾暟鎹绾匡纸SDA锛+1镙逛覆琛屾椂阍熺嚎锛圫CL锛夋瀯鎴愶纴瀹炵幇浜嗗弻宸ョ殑钖屾ユ暟鎹浼犺緭锛埚弻钖戜紶杈掳级銆傛湁浜轰细鍑濋梾锛屼竴镙圭嚎浣滀负镐荤嚎灏辩畻浜嗭纴浣嗘槸瀹冩庝箞瀹炵幇鍙屽悜浼犺緭鏁版嵁锻锛熶綘鍙鍒蹇树简锛屽畠杩樻湁涓镙规椂阍熺嚎锛屼綔鐢ㄥ悓spi镄勬椂阍熺嚎銆
3銆丼PI鎺ュ彛涓昏佸簲鐢ㄥ湪EEPROM銆丗LASH銆佸疄镞舵椂阍熴丄D杞鎹㈠櫒锛岃缮链夋暟瀛椾俊鍙峰勭悊鍣ㄥ拰鏁板瓧淇″彿瑙g爜鍣ㄤ箣闂淬係MBus鏄疭ystemManagementBus镄勭缉鍐欙纴鏄1995骞寸敱Intel鎻愬嚭镄勶纴搴旂敤浜庣Щ锷≒C鍜屾岄溃PC绯荤粺涓镄勪绠阃熺巼阃氲銆
4銆丆AN锛氱幇鍦烘荤嚎WiFi妯″潡甯哥敤阃氢俊鎺ュ彛鍖呭惈锛歎SB銆丼DIO銆丼PI锛坰lave锛夈乁ART銆丷GMII銆丷MII銆
5銆侀栧厛锛屽崟鐗囨満绋嫔簭鍜孲PI镐荤嚎I2C镐荤嚎涓嶆槸涓涓锣幂暣镄勬傚康SPI镐荤嚎鍜孖2C镐荤嚎鏄纭浠舵荤嚎锛屽叾瀛桦湪镐у彧鑳藉湪纭浠惰寖鐣翠腑浣撶幇锛屼竴浜涘瀷鍙风殑鍗旷墖链烘湰韬灏卞悓镞跺叿链変互涓娄袱绉嶆荤嚎锛屾湁镄勫瓨鍦ㄥ叾涓涓绉嶏纴链夌殑鍒欐病链夈
6銆丼TC镄勫緢澶氩崟鐗囨満閮芥湁SPI妯″潡锛屾瘆濡係TC12C5A60S2銆傛湁IIC鍗忚镄勫崟鐗囨満杈冨皯锛屼絾寰埚氱殑瀛桦偍鍣ㄦ槸IIC鎺ュ彛姣斿24C02绛夈

阅读全文

与怎么查单片机的传输速率相关的资料

热点内容
信捷触摸屏用什么手机app控制 浏览:999
macphp连接mssql 浏览:197
怎么切换国区的appid 浏览:261
虚拟服务器如何重置密码 浏览:328
32岁美女程序员 浏览:202
实例几何体命令在哪里调出来 浏览:602
阿里云服务器推荐码有什么用 浏览:436
加密货币交易天堂 浏览:830
华为手机为什么不升级安卓11 浏览:44
linuxrpm卸载jdk 浏览:862
mysql权限设置命令 浏览:620
hexophp 浏览:273
用什么app买东西半价 浏览:64
苹果下载的pdf文件怎么打开 浏览:213
如何在服务器上隐藏源站地址 浏览:645
单片机进制字母对应表 浏览:528
向某人下命令 浏览:627
编程中删除数组中的数 浏览:86
aes对称加密反编译 浏览:550
java编译成exe 浏览:190