|
|||||||||||
| 技術(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 |
關(guān)于串口的問題 |
| 作者:hoon 欄目:單片機(jī) |
為什么我通過51單片機(jī)向pc串口發(fā)送:AE 得到的卻是:6E或是4E。 程序應(yīng)該是沒有問題的, 但是是通過自己作的S51下載線燒到單片機(jī)里的, 這根下載線以前試過一些小程序,好像沒什么問題。 不知道該從哪里下手進(jìn)行調(diào)試, 望高手們指點一下。 謝謝。 程序如下: ORG 0000H clr P1.0; MOV SCON,#50H;設(shè)置成串口1方式 MOV TMOD,#20H;波特率發(fā)生器T1工作在模式2上 MOV PCON,#80H;波特率翻倍為2400x2=4800BPS MOV TH1,#0F3H;預(yù)置初值(按照波特率2400BPS預(yù)置初值) MOV TL1,#0F3H;預(yù)置初值(按照波特率2400BPS預(yù)置初值) SETB TR1;啟動定時器T1 ;以上完成通訊初始化設(shè)置 WRIT:JB P3.6,$;判斷K1是否按下,如果沒有按下就等待 ACALL DELAY10;延時10毫秒消觸點抖動 JB P3.6,WRIT;去除干擾信號 JNB P3.6,$;等待按鍵松開 MOV A,#0AEH;將16進(jìn)制的字符AF發(fā)送到串口去 MOV SBUF,A;將AF通過串口發(fā)送出去 AJMP WRIT ;10毫秒延時子程序 DELAY10:MOV R4,#20 D2:MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 RET END |
| 2樓: | >>參與討論 |
| 作者: khw 于 2005/6/11 22:24:00 發(fā)布:
pc接收端是不是有問題 如是發(fā)十六進(jìn)制數(shù),那么pc端是否是按十六進(jìn)制接收的 |
|
| 3樓: | >>參與討論 |
| 作者: 水星 于 2005/6/12 12:47:00 發(fā)布:
先不管你的初始化和PC接收設(shè)置是否正確,你的程序有個隱患 你的串口發(fā)送不是用中斷,那就是用是輪詢了,你輪詢了應(yīng)該輪詢的串口狀態(tài)標(biāo)志位了么? |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |