電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

51單片機匯編模擬串口通信程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-8-25

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

T2作為波特率控制
UART_RXD 是硬中斷0或1口,如果能進入中斷,說明該線有一個起始位產生,進入中斷后調
用下面的接收程序。退出硬中斷之前還需要將硬中斷標志重新復位。
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,計數器2啟動,時間計數啟動。
    MOV A,RCAP2L;計數器2重新裝載值
    MOV TL2,A    ;置計數器2初值  ;T2需要重新裝載
    MOV A,DPH
    MOV A,RCAP2H
    MOV TH2,A
    MOV A,R0
   
    SETB TR2    ;TR2置1,計數器
    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,計數器2啟動,時間計數啟動。
    MOV A,RCAP2L;計數器2重新裝載值
    MOV TL2,A    ;置計數器2初值  ;T2需要重新裝載
    MOV A,DPH
    MOV A,RCAP2H
    MOV TH2,A
   
    JB UART_RXD,$    ;REC
    SETB TR2    ;TR2置1,計數器2啟動,時間計數啟動。
    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,$    ;等待停止位,并重新復位計數器
    SETB UART_RXD
   
    POP DPL
    POP DPH
    POP IE
    RET

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

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
精品久久亚洲一级α| 波多野结衣与老人系列| 可以免费观看的毛片| 老汉色老汉首页a亚洲| 国产一级在线视频| 精品欧美同性videosbest| 噜噜噜噜噜在线观看视频| 精品一区二区三区无卡乱码| 公天天吃我奶躁我的在线观看| www.com日本| 在线视频日韩精品| avidolzhd| 国产精品视频免费播放| 69女porenkino| 国产日韩视频一区| 被黑化男配做到哭h| 国产中文欧美日韩在线| 精品久久国产字幕高潮| 免费无码黄网站在线观看| 欧美精品香蕉在线观看网| 亚洲日本va午夜中文字幕一区| 未发育孩交videossex| 亚洲一区二区三区精品视频| 日本成熟电影不卡www| 久久国产乱子伦免费精品| 成人免费视频69| 一区二区中文字幕在线观看| 在体育课被老师做了一节课视频| 91情国产l精品国产亚洲区| 国产成人综合久久久久久| 老湿机一区午夜精品免费福利| 又爽又黄又无遮挡的视频在线观看| 狠狠噜天天噜日日噜视频麻豆 | 色天使色婷婷丁香久久综合| 国产AV无码专区亚洲AV手机麻豆| 男人的天堂av社区在线| 亚洲精品无码乱码成人| 最新亚洲人成无码网站| 久久亚洲中文字幕精品有坂深雪| 小13箩利洗澡无码视频网站| GOGOGO高清免费看韩国|