新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何實(shí)現(xiàn)(電腦)PC機(jī)與單片機(jī)AT89C51的串行通信

如何實(shí)現(xiàn)(電腦)PC機(jī)與單片機(jī)AT89C51的串行通信

作者: 時(shí)間:2015-05-03 來(lái)源:網(wǎng)絡(luò) 收藏

  org 0000h

本文引用地址:http://butianyuan.cn/article/273495.htm

  ajmpstart

  org0023h  ;串行中斷入口

  ljmps&r

  org0100h

  start:mov tmod,#20h ;設(shè)置定時(shí)器T1方式2

  movpcon,#00h;使SMOD為0

  movtll,#0fdh;波特率為9600b/s

  movthl,#0fdh

  setbea;開全局中斷

  clret1;關(guān)T1中斷

  setbes;開串行中斷

  setbtrl;開T1定時(shí)

  movscon,#50h;串行方式1,允許接收

  sjmp$

  S&r:movc,ri

  jcrecive;RI為1,執(zhí)行接收子程序

  sjmpsend;否則,執(zhí)行發(fā)送子程序

  recive:mova,sbuf;接收數(shù)據(jù)

  clrri

  cjnea,#52h,re;是否接收到“R”

  mova,#59h;是,發(fā)送“Y”

  movsbuf,a

  sjmpendtr

  re:mov @rl,a  ;r1為接收數(shù)據(jù)存放地址

  incr1

  sjmpendtr

  send:mova,@r0;發(fā)送數(shù)據(jù),r0為存放數(shù)據(jù)的地址

  movsbuf,a

  jnbti,$

  clrti

  incr0

  endtr:reti;中斷返回

  3 結(jié)束語(yǔ)

  串口通信是一種廣泛應(yīng)用于各個(gè)領(lǐng)域的通信方式,由于目前大部分計(jì)算機(jī)都安裝了Windows95操作系統(tǒng),所以本文具體實(shí)現(xiàn)了在Windows95下利用它的SDK函數(shù)來(lái)與單片機(jī)進(jìn)行串口通信。本文所提出的實(shí)現(xiàn)函數(shù)在所有當(dāng)前流行軟件如VC++、Delphi等中都可實(shí)現(xiàn)。它不僅可以用于近距離的RS-232通信,而且,還可以實(shí)現(xiàn)中遠(yuǎn)距離RS-485通信。在使用該程序的通信系統(tǒng)中,近遠(yuǎn)距離的通信都取得良好的效果。

51單片機(jī)相關(guān)文章:51單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理


數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理


晶振相關(guān)文章:晶振原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: AT89C51 PC

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉