久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2449|回復: 9
打印 上一主題 下一主題
收起左側

單片機串口1接收和發送波特率不一樣?

[復制鏈接]
回帖獎勵 2 黑幣 回復本帖可獲得 2 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主
請教用STC 12C系列單片機,12T模式。怎么配置定時器?這個單片機時鐘是1T的。

STC-ISP看不懂啊。我需求是用一顆單片機,串口1,進來的數據接收用15200波特率,轉發數據波特率是2400,8位。

T1和T2這里我不知怎么配置。哎。

不知道應該怎么配置T1和T2?


程序這樣
        mov        r6,#0
        djnz        r6,$
        djnz        r7,initd
        clr addrf        
        mov sp,#127
        clr a
        mov 20h,a
        mov 21h,a
        mov 22h,a
        mov 23h,a   
        CLR     IE0
        CLR     IE1
        MOV     TCON,#00H

        orl pcon,#80h           ;使能波特率倍速位SMOD
        mov scon,#50h           ;8位數據,可變波特率
        mov tmod,#00100001b     ;工作模式2,8位計數器自動重載初值
        ANL AUXR,#0BFH                ;定時器時鐘12T模式
        ANL AUXR,#0FEH                ;串口1選擇定時器1為波特率發生器
        ANL TMOD,#0FH                ;設置定時器模式
        ORL TMOD,#20H                ;設置定時器模式
        MOV TL1,#0FFH                ;設置定時初始值
        MOV TH1,#0FFH                ;設置定時重載值
        CLR        ET1                ;禁止定時器中斷
                                    
        MOV SCON,#50H                ;8位數據,可變波特率
        ORL AUXR,#01H                ;串口1選擇定時器2為波特率發生器
        ANL AUXR,#0FBH                ;定時器時鐘12T模式
        MOV T2L,#040H                ;設置定時初始值
        MOV T2H,#0FFH                ;設置定時初始值
        ORL AUXR,#10H                ;定時器2開始計時

        setb es ;中斷允許
        setb ea ;中斷總開關


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:404160 發表于 2023-5-1 19:53 | 只看該作者
同一個串口不能實現你的要求。如要實現你說的功能,可以用兩個串口實現,如S1設定波特率115200,用于接收數據;S2的波特率設定2400,用于發送數據
回復

使用道具 舉報

板凳
ID:624769 發表于 2023-5-2 00:09 | 只看該作者
你想要收發使用不同波特率,
要么,用兩個串口, (STC12C好像沒有)
要么,用傳統C51  通過配置 T2CON 寄存器來實現 一個串口 發送和接收使用不同的定時器,達到用不同的波特率收發的目的. (比如STC89C51)
要么,用軟件模擬串口,
要么,半雙工模式,平時 接收的波特率 等待收數據, 發送的時候 修改定時器換波特率再發送,發送完成后再修改波特率等待數據傳入。
回復

使用道具 舉報

地板
ID:213173 發表于 2023-5-2 07:07 | 只看該作者
單向串口接收轉發只要一個串口和一個定時器即可完成,設置定時器1波特率115200,用串口中斷等待接收。接收完成后關閉串口中斷,更改定時器1波特率為2400,經短暫延時后轉發數據。發送完成后恢復波特率115200,開串口中斷,繼續等待接收。連接方式如圖:


回復

使用道具 舉報

5#
ID:116103 發表于 2023-5-2 09:42 | 只看該作者
定時器是硬件,定時時間和軟件運行時間沒關系,你別搞混了
回復

使用道具 舉報

6#
ID:1034262 發表于 2023-5-2 14:34 | 只看該作者
樓主,你應該使用2個串口,一個115200,一個2400。如果只用一個串口,則要不斷的改變波特率。
回復

使用道具 舉報

7#
ID:1074735 發表于 2023-6-16 18:02 | 只看該作者
188610329 發表于 2023-5-2 00:09
你想要收發使用不同波特率,
要么,用兩個串口, (STC12C好像沒有)
要么,用傳統C51  通過配置 T2CON  ...

您好,我現在就是用這種方法。進來9600,出去2400,單獨發8個字節一幀命令進來轉出去都正常。如果進來的命令不斷刷刷的9600波特率進來,轉換出去的命令是錯誤的。請問有何辦法?
回復

使用道具 舉報

8#
ID:849635 發表于 2023-6-16 18:15 | 只看該作者
定時器是硬件,定時時間和軟件運行時間沒關系
回復

使用道具 舉報

9#
ID:1034262 發表于 2023-6-16 21:15 | 只看該作者
收發都用同一個波特率,怎么可能不同?
回復

使用道具 舉報

10#
ID:624769 發表于 2023-6-18 14:18 | 只看該作者
本帖最后由 188610329 于 2023-6-18 16:02 編輯
dbkdz 發表于 2023-6-16 18:02
您好,我現在就是用這種方法。進來9600,出去2400,單獨發8個字節一幀命令進來轉出去都正常。如果進來的 ...

因為,你進來是9600  出去是2400, 所以,發出1個字節的時間, 可能會收到 4個字節的數據,這種情況下,是必須有緩沖池支持才行的。并且,如果會長時間收到大量數據,那么還需要 流控制,基于你收發連接不同的設備,軟件流xon xoff 是肯定不能用了,那么就要考慮硬件流控制了。先不說硬件流了,假定,你連續收到數據不會超過300字節,可以這么考慮:

XSEG AT 0000H
Uart_Buf:      DS    100H

Flag_Seg    Segment BIT
RSEG  Flag_Seg
TI_Busy:       DBIT  1

CSEG AT 0023H
PUSH   PSW
MOV    PSW,#08H
USING  1
PUSH   ACC
JNB   RI,TI_Roop
CLR   RI
MOV   A,SBUF
MOVX  @R1,A
INC    R1
TI_Roop:
JNB   TI,Check_Send
CLR   TI
CLR   TI_Busy
Check_Send:JB   TI_Busy,End_UartInt
MOV  A,R0
XRL   A,R1
JZ     End_UartInt
MOVX   A,@R0
MOV    SBUF,A
INC     R0
SETB   TI_Busy
End_UartInt:
POP  ACC
POP  PSW
RETI

主程序你自己寫一下初始化串口的定時器,以及,把工作組1 的 R0,R1 初始化為0即可,其實如果你用了 STARTUP.A51 他默認也是清0的。應該就行了。這就全后臺完成轉發了,一般情況下應該夠用了,如果你真的數據量很大,就必須要考慮硬件流控制來通知上位機忙,等待你轉發完成再發送后續數據了。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲精品精品国产亚洲综合 | 日日日操 | 日韩一区精品 | 日韩一区二区成人 | 欧美日韩一区在线 | 日韩中文字幕在线免费 | 国产精品视频一区二区三区不卡 | 欧美激情一区 | 美女久久久久久久 | 久久久久国产一区二区三区不卡 | 国产一区二区影院 | 成人福利在线视频 | 久久这里只有精品首页 | 91九色视频在线 | 精品久久久久久亚洲精品 | av片网站| 亚洲国产一区在线 | 精品国产欧美一区二区三区成人 | 国产电影一区二区 | 日韩精品一区二区三区在线观看 | 久久久久无码国产精品一区 | 成人h动漫亚洲一区二区 | 91久久夜色精品国产网站 | 精品视频久久久 | 欧美一区二区三区电影 | 欧美精品日韩精品 | 国产99视频精品免费视频7 | 国产一区二区三区四区三区四 | 国产精品久久久久久久久免费高清 | 黄色播放 | 国产在线中文字幕 | 久久久精品综合 | 国产91在线视频 | 国产精品久久一区二区三区 | 成人国产免费视频 | 盗摄精品av一区二区三区 | 妞干网av| 亚洲欧洲精品一区 | 亚州精品天堂中文字幕 | 中文字幕av亚洲精品一部二部 | 91精品国产欧美一区二区成人 |