单片机串行通信 单片机串行通信的奇偶校验是怎么回事~

\u5355\u7247\u673a\u4e0e\u8ba1\u7b97\u673a\u4e32\u884c\u901a\u4fe1

\u77e9\u9635\u952e\u76d8\u91c7\u7528\u626b\u63cf\u6216\u8005\u7ebf\u53cd\u8f6c\u6cd5\u90fd\u53ef\u4ee5\u3002\u4e32\u53e3\u53d1\u9001\u51fd\u6570\u548c\u521d\u59cb\u5316\u51fd\u6570
#include

void
InitUART(void)
{
TMOD
=
0x20;
SCON
=
0x40;
TH1
=
0xFD;
TL1
=
TH1;
PCON
=
0x00;
TR1
=
1;
}
void
SendOneByte(unsigned
char
c)
{
SBUF
=
c;
while(!TI);
TI
=
0;
}
void
main(void)
{
InitUART();
}
//11.0592M\u6676\u632f\uff0c\u6ce2\u7279\u73879600

\u5947\u5076\u6821\u9a8c\u662f\u4e00\u79cd\u6821\u9a8c\u4ee3\u7801\u4f20\u8f93\u6b63\u786e\u6027\u7684\u65b9\u6cd5\u3002\u6839\u636e\u88ab\u4f20\u8f93\u7684\u4e00\u7ec4\u4e8c\u8fdb\u5236\u4ee3\u7801\u7684\u6570\u4f4d\u4e2d\u201c1\u201d\u7684\u4e2a\u6570\u662f\u5947\u6570\u6216\u5076\u6570\u6765\u8fdb\u884c\u6821\u9a8c\u3002\u91c7\u7528\u5947\u6570\u7684\u79f0\u4e3a\u5947\u6821\u9a8c\uff0c\u53cd\u4e4b\uff0c\u79f0\u4e3a\u5076\u6821\u9a8c\u3002\u91c7\u7528\u4f55\u79cd\u6821\u9a8c\u662f\u4e8b\u5148\u89c4\u5b9a\u597d\u7684\u3002\u901a\u5e38\u4e13\u95e8\u8bbe\u7f6e\u4e00\u4e2a\u5947\u5076\u6821\u9a8c\u4f4d\uff0c\u7528\u5b83\u4f7f\u8fd9\u7ec4\u4ee3\u7801\u4e2d\u201c1\u201d\u7684\u4e2a\u6570\u4e3a\u5947\u6570\u6216\u5076\u6570\u3002\u82e5\u7528\u5947\u6821\u9a8c\uff0c\u5219\u5f53\u63a5\u6536\u7aef\u6536\u5230\u8fd9\u7ec4\u4ee3\u7801\u65f6\uff0c\u6821\u9a8c\u201c1\u201d\u7684\u4e2a\u6570\u662f\u5426\u4e3a\u5947\u6570\uff0c\u4ece\u800c\u786e\u5b9a\u4f20\u8f93\u4ee3\u7801\u7684\u6b63\u786e\u6027\u3002
\u56e0\u6b64\u5728\u4f60\u8bbe\u5b9a\u8fd9\u4e00\u4f4d\u540e\u5355\u7247\u673a\u4f1a\u81ea\u52a8\u6267\u884c\u4e0a\u8ff0\u8fc7\u7a0b\uff0c\u5982\u679c\u6821\u9a8c\u9519\u8bef\u4f1a\u8fdb\u5165\u9519\u8bef\u4e2d\u65ad\u4e2d\u3002

串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
而在单片机中,有一个专门的串行口,用于异步通信方式(UART),与接收串行传输信息的外部设备相连,控制这个串行口的是两个寄存器,分别是状态寄存器和特殊功能寄存器。

状态寄存器(scon)
有八位(每位有相应的地址),用于定义串行口的工作方式和接收,发送的控制
工作方式
方式0:八位同步移位寄存器:有允许信号时,寄存器中的存交换数据的八位同时以固定的波特率移动;(较常用)
方式1:10位UART(波特率可变)
方式2:11位UART (波特率固定)
方式3:11位UART(珀特率由定时器T1控制可变)
波特率:串行通信中收发双方的数据传输率(即每秒传输多少数据)

特殊功能寄存器(pcon)
为了在51单片机上实现电源控制而附加的,功能有可以定义单片机得复位方式等。

  • 鍗曠墖鏈涔嬮棿濡備綍瀹炵幇閫氫俊?
    绛旓細涓や釜鍗曠墖鏈涔嬮棿涓插彛閫氫俊锛屽鏋滄槸鐢╬roteus浠跨湡锛屾渶绠鍗曚簡锛屼袱涓崟鐗囨満鐨剅xd锛宼xd浜ゅ弶杩炴帴灏辫浜嗐傝鏄疄鐗╂渶濂界敤rs232杩炴帴閫氫俊锛岃窛绂诲彲浠ヨ揪鍒板嚑鍗佺背銆傚啀杩滅偣璺濈锛岀敤rs485杩炴帴閫氫俊銆傛讳箣锛屾柟娉曞緢澶氱殑锛屼篃寰堢伒娲荤殑銆
  • 鍗曠墖鏈涓插彛鏄粈涔堟剰鎬
    绛旓細闂浜岋細鍗曠墖鏈轰覆鍙h皟璇曟槸浠涔堟剰鎬? 涓鑸氳繃涓鏍逛覆鍙g嚎灏嗗崟鐗囨満涓嶱C杩炴帴濂斤紝閫氳繃甯哥敤鐨勪覆鍙h皟璇曞姪鎵嬭繖涓蒋浠跺彂鏁版嵁鍜屾帴鏀舵暟鎹傝皟璇曠殑鎰忚窗灏辨槸鐪嬫槸鍚︿骇鍝佽兘鍚﹁揪鍒拌璁′汉鍛樻兂瑕佺殑閫氫俊杩囩▼銆傞棶棰樹笁锛鍗曠墖鏈轰覆琛岄氫俊涓氫俊浠涔堟剰鎬濓紵 鏁版ā鏄皢鍗曠墖鏈哄唴鐨勬暟鎹緭鍑鸿浆鎹负妯℃嫙淇″彿銆傛槸鍗曠墖鏈洪氳繃鏁版ā杞崲鍣ㄤ互妯℃嫙閲...
  • 8051鍗曠墖鏈鐨涓茶閫氫俊閫熺巼鍙互杈惧埌10MB/S鍚?
    绛旓細瀵逛簬鏍囧噯51鍐呮牳鏉ヨ锛屽叾涓插彛娉㈢壒鐜囧彂鐢熷櫒鏈灏戜篃鏄尟鑽″懆鏈熺殑16鍒嗛銆傚鏋涓插彛閫氫俊杈惧埌10MB/s锛屾寜鐓8N1鏍煎紡鐩稿綋浜100Mbps锛屼篃灏辨槸璇磋繖棰51闇瑕佽窇鍦1.6GHz鐨勯熺巼涓嬧︹﹀お闅句簡銆備互鍓嶆湁浜虹敤娑叉爱鍐峰嵈璁51璺戝埌鎺ヨ繎100MHz锛屼絾1600MHz鍙兘璇存槸澶╂柟澶滆碍浜嗐
  • AT89S51鍗曠墖鏈轰覆琛鍙g殑4绉嶅伐浣滄柟寮忓悇鏈変粈涔堝姛鑳藉拰鐗圭偣?
    绛旓細AT89S51鍗曠墖鏈轰覆琛鍙f湁鍥涚宸ヤ綔鏂瑰紡锛屽垎鍒槸妯″紡0銆佹ā寮1銆佹ā寮2鍜屾ā寮3锛屼笅闈㈡槸鍚勮嚜鐨勫姛鑳藉拰鐗圭偣锛1. 妯″紡0锛氬悓姝ョЩ浣嶈緭鍏/杈撳嚭鏂瑰紡 - 鍔熻兘锛氬湪杩欑妯″紡涓嬶紝涓茶绔彛鍙互杩涜鍚屾绉讳綅杈撳叆鍜岃緭鍑猴紝鍗虫瘡娆″彧鑳借緭鍏ユ垨杈撳嚭涓涓暟鎹綅銆- 鐗圭偣锛氭暟鎹浼犺緭閫熺巼杈冩參锛屼絾鍦ㄦ暟鎹紶杈撹繃绋嬩腑锛屼笉闇瑕佸閮ㄦ椂閽熸簮锛屽洜姝...
  • 涓茶鍙閫氫俊(涓)
    绛旓細娉㈢壒鐜 锛氭尝鐗圭巼琛ㄧず姣忕閽熶紶閫佺殑浜岃繘鍒朵綅鏁帮紝鏄 閲忔暟鎹紶閫侀熺巼鐨勬寚鏍囷紝瀹冪敤鍗曚綅鏃堕棿鍐呰浇娉㈣皟鍒剁姸鎬佹敼鍙樼殑娆℃暟鏉ヨ〃绀恒 鐩镐簰閫氫俊鐨勭敳涔欏弻鏂瑰繀椤诲叿鏈夌浉鍚岀殑娉㈢壒鐜囷紝涓嶇劧鏃犳硶鎴愬姛瀹屾垚涓茶閫氫俊銆52鍗曠墖鏈鍏锋湁涓涓叏鍙屽伐涓茶閫氫俊鍙c備竴涓叏鍙屽伐UART锛堥氱敤寮傛鎺ユ敹鍙戦佸櫒锛夌殑涓茶I/O鍙o紝鐢ㄤ簬瀹炵幇鍗曠墖鏈轰箣闂存垨...
  • 涓茶閫氫俊鏄粈涔堟剰鎬?
    绛旓細鏍规嵁淇℃伅鐨勪紶閫佹柟鍚戯紝涓茶閫氳鍙互杩涗竴姝ュ垎涓哄崟宸ャ佸崐鍙屽伐鍜屽叏鍙屽伐涓夌銆備俊鎭彧鑳藉崟鍚戜紶閫佷负鍗曞伐锛涗俊鎭兘鍙屽悜浼犻佷絾涓嶈兘鍚屾椂鍙屽悜浼犻佺О涓哄崐鍙屽伐锛涗俊鎭兘澶熷悓鏃跺弻鍚戜紶閫佸垯绉颁负鍏ㄥ弻宸ャ 涓茶閫氳鍙堝垎涓哄紓姝ラ氳鍜屽悓姝ラ氳涓ょ鏂瑰紡銆傚湪鍗曠墖鏈涓紝涓昏浣跨敤寮傛閫氳鏂瑰紡銆涓茶閫氫俊涓紝灏嗘暟鎹寜浣嶄緷娆′紶杈擄紝 姣忎綅鏁版嵁...
  • 鍗曠墖鏈轰覆琛岄氫俊鏈変綍搴旂敤?
    绛旓細鍗曠墖鏈轰覆琛岄氫俊鐨勫疄闄呬綔鐢細涓鑸敤浜庡拰澶栭儴璁惧浜ゆ崲鏁版嵁鐨 涓句緥鏉ヨ锛氫竴銆佹瘮濡傚拰PC鐨勪覆鍙f満閫氫俊锛屽崟鐗囨満鍙互閲囬泦涓浜涙ā鎷熼噺锛堟俯搴︼紝婀垮害锛屾皵浣撴祿搴︾瓑锛夛紝灏嗚繖浜涙ā鎷熼噺杞崲鎴愭暟瀛楅噺鍚庨氳繃涓茶閫氫俊鎺ュ彛浼犺緭涓狿C鏈猴紝PC鏈轰笂杩樺緱缂栧啓涓涓畝鍗曠殑搴旂敤杞欢锛屽彲浠ユ樉绀鸿繖浜涙ā鎷熼噺锛堟俯搴︼紝婀垮害锛屾皵浣撴祿搴︾瓑锛夌殑鍊硷紝杩欎釜...
  • 鍗曠墖鏈涓庡崟鐗囨満涔嬮棿濡備綍杩涜涓茶閫氫俊
    绛旓細1銆佸皢涓や釜鍗曠墖鏈鐨凴XD涓嶵XD鐩歌繛\x0d\x0a2銆佹牴鎹渶瑕佷紶杈撶殑鏁版嵁缂栧啓浼犺緭鍗忚\x0d\x0a3銆佺紪鍐涓茶閫氫俊绋嬪簭锛屽皢鑷繁闇瑕佸彂閫佺殑鏁版嵁鎸夌収鍗忚杩涜鍙戦乗x0d\x0a4銆佺紪鍐欐帴鏀剁▼搴忥紝鎸夌収鍗忚杩涜鎺ユ敹\x0d\x0a5銆佸皢涓や釜绋嬪簭鍒嗗埆鍐欏叆涓や釜鍗曠墖鏈猴紝杩愯銆
  • mcs51鍗曠墖鏈鐨涓茶鍙f槸
    绛旓細鍏ㄥ弻宸ョ殑涓茶閫氫俊鍙c侻CS-51鍗曠墖鏈鍐呴儴鏈変竴涓叏鍙屽伐鐨勪覆琛岄氫俊鍙o紝鍗充覆琛屾帴鏀跺拰鍙戦佺紦鍐插櫒锛圫BUF锛夛紝杩欎袱涓湪鐗╃悊涓婄嫭绔嬬殑鎺ユ敹鍙戦佸櫒锛屾棦鍙互鎺ユ敹鏁版嵁涔熷彲浠ュ彂閫佹暟鎹備絾鎺ユ敹缂撳啿鍣ㄥ彧鑳借鍑轰笉鑳藉啓鍏ワ紝鑰屽彂閫佺紦鍐插櫒鍒欏彧鑳藉啓鍏ヤ笉鑳借鍑猴紝鍦板潃涓99H銆傝繖涓氫俊鍙f棦鍙互鐢ㄤ簬缃戠粶閫氫俊锛屼害鍙疄鐜颁覆琛屽紓姝ラ氫俊锛岃繕...
  • 51鍗曠墖鏈涓,涓茶閫氫俊鐨勪覆琛屽師鐞嗐傚摢浣嶅ぇ渚犵粰灏忓紵绛旀涓嬨傛劅婵涓嶅敖_鐧惧害...
    绛旓細鏁版嵁浼犺緭閫熺巼鏈澶у彲鍒20K bps,鏈澶ц窛绂讳粎15m.娉:鐪嬩簡寰蒋鐨凪SDN 6.0锛屽叾Windows API涓叧浜涓茶閫氳璁惧(涓嶄竴瀹氶兘鏄覆鍙S-232C鎴朢S-422鎴朢S-449)閫熺巼鐨勮缃紝鏈澶у彲鏀寔鍒癛S_256000锛屽嵆256K bps!涔熶笉鐭ラ亾鍒板簳鏄粈涔堜覆琛岄氳璁惧?浣嗕笉绠℃庢牱锛屼竴鑸富鏈哄拰鍗曠墖鏈鐨勪覆鍙i氳澶у閮藉湪9600 bps,鍙互...
  • 扩展阅读:51单片机双机串行通信 ... 双机串行通信实验代码 ... 51单片机串口通信实验 ... 单片机三个串口并通信 ... modbus三种通讯协议 ... 串口波特率一览表 ... 四种常用串行通信接口 ... 单片机串口实验总结 ... 单片机之间实现通信 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网