㈠ 51單片機串口通訊代碼和校驗怎麼弄,最好有現成的程序我參考一下!
串口通訊模式3用於數據收發,支持9位數據傳輸,其中第九位可以作為奇偶校驗位。發送代碼如下:
發送代碼:
SPOUT: MOV C,P ;奇偶位送C
MOV TB8,C ;送發送位
MOV SBUF,A ;發送數據
JNB TI,$
CLR TI
RET
接收代碼如下:
接收代碼:
SPIN: JNB RI,$ ;等待接收數據
MOV A,SBUF;接收數據
MOV C,RB8 ;第九位送C
JC SPIN1 ;為1轉
ORL C,P ;與奇偶位或運算
JC ERR ;為1(也就是不相等轉錯誤)
SJMP SPOK
SPIN1: ANL C,P ;與奇偶位與運算
JNC ERR ;為0則錯誤
SPOK: RET
ERR: MOV A,#0FFH
以上代碼詳細展示了如何使用模式3進行串口通信,並對奇偶校驗位進行了處理。通過這種方式,可以有效檢測數據傳輸中的錯誤。
㈡ 關於51單片機的復位電路
51單片復位:高電平復位,低電平工作。
此復位電路包含兩種復位方式:上電復位、手動復位。
上電復位——
因為51機要求復位正脈沖持續20us以上方有效,故R2的作用就是C1的充電延時電阻,並將充電電流反饋成高電位。顯然,若無R2,RST端接地,將持續為低電平。
上電時,+5V電壓經C3、R2迴路對C1充電,剛開始,充電電流很大,此電流在R2上產生壓降,RST端呈正電位(高電平);隨著充電的持續進行,在C1上逐步建立起左正右負的電壓,右端負壓使RST電位逐步下降,最後將RST端電位鎖定在低電平。
手動復位——
如果需要重啟程序,則按下RET1後松開即可。按下時,+5V電壓使RST為高電平,松 開後,RST端變為低電平。R1為手動復位時的限流電阻,同時又與R2構成串聯分壓電路,使RST端的電壓,電流維持在適當的水平,保護51單片不受大電流、高電壓的沖擊。
㈢ 51單片機延時程序時間是怎麼計算的
51單片機延時時間計算需要考慮以下兩種因素:
1、指令執行時間
2、指令循環次數