欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

C51單片機雙工通信T1工作2方式 匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:72519 發表于 2015-1-23 16:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
MAIN:MOV TMOD,#20H    ;將定時器T1設為工作方式2(TMOD的M1=1,M0=0
     MOV TL1,#0F4H    ;設T1的初值為224
     MOV TH1,#0F4H    ;設T1的重裝值為224
     SETB TR1         ;將寄存器TCON的TR1位置1,啟動T1開始計數
     MOV SCON,#50H    ;將串行通信口設為工作方式1,并允許接收(SM0=0,SM01=1,數據接收控制位REN=1
     MOV R0,#20H      ;將數據20H送入寄存器R0
     MOV R1,#40H      ;將數據40H送入寄存器R1
     SETB ES          ;將寄存器IE的ES位置1(串行通信口中斷允許位,=1允許通過
     SETB EA          ;將寄存器IE的EA位置1(總中斷允許位,=1開關閉合,即開啟總中斷
     ACALL SOUT       ;跳
LOOP:SJMP LOOP
    ;以下為中斷子程序
     ORG 0023H        ;下一指令地址為0023H(串行通信口控制寄存器SCON的位TI發送中斷標志RI接收中斷標志入口=1時有中斷
     AJMP SRR1        ;有中斷請求跳
SRR1:JNB RI,SEND      ;接收中斷標志位RI=0證明是TI有中斷,跳轉并將TI清0,否則下一步
     ACALL SIN        ;跳轉將RI清0
     SJMP NEXT        ;跳
SEND:ACALL SOUT       ;RI=0時跳到此,并跳到將TI清0處
NEXT:RETI             ;返回LOOP處
    ;發下為發送子程序
SOUT:CLR TI           ;將TI清0
     MOV A,@R0        ;將R0中的地址所指的單元中的數據送A
     INC R0           ;將R0加1
     MOV SBUF,A       ;將A中的值送入緩沖器SUBF,同時發送SBUF中的數據
     RET              ;子程序返回(即LOOP:SJMP LOOP處
     ;以下為接收子程序
SIN:CLR RI            ;將SCON的RI位清0
    MOV A,SBUF        ;將接收SUBF中的數據送入A中
    MOV @R1,A         ;將A中數據送R1中的地址所指的單元中
    INC R1            ;將R1加1
    RET               ;子程序返回(即SJMP NEXT處
    END

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表