(完整版)51单片机串行通信课程设计

XXXXXX大学
学院
年XXXX季学期
《XXXXXX课程设计》
题 目:51单片机双机串行通信设计
专业班级:
姓 名:
号:

绩:
1 摘 要 通信技术根据传输方式的不同,分为串行通信和并行通信,而单片机在现代通信中非常实用。本次课程设计就是要利用单片机来完成一个系统,实现单片机双机串行通信。通信的结果用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232接口标准进行双机通信。在通信过程中,使用通信协议进行通信,实现两个单片机之间串行异步通信。 关键词:51单片机,串行通信,RS-232接口;
............................................................................................................................................................................ 1
基本原理 ...................................................................................................................................................... 2
系统分析 ...................................................................................................................................................... 3
单片机 .......................................................................................................................................................... 3
串行通信 ..................................................................................................................................................... 3
接口标准 ......................................................................................................................................... 5
系统设计及系统调试 .................................................................................................................................. 9
设计方案 ..................................................................................................................................................... 9
硬件设计 ..................................................................................................................................................... 9
软件设计 ................................................................................................................................................... 12
联合调试 ................................................................................................................................................... 20
.......................................................................................................................................................................... 21
....

.............................................................................................................................................................. 22

1 前言 近年来,在自动化控制和智能仪器仪表中, 单片机的应用越来越广泛。虽然MCS 单片机内部包含有丰富的硬件资源,但是对于一些复杂的单片机应用系统来说, 光靠单个的单片机资源远远不能满足系统要求, 通常需要对单片机进行外部扩展。例如扩展I/O 口, 扩展存储器, 扩展定时/计数器等, 更有甚者还需要扩展单片机。那么一个应用系统就可能用到了两个或两个以上的单片机, 而这些单片机就需要通过互联来实现彼此间的数据通信。MCS 单片机具有串行口, 利用串行口实现数据通信。根据单片机端口内部的结构特点, 这些端口的端口线可以直接相连, 从而使两个单片机之间并行通信不用另外的硬件电路设备。设计时, 也可以根据不同的使用要求采用不同的并行连接方法。 51单片机的开发除了硬件支持外,同样离不开软件。用汇编语言或C语言等高级语言编写的源程序必须转换为机器码才能被执行。目前十分流行的是Keil 8051 C编译器。它提供了集成开发环境,包括C编译器、宏汇编、连接器、库管理和仿真调试器。利用Keil C uVision编写的程序可直接调用编译器编译,连接后可直接运行。学生结合自己的实际情况,选择适合的方法来完成51单片机与PC机的串口通信。该题目概括了《通信原理》、《单片机原理》等课程的主要知识点,让人们对当代通信技术有一定程度的了解,知道我们是怎么利用单片机来进行串行通信的。
2 第一章 基本原理 串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 利用AT89C51芯片、复位电路、时钟电路、LED数码管等,使A机控制B机的两个LED闪烁,B机控制A机的数码管加一显示。使用DS18B20温度传感器,由B机测量温度后由A机显示. 把P1口的高7位与数码管相连,绿灯表示通行方向。P2口与LED显示器相连,用来输出显示的数字。 系统的原理框图如下: 图1 系统原理框图 图2 原理图 AT89C51 晶振电复位电电源

LED显示LED数码数码驱动
3 第二章 系统分析 2.1单片机 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 在我国,单片机已经不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。在单片机诞生之前,为了满足工程对象的嵌入式应用要求,只能将通用计算机进行机械加固、电气加固后嵌入到对象系统中构成。由于通用计算机的巨大体积和高成本,无法嵌入到大多数对象体系中。单片机则应嵌入式应用而诞生。单片机的单芯片的微小体积和极低的成本,可广泛的嵌入到玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。 单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。近年来。除了各种类型的工控机,各种以通用微处理器构成的计算机主模板快、以通用处理器为核,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形式的PC及等,都实现了嵌入式应用,成为嵌入式系统的庞大家族。 作为典型的嵌入式系统的单片机,在我国大规模应用已有十余年历史。在全国高等工科院校中,已普遍开设单片机及相关课程。单片机已成为电子系统中最普遍的应用手段。除了单设课程外,在涉及的许多环节,如课程设计、毕业设计、研究生论文课题中,单片机系统都是最广泛的应用手段。目前,许多单片机教材都Shiite以80C51系列为基础来讲述其原理及应用的。这是因为MCS-51系列单片机奠定了8位单片机的基础,形成了单片机的经典体系结构。单片机是现代计算机、电子技术的新兴领域,无论是单片机本身还是单片机应用系统设计方案都会随着时代不断发生变变化。 2.2 串行通信 在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。而凭借着其改善的信号完整性和传播速度,串行通信总线正在变得越来越普遍。 在远程通信和计算机科学中,串行通信是指在计算机总线或其他数据通道上,每次传输一个位元数据,并连续进行以上单次

过程的通信方式。与之对应的是并行通信,它在串行端口上通过一次同时传输
4 若干位元数据的方式进行通信。一位接一位地顺序传送。这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。由此可见,串行通信的特点如下:1、节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要。这也是串行通信的主要优点;2、数据传送效率低。与并行通信比,这也这是显而易见的。这也是串行通信的主要缺点。 同步和异步都属于串行数据传送方式,但二者的传送格式有所不同。同步方式的一帧内含有很多数据位,而异步方式一帧内只含有几个数据位。如果要传送一大堆数据,同步方式只给这串数据进行一次外包装(即添加“头帧”、“尾帧”、“校验”帧),而异步方式在传送这串数据时则要对数据的每一个字节分别加以包装(即添加“头”位、“尾”位和校验)。 显然在相同的数据传输波特率下,同步方式比异步方式的传送速度快,但同步方式要求收发双方在整个事件传送过程中始终保持严格同步,这将增加硬件上的难度,而异步通信只要求每帧(字节)的传送中短时间保持同步即可,实现起来要容易得多。 串行通信被用于长距离通信以及大多数计算机网络,在这些应用场合里,电缆和同步化使并行通信实际应用面临困难。凭借着其改善的信号完整性和传播速度,串行通信总线正在变得越来越普遍,甚至在短程距离的应用中,其优越性已经开始超越并行总线不需要串行化元件等缺点。 串行通信的分类:同步通信和异步通信。 所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步.同步串行通信的特点可以概括为:①以数据块为单位传送信息;②在一个数据块(信息帧)内,字符与字符间无间隔;③接收时钟与发送进钟严格同步。 所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的.异步串行通信的特点可以概括为:①以字符为单位传送信息;②相邻两字符间的间隔是任意长; ③接收时钟和发送时钟只要相近就可以。 异步方式特点简单的说就是:字符间异步,字符内部各位同步。 两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通信原理及通信方式为: 单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另

一端,即信息流是单方向的。通信双方采用“按——讲”(Push To Talk,PTT)单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信。 半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如日常生活中的例子有步话机通信等。
5 双工通信:双工通信是指在同一时刻信息可以进行双向传输,和打电话一样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的频率上(两个频率差有一定要求)能同时进行工作的双工机也称为异频双工机。双工机的特点是使用方便,但线路设计较复杂,价格也较高。 2.3 RS-232接口标准 RS-232C标准(协议)的全称是EIA-RS-232C标准,定义是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommended standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改。 1、RS-232C接口引脚定义 由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。下面是常用的DB-25和DB-9连接器接口图: 图3 DB25 和DB9引脚图
6 旧制JIS名称 新制JIS名称 全 称 说 明 FG SG Frame Ground 连到机器的接地线 TXD SD Transmitted Data 数据输出线 RXD RD Received Data 数据输入线 RTS RS Request to Send 要求发送数据 CTS CS Clear to Send 回应对方发送的RTS的发送许可,告诉对方可以发送 DSR DR Data Set Ready 告知本机在待命状态 DTR ER Data Terminal Ready 告知数据终端处于待命状态 CD CD Carrier Detect 载波检出,用以确认是否收到Modem的载波 SG SG Signal Ground 信号线的接地线(严格的说是信号线的零标准线) ? RS-232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是: (1)状态线: 数据准备就绪(Data set ready-DSR)——有效时(ON)状态,表明数据通信设备可以使用。(DCE->DTE) 数据终端就绪(Data set ready-DTR)——有效时(ON)状态,表明数据终端设备可以使用。(DTE->DCE) 这两个信号有时连到电源上,上电就立即有效。 这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定

。 (2)联络线 请求发送(Request to send-RTS)——DTE准备向DCE发送数据,DTE使该信号有效(ON状态),通知DCE要发送数据给DCE了。(DTE->DCE) 允许发送(Clear to send-CTS)——是对RTS的响应信号。当DCE已准备好接收DTE传来的数据时,使该信号有效,通知DTE开始发送数据。(DCE->DTE) RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。
7 (3)数据线 发送数据(Transmitted data-TxD)——DTE发送数据到DCE。(DTE->DCE) 接收数据(Received data-RxD)——DCE发送数据到DTE (DCE->DTE) (4)地线 有两根线SG、PG——信号地和保护地信号线。 (5)其余 载波检测( Carrier Detection-CD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。(DCE->DTE) 振铃指示(Ringing-RI)——当DCE收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知DTE,已被呼叫。(DCE->DTE) 通常的应用系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,比如PC和色温计,PC和单片机之间的通信,双方都能发送和接收,它们的连接只需要使用三根线即可,即RXD,TXD和GND,连接方式见图4。 图4 “三线连接法” 2、RS-232C的电气特性 (1)逻辑电平 在TXD和RXD上: 逻辑1(MARK)=-3V~-15V 逻辑0(SPACE)=+3~+15V 在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)=+3V~+15V 信号无效(断开,OFF状态,负电压)=-3V~-15V 由以上定义可以看出,信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平的绝对值在(3~15)V之间。
8 当计算机和TTL电平的设备通信时,如计算机和单片机通信时,需要使用RS-232C/TTL 电平转换器件,常用的有MAX232。 (2)传输距离 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为15m,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过15m。 3、 RS-232C的不足之处 由于RS-232C接口标准出现较早,难免有不足之处,主要有以下四点: (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率最大为19200bps。 (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离

有限,实际最大传输距离只有50米左右.
9 第三章 系统设计及系统调试 3.1 设计方案 本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。 软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB[16]中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。 3.2 硬件设计 1.51单片机串行通信功能 图1.AT89C51 计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的
10 信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下: (1)数据缓冲器(SBUF) 接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。 (2)串行控制寄存器(PCON) SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表 SM0 SM1 工作方式 功能 波特率 0 0 0 8位同步移位寄存器(用于I/O扩展) fORC/12 0 1 1 10位异步串行通信(UART) 可变(T1溢出率*2SMOD/32) 1 0 2 11位异步串行通信(UART) fORC/64或fORC/32 1 1 3 11位异步串行通信(UART) 可变(T1溢出率*2SMOD/32) SM2:多机通信控制位。 REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。 TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。 RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位

数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。 TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。 RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。 (3)输入移位寄存器 接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。 (4)波特率发生器 波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,
11 T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。 (5)电源控制寄存器PCON 其最高位为SMOD。 (6)波特率计算 当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。 2.MAX232芯片 用8051串行接口通信,如果两台8051单片机之间的距离很近(不超过1.5m),可以采用直接将两台8051单片机的串行接口直接相连,利用其自身的TTL电平(0-5V)直接传输数据信息。如果传输距离较远(超过1.5m),由于传输线的阻抗与分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。此时可利用 RS232标准总线接口,将单片机输出的TTL电平转换为RS232标准电平(逻辑1为-15—-5V;逻辑0为+5-—+15V)。用RS232可将传输距离提高到15m,如果想远距离传输,可以采用RS422或者RS485。 电平转换芯片MAX232是美信公司(MAXIM)生产,专用于进行将TTL电平转换为RS232电平的芯片,MAX232内部有泵电源,能将+5V电源电压在芯片内提高到RS232电平所需的+10V或者-10V电平。 图2.电平转换芯片MAX232 3.整体电路设计 最终设计电路如下图3所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,通过P1口在数码管上显示接收的信息。
12 图3.串行通信电路 3.3 软件设计 通过通信协议进行发送接收,主机先送CDH给从机,当从机接收到CDH后,向主机回答DCH。主机收到DCH后就把数码表TAB[16]中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。 1.串行通信软件实现 (1)串行口工

作于方式3;用定时器1产生4800bit/s的波特率,晶振频率为 11.0592MHZ。 (2)功能:将本机ROM中数码表TAB[16]中的16个数发送到从机,并保存在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。 (3)通信协议:主机首先发送连络信号(CDH),从机接收到之后返回一个连络信号(DCH)表示从机已准备好接收。 (4)通信过程使用第九位发送奇偶校验位。 (5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。 (6)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。
13 2.程序流程图 (1)发送端程序流程图 主程序开始 从机是否回答DCH? 程序初始化 主机发送CDH N 主机发送数据,检验和 输出完成? N 清除标志位
14 (2) 接收方程序流程图 A、B两台51单片机的异步串行接收采用查询方式,它们详细的C51程序如下所示。 //A机程序 #include //包含单片机寄存器的头文件 unsigned char code ddata[]={ 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, }; //A,B,C,D,E,F,0,1...,8,9的段码 /************************ 主程序开始 检验和相等? 程序初始化 接收数据,计算检验和 N 发送00H至主机 接收完成? N 清除标志位 发送FFH, 重新接收 显示
15 函数功能:发送一个字节数据 *************************/ void Send(unsigned char dat) { SBUF=dat; While(TI==0) ; //等待 TI=0; } /*********************** 函数功能:接收一个字节数据 ************************/ unsigned char Receive(void) { unsigned char dat; while(RI==0) ; //等待,直至接收完毕(RI=1) RI=0; //为了接收下一帧数据,需将RI清0 dat=SBUF; //将接收缓冲器中的数据存于dat return dat; }
16 /********************** 函数功能:延时约150ms ***********************/ void delay(void) { unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<250;n++) ; } /***************** 函数功能:主函数 ******************/ void main(void) { unsigned char i; TMOD=0x20; //TMOD=0010 0000B,定时器T1工作于方式2 SCON=0xD0; //SCON=1101 0000B,串口工作方式3,允许接收 PCON=0x00; TH1=0xfa; //定时器TH1赋初值,波特率4800MHz TL1=0xfa; //定时器TL1赋初值 TR1=1; //启动定时器T1
17 while(1) { for(i=0;i<8;i++) { Send(i); //发送数据i P0=ddata[Receive()]; //将接收到的数据送P0口显示 delay(); //600ms后发送下一个数据 delay(); delay(); delay(); } } } //B机程序 #include //包含单片机寄存器

的头文件 unsigned char code ddata[]={ 0x88,0x83,0xc6,0xa1,0x86,0x8e, 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90 }; //A,B,C,D,E,F,0,1...,8,9的段码 /*************************** 函数功能:发送一个字节数据 ****************************/ void Send(unsigned char dat)
18 { SBUF=dat; while(TI==0) ; //等待 TI=0; } /*************************** 函数功能:接收一个字节数据 ****************************/ unsigned char Receive(void) { unsigned char dat; while(RI==0) ; //等待,直至接收完毕(RI=1) RI=0; //为了接收下一帧数据,需将RI清0 dat=SBUF; //将接收缓冲器中的数据存于dat return dat; } /***************** 函数功能:主函数 ******************/ void main(void)
19 { unsigned char dat; TMOD=0x20; //定时器T1工作于方式2 SCON=0xD0; //SCON=1101 0000B,串口工作方式3,允许接收(REN=1) PCON=0x00; TH1=0xfa; //定时器TH1赋初值,波特率4800 TL1=0xfa; //定时器TL1赋初值 TR1=1; //启动定时器T1 while(1) { dat=Receive(); P0=ddata[dat]; //将接收到的数据送P0口显示 Send(dat+8); //偏移量为+8 } }
20 3.4 联合调试 在protues上进行仿真实验。首先使用KeilC将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端已将接受到的数据完整的显示了出来。 图4.仿真图
21 总结 这个学期的单片机课已经早早的上完了,但是理论纯属理论,没有与实践的结合总让我们学的不踏实,感觉没有达到学以致用的效果。所庆幸的是在课程介绍考试完之后,老师给我们安排了这次单片机课程设计,给了我们学以致用的做好的实践。 关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也能为资料的保存和交流提供了方便;我觉得在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记

录下来,并分析清楚,以免下次再碰到同样的问题的课程设计又出错了。 除了对此次设计的准备工作之外,我们还学到了很多平时难得的东西,首先是团队协作,在这次设计当中,难免和同学产生观点和意见的分歧,以及分工明细、时间安排等不合理,通过这次设计,我们体会到了团结合作的重要性及力量之强大,还有让我们处理事情更加有条理,思路更加清晰明了了,发现、提出、分析、解决问题和实践能力的提高都将受益于我在以后的学习、工作和生活中。 此次的设计,其实也是我们所学知识的一次综合运用,让我深深的认识到了学习单片机要有一定的基础,要有电子技术方面的数字电路和模拟电路等方面的理论基础,特别是数字电路;也要有编程语言的汇编语言或C语言。要想成为单片机高手,我们首先要学好汇编语言,然后转入C语言学习,所以我们不能学到后面就忘了前面的知识,更应该将所学的知识紧紧的结合在一起,综合运用,所谓设计,就是要求创新,只有将知识综合运用起来才能真正的设计好。
22 参考文献 [1]冯育长.雷思孝,马金强.单片机系统设计与实例分析 [M].西安:西安电子科技大学出版社,2007. [2]牛昱光.李晓林.单片机原理与接口技术 [M].电子工业出版社,2007. [3]雷道仲.单片机典型系统设计实例精讲.北京: 电子工业出版社,2006 [4]常喜茂. C51基础与应用实例.北京:电子工业出版社,2009 [5]曹国清. 数字电路与逻辑设计. 徐州:中国矿业大学,1998 [6]康华光.电子技术基础. 武汉:高等教育出版社,2006 [7]胡伟. 单片机C程序设计及应用实例。北京:人民邮电出版社,2003 [8]韩毅刚.计算机通信技术.北京:北京航空航天大学出版社,2007 [9]樊昌信.曹丽娜.通信原理[M].北京:国防工业大学出版社,2010.

相关文档
最新文档