RS-232实现单片机与PC间的串行通信资料
- 格式:doc
- 大小:689.00 KB
- 文档页数:20
帧格式如下:其中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机串行通信一、实验要求单片机的串行口经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机发送数据,在屏幕上显示公司网站!等信息。
不同的单片机实验效果不同,具体请参照仿真的实验现象。
实验九 RS232串口通讯应用一、实验目的串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑端,而且也能实现电脑对单片机的控制,比如可以很直观地把红外遥控器键值的数据码显示在电脑上等。
本次实验目的:1、通过实际硬件连接及软件编程完成 51单片机和PC机之间的串口通讯,从而加深对异步串行通信接口的基本结构、工作原理等串行通信基本概念的理解;2、了解RS-232C电平规定与TTL电平规定的不同,及采用专用芯片MAX232实现两者之间电平转换的连接电路。
二、实验设备51单片机实验板、PC机、串口连接线、串口调试软件、Keil软件、连接导线等。
三、实验原理及内容51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,在此采用专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
采用三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。
这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。
图1 串口通讯的硬件电路连接为了能够在电脑端看到单片机发出的数据,必须借助一个WINDOWS软件进行观察,这里利用一个免费的电脑串口调试软件(这是一个绿色的软件,无需安装,可以直接在当前位置运行这个软件)。
软件界面如下图,1先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。
串口选择为COM1,当然51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源,这时只要按下K1一次,在串口调试助手软件的接收区界面中就会增加一个“AF”字符,表示单片机向电脑发送“AF”字符成功。
课程设计单片机与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)之间的接口信号特性。
实验6 单片机与PC机间的串行通信一、实验目的1、掌握电平转换器件RS-232的使用方法;2、掌握Proteus VSM虚拟终端(VITUAL TERMINAL)的使用;3、掌握单片机与PC机间的串行通信软硬件设计方法。
二、实验内容实现利用虚拟终端仿真单片机与PC机间的串行通信。
PC机先发送从键盘输入的数据,单片机接收后回发给PC机。
单片机同时将收到的30~39H间的数据转换成0~9的数字显示,其他字符的数据直接显示为其ASCII码。
单片机和PC机进行通信时,要求使用的波特率、传送的位数等相同。
要能够进行数据传送也必须首先测试双方是否可以可靠通信。
可在PC机和单片机上各编制非常短小的程序,具体可分成PC机串行口发送接收程序、单片机串行口发送程序和单片机串行口发送接收程序。
这三个程序能运行通过,即可证明串行口工作正常。
PC机串行口发送接收程序设置串行口为波特率9600、8位数据、1位停止位、无奇偶校验的简单设置。
从键盘接收的字符可从串行口发送出去,从串行口接收的字符在屏幕上显示。
通过让串行口发送线和接收线短接可测试微机串行口,通过让串行口和单片机系统相接,使用此程序可进一步测试单片机的串行通信状况。
具体程序用BASIC编制,简单易懂。
直接输入即可运行。
程序RS232.三、实验电路原理图图7-1 单片机与PC机间电路原理图四、实验步骤1、在PROTEUS中画好电路原理图。
2、串口模型属性设置串口模型属性设置为:波特率―4800;数据位―8;奇偶校验―无;停止位-1,如图7-2所示。
图7-2 串口模型属性设置3、虚拟终端属性设置PCT代表计算机发送数据,PCR用来监视PC接收到的数据,它们的属性设置完全一样,如图7-3所示。
SCMT和SCMR分别是单片机的数据发送和接收终端,用来监视单片机发送和接收的数据,它们的属性设置也完全一样,如图7-4所示。
单片机和PC机双方的波特率、数据位、停止位和检验位等要确保和串口模型的设置一样,并且同单片机程序中串口的设置一致。
RS-232实现单片机与PC间的串行通信串行通信是计算机与外设之间数据传输的一种方式。
RS-232是一种经典的串行通信标准,它被广泛应用于单片机与PC之间的通信。
什么是RS-232协议RS-232是一种串行通信接口标准,它定义了单片机与外设之间信号的电气特性、传输协议和机械连接方式。
RS-232标准的发展可以追溯到20世纪60年代,在数十年的时间里,它成为了计算机与外设之间最常见的传输方式之一。
RS-232标准规定了单片机与PC之间使用的物理连接、数据传输的时序和控制信号等方面的细节。
它定义了一组信号电平和电气特性,用于在两个设备之间传输数据。
RS-232标准的物理层使用了DB-9或DB-25连接器,其中DB-9连接器是最常见的。
在RS-232协议中,数据被分割成小的数据包进行传输。
每个数据包由一个起始位、数据位、奇偶校验位和一个或多个停止位组成。
这些位用于将数据解释为字符并将其传输到目的地设备。
如何使用RS-232实现单片机与PC间的串行通信要使用RS-232实现单片机与PC间的串行通信,需要实现以下几个方面:1.物理连接:使用RS-232标准定义的连接器,将单片机和PC连接起来。
2.电气特性:保证单片机和PC之间的电气特性匹配。
3.传输协议:使用RS-232标准定义的数据传输协议,将数据从单片机发送到PC,或者从PC发送到单片机。
4.数据编码:将数据编码为RS-232标准定义的数据格式。
以上所有方面都需要实现正确,才能使单片机与PC间的串行通信正常进行。
RS-232实现单片机与PC间的串行通信的优缺点RS-232协议是单片机与PC间串行通信的经典标准,它具有以下优缺点:优点:1.稳定性高:RS-232协议信号电平的质量非常高,能够保证数据传输的稳定性和可靠性。
2.延迟低:RS-232协议传输速度相对较慢,但延迟非常低,能够及时传输数据。
3.成本低:RS-232协议使用简单、成本低廉,适合开发者在项目中广泛使用。
1 绪论单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
1 绪论单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
目录1. RS-232串口通信简介 (1)2. 设计目的和要求 (2)3. 单元模块简介 (2)3.1单片机主芯片 (2)3.2 RS 232接口电路 (3)4. 软件设计原理 (4)4.1软件工具 (4)4.2 程序实现 (4)5.结论 (6)参考文献 (7)1.RS-232串口通信简介串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另外一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS 232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
随着PC机技术和单片机技术的日益成熟,单片机与PC机通信技术的应用也越来越广泛,从家用电器、工业控制到医疗仪器、军事应用都涉及到单片机与PC机的通信。
单片机采集到的数据和现场状态通过串行通讯传送到PC机进行分析、存储或显示,PC机的命令和控制通过串行口传送到单片机以监控其他设备的运转,因此串行通讯成为了现场监控系统与上位机联系的桥梁。
串口是计算机上一种非常通用的设备通信协议,串口通信协议也可以用于获取远程采集设备的数据,串行通信是计算机和外部设备进行数据交换的重要渠道,由于其成本低,性能稳定并遵循统一的标准,因而在工程中被广泛应用。
本课题运用的就是单片机来与电脑进行串口通信,主要是以单片机为核心,将温度传感器DS18b20采集的信息通过串口传给电脑显示,并在1602上扩展显示,此外还通过串口给单片机下发命令控制扬声器发出声音。
内容提要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD 等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。
单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。
一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。
二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
1引言1.1 设计目的本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,以便使学生掌握有关单片机控制的设计思想和设计方法。
为学生今后从事单片机控制系统开发工作打下基础。
1.2设计内容和要求本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论熟悉掌握MCS-51系列单片机的编程方法,具体要求如下:利用电平转换器件RS-232实现单片机与PC间的串口通信,利用虚拟终端仿真单片机与PC间的串行通信。
PC先发送从键盘输入的数据,单片机接收后会发给PC机,双方收发数据是相同的单片机将收发到的30-39H间的数据转换成0-9显示,其他数据直接显示为字符的ASCII码。
2单片机的介绍2.1 单片机的基本概念单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
单片微型计算机简称单片机,是典型的嵌入式微控制器,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比单片机只缺少了I/O设备。
由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算机、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都用1-2部单片机。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
2.2基本结构单片机由运算器、控制器、存储器、输入输出设备构成。
2.3 硬件特性1、主流单片机包括CPU、4KB容量的ROM、2个16位定时器/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP;2、系统结构简单,使用方便,实现模块化;3、单片机可靠性高;4、处理功能强,速度快;5、低电压,低功耗,便于生产便携式产品;6、控制功能强;7、环境适应能力强。
2.4 应用分类单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型,总线型/非总线型及工控型/家电型。
3系统设计内容3.1从PROTEUS库中选取元器件及结构框图1.AT89C51/AY89C2051:单片机如图1所示:图1 AT89C2051:单片机2.RES:电阻如图2所示:图2 RES:电阻3.7SEG-BCD-RED:红色BCD数码管如图3所示:图3 7SEG-BCD-RED:红色BCD数码管4.CAP、CAP-ELEC:电容、电解电容如图4所示:图4 CAP、CAP-ELEC:电容、电解电容5.CRYSTAL:晶振如图5所示:图5 CRYSTAL:晶振6.MAX232/MAX220:RS-232收发器如图6所示:图6 MAX232:RS-232收发器3.2 原理图中用到的部分元器件的功能、原理及引脚说明 1. 串口模型COMPIM及其引脚功能如图7所示:图7 串口模型COMPIM及其引脚功能2. MAX232/MAX220:RS-232收发器的功能实现电平转换,也就是将CMOS电平转换成TTL电平3. RS232(DB9)引脚定义(1):DCB:载波检测。
主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音,处于在线状态。
(2):RXD:此引脚用于接收外部设备送来的数据;在使用Modem时,会发现RXD指示灯在闪烁,说明RXD引脚上有数据进入。
(3):TXD:此引脚将计算机的数据发送给外部设备;在使用Modem时,会发现TXD指示灯在闪烁,说明计算机正在通过TXD引脚发送数据。
(4):DTR:数据终端就绪;当此引脚高电平时,通知Modem可以进行数据传输,计算机已经准备好。
(5):GND:信号地;(6):DSR:数据设备就绪;此引脚高电平时,通知计算机Modem已经准备好,可以进行数据通讯了。
(7):RTS:请求发送;此引脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。
(8):CTS:清除发送;此引脚由Modem控制,用以通知计算机将欲传的数据送至Modem。
(9):RI:Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定4. MAX232原理MAX232芯片是专门为电脑的RS-232标准串口设计的接口电路,使用+5V单电源供电。
内部结构基本可分三个部分:第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12V和-12V两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT 送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。
15脚DNG、16脚VCC(+5V)。
5. AT89C2051单片机引脚介绍AT89C2051为20引脚小型封装,2K内部程序存储器,15个可编程I/O 口线,没有P0口和P2口的16根I/O线,内部集成了一个模拟比较器。
AT89C2051单片机的引脚排列如图8所示:图8 AT89C2051单片机的引脚排列芯片共有20个引脚,引脚的排列顺序为从靠芯片的缺口(见上图)左边那列引脚逆时针数起,依次为1、2、3…20,在单片机的20个引脚中,电源引脚2根,外接晶体振荡器引脚2根,复位引脚1根以及P1、P3口可编程I/O引脚15根。
(1)主电源引脚(2根)VCC(Pin20):电源输入,接+5V电源GND(Pin10):接地线(2)外接晶振引脚(2根)XTAL1(Pin5):片内振荡电路的输入端XTAL2(Pin4):片内振荡电路的输出端(3)控制引脚(1根)RST/VPP(Pin1):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位(4)可编程输入/输出引脚(15根)P1口:8位准双向I/O口线,P1.0—P1.7,共8根P3口:8位准双向I/O口线,P3.0—P3.5、P3.7,共7根4硬件设计4.1系统各组成部分硬件设计(1)、硬件设计电路图如图9所示:图9 硬件设计电路4.2电路图的原理(1)、利用电平转换器件RS-232实现单片机与PC间的串行通信。
本次试验利用虚拟终端仿真单片机与PC间的串行通知。
PC先发送从键盘输入的数据,单片机接收后回发给PC机,双方收发数据是相同的单片机将接收30-39H间的数据转换成0-9显示,其他数据直接显示为字符的ASCII 码。