欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

51單片機(jī)匯編模擬串口通信程序

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2011/8/25

匯編編寫的模擬串口通信程序

T2作為波特率控制
UART_RXD 是硬中斷0或1口,如果能進(jìn)入中斷,說明該線有一個起始位產(chǎn)生,進(jìn)入中斷后調(diào)
用下面的接收程序。退出硬中斷之前還需要將硬中斷標(biāo)志重新復(fù)位。
UART_TXD 是任何其它IO即可。

UART_SEND:
    PUSH IE
    PUSH DPH
    PUSH DPL
    PUSH PSW
    PUSH 00H
    PUSH ACC
    CLR EA
    SETB UART_TXD        ;START BIT
   
    MOV R0,A
    CLR TR2    ;TR2置1,計數(shù)器2啟動,時間計數(shù)啟動。
    MOV A,RCAP2L;計數(shù)器2重新裝載值
    MOV TL2,A    ;置計數(shù)器2初值  ;T2需要重新裝載
    MOV A,DPH
    MOV A,RCAP2H
    MOV TH2,A
    MOV A,R0
   
    SETB TR2    ;TR2置1,計數(shù)器
    JNB TF2,$
    CLR TF2
    JNB TF2,$
    CLR TF2
   
    CLR UART_TXD        ;START BIT
    JNB TF2,$
    CLR TF2
    JNB TF2,$
    CLR TF2
   
    MOV R0,#08H
UART_SEND_LOOP:
    RRC A
    MOV UART_TXD,C        ;8 BIT
    JNB TF2,$
    CLR TF2
    JNB TF2,$
    CLR TF2
    DJNZ R0,UART_SEND_LOOP
   
    SETB UART_TXD        ;END BIT
    JNB TF2,$
    CLR TF2
    JNB TF2,$
    CLR TF2
   
    POP ACC
    POP 00H
    POP PSW
    POP DPL
    POP DPH
    POP IE
    RET
   
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
UART_REC:
    PUSH IE
    PUSH DPH
    PUSH DPL
    CLR EA
   
    CLR TR2    ;TR2置1,計數(shù)器2啟動,時間計數(shù)啟動。
    MOV A,RCAP2L;計數(shù)器2重新裝載值
    MOV TL2,A    ;置計數(shù)器2初值  ;T2需要重新裝載
    MOV A,DPH
    MOV A,RCAP2H
    MOV TH2,A
   
    JB UART_RXD,$    ;REC
    SETB TR2    ;TR2置1,計數(shù)器2啟動,時間計數(shù)啟動。
    JNB TF2,$
    CLR TF2        ;0.5 BIT
   
    JNB TF2,$
    CLR TF2        ;1 BIT
   
    JNB TF2,$
    CLR TF2        ;1.5 BIT
    MOV C,UART_RXD
    MOV ACC.0,C
   
    JNB TF2,$
    CLR TF2
   
    JNB TF2,$
    CLR TF2        ;2.5
    MOV C,UART_RXD
    MOV ACC.1,C
   
    JNB TF2,$
    CLR TF2
   
    JNB TF2,$
    CLR TF2        ;3.5
    MOV C,UART_RXD
    MOV ACC.2,C
   
    JNB TF2,$
    CLR TF2
   
    JNB TF2,$
    CLR TF2        ;4.5
    MOV C,UART_RXD
    MOV ACC.3,C
   
    JNB TF2,$
    CLR TF2
   
    JNB TF2,$
    CLR TF2        ;5.5
    MOV C,UART_RXD
    MOV ACC.4,C
   
    JNB TF2,$
    CLR TF2
   
    JNB TF2,$
    CLR TF2        ;6.5
    MOV C,UART_RXD
    MOV ACC.5,C
   
    JNB TF2,$
    CLR TF2
   
    JNB TF2,$
    CLR TF2        ;7.5
    MOV C,UART_RXD
    MOV ACC.6,C
   
    JNB TF2,$
    CLR TF2
   
    JNB TF2,$
    CLR TF2        ;8.5
    MOV C,UART_RXD
    MOV ACC.7,C
   
    JNB TF2,$
    CLR TF2        ;9.5
    JNB UART_RXD,$    ;等待停止位,并重新復(fù)位計數(shù)器
    SETB UART_RXD
   
    POP DPL
    POP DPH
    POP IE
    RET

Tags:51單片機(jī),匯編,串口通信程序  
責(zé)任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 工布江达县| 宁武县| 贺兰县| 锡林浩特市| 吉木萨尔县| 抚顺县| 嘉义市| 大同县| 安化县| 韩城市| 西青区| 莆田市| 河津市| 顺平县| 吉木萨尔县| 定安县| 岢岚县| 麻江县| 兴仁县| 南丹县| 武宁县| 万州区| 都匀市| 德庆县| 厦门市| 武城县| 始兴县| 乳山市| 山东省| 安庆市| 乾安县| 甘肃省| 健康| 铜川市| 东海县| 麻城市| 永城市| 曲靖市| 资中县| 蒙山县| 武安市|