導航:首頁 > 操作系統 > 單片機校驗

單片機校驗

發布時間:2022-02-08 20:32:04

『壹』 51單片機「和校驗」

CLR TB8
MOV A,@R0 ;GET DATA
MOV SBUF,A ;SEND
XRL A,R4
MOV R4,A
TRAN1: JNB TI,TRAN1 ;WAIT
這是XOR(異或)校驗吧...

把XRL A,R4改為ADD A,R4就是和校驗..

『貳』 單片機奇偶校驗

通常,串列通信的一幀的格式是8-n-1,即8位數據、無校驗、1個停止位。
有時為了提高准確度,需要增加一個「奇」校驗位或者「偶」校驗位。
對於高級語言的做法是很簡單的,只要把格式命令「8-n-1」,改為「8-P-1」或「8-O-1」即可。
串列口在帶有校驗位的通信方式中,是先發送8位數據,然後再發送校驗位。
51單片機也可以按照帶有校驗位的方式進行串列通信,這在51單片機中稱為9位數據方式。
51單片機中有兩個位,分別稱為TB8和RB8,它們在「無校驗」的時候,並沒有用處。
當51單片機用9位數據方式進行串列通信的時候,TB8和RB8的作用如下:
51單片機在發送的時候,先發送8位數據,然後發送TB8中的內容;
51單片機在接收的時候,先接收8位數據,然後接收校驗位,存到RB8中。
編寫51單片機程序的時候,應該在發送數據之前,在TB8中,寫好待發送的校驗位。
8位數據的校驗位,可以利用單片機中奇偶標志位P來自動生成,程序如下。
MOV A, #待發數據 ;數據進了A,即刻生成奇偶標志位P
MOV C, P
MOV TB8, C ;校驗位送到TB8
MOV SBUF, A ;發送數據,以及P
由於P = 1則說明A中有奇數個1,所以上述程序是「偶」校驗的形式。
如果要求的是「奇」校驗,則需要增加一條取反指令,如下:
MOV C, P
CPL C
MOV TB8, C ;校驗位送到TB8
接收方會把收到的8位數送到SBUF,第9位數,送到RB8,然後自動設立RI = 1。
之後,就可以用RB8中的內容,對剛才收到的8位數進行正確性檢驗。

另一個問題:51單片機如何初始化成8-n-1(8數據位,無奇偶校驗位,1停止位)波特率,是用串口的模式幾?
本來想用串口的模式1,可是仔細一看,模式1是10非同步通信方式,1起始位,8數據位,1停止位?
懸賞分:20 - 解決時間:2009-12-1 13:26
問題補充:首先感謝一樓的回答。我還有些疑問,剛才用示波器看了下,當發送0xFF時,示波器顯示一位低電平,其餘為高電平,這點應該是對的,因為起始位是0.可是為什麼發送0xAA時,示波器的(起始位+數據位+停止位)序列是:0 + 0101 0101 + 1,而0x55的序列為:0 +1010 1010 + 1,這兩個值好像不對,是相反了,要是調一下剛好對?
;-----------------------------------------------------------------
最佳答案用串口的模式1,是10位非同步通信方式。
1起始位,8數據位,1停止位,沒有奇偶校驗位。
這種模式就是:8-n-1(8數據位,無奇偶校驗位,1停止位)的模式。
完全符合你的要求。

『叄』 什麼樣的單片機才有編程和校驗方式

沒看懂你的問題,但凡是單片機,都可以進行程序設計,要不就成了不可編程的ASIC。
至於校驗方式,校驗是對於傳輸數據來講的,一些特殊單片機的串口、CAN介面、USB介面或是高級處理器的DDR2、PCI等介面,都帶有自動校驗。

『肆』 51單片機中C語言奇偶校驗位如何設置

在51單片機中,只要將一個值傳送給累加器,這個數的奇偶校驗值就會影響P。一般而言,在串列通訊中為確保傳輸數的准確,用到校驗位的情況比較多。以下是程序代碼:

#include<reg51.h>

main()
{
char dat;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0xd0;
while(1)
{
dat++;
ACC=dat;
TB8=P; //校驗位送第九數據位TB8
SBUF=ACC;
while(TI==0);
TI=0;
}
}

『伍』 51單片機里的和校驗,異或校驗,具體的步驟是什麼,代碼怎麼寫

和校驗就是把待校驗的數據位元組累加起來,最低的1位元組或2位元組與接收到的校驗和相符,則表明傳輸過程沒有問題。
異或校驗類似,把待校驗的數據位元組逐個進行按位異或運算,最後的結果與接收到的校驗值相符,則表明傳輸過程沒有問題,

『陸』 單片機串口通訊代碼和校驗

單片機串口通訊代碼和校驗的方法有很多,具體怎麼做,需要編制一個通信協議。
你說的把所有代碼加起來計算和,再與最後個位元組比較,這只是一種校驗和的方法。對於普通的通信可以用,方法簡單,程序也好寫。當然可以自己制定一個具體的協議,那些代碼相加,哪些代碼不加,和放在第幾個位元組。而求也有求代數和的,也有求異或和的。
Modbus協議採用的CRC16校驗的方法,比較成熟,用的也較多。這種程序在網上可以找到。
如果通信需要保密,還可以採用各種加密技術。

『柒』 51單片機進行串口通信的時候,如何設置奇校驗還是偶校驗

首先你需要設置串口工作模式為2或3
其次,你將SCON中的TB8設置為1或0來確定是奇校驗或偶校驗。

『捌』 單片機的CRC校驗

D行定義ROM數組,CRC16校驗的余式表格,ABC行那就是運算了哦,建議你看看CRC的書,描述起來要一大堆呢

『玖』 怎麼檢驗單片機是否合格

至於單片機嘛,也沒有什麼先進的儀器,如果你是自己用的話,也沒有必要,下個程序裝在板上試,別的也沒辦法了,一般新買的不可能是壞的!

『拾』 51單片機 奇偶校驗

呵呵,在這兩條指令的前後,你各忽略了一條指令。請看下列程序及說明:

MOV A, #待發數據 ;數據進了A,即刻生成校驗位P
MOV C, P
MOV TB8, C ;校驗位送到TB8
MOV SBUF, A ;發送數據,以及P

上述寫法,是偶校驗。奇校驗,需要增加一條取反指令,如下:

MOV C, P
CPL C
MOV TB8, C ;校驗位送到TB8

就這些。

閱讀全文

與單片機校驗相關的資料

熱點內容
php本周星期一 瀏覽:54
裘錫圭pdf 瀏覽:726
android模擬器調試 瀏覽:135
sap命令大全 瀏覽:296
mysql導出數據命令 瀏覽:954
文件夾隱藏了出不來 瀏覽:562
電信網上大學源碼 瀏覽:204
rr輪轉調度演算法 瀏覽:253
我的世界無法登入伺服器怎麼辦 瀏覽:148
文件加密授權特定隱藏訪問控制 瀏覽:801
程序員劍靈官網 瀏覽:516
php調用static方法 瀏覽:934
天正命令版 瀏覽:88
聚合支付加密幣 瀏覽:314
蜜源app是什麼時候創立的 瀏覽:708
計算機專業學51單片機 瀏覽:212
程序員不接受反駁 瀏覽:300
微軟自帶的壓縮軟體 瀏覽:290
中國玩家在日本伺服器做什麼 瀏覽:52
12864和單片機 瀏覽:900