AT89C51的串口和电脑的串口进行通信

发布者:静逸闲云最新更新时间:2015-01-26 来源: laogu关键字:AT89C51  串口  通信 手机看文章 扫描二维码
随时随地手机看文章
串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑端,而且也能实现电脑对单片机的控制,比如你可以把写入单片机的数据码显示在电脑上,如可以使用一个按键,当按下它时使某一个字母如:AA,通过单片机的串口将它发送到电脑上显示,起到仿真器的某些功效,站长在开发数据采集设备时就是通过串口来检查数据正确与否的。

    51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。本网站的提供的实验板上已经装配好了全部硬件。

 

串口通讯的硬件电路如上图所示

    为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。

  

    点击这里可以下载并运行这个串口调试软件这是一个绿色的软件,无需安装,可以直接在当前位置运行这个软件。软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源,这时只要按下K1一次,在串口调试助手软件的接收区界面中就会增加一个“AF”字符,表示单片机向电脑发送“AF”字符成功。串口实验的源程序如下所示:

;这是一个AT89C51单片机实验开发板向PC机的串口单向发送数据AF的演示程序
;采用MAX232专用芯片作RS232/TTL电平转换.
;通讯波特率为4800KBPS,只要按下一次K1(就是P3.6引脚变成低电平)
;就发送一个16进制的AF字符

ORG 0000H
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
;以上完成通讯初始化设置

WRIT:JB P3.6,$;判断K1是否按下,如果没有按下就等待
ACALL DELAY10;延时10毫秒消触点抖动
JB P3.6,WRIT;去除干扰信号
JNB P3.6,$;等待按键松开

MOV A,#0AFH;将16进制的字符AF发送到串口去
MOV SBUF,A;将AF通过串口发送出去

AJMP WRIT

;10毫秒延时子程序
DELAY10:MOV R4,#20
D2:MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
RET

END

关键字:AT89C51  串口  通信 引用地址:AT89C51的串口和电脑的串口进行通信

上一篇:关于在KEIL C51 中嵌入汇编以及C51与A51间的相互调用
下一篇:AT89C2051内部结构与功能

推荐阅读最新更新时间:2024-03-16 13:52

STM32串口打印printf发送中文乱码问题
1、首先要确保使用keil程序正确编译,并且程序经过调试,已经可以正常发送英文字符,但是发送中文字符时乱码。 2、使用记事本打开main.c文件(或其他主程序),点击另存为,在右下方选择编码方式为ANSI,替换原文件即可
[单片机]
STM32串口通信(usart)
在开始学写STM32串口通信的代码实现前,首先先了解一下两块芯片之间通信的分类,按照数据传输方式可以分为 并行通信:数据各个位同时传输,速度快,占用引脚资源多 串行通信:数据按位传输,速度较慢,占用引脚资源少 按照数据传送的方向,可以分为 单工:只支持数据在一个方向上传输 半双工:允许数据在两个方向上传输,但在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信。 全双工:允许数据同时在两个方向上传输,因此全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。 串口通信就是一种串行全双工通信方式,而串行通信又可分为 同步通信:带时钟同步信号传输(如SPI , II
[单片机]
STM32 串口中断里面使用printf 出现错误
其实学单片机使用的时候,往往大家都觉得简单,很快就过了,但其实有一些东西是值得深思的,我以前在写程序的时候往往都是发送数据,那么调用重写的printf()函数就可以了,但这次的项目中用到了NRF双全工通讯,这就需要串口的收发,这回就发生了写问题,具体的流水账就不说了。简单说就是串口收可比发讲究多了。 void USART1_IRQHandler(void) //串口1中断服务程序 { u8 i; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//如果寄存器中有数据 { USART_RX_BUF = USART_ReceiveData(USAR
[单片机]
串口编程(基于tiny4412)
参考: http://www.cnblogs.com/wblyuyang/archive/2011/11/21/2257544.html http://www.cppblog.com/amazon/archive/2010/01/28/106644.html serial_demo.c #include stdio.h #include stdlib.h #include unistd.h #include sys/types.h #include sys/stat.h #include fcntl.h //文件控制定义 #include termios.h //终端控制定义 #include errno
[单片机]
Atmega16的串口通信使用
//以下程序经验正可以用,MCU:M16,晶振:8M,直接用USB转串口线上的公头(针头), //第2针(RXD)接M16上的PD1口(15脚 TXD),第3针(TXD)接M16上的PD0口(14脚 RXD), //第5针接地,此时若板上有MAX232,则需把MAX232芯片去掉,这样才能正常工作 #include avr/io.h #include avr/interrupt.h #define uchar unsigned char #define uint unsigned int #define fosc 8000000//晶振频率 #define BAUD 9600 //波特率 void USART_send(ucha
[单片机]
基于FPGA的短波通信接收机
  短波通信又称高频通信,是利用HF波段(3-30MHz)电磁波进行的无线电通信。短波通信主要靠天波传播,可经电离层一次或数次反射,最远可传至上万里,如按气候、电离层的电子密度和高度的日变化以及通信距离等因素选择合适频率,就可用较小功率进行远距离通信。短波通信设备较简单,机动性大,因此也适应于应急通信和抗灾通信。现代短波通信接收机正向着数字化、大通信带宽方向发展。文献 研究了短波通信的数字化实现方式,但其未对短波通信的大带宽应用进行探讨;文献 研究了通信信道化算法,其对一定带宽内的多信道高效算法进行了详细的讨论,并给出了具体实现的有效算法。本文将信道化算法应用于短波通信,研究采用信道化算法基于FPGA 的短波通信接收机及其具体实现
[电源管理]
基于FPGA的短波<font color='red'>通信</font>接收机
串口ADSL解决串口设备利用ADSL技术实现远程数据传
随着国家数字信息化的发展以及人们对安防意识的提高,传统的定点监看及录像的监控方式,已渐渐显出其不足的一面,远程实时监控的议题也渐为人们所常谈;近年来,网络信息业长足发展,很多地方都能用上网络宽频(有线电视网、长城宽带网、电信网络快车(ADSL)、小区宽带等各门各类的宽频网络),为远程实时监控和数据采集提供了外部传输技术的支持。 ADSL做为主流宽带接入方式,优势是显著的:   1.速率高:一般的ADSL提供最基本的512k/2M的速率,有些地区可根据用户的需求扩展上传、下行的速率(上传可达2M/下行可达8M)  。   2.费用低:据不完全统计所得,全国各大城市对ADSL的包月费都在40~200元之间,此外,不含其它使用费
[模拟电子]
<font color='red'>串口</font>ADSL解决<font color='red'>串口</font>设备利用ADSL技术实现远程数据传
STC89系列单片机
STC89系列单片机是由STC公司生产制造的新型单片机。它与AT89系列单片机拥有的功能一样,都利用了8051技术制作芯片的CPU。以AT89C51为例,它采用了两排直插式的封装(PDIP),如图2-7。它的各管脚分别有不同的作用,具体说明如下: 1)40脚(VCC):连接电源的正极,为芯片提供工作所需要的电压(5V)。 2)20脚(VSS):连接电源的负极,即接地。 3)19脚(XTAL1):连接芯片外部晶振体的 图2-7 TA89C51 一个管脚。在芯片内部,它作为反向放大器的输入端。 4)18脚(XTAL2):连接芯片外部晶振体的另一个管脚,从而形成一个芯片外部的时钟振荡器。在芯片内部,它作为放大器的输出端,与前述的输入端一
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved