新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MODEM的單片機與PC機間的遠程通信究研

        基于MODEM的單片機與PC機間的遠程通信究研

        作者: 時間:2009-08-26 來源:網絡 收藏

          if(mum1= =0x35)drev(); /*回響碼為0x35則轉入數據接收與處理器程序*/

          }

          while(key= =0);

          key=bioskey(0);

          if(key= =0x011b)return; /*按ESC鍵則返回*/

          4.2 程序設計

          程序框圖如圖6所示。

          程序清單如下:

          LD 72H,#4003H;8255命令口地址

          LD 70H;#0082HH;A口為輸出,B口為輸入

          STB 70H,[72H]

          LDB 16H,#20 ;串口初始化

          LDB 11H,#09H ;方式1

          LDB 0EH,#4DH;波特率為1200bps

          LDB 0EH,80H

          LDB 18H,#0CH;堆棧

          ORB IOC1,#20H

          LD 72H,#4000H ;8255的A口地址

          LD 70H,#0003H ;使RTS和DTR均為高電平

          STB 70H,[72H]

          LCALL COMZ0 ;連續發出四個0

          LCALL DT ;延時1000nS

          LCALL COMZ1 ;初始化,發出at命令:ata

          LCALL DT

          LCALL COMZ2 ;初始化,發出at命令:ate1q0v1l3x4s0=1

          LCALL DT

          LCALL COMZ3 ;初始化,發出at命令:atS7=30

          LCALL DT

          RING0:LDB SON,#09H

          RING1:LDB 60H,SPSTAT

          JBC 60H,6,RING1

          ANDB 60H,#0BFH

          LDB 70H,SUBF ;從串口接收一個數據

          CMPB 70H,#80H

          JE TD ;發送數據程序

          LJMP RING1

          由于向MODEM發出at命令程序是相似的,故在此僅為at命令:ate1q0v1l3x4s0=1為例來加以說明。假設at命令存放在以0AB40H為首地址的外部存貯器中。程序如下:

          COMZ2:LD72H,#0AB40H ;at命令首地址

          LDB 20H,#17

          COMZ2A:LDB 70H,[72H]+ ;取at命令

          LDB SBUF,70H ;向串口送at命令

          DJNZ 20H,COMZ2A

          LDB 70H,#0DH

          LDB SBUF,70H ;發出確認碼

          RET


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 额济纳旗| 嘉定区| 麻城市| 阳泉市| 霸州市| 固镇县| 田东县| 大城县| 郧西县| 正安县| 射阳县| 郑州市| 合江县| 张掖市| 通道| 三河市| 凉城县| 建瓯市| 连江县| 平阳县| 普兰店市| 瓦房店市| 望都县| 洛扎县| 浠水县| 大同县| 刚察县| 淮滨县| 敦化市| 景宁| 内江市| 繁昌县| 达孜县| 卢龙县| 祁东县| 奉节县| 南开区| 延寿县| 安庆市| 龙州县| 泽普县|