光纤熔接 ERP

弱电论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2824|回复: 1
打印 上一主题 下一主题

单片机和PC机串口通讯试验[转]

[复制链接]
跳转到指定楼层
1#
发表于 2006-2-23 09:35:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
华为代理商
       51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。电子制作实验室网站的提供的带扩展元件的51单片机实验板上已经装配好了全部硬件。

九针串口Serial (PC 9)

1

CD

载波检测

2

RXD

接收数据

3

TXD

发送数据

4

DTR

数据终端准备好

5

GND

6

DSR

设备准备好

7

RTS

发送请求

8

CTS

清除发送

9

RI

铃声指示

    为了能够在电脑端看到单片机发出的数据,所以我们还要借助一个电脑串口调试软件,好在网络上已经有了现成的的调试软件,点击这里可以下载这个串口调试软件

;这是一个89C51单片机向PC串口单向发送数据AF的程序
;通过MAX232专用芯片作RS232/TTL电平转换.
;波特率4800KBPS,只要P3.2引脚变成低电平(也就是按下红外遥控器的任意键),就连续发送16进制的AF字符(就是一个8位2进制的数值)
ORG 0000H
AJMP MAIN;转入主程序
ORG 0003H ;外部中断P3.2脚INT0入口地址
AJMP INT ;转入外部中断服务子程序(解码程序)
;以下为主程序进行CPU中断方式设置
MAIN:SETB EA ;打开CPU总中断请求
SETB IT0 ;设定INT0的触发方式为脉冲负边沿触发
SETB EX0 ;打开INT0中断请求
AJMP $
INT: CLR EA ;暂时关闭CPU的所有中断请求

MOV SCON,#50H;设置成串口1方式
MOV TMOD,#20H;波特率发生器T1工作在模式2上
MOV PCON,#80H;波特率翻倍为2400x2=4800BPS
MOV TH1,#0F3H;预置初值(按照波特率2400BPS预置初值)
MOV TL1,#0F3H;预置初值(按照波特率2400BPS预置初值)
SETB TR1;启动定时器T1
MOV A,#0AFH;将16进制的字符AF发送到串口去
MOV SBUF,A;将遥控器键值通过串口发送出去
SETB EA ;允许中断
RETI ;退出解码子程序
END

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2#
发表于 2013-11-10 08:15:20 | 只看该作者
华为代理商
很深奥,看不懂
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|广告咨询|VIP注册|关于我们|联系我们|积分规则|手机版|Archiver|弱电之家论坛 ( 京ICP备11008917号-3 )

GMT+8, 2024-5-23 21:54 , Processed in 0.122283 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表