PC 机与单片机通信(RS232 协议).pdf
RS 232串口通信在PC机与单片机通信中的应用

处 理 及对单 片 机 的控 制 。在 分 布式 控 制 系 统 中大 多采
出现 了 D 一5 D -5和 D 一 各 种类 型 的连接器 , 引 B2 , B1 B9 其
脚定 义也各 不相 同 ] 。常 用 的连 接 器 接 口图如 图 1所
用 单 片机作 为 下位机 来进 行数 据采集 和 现场控 制 , 在这
第 一 部 分 是 电 荷 泵 电 路 。 由 1 2 3 4 5 6脚 和 , ,, ,, 4只 电容 构 成 。功 能 是 产 生 + 1 和 一 1 两 个 电 2V 2V
用 的解决 方 法主要 是采 用光 隔离 器 , 隔离 器穿 过一个 光
隔 离 的屏 障来 传输 信 号 。一 个 光 隔 离 器 由一 个 光 敏 电
分析、 印、 警等, 打 报 同时 又 要 对 现 场 设 备 进 行 实 时控
制, 完成各 种操 作 。单 片机作 为控 制系 统 中必不 可少 的 部 分 , 各个 领域得 到 了广泛 的应 用 。 由于单片 机具 有 在 体 积小 、 价格 低廉 、 应 性强 的特 点 , 般在 工业 控制 系 适 一 统中, 各种 数 据 的采 集 和执行 机构 的控 制都是 由单片机 来完 成 。而单 片机 的计算 能力 有 限 , 以进行 复 杂 的数 难
a l we o u e ,RS 3 e il o t sa me s g n u fc mmu ia i n b t e P n CM ,a d M AX2 2 i a o t d t o rc mp t r 2 2 s ra r s a i g h b o o p a n c to e we n I C a d S n 3 s d p e o i p e n h t a o v r in b t e m lme tt e mu u l n e so e we n TTL 1 g c lv l n 2 2 l v 1 S c o n c i n c n e o y t efe i l o to c o i e e d RS 3 e e. u h a c n e t a mb d h l x b ec n r l a o f n t n o CM ,e p e st e p we f l o u a in a d d s ly f n t n fP u c i fS o x r s h o ru mp t t n ip a u c i s o C,a d i o e e i t i n lr a- i c u s— c o o n s fb n ft O sg a e lt me a q ii
单片机与电脑接口(TTL与RS232电平模拟转换)电路及工作原理

2010年11月28日21:381.先介绍电脑上与单片机进行通讯的接口的名称(1)一般是用电脑串口来进行通讯的,平常大家说的电脑的串口是指台式电脑主机后面的九针接口,如下图这个接口有个专业的名称,叫RS23接口,而RS232接口是串口通讯的一种,其实所谓的接口,我的理解就是一种通信协议,规定了传输电平,传输方式,及怎么传输数据等等。
协议标准规定采用一个25个脚的DB25连接器,还规定了连接器的每个引脚的信号内容,同时还对各种信号的电平加以规定。
但随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。
(2)电脑上的RS232接口采用的是负逻辑电平:-15~-3表示逻辑1;+15~+3表示逻辑0;电压值通常在7V左右(3)我们可以使用串口电缆直接连接两台PC机的串口,实现两台PC机的串口通讯。
但是PC机和单片机的通讯却不能够用电缆直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。
通常这个电路都选择专用的RS232接口电平转换集成电路进行设计,如MAX232、HIN232等。
2.单片机串口输出的逻辑电平单片机的串口输出电路采用的逻辑电平是TTL电平。
这种电平信号由TTL器件产生的,一般的芯片,如运放,数字器件等...TTL:Transistor-Transistor Logic 三极管结构。
Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V;VIL<=0.8V3.单片机与电脑串口的连接首先解决的就是逻辑接口电平的问题,其次就是通信方法及方式的问题(1)在这里我们可以使用集成芯片MAX232,这是一款专门用来进行信号电平的转换的芯片,使用起来简单方便,这里把电路贴出。
(2)当然,我们也可以使用分立元件来搭建RS232电平转换电路以供我们实验使用,下图给出了一个常见电路,只要器件完好,电路焊接完毕后即可正常工作,经实际使用,效果良好。
RS232串口通信在PC机与单片机通信中的应用

RS232串口通信在PC机与单片机通信中的应用0 引言随着信息技术的飞速发展和科技进步,在许多现代化集中管理的控制系统中,需要对现场数据进行统计、分析、打印、报警等,同时又要对现场设备进行实时控制,完成各种操作。
单片机作为控制系统中必不可少的部分,在各个领域得到了广泛的应用。
由于单片机具有体积小、价格低廉、适应性强的特点,一般在工业控制系统中,各种数据的采集和执行机构的控制都是由单片机来完成。
而单片机的计算能力有限,难以进行复杂的数据处理。
在功能比较复杂的自动控制系统中,通常以工控机为上位机,单片机为下位机,由单片机完成数据的采集及对设备的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。
在分布式控制系统中大多采用单片机作为下位机来进行数据采集和现场控制,在这些应用中,单片机只是直接面对被控对象底层,而对采集到的数据进行进一步的分析和处理工作,则是由功能强大的PC 机来完成的。
因此,PC 机和单片机之间就有着大量的数据交换。
在绝大多数PC 机的标准配置中,都有一个到多个RS 232 串口,因为RS 232 串口担负着PC 机和单片机之间大量的数据交换的重任。
单片机89C52 用于自动控制及数据传输,并通过RS 232 接口向上位机进行数据通信。
1 RS 232 串口通信1.1 RS 232C 标准RS 232C 标准(协议)的全称是EIA-RS-232C 标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232 是标识号,C 代表RS 232 的最新一次修改。
在这之前,有RS 232B,RS 232A,它规定连接电缆和机械、电气特性、信号功能及传送过程。
1.2 RS 232 的接口引脚定义由于RS 232C 并未定义连接器的物理特性,因此,出现了DB-25,DB-15 和DB-9 各种类型的连接器,其引脚定义也各不相同。
pc与单片机多机rs232串口通信设计分析

分析Technology AnalysisDI G I T C W 技术114DIGITCW2020.020 引言现阶段,控制系统的功能逐渐增加,内部构造日益复杂,通常以工控机为上位机,以单片机为下位机,处于被控对象的地层,借助PC 机完成数据采集与分析工作。
由于PC 机和单片机之间需要完成数据传输,这时需要多个RS232串口的支持,本文针对串口通信的设计进行分析和研究。
1 R S23 2串口通信原理串口通信主要通过ASCII 码进行传输,采用地线进行接收和发送,通信段在一条线路中发送信息,可在另一条线路中进行接收。
其中,波特率、数据位、奇偶校验位等参数十分关键。
(1)波特率。
可对通信速度进行反应,与时钟的周期相同,但与距离呈反比,只有相似仪器中才可使用这一参数。
(2)数据位。
可对通信数据进行体现,通常标准为5、7、8位,发送信息与标准值之间具有一定关联。
标准码由7或者8位组成,在单包中最后一位是停止位,在定时时可通过传输线进行数据传输,因此设备时钟不同。
在通信时设备之间很难做到同步传输,因此差异性相对较小,此时可发挥停止位的作用,对传输进行约束,停止位的数量应得当,不可过多或者过少,以适当的位数保障数据的传输率。
(3)奇偶校验位。
该项参数可对串口通信的正误率进行检验,主要方式为高、低、奇、偶等类型,在奇偶校验的过程中,数据最末位便是校验位;对于设备来说,对位的状态进行掌握,可有效判断数据传输是否受到其他设备的干扰。
2 P C 与单片机RS23 2 串口通信设计2.1 连接框架在该系统中,主要采用“一主多从”的总线连接方式,与总线特征相结合,将两个120的电阻分别连接在两侧,芯片类型为MAX485,在驱动器中最多可带128个单片机,因此通信数量不可超过128个。
2.2 软件设计在数据传输过程中,单片机通常采用中断方式,在初始化时,SM2的数值为1,工作方式为3,波特率为9600。
通信协议为:(1)PC 机将地址信息传输给单片机,由接收端对信息进行查询。
单片机与PC机通信协议(RS232)

帧格式如下:其中LB、DS在命令帧和应答帧中无。
差错控制与校验采用纵向冗余校验(LRC)。
发送方校验和生成方法:将FD、LB、DS域逐个字节相加求和,在求和过程中舍弃进位,最后将所得的和(单个字节)取补码作为检验和(CS)。
生成校验和的函数为:static unsigned char LRC(auchMsg,usDataLen) /* 函数返回unsigned char 类型的LRC 结果*/ unsigned char *auchMsg ; /* 要计算LRC 的报文*/unsigned short usDataLen ; /* 报文的字节数*/{unsigned char uchLRC = 0 ; /* LRC 初始化*/while (usDataLen--) /* 完成整个报文缓冲区*/uchLRC += *auchMsg++ ; /* 缓冲区字节相加,无进位*/return ((unsigned char)(-((char)uchLRC))) ; /* 返回二进制补码*/}接收方校验方法:将所有接收到的数据,即FD、LB、DS、CS等域逐个字节相加求和,在求和过程中舍弃进位,若结果为零(低字节)则传输无错,否则出错。
应答:接收方对接收数据进行校验后,若无错则向发送方发送传输无错应答帧,若有错则向发送方发送传输出错应答帧。
所需通信数据分为:数据帧、命令帧、应答帧上行数据:下位机(单片机)向上位机(PC机)传送数据⑴初始化上位机(IPC):FD=0x01 (InitPC)单片机将电梯模拟器的参数发送至PC机,初始化PC机端的可视化程序。
PC机上的可视化程序完成初始化后,应向单片机发送初始化完毕命令。
帧格式:⑵发送模拟器状态信息:FD=0x02 (SendMsgToPC)包括:轿厢位置,轿厢状态——上行/下行/停止,轿厢运行速度其中轿厢状态:上行——0x05下行——0x0A停止——0x00⑶开门命令:FD=0x03⑷开门到位命令:FD=0x04⑸关门命令:FD=0x05帧格式:⑹关门到位命令:FD=0x06⑺询问上位机是否准备好:FD=0x07 (IfPCReady)帧格式:下行数据:上位机(PC机)向下位机(单片机)传送数据⑴上位机准备好:FD=0x11⑵初始化完毕:FD=0x12 (PCInitFinish)⑶修改模拟器参数:FD=0x13 (AlterPara)⑷完成修改模拟器参数:FD=0x14 (FinishAlterPara)⑸下送模拟器参数:FD=0x15 (SendParaToMCU)帧格式:应答帧:⑴接收到的数据无错:FD=0xF1帧格式:⑵接收到的数据出错:FD=0xF2模拟器运行流程图修改模拟器参数流程图模拟器参数定义//参数号定义#define ID_Total_Floors 1#define ID_Special_Floor_A 3#define ID_Special_Floor_B 5#define ID_ID_Observe_Para 7#define ID_Dist_Bottom_Limit_Location 10#define ID_Dist_Bottom_Restrict_Location 11#define ID_Duration_Close_LiftDoor 16#define ID_Duration_Open_LiftDoor 17#define ID_Factor_FreqDivid_Hall 18#define ID_Polarity_Photoswitch 19#define ID_Floor_Lift_Lieto 29#define ID_Location_Lift 30#define ID_Length_UnivFloor 2#define ID_Length_Special_Floor_A 4#define ID_Length_Special_Floor_B 6#define ID_Length_Floor_Level_Board 8#define ID_Length_Speed_Alter_Board 9#define ID_Dist_Bottom_SpAlter_UpEnd 12#define ID_Dist_Top_SpAlter_LowEnd 13#define ID_Dist_Top_Restrict_Location 14#define ID_Dist_Top_Limit_Location 15ubyte Total_Floors; //最高楼层数ubyte Special_Floor_A; //专用楼层号Aubyte Special_Floor_B; //专用楼层号Bubyte ID_Observe_Para; //观测参数号ubyte Dist_Bottom_Limit_Location; //下极限与底楼平层的距离(向下计算),单位:厘米ubyte Dist_Bottom_Restrict_Location; //下限位与底楼平层的距离(向下计算),单位:厘米ubyte Duration_Close_LiftDoor; //电梯关门到位时间,单位:秒ubyte Duration_Open_LiftDoor; //电梯开门到位时间,单位:秒ubyte Factor_FreqDivid_Hall; //输入霍尔脉冲分频系数ubyte Polarity_Photoswitch; //平层区光电开关极性:0 - 进入平层区光电开关输出断开,1 - 进入平层区光电开关输出闭合ubyte Floor_Lift_Lieto; //电梯当前楼层uword Location_Lift; //电梯位置值,单位:厘米uword Length_UnivFloor; //通用楼层距离,单位:厘米uword Length_Special_Floor_A; //专用楼层号A的楼层距离(向上计算),单位:厘米uword Length_Special_Floor_B; //专用楼层号B的楼层距离(向上计算),单位:厘米uword Length_Floor_Level_Board; //平层挡板的长度,单位:毫米uword Length_Speed_Alter_Board; //上、下强换挡板的长度,单位:厘米uword Dist_Bottom_SpAlter_UpEnd; //下强换顶端与底楼平层的距离(向上计算),单位:厘米uword Dist_Top_SpAlter_LowEnd; //上强换底端与顶楼平层的距离(向下计算),单位:厘米uword Dist_Top_Restrict_Location; //上限位与顶楼平层的距离(向上计算),单位:厘米uword Dist_Top_Limit_Location; //上极限与顶楼平层的距离(向上计算),单位:厘米。
单片机与PC机串行通信

单片机与PC机串行通信一、实验要求单片机的串行口经MAX232(实际使用MAX202,二者功能兼容)电平转换后,与PC 串口相连,实现单片机和PC的通信。
二、实验目的1、掌握单片机串行口软件编程和硬件使用方法;2、了解Proteus虚拟终端的使用;3、了解PC超级终端(串口调试助手)和RS232的使用。
三、实验电路及连线硬件连接表注意事项:(1)实验箱上各模块是独立供电,实验时需要用到的模块都要给它提供电源,即+5V接口都要接到电源模块的+ 5V电源接口,GND接口可以不用接(默认实验箱上的GND网络都接在一起了),千万不要把+5V接口接到GND接口上,短路烧坏保险管。
(2)硬件连接表都是按照C语言编写的仿真工程连接硬件,适用于AT89S52、ATmega16单片机, PIC16F877A单片机请参照仿真工程接线,若做实验时用到汇编工程,请参照汇编工程里面的仿真电路连接硬件。
(3)RS232接口通过串口线与PC相连,打开串口调试助手,真确设置波特率,在串口调试助手界面观看实验现象。
四、实验说明1、主要知识点概述:本实验用到的主要知识点是:MAX232工作原理和Proteus虚拟终端使用。
(1)在简单的应用中,最常用的是MAX232电路。
它只需要有3条线即可完成通信,分别是第二脚RXD , 第3脚TXD ,第5脚GND。
串行通信与单片机之间的接口:RS-232C采用负逻辑规定逻辑电平,-5V—-15V为逻辑“1”电平,5V—+15V为“0”电平。
由于串行通信的电平逻辑定义是+15V(低电平0),-15V(高电平1) 而单片机中分别用5V ,0V 来表示1,0 它们之间必须通过电平转换才可以完成通信。
(2)此设计中将两个虚拟终端按图示挂于电路中,属性分别设置如下:VT1:VT2:2、实验效果说明:MCU不停向PC机发送数据,在屏幕上显示公司网站!等信息。
不同的单片机实验效果不同,具体请参照仿真的实验现象。
(完整word版)PC机与单片机的串口通信

(C51编程)实训报告学院名称:福建船政交通职业学院专业:11计算机控制技术题目:单片机与PC机串口通信组别:第一组组员姓名:池清清,黄倩滢,蓝春燕学号:114103101,114103111,114103116 指导教师:朱其祥,黄炳乐,武光信,陈明,任慧1实训要求与任务 (1)1.1要求 (1)1.2任务 (1)2程序代码 (1)3程序运行平台 (3)4总体设计 (3)5串行通信方案设计 (4)6 PROTEUS仿真 (5)7结论 (6)摘要串行口是计算机与外部设备之间进行数据交换的重要介质,所以串行通信在工程中有着广泛的应用。
这种通信的实现,主要是靠上位PC机与下位单片机组成的二级系统通过RS232进行通信。
此次设计通过计算机输入数据通过串口传送给单片机进而在LED上显示,使学生进一步巩固所学的单片机系统硬件知识,C语言程序设计方法,计算机通信原理,计算机可视化程序设计,综合性很强,学生得到很大的锻炼。
关键词:单片机PC机串口通信把COMPIM 放在仿真电路图中,当仿真运行起来之后,送到COMPIM 3 号引脚的串行数据,将会通过PC 机的COM1 串行口输出,如果在PC 机的COM1 串行口外接一条电缆,可将串行数据送到其它的硬件设备上。
同样道理,其它的硬件设备送到PC 机的COM1 的串行数据,也会在COMPIM 的号引脚出现,送到仿真电路里面。
由于COMPIM 组件内部,自带RS-232 和TTL 的电平转换功能,因此不需要再使用电平转换芯片。
5.2 利用VSPD 软件7结论这次实训,有很多的心得体会,有关于单片机与串口通信方面的,更多的是关于人与人之间关系方面的。
在这短短一周期间,我得到了很多老师与同学的帮助。
本组对单片机并不是很熟悉,理论联系不了实际。
串口调试与软件安装令我们束手无策了。
后来请教我们班的同学,看他边做边给我们讲解。
最后调试成功,完成了本程序。
最后说明对这次实训的感受,课堂教学考虑到大多数同学的需求,主要强调“基本”—基本知识、基本理论、基本方法、基本技能。
单片机与PC机RS232串行通讯设计

课程设计单片机与PC机RS232串行通讯设计班级学号学生姓名指导教师目录0. 前言 (2)1. 总体方案设计 (2)2 硬件电路的工作原理 (3)2.1 AT89C51外围电路模块 (3)2.1.1 复位电路 (3)2.1.2 时钟电路 (4)2.1.3 键盘电路 (4)2.2 显示部分 (5)2.2.1 LED显示部分 (5)2.2.2 MAX232电平转换 (5)2.2.3 PC机采用DB-25型连接器 (6)3 软件设计 (7)4 调试分析 (9)5. 结论及进一步设想 (11)参考文献 (11)课设体会 (12)附录I 元件清单 (13)附录І І 总电路图 (14)附录ІІІ 总程序 (15)单片机与PC机RS232串行通讯设计摘要:设计单片机与PC机的串行通讯系统,PC机是主机,PC机发送的数据单片机接收,单片机输入的数据通过LED显示在发送给PC机,其中单片机选择RS232通讯标准接口。
采用了串行口通讯技术作为核心技术,主要解决方案是通过自定义通讯协议实现多机通讯,优点是结构简单,软件简单,硬件资源少,价格便宜。
关键词:串行通讯;单片机;PC机;RS-2320. 前言自1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个方向发展:一个是向着高速度、大容量、高性能的高档微机方向发展;而另一个则是向着稳定可靠、体积小、功耗低、价格低廉的单片机方向发展。
而两者之间的通讯设备也变得愈来愈重要,串行总线技术就是其中尤为重要的技术之一。
RS-232C是在异步串行通信中应用最广的总线标准,它适用于短距离或带调制解调器的通信场合。
RS-232C标准是美国EIA与BELL等公司一起开发的1969年公布的数据通信标准。
它适合于数据传输速率在0~20000b/s范围内的通信。
该标准定义了数据终端设备DTE(DataTerminal Equipment)和数据通信设备DCE( Data Communication Equipment)之间的接口信号特性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
103
g
123
{
44
,
64
@
84
T
104
h
124
|
45
-
65
A
85
U
105
i
125
}
46
.
66
B
86
V
106
j
126
~
47
W
107
k
48
0
68
D
88
X
108
l
49
1
69
E
89
Y
109
m
50
2
70
F
90
Z
110
n
51
3
71
G
91
[
111
o
毕业论文范文模板
[C 语言源程序] #include "reg52.h" //包函 8051 内部资源的定义 unsigned char dat; //用于存储单片机接收发送缓冲寄存器 SBUF 里面的内容 sbit gewei=P2^4; //个位选通定义 sbit shiwei=P2^5; //十位选通定义 sbit baiwei=P2^6; //百位选通定义 unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //1~10 void Delay(unsigned int tc) //延时程序 { while( tc != 0 ) {unsigned int i; for(i=0; i<100; i++); tc--;} } void LED() //LED 显示接收到的数据(十进制) { gewei=0; P0=table[dat%10]; Delay(10); gewei=1; shiwei=0; P0=table[dat/10]; Delay(10); shiwei=1; baiwei=0; P0=table[dat/100]; Delay(10); baiwei=1; } ///////功能:串口初始化,波特率 9600,方式 1///////// void Init_Com(void) { TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; TL1 = 0xFd; TR1 = 1; } /////主程序功能:实现接收数据并把接收到的数据原样发送回去/////// void main() { Init_Com();//串口初始化 while(1) { if ( RI ) //扫描判断是否接收到数据, { dat = SBUF; //接收数据 SBUF 赋与 dat RI=0; //RI 清零。 SBUF = dat; //在原样把数据发送回去(接收数据为发送数据的 ASCII 码,如发送 q 显示为
[实验原理] RS-232 是美国电子工业协会正式公布的串行总线标准,也是目前最常用的串 行接口标准,用来实现计算机与计算机之间、计算机与外设之间的数据通讯。 RS-232 串行接口总线适用于:设备之间的通讯距离不大于 15m,传输速率最大为 20kBps。RS-232 协议以-5V-15V 表示逻辑 1;以+5V-15V 表示逻辑 0。 我们是 用 MAX232 芯片将 RS232 电平转换为 TTL 电平的。 一个完整的 RS-232 接口有 22 根线,采用标准的 25 芯插头座。我们在 这里使用的是简化的 9 芯插头座。 注意我们在这里使用的晶振是 11.0592M 的,而不是 12M。因为波特率的设置 需要 11.0592M 的。 “串口调试助手 V2.1.exe” 软件的使用很简单,只要将串口选择‘CMO1’波 特率设置为‘9600’ 数据位为 8 位。打开串口(如果关闭)。然后在发送区里 输入要发送的数据,单击手动发送就将数据发送出去了。注意,如果选中‘十六
毕业论文范文模板
P1=0x03; else if(dat==0x04) P1=0x04; RI=0; //RI 清零。 SBUF = dat; //在原样把数据发送回去(接收数据为发送数据的 ASCII 码,如发送 q 显示为 113) } } }
[实验任务]单片机控制实训指导及综合应用实例
#include "reg52.h" //包函 AT89S52 内部资源的定义(注视参看书 160 页)
sbit P32=P3^2;
void scjs(void)interrupt 4 //定义中断
{
ES=0;// 使能串行口的中断
k=1;
while(1)
{
RI=0;
led1[k-1]=SBUF; //将接收数据送段码表
k++;
TH0=0x3c; //t0 定时 50sm 内接收不到数据跳过接收
TL0=0xb0;
十六进制 0xco 0xf9 0xa4 0xb0 0x99 0x92 0x82 0xf8 0x80 0x90 0x88 0x83 0xc6 0xa1 0x86 0x8e
ASCII 常用代码表
字符
代码
字符
代码
字符
代码
字符
代码
字符
32
52
4
72
H
92
\
112
p
33
!
53
5
73
I
93
]
113
q
34
”
54
6
毕业论文范文模板
进制发送’那么发送的数据是十六进制的,必须输入两位数据。如果没有选中, 则发送的是 ASCLL 码,那么单片机控制的数码管将显示 ASCLL 码值。
数字 0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制 00111111 00000110 01011011 01001111 00110110 01101101 01111101 00000111 01111111 01101111 01110111 01111100 00111001 01011110 01111001 01110001
毕业论文范文模板
113) } LED(); //显示接收到的数据 } } ///这一个例子是以扫描的方式编写的,还可以以中断的方式编写,请大家思考//////
[实验任务]PC 控制单片机 IO 口输出
#include "reg52.h" //包函 8051 内部资源的定义 unsigned char dat; //用于存储单片机接收发送缓冲寄存器 SBUF 里面的内容 void Delay(unsigned int tc) //延时程序 { while( tc != 0 ) {unsigned int i; for(i=0; i<100; i++); tc--;} } ///////功能:串口初始化,波特率 9600,方式 1///////// void Init_Com(void) { TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; TL1 = 0xFd; TR1 = 1; } /////主程序功能:实现接收数据并把接收到的数据原样发送回去/////// void main() { Init_Com();//串口初始化 while(1) { if ( RI ) //扫描判断是否接收到数据, { dat = SBUF; //接收数据 SBUF 赋与 dat if(dat==0x00) //如果 PC 发送十六进制 00,单片机 P1 口全亮。 P1=0x00; else if(dat==0x01) P1=0x01; else if(dat==0x02) P1=0x02; else if(dat==0x03)
PC 机与单片机通信(RS232 协议)
目录:
1、单片机串口通信的应用 2、PC 控制单片机 IO 口输出
3、单片机控制实训指导及综合应用实例
4、单片机给计算机发送数据:
毕业论文范文模板
[实验任务] 单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。 个人电脑作为上位机,向下位机单片机系统发送十六进制或者 ASCLL 码,单片机 系统接收后,用 LED 显示接收到的数据和向上位机发回原样数据。 [硬件电路图]
TR0=1;
while(!RI)
{
if(!TF0) goto FH;
}
}
FH:TF0=0;//TF0 不清零不能重新接收
TR0=0;
P32=1;
for(j=1;j<k;j++)
{
SBUF=led[j-1];//数据送回给 pc
while(!TI);
TI=0;
}
P32=0;
} delay(t) { ES=1; SCON=0x50; for(i=0;i<t;i++); ES=0; SCON=0x00; } void main (void) { int a,c; TMOD=0x21; TH1=0Xfd; TL1=0xfd; SCON=0x50; PCON=0x00; IE=0x90; TR1=1; k=1; P32=0; while(1) { ES=0; SCON=0x00; for(a=0;a<=k+1/k*8;a++) { for(c=5;c>=0;c--) { if(a+c<k+1/k*8+1) { if(k==1)SBUF=led[a+c]; else SBUF=led1[a+c]; } else SBUF=0x00; while(!TI); TI=0; } delay(39000); } } }