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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

51單片機(jī)串口通信試驗(yàn)匯編程序

作者:韓冰   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年11月29日   【字體:

(今天是硬生生的把它給摳出來了):PC 通過串口助手向單片機(jī)系統(tǒng)傳遞命令和數(shù)據(jù):以A5開始,以5A結(jié)束;中間是數(shù)據(jù),長度不一,要求把數(shù)據(jù)部分用led燈顯示出來;并且要求循環(huán)顯示;
//This is  my x_Ed program code
//we use it as the pc communicated with the mcu
//At the same time,we want to see the result by LCD;
     STFLAG BIT 00H //收到起始碼標(biāo)志,1為收到起始碼
     EDFLAG BIT 01H //到結(jié)束碼標(biāo)志,1為收到結(jié)束碼
     TMFLAG BIT 02H //定時(shí)時(shí)間到標(biāo)志,1為定時(shí)時(shí)間到
  ORG 0000H
  SJMP Initialize//主程序入口 (初始化程序)
  ORG 000BH   //定時(shí)器0入口
     LJMP TIMER0   //定時(shí)器0中斷
  ORG 0023H     //串口中斷程序的入口地址
  LJMP Transfer //跳轉(zhuǎn)到接受中斷入口
///////////////////////////////////////////////////////////////
     ORG 0050H
Initialize:
     MOV SP,#70H    //設(shè)置堆棧
  MOV TMOD,#21H  //T1工作方式2  T0工作
  MOV TH1,#0FDH  //波特率9600
  MOV TL1,#0FDH  //波特率9600 自動(dòng)重裝載
  MOV TH0,#3CH   //定時(shí)50ms
     MOV TL0,#0BH   //定時(shí)50ms
  MOV SCON,#50H  //串口工作方式1
     MOV R6,#00H    //定時(shí)次數(shù)計(jì)數(shù)器20一秒
     MOV R5,#00H    //接收數(shù)據(jù)長度計(jì)數(shù)器
     MOV R4,#00H    //控制輸出控制寄存器
     MOV R0,#30H    //數(shù)據(jù)存儲(chǔ)地址
     MOV R1,#30H    //控制輸出的數(shù)據(jù)緩存
     CLR STFLAG     //清起始標(biāo)志位
     CLR EDFLAG    //清結(jié)束標(biāo)志位
     CLR TMFLAG    //清時(shí)鐘標(biāo)志位
     SETB PS        //提高串口中斷的優(yōu)先級(jí)
     SETB TR1       //打開定時(shí)器1;
     SETB ES        //打開串口中斷允許位
     SETB ET0    //定時(shí)器0中斷允許位
     SETB EA     //打開全局中斷允許位
/////////////////等待接受命令////////////////////////
Main:   JB STFLAG,NODE3  //已經(jīng)收到起始位
        SJMP Main        //未起始繼續(xù)等待
NODE3:  JB EDFLAG,NODE4  //已經(jīng)收到結(jié)束位
        SJMP Main        //未結(jié)束繼續(xù)等待
NODE4:  SETB TR0      //打開定時(shí)器0;
NODE5:  JB TMFLAG,OUTPUT
  SJMP NODE5        
 ///////////////////等待上位機(jī)傳送數(shù)據(jù)并記錄////////
Transfer: CLR ES
          MOV A,SBUF
    CJNE A,#0A5H,NODE0  //檢測到起始位
    SETB STFLAG
    SJMP JIEDIAN
NODE0:    CJNE A,#05AH,NODE1   //檢測到結(jié)束位
          SETB EDFLAG
    MOV  DPH,R5
    MOV  R4,DPH
    clr ES        //打開串口中斷允許位
    SJMP ret00
NODE1:   MOV @R0,A    //既非起始碼,又非結(jié)束碼,則為數(shù)據(jù)
          INC R0
          INC R5
    MOV SBUF,#055H 
JIEDIAN:  CLR TI
    CLR RI
          SETB ES
ret00:    RETI
TIMER0: CLR TR0
        MOV TH0,#3CH
        MOV TL0,#0B0H
        INC R6
        CJNE R6,#20,RTN
        SETB TMFLAG
        MOV R6,#00H
RTN:    SETB TR0
     RETI

OUTPUT: CLR TR0
        clr TMFLAG
        MOV A,@R1
        MOV P1,A
        INC R1
        DJNZ R4,NODE4
        MOV R1,#30H
  CLR TMFLAG
  MOV DPH,R5
  MOV R4,DPH
  SJMP NODE4
  RETI
END

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 中文字幕在线一区二区三区 | dy天堂 | 在线久草| 国产激情一区二区三区 | 97精品超碰一区二区三区 | 国产小视频精品 | 欧美v日韩v| 91久久国产 | 国产成人精品一区二区三区网站观看 | 精品不卡 | 国产a区 | 国产女人精品视频 | 97视频网站| 亚洲逼院 | 伊色综合久久之综合久久 | 中文字幕综合 | 亚洲日本国产 | 插插宗合网 | 一级片片| 狠狠av | 亚洲精品欧美精品 | 国产美女视频黄a视频免费 国产精品福利视频 | 自拍中文字幕 | 久久婷婷色 | 小h片免费观看久久久久 | 久久一区精品 | 羞羞网站在线观看 | 日本理论片好看理论片 | 91偷拍精品一区二区三区 | 日本免费在线观看视频 | 亚洲狠狠爱 | 亚洲自拍偷拍欧美 | 国产精品久久久久久久久免费丝袜 | 毛片一区二区三区 | 久久不射电影网 | 中文字字幕一区二区三区四区五区 | 久久综合国产 | 日韩欧美国产精品一区二区 | 久久久青草婷婷精品综合日韩 | 亚洲一区二区在线视频 | 精品国产一区二区三区av片 |