PC机与单片机AT89C51的串行通信
AT89C51单片机和PLC及PC机的通信
维普资讯
第 2期
江小霞 :A c 1单片机和 P C及 P 9 5 L c机 的通信
・l l・ 5ቤተ መጻሕፍቲ ባይዱ
一
4 5 C通过 P / P 电缆与 P C的 P R O连接.P 8 ,P c PI L OT c机采用 Vsa Bs i l a c编程 ,用串行通信控件 u i
CU2 P 2 6的串行 口采用 R 4 5总线 标 准 , S一 8 因此 P R 1口与 多个 智 能 仪 表 的连 接采 用 R OT S
Fg1 S rcu eo y tm i. tu t r f se s
[ 收稿 日期 】20 o 2 0 5一 9— 2 [ 作者简介 】江小霞 (9 0一) 16 ,女 ,副教授 ,从 事工业控制 、单片机开发应用等研究
I P C IO Mt C
备的通信功能,而现场总线控制系统对通信协 议的实时性、可靠性 和简捷性要 求 比较严格 ,
解决 好 P C与 P L C之 间 以及 P C与智 能 仪 表 之 L 间 的通信 问题是 这类 系统应 用 的关键 技术 之一 .
l CM ) O2
( S o m)实现通信.P C的 P R O和 P R 1口均使用 自由口的方式通行. M Cm L OT OT
2 通信 接 口设 计
图 2 A 8C 1 是 T 9 5 单片机 的 R 4 5的通信接 S一 8
口电路 ,S 7 16是 收发 器 芯 片 .9芯 串 口插 座 的 N57 引脚 3为 P C的 B,引脚 8为 P C的 A,S 7 16 L L N 57
20 0 7年 4月
[ 文章编号】10 7 0 (0 7 0 0 5 0 0 7— 4 5 20 )2— 10— 5
at89c51单片机的组成
at89c51单片机的组成AT89C51单片机是一种基于MCS-51架构的8位微控制器,由Atmel公司生产。
它是一种高性能、低功耗、易于编程和使用的单片机,广泛应用于各种嵌入式系统中。
AT89C51单片机的组成主要包括以下几个方面:1.中央处理器(CPU):AT89C51单片机采用MCS-51架构的CPU,包括一个8位的累加器、一个16位的程序计数器、8个8位的通用寄存器、一个8位的状态寄存器和一些特殊功能寄存器。
CPU可以执行各种指令,包括算术、逻辑、移位、跳转、循环等指令,以实现各种功能。
2.存储器:AT89C51单片机包括ROM、RAM和EEPROM三种存储器。
ROM用于存储程序代码,RAM用于存储数据和临时变量,EEPROM用于存储非易失性数据。
其中,AT89C51单片机的ROM容量为32KB,RAM容量为1KB,EEPROM容量为128B。
3.定时器/计数器:AT89C51单片机包括两个16位的定时器/计数器,可以用于计时、计数、PWM输出等功能。
其中,定时器0和定时器1可以分别工作在13种不同的模式下,具有较高的灵活性和可编程性。
4.串行通信接口(UART):AT89C51单片机包括一个串行通信接口,可以用于与其他设备进行数据通信。
UART支持多种波特率和数据格式,具有较高的可靠性和稳定性。
5.并行输入/输出口(PIO):AT89C51单片机包括32个并行输入/输出口,可以用于连接各种外设和传感器。
PIO具有较高的驱动能力和灵活性,可以实现多种输入/输出模式。
6.中断控制器:AT89C51单片机包括一个中断控制器,可以用于处理各种中断事件。
中断控制器具有较高的优先级和可编程性,可以实现多种中断处理方式。
总之,AT89C51单片机具有较高的性能、灵活性和可编程性,可以广泛应用于各种嵌入式系统中。
它的组成包括CPU、存储器、定时器/计数器、串行通信接口、并行输入/输出口和中断控制器等部分,每个部分都具有特定的功能和优点。
AT89C51单片机的基本结构和工作原理
AT89C51单片机的基本结构和工作原理AT89C51是一种低功耗、高性能的8位单片机,由美国公司Intel (现已被英特尔收购)开发。
它采用CMOS技术制造,在各种工业、汽车和家用电器等领域广泛应用。
AT89C51的基本结构和工作原理如下:一、基本结构:1.中央处理单元(CPU):中央处理单元是AT89C51单片机的控制中心,负责执行程序指令、算术运算和逻辑操作等。
它包括一个8位的累加寄存器ACC、一个8位的指令寄存器IR和一个8位的程序计数器PC。
2.存储器:AT89C51单片机包括4KB的内部闪存ROM用于存储程序代码,并具有可擦写和可编程的特性。
此外,还有128字节的RAM用于存储各种变量和中间结果。
3.输入输出端口(IO):AT89C51单片机有四个8位的IO口(P0、P1、P2和P3),可分别用作输入和输出。
每个IO口都可以设置为输入或输出模式,并且可以具有内部上拉电阻。
4. 定时器/计数器:AT89C51单片机包含两个定时器/计数器(Timer 0和Timer 1),用于产生定时和延时功能。
这两个定时器/计数器都可以工作在8位或16位模式下,并可以设置为定时、计数和波形发生器等不同功能。
5.串行数据通信接口(控制模式):AT89C51单片机具有一个可编程的串行数据通信接口,支持全双工和半双工模式。
它可以与其他外部设备如传感器、LCD显示器和电脑等进行通信。
二、工作原理:1.程序执行过程:首先,AT89C51单片机将程序代码从ROM存储器中读取到指令寄存器IR中。
然后,指令寄存器将指令传输给中央处理单元CPU。
CPU根据指令类型执行不同的操作,如算术运算、逻辑判断、数据读写等。
执行完一条指令后,程序计数器PC将自动递增,指向下一条指令的地址,继续执行。
2.IO交互:AT89C51单片机的IO口可以用作输入和输出。
在输入模式下,IO口可以接收来自外部设备的信号,并传输给中央处理单元CPU。
ADC0809与AT89C51的一种接口方法
ADC0809与AT89C51的一种接口方法一、本文概述本文将详细介绍ADC0809与AT89C51之间的一种接口方法。
ADC0809是一种常用的8位模数转换器,广泛应用于数据采集和处理系统中。
AT89C51则是一款经典的8位微控制器,以其稳定的性能和广泛的应用场景而受到工程师的青睐。
通过合理的接口设计,可以实现ADC0809与AT89C51之间的有效通信,从而实现对模拟信号的精确采集和控制。
本文将详细阐述接口电路的设计原理、连接方式、信号传输过程以及可能遇到的问题和解决方案,旨在为工程师提供一套实用的参考方案,促进ADC0809与AT89C51在各类应用中的高效集成。
二、ADC0809与AT89C51简介ADC0809是一种8位逐次逼近型模拟数字转换器(ADC)。
它可以将连续的模拟信号转换为离散的数字信号,以便于数字系统进行处理。
ADC0809具有8路模拟输入通道,可以独立地选择其中的一路进行模数转换。
转换结束后,转换结果会通过三态输出锁存器输出到数据总线上。
ADC0809还具有转换启动、转换结束以及清零等控制功能,可以通过相应的控制引脚实现。
由于其转换速度快、精度高等特点,ADC0809在嵌入式系统、工业自动化等领域有着广泛的应用。
AT89C51是Atmel公司生产的一种基于8051内核的低功耗、高性能CMOS 8位微控制器。
它采用Atmel公司的高密度、非易失性存储技术生产,与工业标准的80C51指令集和引脚兼容。
AT89C51具有4K字节的可在系统编程(ISP)Flash存储器,这意味着用户可以在不将芯片从系统中取出的情况下,对其进行重新编程。
AT89C51还集成了多种功能强大的外设,如两个16位定时/计数器、一个5向量两级中断结构、一个全双工串行通信口、一个片内振荡器和时钟电路等。
由于其强大的功能和灵活的编程能力,AT89C51在嵌入式系统、智能仪表、工业控制等领域得到了广泛的应用。
将ADC0809与AT89C51进行接口设计,可以实现模拟信号的数字化处理和控制功能。
第7章AT89C51单片机的串行口
RETI
;中断返回
2.方式2接收
SM0、SM1=10,且REN=1。数据由RXD端输入,接收11位信息。当 位检测到RXD从1到0的负跳变,并判断起始位有效后,开始收 一帧信息。在接收器完第9位数据后,需满足两个条件,才能 将接收到的数据送入SBUF。
(1)RI=0,意味着接收缓冲器为空。 (2)SM2=0或接收到的第9位数据位RB8=1时。 当上述两个条件满足时,接收到的数据送入SBUF(接收缓冲
正脉冲,串行口即把SBUF中的8位数据以fosc/12的固定波特 率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲, 发送完8位数据置“1”中断标志位TI。时序如图7-5所示。 2.方式0接收 REN=1,接收数据,REN=0,禁止接收。
图7-5
REN=1,允许接收。向串口的SCON写入控制字(置为方式0,并 置“1”REN位,同时RI=0)时,产生一个正脉冲,串行口即 开始接收数据。RXD为数据输入端,TXD为移位脉冲信号输出 端,
图7-3 (1)SMOD—波特率选择位
例如:方式1的波特率的计算公式为:
方式1波特率=(2SMOD/32)×定时器T1的溢出率
也称SMOD位为波特率倍增位。
(2)GF1、GF0—通用标志位 这两个标志位可供用户使用,可用软件置1或清0。两个标志位
用户应充分利用。 (3)PD—掉电方式位 若PD=1,单片机进入掉电工作方式。
图7-9 时采样)进行表决以确认是否是真正的起始位(负跳变)的开始。 当一帧数据接收完,须同时满足两个条件,接收才真正有效。 ⑴ RI=0,即上一帧数据接收完成时,RI=1发出的中断请求已被
响应,SBUF中的数据已被取走,说明“接收SBUF”已空。 ⑵ SM2=0或收到的停止位=1(方式1时,停止位已进入RB8),
单片机原理复习题
题型汇总:判断题1.在单片机89C51中,串行通信方式1和方式3的波特率是固定不变的。
2.单片机89C51一般使用非整数的晶振是为了获得精确的波特率。
3.单片机89C51和PC机的通信中,使用芯片MAX232是为了进行电平转换。
4.所有MCS-51系列单片机都是带有片内ROM和片外RAM的。
( )5.MCS-51单片机的程序存储器只是用来存放程序的。
()6.当MCS-51单片机上电复位后,栈指针(SP)=00H ()7.在89C51的串行通信中,串行口的发送和接收都是对特殊功能寄存器SBUF进行读/写而实现的T8.并行通信的优点是传送速度高,缺点是所需传送线较多,远距离通信不方便。
T9.当MCS-51单片机系统只使用片内ROM时,其引脚EA应接高电平。
()10.在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令。
T11.工作寄存器区不允许做普通的RAM单元来使用。
F12.8051单片机的字长为8位,但其片内寄存器不都是8位寄存器。
()13.所谓机器周期是指CPU执行一条指令所需要的时间。
()14.MCS-51内部的位寻址区,只能进行位寻址,而不能进行字节寻址。
()15.当89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。
T16.当89C51的EA引脚接高电平时,CPU只能访问片内的4KB空间。
17.在89C51的片内RAM区中,位地址和部分字节地址是冲突的。
18.中断的矢量地址位于RAM区中。
19.工作寄存器组是通过置位PSW中的RS0和RS1来切换的。
20.访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。
21.堆栈指针SP的内容可指向片内00H~7FH的任何RAM单元,系统复位后,SP初始化为00H。
22.程序计数器PC是一个可以寻址的特殊功能寄存器。
23.8051单片机共有128个位地址。
AT89C51单片机与PC机串行通信的接口实现
AT89C51单片机与PC机串行通信的接口实现[摘要] 本文介绍了AT89C51单片机与PC机采用RS232C标准进行串行通信的接口实现。
在接口中采用MAX232作电平转换电路,简单的通信协议,PC 机用VB编程,AT89C51单片机采用中断收发方式。
文章给出了相应通信接口电路与程序。
[关键词] 通信协议RS232C 通信接口电路通信接口程序AT89C51是一种带4K字节可编程可擦除只读存储器(FLASH FPEROM)和128字节的存取数据存储器(RAM)的低电压,高性能CMOS8位微处理器。
采用了ATMEL公司的高密度、不容易丢失存储技术,与MCS-51系列的单片机兼容。
具有集成程度高、系统结构简单、价格低廉等优点被广泛应用到控制领域中。
但是在复杂的数据处理、良好的人机交互等方面不能满足需要,常采用PC 机与AT89C51单片机进行通信,AT89C51单片机(下位机)实时采集数据传送给PC机(上位机)处理,然后接收PC机处理的结果,并进行相应的控制的方式来弥补。
本文介绍单片机与PC机进行串行通信的一种接口实现。
一、接口电路的设计(一)接口逻辑电平的转换在PC机系统大都装有异步通信适配器,为标准的RS-232C接口。
RS-232C 为负逻辑,用+3V~+15V表示逻辑“0”, 用-3V~-15V表示逻辑“1”。
AT89C51单片机采用正逻辑TTL电平0和+5V.所以AT89C51与PC机通信时必须进行电平转换。
转换的方法有多种。
常采用MAXIM公司生产的专用的双向电平转换集成电路MAX232。
MAX232引脚排列与外围电路如图1所示。
图1MAX引脚及外围接口图(二)通信接口电路本文采用可靠性高的MAX232作电平转换芯片,选择其中一对发送器与接收器,PC机的串行口与MAX232的电平端口相连,MAX232的逻辑电平端口与单片机的串行口相连,接口电路如图2所示。
图2PC机与AT89C51通信接口图二、通信接口程序(一)通信协议PC机与AT89C51进行通信必须有一定的通信协议,本文采用简单的通信协议。
PC机与单片机之间的串行通讯、数据的发送和接收
PC机与单片机之间的串行通讯、数据的发送和接收【摘要】本文以MCS-51单片机为例,详细介绍了PC机与单片机之间的串行通讯、数据的发送和接收。
在Windows98下利用VB的串行通讯控件可实现PC机与单片机之间的通讯。
其数据的发送和接收采用红外线通信方式,其优点是:省去了有线通信信号线的直接连接,使用简单,移动方便,微机与单片机无直接连接,属完全隔离状态,两者间不会因为电平的不同而造成数据传输的失误,抗干扰能力强。
本设计主要应用AT89C51作为控制核心,并与LED数码显示管、双向可控硅、红外发射与接收相结合的系统,充分发挥了单片机的性能。
其优点硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。
【关键字】MSC-51(单片机),红外,RS-232,电平转换器,串行通信半双工【Abstract】This text take one-chip computer MCS-51 for example , introduce a serial communication, data’s sending and receiving . Under the Windows98 we make use of a communication control of VB to achieve the communication of the machine of PC and one-chip computer. Its data’s sending and receiving adopts the method of the infrared ray communication, its advantage is that it exclude the direct link of signal line of with-wired communication ,and usage are simple, and move is convenience etc. The tiny machine have no direct conjunction with single a machine, belonging to the complete insulation appearance, can't result in the error that data deliver both because give or get an electric shock even and different, the antijam ability is strong.This design is a system that it applies AT89C51 as control core and combine the LED figures manifestation tube, MAX232CPE level changer, infrared’s sending and receiving. The system completely exerts the function of one-chip computer. Its advantage is that the hardware circuit is simple; the software function is perfect; the control system is dependable; the rate of price and function is high etc. So the system has certainly consult value.【Keyword】MSC-51(One-chip computer), infrared, RS-232, Level changer, serial communication,half duplex目录前言3第一章系统分析4 1.1 系统功能的概述 5 1.2 系统要求及主要内容 5 1.3 系统技术指标 5第二章系统总体设计6 2.1硬件设计思路 6 2.2软件设计思路 7第三章硬件电路设计7 3.1 单片机模块设计 8 3.2 红外通信(发射与接收)电路的设计 14 3.3 PC机模块的设计 17第四章串行口通信技术20 4.1 单片机串行口通信 21 4.2 PC机串口通信 24第五章软件设计25 5.1 单片机通信程序设计 25 5.2 PC机通信程序设计 29第六章系统调试30 6.1 硬件调试 30 6.2 软件调试 31 6.3 综合调试 33 6.4 故障分析及解决方案 33 6.5 结论与经验 34结束语35附录36 附录1 电路原理图 36 附录2程序流程图 38 附录3程序清单 41 附录4元器件清单 44 附录5 英文资料 45 附录6 中文翻译 52参考文献56前言单片机的英文名称是Micro Controller unit,缩写为MCU,又称为微控制器,它是一种面向控制的大规模集成电路芯片。
使用SPComm控件实现PC机与单片机AT89C51的串口通信
科技资讯科技资讯S I N &T NOLOGY I NFORM TI ON 2008N O.03SCI ENC E &TEC HNO LO GY I N FO RM A TI ON I T 技术使用S P Co mm 控件实现P C 机与单片机A T89C51的串口通信刘雪亭韩鹏(四川信息职业技术学院四川广元市628017)摘要:本文介绍一种基于C++b ui l de r 语言利用Sp c om m 控件实现PC 机与单片机串口通讯的软硬件实现方法。
关键词:C ++b ui l d er SPC o m m 控件串口通信单片机A T89C 51中图分类号:TP311文献标识码:A 文章编号:1672-3791(2008)01(c)-0097-021引言作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于P C 与P C 或者P C 与单片机之间的数据交换以及其它工业控制与自动化控制中。
C++bui l de r 是Bo r l a nd 公司推出的一个功能强大的应用程序开发工具,它不仅具有De l p h i 的简单,功能强大和高效率等特点,而且还结合了C ++灵活性强,编译执行快速的优点。
通常要实现串口通信,可以采用的方法以及第三控件有很多。
例如C ++bui l de r 自身支持的W I N32API 函数,M i c r os of t vi s u a l 系列开发工具中的M SComm 控件,利用第三控件S P C o mm 串口通信控件等。
相比较而言,利用S P Co mm 控件则相对较简单,并且该控件具有丰富的与串口通信密切相关的属性及时间,提供对串口的各种操作,而且还支持多线程。
因此使用S P C o mm 控件实现P C 机与单片机的串口通信是一种高效,简便的方式。
2浅析SPC om m 控件S P Co mm 是台湾小猪工作室开发的第三方串口控件,是MS C o mm 的增强版本,功能强大,编程非常简单。
单片机与PC机串行通信系统硬件及上位机程序设计【精选】
目录1 引言 (1)1.1 单片机与PC机串行通信研究背景 (1)1.2 单片机与PC机串行通信研究目的和意义 (1)2 串口通信基础 (1)2.1 两种常用接口方式 (2)2.1.1 并行接口 (2)2.1.2 串行接口 (2)2.2 RS-232串行接口标准 (2)3 系统总体设计 (3)3.1 系统指标设计 (3)3.1.1 通信协议设定 (3)3.1.2 系统实现描述 (3)3.2 总体方案设计 (3)4 硬件接口电路设计 (4)4.1 主要芯片 (4)4.1.1 AT89C51 (4)4.1.2 单电源转换芯片MAX232 (6)4.1.3 74LS245LED驱动芯片 (7)4.2 LED显示器 (7)4.2.1 LED显示器工作原理 (8)4.2.2 LED显示器接口 (8)4.3 系统设计 (8)5 PC机程序设计 (9)5.1 MSComm控件 (9)5.1.1 MSComm控件处理通信的方式 (9)5.1.2 MSComm控件的主要属性 (10)5.2 应用界面设计流程 (10)5.2.1 创建项目文件 (10)5.2.2 加入串口通信控件 (11)5.2.3 设计窗体界面 (12)5.3 代码实现 (12)6 仿真调试及结果分析 (15)7 结语 (17)参考文献 (18)致谢 (19)2.1 两种常用接口方式2.1.1 并行接口并行接口是指8位数据同时通过并行线进行传送,这样数据的传输率能得到极大的提高。
但在并行传输中,干扰会随线路长度的增加而增加,产生传输错误。
因此,并行传输主要应用在近距离数据传输中,如连接打印机端口。
并行接口主要使用36针接头和25针D形接头,目前以25针D形接头为主[4]。
2.1.2 串行接口串行口也是计算机的一种标准接口,PC机一般至少有两个串行口Com1和Com2。
串行口不同于并行口,它的数据和控制信息是一位接一位在一根传输线上传送的,这样串行口较并行口能够进行远距离传送信息。
上位机串口通信编程
上位机串⼝通信编程摘要本⽂主要描述了利⽤PC机与AT89C51单⽚机之间的通信程序设计实现温度显⽰。
并详述了在VC6.0环境下,上位机利⽤MSCOMM通信控件与单⽚机之间串⼝通信实现温度显⽰。
由单⽚机采集⼀个温度信号,将采集到的温度信号传送给PC机显⽰,PC机⽤VC6.0编写程序,单⽚机程序⽤C语⾔编写,最后⽤PROTUES软件进⾏仿真实现温度显⽰。
关键词:单⽚机MSCOMM控件VC6.0 AT89C51 温度显⽰⽬录摘要1 引⾔ (1)2 结构设计与⽅案选择 (2)2.1设计任务 (2)2.1.1单⽚机的选择 (2)2.1.2电平转换 (2)2.1.1单⽚机的选择 (2)2.1.3单⽚机与pc机通信原理 (2)2.2软件⽅案选择 (2)2.2.1 上位机编程⽅案选择 (3)2.2.2 单⽚机编程⽅案选择 (3)2.3 总体⽅案选择 (2)3 硬件设计 (8)3.1单⽚机主要特性 (5)3.2 MAX232电平芯⽚介绍10 (10)3.3 硬件电路设计图 (11)3.3.1 PC机与单⽚机通信接⼝电路设计框图 (11)3.3.2整体设计原理图 (11)4软件设计 (12)4.1上位机程序设计 (12)4.2下位机程序设计 (13)5 软硬件调试部分 (21)5.1 PROTEUS软件仿真 (21)5.1.1 Protues简介 (21)5.1.2 Protues仿真电路图 (22)5.2 VC软件仿真 (21)结束语 (27)致谢 (28)参考⽂献 (29)1引⾔随着⼈们⽣活⽔平的不断提⾼,单⽚机控制⽆疑是⼈们追求的⽬标之⼀,它所给⼈带来的⽅便也是不可否定的,要为现代⼈⼯作、科研、⽣活、提供更好的更⽅便的设施就需要从单⽚机技术⼊⼿,⼀切向着数字化控制,智能化控制⽅向发展。
现代化集中管理需要对现场数据进⾏统计、分析、制表、打印、绘图、报警等,同时,⼜要求对现场装置进⾏实时控制,完成各种规定操作,达到集中管理的⽬的。
单片机原理及其接口技术--第9章 串行接口及串行通信技术
主目录
上一页
下一页
结
束
单片机原理及其接口技术
位地址 9FH SCON SM0 9EH SM1 9DH 9CH 9BH SM2 REN TB8 9AH RB8 99H TI 98H RI
见表9-1
接收中断标志
发送中断标志
接收数据第9位 发送数据第9位 接收控制 0:禁止
1:允许 1:多机
多机通信 0:双机
教学目标
通过本章教学,要求达到以下目标:
1. 串行通信的基本概念:了解并行/串行通信的
概念;理解串行通信中的异步/同步通信的基 本概念;理解波特率的概念,学会计算波特率 的方法;4了解串行通信的三种制式及校验方 法。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
2. AT89C51串行口:串行接口结构及其功能;
单片机原理及其接口技术
4. 多机通信原理:理解多机通信的原理、过程
和编制多机通信应用程序的方法。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
9.1 串行通信基础知识
计算机与外界的信息交换称为通信。通信的基
本方式可分为并行通信和串行通信两种。
所谓并行通信是指数据的各位同时在多根数据
线上发送或接收。
单片机原理及其接口技术
异步通信信息帧格式如图9.4所示。
第n-1字符 帧 奇 偶停 起 校止 始 8位数据 验位 位 第n字符帧 奇 偶 停 校 止 验 位 第n+1字符帧 起 始 位 8位数据
8位数据
空闲位
D7 0/1 1
0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1
单片机与PC机串行通信系统设计
随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。
但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC机组成分布式系统是一个比较好的解决方案。
这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。
现在单片机及PC机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。
本论文运用单片机系统的设计方法,对单片机与PC机的串行通信系统进行设计,通过总体方案的分析与设计,确定了所采用单片机的型号,并明确硬件设计与软件设计的内容,硬件设计方面需要对单片机控制系统的硬件电路,如时钟电路、复位电路进行设计,串口部分确定了以定时器T1工作在方式2作为波特率发生器,单片机与PC机采用了标准的RS-232C接口进行连接,其中存在着电平转换电路的设计,利用了PROTEL99SE软件进行通信系统硬件电路原理图的绘制,并生成报表。
软件设计方面,利用VB的MSComm控件进行串口通信软件的开发,根据系统的功能要求,利用汇编程序进行单片机收发数据的程序编制,利用51汇编集成开发环境和STC-ISPV13下载型编程器对单片机汇编程序进行烧录。
在系统软硬件调试的过程中,采用AT89C51单片机试验开发板进行功能测试。
最后进行分析,验证系统的可行性。
关键词:PC机与单片机的串行通信;VB程序设计;AT89C51实验板With the development of computer technology, especially the development of SCM,the application areas of SCM are increasingly widespread ,SCM play an important role in the industrial control, data acquisition, instrumentation automation and many other areas. However, in practical application, in response to demands speed, real-time and control the volume of applications, SCM is often difficult to individual competence, at this time the use of multiple microcontroller interface between PC components distributed system is a better solution. Thus, the SCM data communication technology has become very important and in some ways, mastered the SCM data communications technology is the master of microcontroller core application technology.Now SCM and PC in structure, and economic performance for remote serial communication give a very good condition, serial communication refers bit sequence data transfer modes of communications, just as only need three transmission lines to carry information and communication relatively distant, therefore, in the control area of the scene monitoring, distributed control and other forums have important value.In this paper, use SCM system design methods, design serial communications system of SCM and the PC, through analysis and design of the overall program, identified the use of SCM models, clear hardware design and software design, hardware design needs to design hardware circuit of the single-chip microcomputer control system ,such as the clock circuit, reset circuit, serial determinate the part timers T1 work in two ways as a baud rate generator, SCM and PC adopt the standard RS-232C interface for connectivity, which there is a level converter circuit design, use the PROTEL99SE software for communications systems hardware circuit diagram drawing and generating statements. Software design, use VB MSComm for the development of serial communication software, According to the functional requirements, use the compilation process data transceiver microcontroller programming, use 51 compilation integrated development environment and the STC-type programming ISPV13 downloaded for the compilation of SCM procedures burning recorded. The system hardware and software debugging process, use A T89C51 experimental development board for functional testing. Final through analysis, verify feasibility of the system.key words:SCM and PC serial communications;VB Programming;AT89C51 Test Plate第1章绪论41.1 单片机串行通信原理与实现方法 41.2 单片机系统设计方法 41.3 本次设计的工作任务 5第2章总体方案设计72.1 可行性分析72.2 系统功能分析 72.3 单片机选型72.4 系统硬软件的功能设计 82.5 本章小结 8第3章系统硬件设计83.1 单片机系统设计93.1.1 单片机基本概念93.1.2 时钟电路设计93.1.3 复位电路设计103.1.4 单片机串口波特率发生器的选择11 3.2 单片机串口电平转换电路设计133.2.1 通信协议的采用133.2.2 电平转换电路的设计143.2.3 外围功能模块的选择153.3 绘制电路原理图153.4 本章小结 18第4章系统软件设计204.1 PC端串口通信程序204.1.1 分析204.1.2 串行通信的两种方式214.1.3 MSComm控件简介214.1.4 使用VB开发串口通信软件214.2 单片机数据收发程序的开发 28第5章系统调试345.1 A T89C51单片机实验开发板介绍345.2 对系统的软件部分进行调试 35结论43致谢44参考文献45第1章绪论1.1 单片机串行通信原理与实现方法在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,常常遇到计算机与外界的信息交换,即通讯。
简述at89c51单片机内部串行接口的4种工作方式
简述at89c51单片机内部串行接口的4种工作方式AT89C51单片机是一种常用的8位单片机,其内部集成了多种接口,其中包括串行接口。
串行接口是一种用于在单片机与外部设备之间进行通信的接口,具有传输速度快、传输距离远等优点。
AT89C51单片机内部串行接口共有4种工作方式,分别为模式0、模式1、模式2和模式3。
下面将详细介绍这4种工作方式。
一、模式0模式0是最简单的一种工作方式,也是最基本的一种工作方式。
在这种工作方式下,数据传输时采用同步方式,即由SCK引脚提供时钟信号进行同步传输。
具体来说,在发送数据时,CPU通过SDA引脚将数据写入到串行数据寄存器中,并通过SCK引脚提供时钟信号进行同步传输;在接收数据时,CPU通过SCK引脚提供时钟信号进行同步传输,并从串行数据寄存器中读取数据。
二、模式1模式1是在模式0的基础上增加了一个中断功能。
具体来说,在发送或接收完一个字节后,会产生一个中断请求信号INT0或INT1(由用户自行选择),以便CPU能够及时响应并处理。
三、模式2模式2是一种异步传输方式,即在数据传输时不需要提供时钟信号进行同步传输。
具体来说,在发送数据时,CPU通过SDA引脚将数据写入到串行数据寄存器中,并通过一个启动位和一个停止位来表示数据的起始和结束;在接收数据时,CPU通过SDA引脚接收数据,并根据启动位和停止位来判断数据的起始和结束。
四、模式3模式3是在模式2的基础上增加了一个中断功能。
具体来说,在发送或接收完一个字节后,会产生一个中断请求信号INT0或INT1(由用户自行选择),以便CPU能够及时响应并处理。
综上所述,AT89C51单片机内部串行接口共有4种工作方式,每种工作方式都有其特点和优缺点。
在实际应用中,需要根据具体的需求选择合适的工作方式。
基于VB6.0的PC机与AT89c51的串行通信的实现及应用
职能。 如何贯彻运用科学 发展观 , 在促进经济社会全面、 协调和可持续发 展中发挥 高等教育的作 用是值得我们思考的问题。高校要全 面发展 , 要 坚持 以学生为本 , 更新 发展 的思路 , 创新发展的模式 , 提高办学质量 , 必 须以科 学发展观为指导 , 把办学指导思想 , 办学特色 , 办学定位落实到实 际工作 中 , 使高等学校的发展进入可持续 发展的 良性轨道 中。
C MP N N S 在 C nrl 中 , 中 Mi oot o m C nrl ., 时 , O O ET , ot 表 o 选 c sfC m o t 0 此 r o6 在
工具窗中会出现 M C m S o m图标 , 把该图标拖到窗体中就可以使用 了。在
1 V B串行通 信
V s l a c .作为一种可视化的编程工具 ,具有完整 的基于组件 i aBs 0 u i6 设计的可视化集成开发环境 、 作简单、 操 界面友好 的特点 , 因此被广泛应
用于各个领 域。
般不在通用工具窗 口中 , 以要采用 M C m 所 S o m控件实行 串口通信 , 首
先 要 在 窗 体 中 添 加 一 MS o m 控 件 。 可 在 工 程 目录 下 ,选 中 Cm
本文的上位机通信程序是用 V 6 编写的 , B. 0 由于 Vsa B s . 提 i l ac 0 u i6 供 了专门用于通信的控件 M C m S o m,用 V B控件实现通信 的方法 比调用 S K的 A I D P 动态连接库的方法更加方便 、 快捷 , 而且用较少 的代码 可以 次教育 。第四, 服务面向定位 : 立足重庆 , 面向西部, 辐射全国 , 为地方经济 建设、 社会发展和兵工行业服务。第五, 本科生培养目标定位 : 培养社会适 应性强、 有较强创新精神和实践能力的高素质应用型人才。
at89c51的工作原理
at89c51的工作原理AT89C51是一款基于MCS-51体系结构的8位单片机,其工作原理如下:1. 存储器结构:AT89C51具有4KB的内部FLASH存储器,可用于存储程序和数据。
它还拥有128字节的RAM,用于存储变量和临时数据。
2. 中央处理单元(CPU):AT89C51的CPU是一个8位的高性能单元,由一个ALU(算术逻辑单元)、寄存器组和控制单元组成。
它能够执行各种指令,包括算术和逻辑运算,以及控制和数据传输操作。
3. 输入/输出(I/O)口:AT89C51具有4个通用输入/输出端口,每个端口有8个引脚,可用于连接外部设备和传感器。
通过配置这些引脚,可以实现与外部环境的数据交换和控制。
4. 定时/计数器:AT89C51具有2个16位定时/计数器,可以用作计时和事件计数器。
这些定时器可以配置为不同的工作模式,例如计时延时、PWM生成和捕获模式等。
5. 串行通信接口:AT89C51集成了一个可配置的串行通信接口(UART),用于与其他设备进行串行数据传输。
它支持标准的异步串行通信协议,例如RS232。
6. 中断系统:AT89C51具有多种中断源和优先级控制,可以响应外部事件和内部发生的事件。
通过使用中断,可以实现实时响应和处理紧急事件。
7. 时钟和复位电路:AT89C51需要外部提供时钟信号来驱动其内部运行。
一个复位电路用于初始化和复位芯片的状态。
总之,AT89C51是一款多功能的单片机,通过集成的CPU、存储器、I/O口、定时/计数器、串行通信接口和中断系统等组件,实现了各种数据处理、控制和通信功能。
它被广泛应用于各种领域,如自动控制、仪器仪表、家电等。
AT89C51单片机的基本结构和工作原理
AT89C51单片机的基本结构和工作原理AT89C51单片机是一种经典的8位微控制器,由美国公司Intel开发,现在由Atmel公司继续生产和推广。
它被广泛应用于嵌入式系统、自动控制、工业控制和通信等领域。
AT89C51单片机的基本结构和工作原理如下:基本结构:1.中央处理器单元(CPU):AT89C51单片机采用MCS-51体系结构,内置一个8位的中央处理器,工作频率可达到12MHz。
其指令集包括大约100多种指令,支持各种数据操作和控制指令。
2. 存储器:AT89C51单片机集成了4KB的Flash程序存储器、128B的RAM数据存储器和128B的EEPROM数据存储器。
Flash存储器用于存储用户程序,RAM用于临时数据存储,EEPROM用于非易失性数据存储。
3.I/O端口:AT89C51单片机具有32个I/O端口,可以实现与外部设备的数据交换和控制。
这些端口可以配置为输入端口或输出端口,用于连接外部器件。
4. 定时器/计数器:AT89C51单片机集成了2个16位的定时器/计数器(Timer/Counter),用于生成精确的时序信号和计数功能。
它们可以配置为定时器模式或计数器模式,支持各种定时操作。
6.中断系统:AT89C51单片机具有强大的中断系统,支持外部中断和定时器中断等多种中断源。
中断可以在程序执行过程中插入,用于实现实时响应和多任务处理。
7.电源管理:AT89C51单片机需要外部供电,工作电压一般为5V。
它可以通过内部的低功耗模式和掉电模式实现电源管理,在不需要工作时降低功耗。
工作原理:1.启动系统:当AT89C51单片机上电后,系统会初始化各个部件,包括设置定时器、I/O端口、中断系统等,并执行一段启动程序。
3.处理中断:当有外部中断或定时器中断发生时,CPU会暂停当前任务,保存现场状态,跳转到中断程序执行,处理完中断后再返回主程序继续执行。
4.数据交换:AT89C51单片机可以通过I/O端口与外部设备进行数据交换和控制,包括输入数据和输出数据。
单片机与PC串口通信课程设计
单片机与PC串口通信课程设计单片机与PC机的串口通信摘要单片机由于性价比高、使用灵活等优点而广泛应用于各种电子系统、自动控制系统,但是其存储容量小,处理的数据量不大。
为了克服这一缺点,我们可以将单片机连接到PC机上,由单片机采集数据,然后将数据汇总到PC机,再进行各种数据处理。
单片机与PC机一般采用串行通信,由于51系列单片机中一般集成了全双工的串行端口,只要配以电平转换的驱动电路、隔离电路就可组成一个简单可行的通信接口。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,本设计将通过电平转换电路实现单片机与PC机中的RS-232标准总线之间的串行通信。
这也是许多测控系统中常用的一种通信解决方案。
关键词:单片机,PC机,串行通信,电平转换,总线目录课程设计(论文)用纸第一章:绪论1.1课题研究的目标和意义单片机与PC机串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。
作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC 或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。
如今,在很多场合中,要求单片机不仅能独立完成单机的控制任务,还要能与其他数据控制设备(单片机、PC机等)进行数据交换。
因此如何实现PC机与单片机之间的通信具有非常重要的现实意义。
1.2所属领域的现状及发展状况单片机,亦称单片微电脑或单片微型计算机。
它是把中心处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功用部件都集成在一块集成电路芯片上的微型计算机。
现在可以说单片机是百花齐放的期间,天下上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,不成胜数,应有尽有,它们各具特色,互成互补,为单片机的应用供应广漠的六合。
通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。
51单片机与PC机通信
51单片机与PC机通信随着嵌入式系统和物联网技术的发展,51单片机在许多应用中扮演着重要的角色。
这些单片机具有低功耗、高性能和易于编程等优点,使其在各种嵌入式设备中得到广泛应用。
在这些应用中,与PC机的通信是一个关键的需求。
本文将探讨51单片机与PC机通信的方法和协议。
串口通信是51单片机与PC机进行通信的最常用方式之一。
串口通信使用一个或多个串行数据线来传输数据,通常使用RS232或TTL电平标准。
在硬件连接方面,需要将51单片机的串口与PC机的串口进行连接。
通常使用DB9或USB转TTL电路来实现这一连接。
在软件编程方面,需要使用51单片机的UART控制器来进行数据的发送和接收。
具体实现可以使用Keil C51或IAR Embedded Workbench 等集成开发环境进行编程。
USB通信是一种比较新的通信方式,它具有传输速度快、支持热插拔等优点。
在51单片机中,可以使用USB接口芯片来实现与PC机的通信。
在硬件连接方面,需要将51单片机的USB接口芯片与PC机的USB接口进行连接。
通常使用CH340G或FT232等USB转串口芯片来实现这一连接。
在软件编程方面,需要使用51单片机的USB接口芯片来进行数据的发送和接收。
具体实现可以使用相应的USB库来进行编程。
网络通信是一种更加灵活和高效的通信方式。
在51单片机中,可以使用以太网控制器来实现与PC机的网络通信。
在硬件连接方面,需要将51单片机的以太网控制器与PC机的网络接口进行连接。
通常使用ENC28J60等以太网控制器来实现这一连接。
在软件编程方面,需要使用51单片机的以太网控制器来进行数据的发送和接收。
具体实现可以使用相应的网络库来进行编程。
需要注意的是,网络编程涉及到更多的协议和数据格式,需要有一定的网络基础知识。
本文介绍了51单片机与PC机通信的三种常用方式:串口通信、USB 通信和网络通信。
每种方式都有其各自的优缺点和适用场景。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PC机与单片机AT89C51的串行通信摘要:在Windows95下使用串口API函数实现PC机与单片机AT89C51的串口通信,重点介绍计算机采用事件驱动I/O方式的函数编程及单片机串口中断发送、接收程序的实现。
关键词:Windows95单片机AT89C51RS-232接口RS-485接口串行通信在以单片机为基础的数据采集和实时控制系统中,通过计算机中的RS-232接口进行计算机与单片机之间的命令和数据传送,就可以利用计算机对生产现场进行监测和控制。
由于计算机上的RS-232所传送的距离不超过30m,所以,在远距离的数据传送和控制时,可以用MAX485的接口转换芯片将RS-232转换成RS-485协议进行远距离传送。
在发送和接收端都进行协议转换后,RS-485协议对数据传送来说是相对透明的,所以依然可以使用计算机中的RS-232进行远距离的数据传送和控制。
在最简单的RS-232直接传送通信系统中,只要发送和接收双方同时准备好,仅用信号发送端(TXD),信号接收端(RXD)和信号地(GND)3根线即可进行通信;若以应答方式进行数据通信,可使用请求发送(RTS)、清除发送(CTS)或数据终端准备(DTR)、数据装置准备(DSR)进行硬件握手。
在Windows95下,可以很方便地使用Win32通信API函数来实现这些硬件的握手以及数据的传送。
在89C51单片机系统中,分别从P3.0和P3.1引出串口线RXD和TXD通过专用的电平转换芯片转换成RS-232接口标准的电平,这样,二者之间就可以通过RS-232接口进行数字信号的传送。
单片机也可以以直接传送或应答握手的方式进行数据通信,但由于握手方式占用其他的端口,而单片机的端口数量有限,所以,计算机与单片机的通信常采用直接传送的方式,本文将重点介绍。
1Windows95下的通信编程Windows95通信体系提供了1个改进的串行应用程序接口SAPI用来进行交互式串行通信。
其中,串口和其他通信设备是作为文件进行处理的,串口的打开、关闭、读取和写入所用的函数和操作文件的函数相同。
通信会话以调用CreateFile函数开始,CreateFile函数为读访问或写访问打开串口,打开成功后返回该串口句柄,供读写串口时使用。
CreateFile函数的使用如下:CreateFile(szDevice,fdwAccess,fdwShareMode,lpsa,fdwCreate,fdwAttrsAndFlags,hTemplateFile) 其中,第1个参数szDevice是要打开的串口逻辑名,如COM1或COM2;第2个参数fdwAccess指定串口的访问类型,如读、写或两者兼而有之,大部分通信是双向的,因而通常设置为:GENERICREAD|GENERICWRITE;第3个参数fdwShareMode指定串口的共享属性,串口不能共享,所以它必须为0;第4个参数lpsa引用安全性属性结构;第5个参数fdwCreate指定如果CreateFile正被已有的文件调用时应做些什么,既然串口总是存在,此参数就必须被设置为OPENEXISTING。
第6个参数fdwAttrsAndFlags 描述了该端口的各种属性,对串口而言,唯一有意义的设置是FILEFLAGOVERLAPPED,指定该设置时,端口I/O可以在后台进行;最后1个参数hTemplateFile是指向模板文件的句柄,当端口打开时,该参数为NULL。
打开串口后,在Windows95下可以对串口进行合适的配置。
Windows95提供了COMMPROP结构,COMMPROP结构中包含了对串口允许的设置,如波特率、数据位数、停止位的个数以及奇偶校验方法等,如果串口连接到调制解调器,COMMPROP结构中还包含调制解调器支持的设置。
但COMMPROP结构给出的只是单纯的信息,它不能用来改变串口的设置。
Windows95下串口设置的改变是通过改变它的DCB 结构来实现的,DCB结构中包含了所有串口的设置,其中包括硬件的握手、流控制等。
Windows95提供GetCommState函数来得到当前串口的设置情况,该函数接收1个打开的端口句柄和1个指向DCB结构的指针,在DCB结构中返回信息,GetCommState函数的补充函数是SetCommState 函数,SetCommState函数将DCB结构中的内容写向串口设置,这2个函数的调用如下:BOOLGetCommState(hComm,&dcb)BOOLSetCommState(hComm,&dcb)其中,hComm为打开串口的句柄,dcb为1个指向DCB的结构。
Windows95中实现串口的读写函数与文件的读写函数相同,读写函数的使用格式如下:ReadFile(hComm,inbuff,nBytes,&nBytesRead,&overlapped)WriteFile(hComm,outbuff,nBytes,&nBytesWrite,&overlapped)其中,第1个参数是打开串口的句柄,第2个参数是数据所使用的缓冲区,第3个参数是要读取的字节数,第4个参数是实际读取的字节数,实际读取的字节数可能小于要读取的字节数,最后1个参数指向1个覆盖似的结构,当CreateFile中dwAttrsAndFlags参数设置为FILEFLAGOVERLAPPED时,此参数可以指定1个OVERLAPPED结构,使数据的读写操作在后台进行。
读写端口可以通过4种技术来实现:查询、同步I/O、异步I/O(后台I/O)和事件驱动I/O。
查询方式直接、易于理解,但占用大量CPU时间;同步I/O直到读取所指定字节数或超时时才返回,这样很容易长时间地阻塞线程;异步I/O可以在后台读写数据,而在前台做其他的事情;事件驱动I/O是由Windows95通知应用程序某些事件什么时候发生,然后根据所发生的事情来对串口进行操作。
这4种不同的技术,各有利弊和自己适用的领域,所以,在不同的通信系统中,可以根据不同的要求采用不同的技术。
在监测系统中,由于事件的偶然性和要求传送的实时性,计算机常采用事件驱动I/O方式来进行现场监测。
在事件驱动I/O方式下,Windows95报告给应用程序的事件由函数GetCommMask返回,改变返回的事件时,可以使用SetCommMask函数设置,这2个函数的调用如下:GetCommMask(hComm,&dwMask)SetCommMask(hComm,dwMask)第1个参数是打开串口的句柄,第2个参数是要等待的1个或多个事件的掩码。
在用SetCommMask 设置了有用的事件后,应用程序调用WaitCommEvent函数来等待事件的发生,直到事件发生,WaitCommEvent函数返回。
WaitCommEvent函数使用格式如下:WaitCommEvent(hComm,&dwEvent,&overlapped)第1个参数是打开串口的句柄,第2个参数是返回的事件,第3个参数是指定同步或者异步操作。
当函数返回后,可根据返回的事件掩码进行相应的串口操作。
完成通信后,串口应该关闭,否则,它始终处于打开状态,其他应用程序就不能打开或使用它。
关闭串口的函数为:CloseHandle(hComm),其中,hComm为打开的串口句柄。
2单片机下的通信编程单片机89C51的串行端口有4种工作方式,通过编程设计,可以使其工作在任一方式,以满足不同场合的需要。
其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1主要用于双机之间或外设电路的通信;方式2、3除有方式1的功能外,还可用作多机通信,以构成多微机系统,方式2、3的区别在于波特率的不同。
单片机的串行通信的波特率可以程控设定,在不同的工作方式下,由时钟振荡频率的分频值或由定时器T1的定时溢出时间确定。
单片机的串行端口有2个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率以及中断标志TI和RI。
单片机的串行端口有1个数据寄存器SBUF,该寄存器为发送和接收所共有,在一定条件下,向SBUF 写入数据就启动了发送过程,读SBUF就启动了接收过程。
单片机可以采用循环方式或中断方式实现串行数据的传送。
在循环方式下,单片机循环对数据寄存器SBUF进行读写来实现数据的接收和发送;在中断方式下,对方式1、2来说,1帧数据发送或接收完后,TI/RI自动置1,请求串行中断,若CPU响应中断,则执行串行中断服务程序,并把TI/RI清0以再次响应中断。
对在方式2、3下的接收,还要视串口控制寄存器SCON的设置才可确定RI是否被置位以及串口中断是否开放。
实时控制中,由于事件的突发性,常采用中断的方式进行数据传送,中断方式能更大限度地提高资源的利用率,使CPU在不进行数据通信时做其他的工作。
下面重点介绍单片机在方式1下的中断方式编程。
方式1是10位异步通信方式,其中包括1个起始位,8个数据位和1个停止位。
波特率由定时器T1的溢出率和串口控制寄存器SMOD的状态确定,在CPU的晶振为11.0592MHz时,波特率常采用9600b/s。
对SBUF进行写操作就可启动发送,在发送移位时钟的同步下,从TXD先送出起始位,然后是8位数据位,最后是停止位,这样,1帧数据发送完,中断标志TI置位。
在允许接收的条件下(REN=1),当RXD出现由1到0的负跳变时,即被当成是串行发送来的1帧数据的起始位,从而启动1次接收过程。
当8位数据接收完,并检测到高电平停止位后,即把收到的8位数据装入SBUF,置位RI,1帧数据的接收过程就完成了。
下面是单片机以方式1在直接传送下的中断接收和发送程序。
由于没有使用通信握手,所以通信双方都应做好通信准备。
在计算机接收、单片机发送时,由计算机先发送字母“R”,通知单片机计算机已准备好,然后计算机在事件驱动I/O方式下等待接收到字符“Y”;当单片机接收到“R”时,向计算机发送“Y”,表示单片机也已准备好,这样,一旦计算机接收到“Y”就表示双方都已准备好,二者之间就可以进行数据交换了。
在计算机发送、单片机接收时,计算机发送1帧数据,单片机响应中断,接收数据。
单片机程序的具体实现过程如下:org0000hajmpstartorg0023h;串行中断入口ljmps&rorg0100hstart:mov tmod,#20h;设置定时器T1方式2movpcon,#00h;使SMOD为0movtll,#0fdh;波特率为9600b/smovthl,#0fdhsetbea;开全局中断clret1;关T1中断setbes;开串行中断setbtrl;开T1定时movscon,#50h;串行方式1,允许接收sjmp$S&r:movc,rijcrecive;RI为1,执行接收子程序sjmpsend;否则,执行发送子程序recive:mova,sbuf;接收数据clrricjnea,#52h,re;是否接收到“R”mova,#59h;是,发送“Y”movsbuf,asjmpendtrre:mov@rl,a;r1为接收数据存放地址incr1sjmpendtrsend:mova,@r0;发送数据,r0为存放数据的地址movsbuf,ajnbti,$clrtiincr0endtr:reti;中断返回3结束语串口通信是一种广泛应用于各个领域的通信方式,由于目前大部分计算机都安装了Windows95操作系统,所以本文具体实现了在Windows95下利用它的SDK函数来与单片机进行串口通信。