8051单片机串行口输入输出数据的指令?
MOV A,SBUF ; 输入MOV SBUF,A ; 输出
绛旓細89C51鍗曠墖鏈轰覆鍙閫氫俊 涓茶绐楀彛锛屾槸鐪嬩笉瑙佹暡杩涘幓鐨勫瓧绗︾殑銆 瑕佹兂鐪嬭锛岄』鍐嶇敤涓涓覆琛岀獥鍙c傜畝杩癕CS-51鍗曠墖鏈轰覆鍙i氫俊鐨勫洓绉嶆柟寮忓強鍏剁壒鐐 鏂瑰紡 0 锛氳繖绉嶅伐浣滄柟寮忔瘮杈冪壒娈婏紝涓庡父瑙佺殑寰瀷璁$畻鏈虹殑涓茶鍙涓嶅悓锛屽畠鍙堝彨鍚屾绉讳綅瀵勫瓨鍣ㄨ緭鍑烘柟寮忋傚湪杩欑鏂瑰紡涓嬶紝鏁版嵁浠 RXD 绔涓茶杈撳嚭鎴杈撳叆锛屽悓姝ヤ俊鍙蜂粠 TXD...
绛旓細鍗曠墖鏈鍐呴儴鍖呭惈3涓畾鏃跺櫒 瀹氭椂鍣ㄨ瀹氭柟娉 51鍗曠墖鏈猴紝鏍规嵁鏅舵尟棰戠巼锛岃绠楁寚浠ゅ懆鏈燂紝璁剧疆瀹氭椂鍣ㄧ殑鍒嗛锛岀劧鍚庤缃畾鏃跺櫒鐨勫伐浣滄柟寮廡MOD锛屾渶鍚庤缃垵鍊糡H0 TL0 姣斿鐢ㄧ殑X HZ鐨勬櫠鎸紝stc鐨勫崟鐗囨満鏈3绉嶆ā寮忥紙X/12锛墄/6锛岃繕鏈夊崟鍛ㄦ湡鎸囦护锛岄夋嫨12鍒嗛鐨勶紝T=1/锛圶/12锛夊氨鏄竴涓寚浠ゅ懆鏈 锛屽鏋滃畾鏃舵病鏈夊垎棰...
绛旓細鏈32鏍笽/O鍙g嚎锛孭0鍙e拰P2鍙g殑16鏍瑰彛绾挎瀯鎴愬閮ㄥ湴鍧鎬荤嚎锛孭0鍙g殑8鏍瑰彛绾胯繕鏄閮ㄦ暟鎹荤嚎锛屾槸鍜屽湴鍧鐨勪綆8浣嶅垎鏃跺鐢ㄧ殑锛屾晠浣跨敤鏃惰鍔犲閮ㄩ攣瀛樺櫒锛屼互渚垮皢浣8浣嶅湴鍧杩涜鎵瀛樸傚湴鍧鎬荤嚎涓8浣嶏紝鏁版嵁鎬荤嚎涓16浣嶏紝鍙鍧64KB鐨勭┖闂淬
绛旓細3. 瀹氭椂鍣/璁℃暟鍣紙T/C锛夛細鍐呯疆涓や釜16浣嶅畾鏃跺櫒/璁℃暟鍣紝鑳藉浠ヨ鏁版垨瀹氭椂妯″紡杩愯锛屽苟鏍规嵁鍏剁粨鏋滄帶鍒惰绠楁満鎿嶄綔銆4. 骞惰杈撳叆/杈撳嚭绔彛锛圛/O鍙o級锛8051鎷ユ湁鍥涗釜8浣嶅苟琛孖/O绔彛锛圥0锝濸3锛夛紝鏀寔鏁版嵁鐨勫苟琛屼紶杈撱5. 涓茶鍙锛鍗曠墖鏈閰嶅涓涓叏鍙屽伐涓茶鍙o紝鏀寔涓庡彟涓鍗曠墖鏈烘垨鍏朵粬璁惧鐨勪覆琛岄氫俊銆6...
绛旓細濡傛灉8051/8751涓嶅鎺ュ瓨鍌ㄥ櫒锛岃繖鏃禤0鍒癙3鍙i兘鍙互褰撲綔鐢ㄦ埛I/O鍙d娇鐢ㄣ傚鏋滆澶栭儴鎵╁睍瀛樺偍鍣紝鎴栬呭8031鏉ヨ锛岀湡姝d负鐢ㄦ埛浣跨敤鐨処/O鍙g嚎鍙湁P1鍙o紝浠ュ強閮ㄥ垎浣滀负绗竴鍔熻兘浣跨敤鏃剁殑P3鍙c
绛旓細include <reg52.h> include <intrins.h> define uchar unsigned char define uint unsigned int sbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};uchar data RXDdata[ ] = {0x20,0x20,0x20,0x20...
绛旓細void UartInit(void)//[email protected] { PCON &= 0x7F;//娉㈢壒鐜囦笉鍊嶉 SCON = 0x50;//8浣嶆暟鎹,鍙彉娉㈢壒鐜 AUXR &= 0xBF;//瀹氭椂鍣1鏃堕挓涓篎osc/12,鍗12T AUXR &= 0xFE;//涓插彛1閫夋嫨瀹氭椂鍣1涓烘尝鐗圭巼鍙戠敓鍣 TMOD &= 0x0F;//娓呴櫎瀹氭椂鍣1妯″紡浣 TMOD |= 0x20;//璁惧畾瀹氭椂鍣1涓8...
绛旓細8051鍗曠墖鏈鐨処O鍙f棦鍙互鍋杈撳叆锛屼篃鍙互鍋氳緭鍑恒傚洜姝ゆ槸鍙屽悜鍙 浣嗕綔杈撳叆鏃舵湁鏉′欢鐨勶紝鍗充簨鍏堜娇瀹冭緭鍑洪珮鐢靛钩锛 鍗冲啓 1銆傚洜姝ょО涓哄噯鍙屽悜鍙c備竴涓狪O鍙h緭鍑0鏃惰鍏ョ殑鍙兘鏄0锛岃緭鍑1锛屾棦鍙互璇诲緱1锛屼篃鍙互璇诲緱0锛堝洜澶栫數璺彲浠ュ皢寮遍珮鐢靛钩鎷変綆锛夈
绛旓細/*鍐欐暟鎹埌涓插叆骞跺嚭绉讳綅瀵勫瓨鍣ㄥ嚱鏁*/ void WR(unsigned char data num2 ){ unsigned char data count1;for(count1=0;count1<=7;count1++){ if((num2&0x80)==0x80) /*鏈楂樹綅涓1锛屽垯鍚慡DATA鍙戦1*/ SDATA=1;/*鍙戝嚭鏁版嵁鐨勬渶楂樹綅*/ else SDATA=0;num2<<=1; /*鍙崇Щ浣*/ SC...
绛旓細涓茶鍙鏄崟鐗囨満涓庡鐣岃繘琛屼俊鎭氦鎹㈢殑宸ュ叿锛8051鍗曠墖鏈鐨勯氫俊鏂瑰紡鏈変袱绉嶏細骞惰閫氫俊锛氭暟鎹殑鍚勪綅鍚屾椂鍙戦佹垨鎺ユ敹銆備覆琛岄氫俊锛氭暟鎹竴浣嶄竴浣嶆搴忓彂閫佹垨鎺ユ敹銆備覆琛岄氫俊鐨勬柟寮 寮傛閫氫俊 鐢ㄤ竴涓捣濮嬩綅0琛ㄧず瀛楃鐨勫紑濮嬶紝鐢ㄥ仠姝綅1琛ㄧず瀛楃鐨勭粨鏉燂紝涓棿澶圭潃8涓暟鎹綅锛屽瓧绗﹁兘涓涓帴涓涓紶閫 CPU涓庡璁句箣闂村繀椤绘湁瀛楃...