|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
奇校驗(yàn)的問題 |
| 作者:衷政偉 欄目:單片機(jī) |
串行口發(fā)送子程序(奇校驗(yàn)) SPOUT: MOV C, PSW.0 ;設(shè)置奇校驗(yàn)位,校驗(yàn)位P=1為奇校驗(yàn) CPL C ;奇校驗(yàn)(無此指令為偶校驗(yàn)) MOV ACC.7, C ;ACC.7補(bǔ)0或1 MOV SBUF, A ;啟動串行口發(fā)送過程 這道題目是發(fā)送ASC碼的 這是代碼的一部分,我不明白以下幾點(diǎn): 1>當(dāng)A中為01110000 根據(jù)代碼的運(yùn)行:P=1(1的個數(shù)為奇數(shù)) C=0 ACC.7=0 這時A中變?yōu)椋?1110000 最高位的0為奇校驗(yàn)位 但這時P卻為1與0不相等啊,這樣不是出錯了嗎,怎會事啊? |
| 2樓: | >>參與討論 |
| 作者: xwj 于 2006/7/6 13:13:00 發(fā)布:
此處的奇檢驗(yàn)是指運(yùn)算完后A中的結(jié)果一定是奇數(shù)個1 P不參與發(fā)送 |
|
| 3樓: | >>參與討論 |
| 作者: 衷政偉 于 2006/7/6 17:03:00 發(fā)布:
能用例子來解釋下嗎 |
|
| 4樓: | >>參與討論 |
| 作者: 衷政偉 于 2006/7/6 20:47:00 發(fā)布:
頂下 |
|
| 5樓: | >>參與討論 |
| 作者: xuyaqi 于 2006/7/7 5:57:00 發(fā)布:
應(yīng)該這樣來理解 1 奇偶標(biāo)志是單片機(jī)的硬件功能,判斷結(jié)果放在程序狀態(tài)字的0位(PSW.0),實(shí)時性很強(qiáng)。 2 用它干什么是軟件功能,如“串口發(fā)送”奇偶校驗(yàn)。再回到 衷政偉 的問題,經(jīng)過你這段程序發(fā)送出去的“A”永遠(yuǎn)是奇數(shù)個“1”,串口的另一方收到數(shù)據(jù)后,經(jīng)過自己的奇偶檢驗(yàn)如果是奇數(shù)個“1”,說明接收正確,否則接收錯誤。 你的問題“但這時P卻為1與0不相等啊,這樣不是出錯了嗎”正因?yàn)镻=1,說明“A”中有奇數(shù)個“1”正是你要的奇校驗(yàn),相反P=0不就錯了嗎。 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |