单片机课程设计实验---单片机间串行通信..
单片机串行通信实验

实验四单片机串行通信实验一、实验目的1、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。
2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。
3、学习串口通讯的中断方式的程序编写方法二、实验说明利用单片机串行口,实现两个实验台之间的串行通讯。
其中一个实验台作为发送方,另一侧为接收方。
发送方读入按键值,并发送给接收方,接收方收到数据后在LED上显示。
三、实验仪器计算机伟福实验箱(lab2000P )四、实验内容与软件流程图1、8051的RXD、TXD接线柱在POD51/96仿真板上。
2、通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。
也可以将本机的TXD 接到RXD上,这样按下的键,就会在本机LED上显示出来。
3、若想与标准的RS232设备通信,就要做电平转换,输出时要将TTL电平换成RS232电平,输入时要将RS232电平换成TTL电平。
可以将仿真板上的RXD、TXD信号接到实验板上的“用户串口接线”的相应RXD和TXD端,经过电平转换,通过“用户串口”接到外部的RS232设备。
可以用实验仪上的逻辑分析仪采样串口通信的波形4、软件流程图5、实验电路连接方式①双机串行通信方式。
TXD脚和RXD脚分别用于发送和接收数据。
②单机通信的情况下,只需将自己的TXD脚与RXD脚连接就可以,不用公地操作。
五、思考题1、接收到的数据加1显示出来;2、保存前一个接收到的数据,数据向前推动显示。
六、源程序修改原理及其仿真结果实验结果图源程序:加1显示:接收到的数据先前推送:七、心得体会通过这次实验,我掌握了单片机串行口工作方式的程序设计,及简易三线式通讯的方法。
了解了实现串行通讯的硬环境、数据格式的协议、数据交换的协议。
学习了串口通讯的中断方式的程序编写方法。
单片机串口通信实验报告

单片机串口通信实验报告Abstract本实验旨在通过单片机串口通信的方式,实现两个或多个单片机之间的数据传输与交互。
通过该实验,旨在加深对串口通信的理解,以及掌握单片机串口通信的配置与应用。
1. 实验背景在现代电子产品中,单片机广泛应用于各个领域。
而串口通信作为一种常见的单片机通信方式,被广泛使用。
通过串口通信,单片机可以与其他设备或单片机进行数据传输和通信。
2. 实验目的本实验的目的如下:- 了解串口通信的基本原理和工作方式;- 掌握单片机串口通信的配置方法;- 实现两个或多个单片机之间的数据传输与交互。
3. 实验原理3.1 串口通信的基本原理串口通信通过发送和接收两个引脚实现数据的传输。
典型的串口通信包含一个发送引脚(Tx)和一个接收引脚(Rx)。
发送端将数据通过发送引脚逐位发送,接收端通过接收引脚逐位接收。
3.2 单片机串口通信的配置在单片机中进行串口通信配置,需要设置波特率、数据位、停止位和校验位等参数。
波特率用于控制数据的传输速率,数据位决定发送和接收的数据位数,停止位用于标识数据的停止位,校验位用于检测数据传输的错误。
4. 实验步骤4.1 硬件准备(描述实验所需硬件的准备,例如单片机、串口模块等)4.2 软件配置(描述实验所需软件的配置,例如开发环境、编译器等)4.3 单片机串口通信程序编写(描述如何编写单片机串口通信程序,包括发送和接收数据的代码)4.4 程序下载与调试(描述如何下载程序到单片机,并进行调试)5. 实验结果与分析(描述实验的结果,并进行相应的分析和解释)6. 实验总结通过本实验,我深入了解了串口通信的基本原理和工作方式。
通过编写单片机串口通信程序,实现了两个单片机之间的数据传输与交互。
在实验过程中,我掌握了单片机串口通信的配置方法,并解决了一些可能出现的问题。
通过实验,我加深了对单片机串口通信的理解,并提升了自己的实践能力。
参考文献:(列出参考文献,不需要链接)致谢:(感谢相关人员或机构对实验的支持与帮助)附录:(附上相关的代码、电路图等附加信息)以上为单片机串口通信实验报告,通过该实验,我掌握了串口通信的基本原理和工作方式,以及单片机串口通信的配置与应用方法。
单片机单片机课程设计-双机串行通信

单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。
在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。
UART 协议包括起始位、数据位、奇偶校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。
二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。
首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。
在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。
即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。
同时,还需要共地以保证信号的参考电平一致。
此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。
三、软件设计软件设计是实现双机串行通信的核心部分。
在本次课程设计中,我们使用 C 语言来编写单片机的程序。
对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。
然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。
对于接收方单片机,同样需要对 UART 模块进行初始化。
单片机串行通信实验报告(实验要求、原理、仿真图及例程)

《嵌入式系统原理与实验》实验指导实验三调度器设计基础一、实验目的和要求1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。
2.掌握Keil与Proteus的联调技巧。
3.掌握串行通信在单片机系统中的使用。
4.掌握调度器设计的基础知识:函数指针。
二、实验设备1.PC机一套2.Keil C51开发系统一套3.Proteus 仿真系统一套三、实验容1.甲机通过串口控制乙机LED闪烁(1)要求a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时闪烁,关闭所有的LED。
b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。
i.甲机发送“A”,控制乙机LED1闪烁。
ii.甲机发送“B”,控制乙机LED2闪烁。
iii.甲机发送“C”,控制乙机LED1,LED2闪烁。
iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。
c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。
两机的程序要分别编写。
d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下:i.设置串口模式(SCON)ii.设置定时器1的工作模式(TMOD)iii.计算定时器1的初值iv.启动定时器v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。
(2)电路原理图Figure 1 甲机通过串口控制乙机LED闪烁的原理图(3)程序设计提示a.模式1下波特率由定时器控制,波特率计算公式参考:b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。
2.单片机与PC串口通讯及函数指针的使用(1)要求:a.编写用单片机求取整数平方的函数。
b.单片机把计算结果向PC机发送字符串。
c.PC机接收计算结果并显示出来。
d.可以调用Keil C51 stdio.h 中的printf来实现字符串的发送。
单片机串行通信实验结果描述

单片机串行通信实验结果描述一、引言单片机串行通信是嵌入式系统中常用的一种通信方式,通过串行通信可以实现单片机与其他外部设备的数据交换。
本文将详细描述单片机串行通信实验的结果。
二、实验目的本次实验的目的是通过单片机串行通信,实现与计算机之间的数据传输。
具体要求如下: 1. 使用串口通信模块与计算机进行数据交互; 2. 在计算机端编写相应的程序,实现数据的发送和接收; 3. 确保数据的准确传输和接收。
三、实验器材1.单片机开发板;2.串口通信模块;3.计算机。
四、实验步骤1. 连接硬件将单片机开发板与计算机通过串口通信模块连接,确保连接稳定。
2. 编写单片机程序在单片机开发板上编写程序,实现与计算机的串行通信。
具体步骤如下: 1. 初始化串口通信模块的相关参数,包括波特率、数据位、停止位等; 2. 设置串口通信模块为发送模式; 3. 通过串口发送数据。
3. 编写计算机程序在计算机上编写程序,实现与单片机的串行通信。
具体步骤如下: 1. 打开串口通信端口,并设置相关参数,与单片机的配置保持一致; 2. 接收串口发送的数据,并进行处理; 3. 将处理后的数据显示在计算机的界面上。
4. 运行实验将单片机程序烧录到开发板上,运行计算机程序。
观察数据的传输和接收情况,并记录实验结果。
五、实验结果与分析经过实验,我们得到了如下结果: 1. 数据传输稳定:通过串行通信,单片机与计算机之间的数据传输稳定可靠,没有出现丢失数据或传输错误的情况。
2. 传输速率较快:串行通信的传输速率较快,可以满足实际应用的需求。
3. 数据处理准确:计算机程序正确接收并处理了从单片机发送的数据,实现了数据的正确显示。
六、实验总结通过本次实验,我们掌握了单片机串行通信的基本原理和操作方法,实现了与计算机之间的数据传输。
实验结果表明,单片机串行通信是一种稳定可靠的通信方式,能够满足实际应用的需求。
在今后的实际工作中,我们可以利用串行通信实现更多功能,提高系统的性能和可靠性。
单片机双机串行实验报告

单片机双机串行实验报告实验目的:通过单片机实现双机串行通信功能,掌握串行通信的原理、方法和程序设计技巧。
实验原理:双机串行通信是指通过串行口将两台单片机连接起来,实现数据的传输和互动。
常用的串行通信方式有同步串行通信和异步串行通信。
异步串行通信是指通过发送和接收数据时的起始位、停止位和校验位进行数据的传输。
而同步串行通信是指通过外部时钟信号进行数据的同步传输。
实验器材:1.两台单片机开发板(MCU7516)2.两个串口线3.两台计算机实验步骤:1.将两台单片机开发板连接起来,通过串口线连接它们的串行口。
2.在两台计算机上分别打开串口调试助手软件,将波特率设置为相同的数值(例如9600)。
3.在编程软件中,编写两个程序分别用于发送数据和接收数据。
4.在发送数据的程序中,首先要设置串口的波特率、数据位、停止位和校验位,并将数据存储在缓冲区中。
然后利用串口发送数据的指令将数据发送出去。
5.在接收数据的程序中,同样要设置串口的参数。
然后使用串口接收数据的指令将接收到的数据存储在缓冲区中,并将其打印出来。
实验结果与分析:经过实验,我们成功地实现了单片机之间的双机串行通信。
发送数据的单片机将数据发送出去后,接收数据的单片机能够正确地接收到数据,并将其打印出来。
实验中需要注意的是,串口的波特率、数据位、停止位和校验位必须设置为相同的数值。
否则,发送数据的单片机和接收数据的单片机无法正常进行通信。
同时,在实验之前,需要了解单片机开发板支持的串口通信相关的指令和函数。
实验总结:通过本次实验,我们深入了解了单片机之间的双机串行通信原理和方法。
掌握了串口的设置和使用方法,以及相关的指令和函数。
在实验中,我们学会了如何通过串行口实现数据的传输和互动,为今后的单片机应用和开发打下了基础。
同时,我们还发现,双机串行通信在实际应用中有着广泛的用途。
例如,可以通过串行通信实现两台计算机之间的数据传输,或者实现单片机与计算机之间的数据收发。
单片机串行通信实验报告

单片机实验报告(三)实验名称:串行通信姓名:张昊学号:110404247班级:通信2班时间:2013.11南京理工大学紫金学院电光系一、实验目的1、理解单片机串行口的工作原理;2、学习使用单片机的TXD、RXD口;3、了MAX232解芯片的作用。
二、实验原理计算机与其外部设备之间进行数据交换称为通信。
通信的基本方式可分为并行通信和串行通信两种。
并行通信中数据至少有8路,可以同时将一个字节的8位二进制代码发送到对方。
串行通信用两根传输线进行数据的传输,一次只能发送一位二进制。
串行通信技术根据传送的编码格式不同,可分为同步通信和异步通信两种方式:1、同步方式:数据以数据块为单位传送。
在开始传送前用同步字符来指示,并由时钟来实现发送端和接收端同步。
2、异步方式:数据时不连续传送的。
以字符为单位进行传送。
被传送字节分为:起始位、数据位、校验位和停止位,称为一帧。
常用格式:a、1bit起始位+8bit数据位+无校验位+1bit停止位b、1bit起始位+8bit数据位+1位偶校验位+1bit停止位串行通信技术根据数据流动方向分为三种方式:1、单工通信:数据流动方向是固定的,数据只能由一方发送到另一方。
2、半双工通信:数据的流动方向是双向的,但一时刻,数据只能在一个方向流动。
3、全双工通信:允许数据在两个方向流动,即通信双方的数据发送和接收是同时的。
串行口控制寄存器SCON的格式如下:D7 D6 D5 D4 D3 D2 D1 D0SM0、SM1:由软件置位或清零,用于选择串行口四种工作方式。
SM2:多机通信控制位。
在方式2和方式3中,如SM2=1,则接收到的第9位数据(RB8)为0时不启动接收中断标志RI(即RI=0),并且将接收到的前8位数据丢弃;RB8为1时,才将接收到的前8位数据送入SBUF,并置位RI,产生中断请求。
当SM2=0时,则不论第9位数据为0或1,都将前8位数据装入SBUF中,并产生中断请求。
单片机单片机课程设计报告-双机串行通信

基于51单片机的双机串行通信设计【摘要】串行通信是单片机的一个重要应用。
本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。
通信的结果实用数码管进展显示,数码管采用查表方式显示。
两个单片机之间采用RS232进展双机通信。
在通信过程中,使用通信协议进展通信。
【关键字】51单片机,串行通信,接口一、总体设计1.设计要求:两片单片机之间进展串行通信,发送端将0~f循环发送到接收端,并在接收端显示。
2.设计方案:本次设计,对于两片89C51,采用RS232进展双机通信。
发送方的数据由串行口TXD 段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。
接收方也使用MAX232芯片进展电平转换后,信号到达接收方串行口的接收端。
承受方接收后,在数码管上显示接收的信息。
为提高抗干扰能力,还可以在输入输出端加光耦合进展光电隔离。
软件局部,通过通信协议进展发送接收,主机先送AAH给从机,当从机接收到AAH 后,向主机答复BBH。
主机收到BBH后就把数码表TAB[16]中的10个数据送给从机,并发送检验和。
从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进展比拟,假设检验和一样那么发送00H给主机;否那么发送FFH给主机,重新承受。
从机收到16个正确数据后送到一个数码管显示。
二、硬件设计1.51单片机串行通信功能图1.AT89C51计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。
51单片机用4个接口与外界进展数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,本钱高,传输的距离较近。
串行通信的特点是只用两条信号线〔一条信号线,再加一条地线作为信号回路〕即可完成通信,本钱低,传输的距离较远。
51单片机的串行接口是一个全双工的接口,它可以作为UART〔通用异步承受和发送器〕用,也可以作为同步移位存放器用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》课程设计报告课程设计题目:单片机间串行通信原理专业班级:2012级电子信息科学与技术学生姓名:罗滨志学号:120802010051成绩:2014 年12 月27日目录摘要 (1)1 设计任务 (1)1.1 功能要求 (2)1.2 总体方案及工作原理 (2)2 系统硬件设计 (2)2.1 器件选择 (2)2.1.1主要器件的型号 (2)2.1.2 AT89C51 (3)2.1.3键盘输入电路 (5)2.1.4晶振电路方案 (6)2.1.5数码管显示 (6)2.1.6复位电路方案 (6)2.2 硬件原理图 (7)3 系统软件设计 (7)3.1基本原理 (8)3.2系统软件设计流程图 (8)3.3 按键程序设计 (9)3.3.1串口通信程序设计: (10)3.3.2 显示程序设计: (10)3.4软件清单 (10)3.4.1发送端程序 (10)3.4.2接收端程序 (9)4实验步骤 (14)4.1实验程序调试 (14)4.1.1发送端程序调试 (14)4.1.2接收端程序调试 (15)4.2实验仿真 (16)5设计总结 (17)6参考文献: (17)摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
而AT89C51单片机是各单片机中最为典型和最有代表性的一种,本设计是基于MCS51系列单片机中AT89C51所设计的一种具有一个全双工的串行通信口,可以实现单片机与单片机之间点对点串行通信,主从通信以及上,下位机互相通信等。
本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,由单片机与键盘控制数码管的显示,修改设置LED显示由按键开关控制,通过硬件电路制作以及软件程序的编制,设计制作一个简单的单片机间串行通信。
关键词:单片机 AT89C51 串行通信1 设计任务单片机间串行通信,是工业自动化、智能终端、通信管理等领域传统且重要的通讯手段。
此次设计单片机串行通信,就是为了了解单片机的工作原理,从而学会制作数字钟。
本次课程设计通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机原理与应用及C51程序设计》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
1.1 功能要求设计一个单片机与单片机之间点对点串行通信的应用电路,要求按下发送端单片机键盘上的按钮,该键的键号通过串行异步通信传送到接收端单片机中,并在LED上显示出来,其晶振频率为6MHZ。
1.2 总体方案及工作原理本设计2个相同单片机之间通过串口进行通信,通过按键输入要发送的数据,该数据为数字,并可在数码管上显示出来,设置完后通过串口通信发送给另一个单片机,另一个单片机接收到后在数码管上显示出来,2个单片机可以互相发送数据,通过2个单片机系统的数码管显示的数字可以判断串口通信发送的数据的正确性。
系统设计框图如图2-1所示。
本设计主要由按键输入电路、单片机控制电路和数码管显示电路组成,2个单片机的电路图完全相同,实现的功能也相同,所以本文只介绍其中一块单片机电路的设计方法和串口通信的原理。
整个串行通信的工作原理是:在正常的供电状态下,首先利用发送端单片机读入键盘输入的数据,在将读入的数据传送到接收端,由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键调整状态,进行按键调整。
2 系统硬件设计2.1 器件选择2.1.1主要器件的型号元件名称数量AT89C51芯片 27SEG-MPX2-CA数码管 16MHZ晶振(CRYSTAL) 110uF电解电容(CAP-ELEC) 130pF普通电容(CAP) 274LS06六驱动器 2200R电阻(RES) 210K电阻(RES) 15.1K电阻(RES) 4按钮(BUTTON) 16BUS 22.1.2 AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FALSH PROGRAMMABLE AND ERASABLE READ ONLY MEORY)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机,单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
其基本结构如图1图 1 AT89C51单片机的基本结构AT89C51 是一个低电压,高性能CMOS 8 位单片机,片内含8kB 的可反复擦写的Flash 只读程序存储器和256B 的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,与标准MCS-51 指令系统及8052 产品引脚兼容,片内置有通用8 位中央处理器(CPU)和Flash 存储单元。
图2 AT 89C51单片机的引脚VCC/GND:供电电源。
P0口:可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。
在FIASH 编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:标准输入输出I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口,管脚备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.1.3键盘输入电路键盘输入电路由发送端单片机接口“P0.0/P0.1/P0.2/ P0.3/ P0.4/ P0.5/ P0.6/ P0.7/四个按键—组串联”构成,按下S1按键,LED显示器显示相应键盘值,同理其余15个按键如此。
图3 键盘输入原理图2.1.4晶振电路方案晶振电路的功能在于给单片机提供振荡时钟信号,使单片机正常工作。
本设计中采用了常用的晶振电路组成方案,具体如下图所示。
图4晶振电路2.1.5数码管显示引脚接口A P1.0B P1.1C P1.2D P1.3E P1.4F P1.5G P1.6DP P1.71 R82 R92.1.6复位电路方案复位电路的功能在于对单片机进行复位从而达到对整个电路复位的功能。
要达到目的则要求在复位按键按下后在RST引脚上要出现一个维持2个机器周期高电平[4]。
考虑到可以利用电容的电压不能突变(需要一定的充放电时间),于是采用如下复位电路。
图5复位电路2.2 硬件原理图3 系统软件设计3.1基本原理它是利用单片机的全双工的串行通信口,实现单片机与单片机之间点对点串行通信,主从通信以及上,下位互相通信。
然后数码管把他们的内容在相应的位置显示出来。
在具体的设计时按键采用中断方式工作,对LED显示的在中断程序中实现,在发送端程序只是对键盘输入数据的定义初始化,调用显示程序和控制程序的初始化。
本设计的软件程序包括发送端程序、接收端程序、中断子程序、时钟显示子程序等等。
另外电路中有按键控制程序。
3.2系统软件设计流程图本系统软件设计分为发送机和接收机,发送机程序设计流程图如图6所示,接收机程序设计流程图如图7所示。
图6 发送端流程图图7 接收端流程图数据发送完成?结束开始初始化读取数据送数码管显示数据发送至串口扫描按键NY数据接收完成?开始初始化读取数据送数码管显示NY触发串口中断?NY3.3 按键程序设计单片机读取按键值的方法有两种:查询方式和中断方式。
查询方式是利用键盘程序不断查询是否有按键按下,有按下则进入相应按键的子程序进行数据处理,没有则一直循环查询;中断方式是将按键动作与单片机的中断系统联系起来,有按键按下时,就引起单片机中断,使系统进入中断处理程序。
本设计中有16个按键,且主要程序就是按键的处理,所以采用查询方式来处理读取按键值程序。
设计按键程序时,首先应注意的是按键的机械触点效应,原理上,按键按下时,单片机端口为低电平,但是由于按键的机械触点效应,按键在断开和闭合瞬间会有抖动过程,这个过程会出现一系列的负脉冲,这样会让单片机引起误判,因次,必须采取措施去掉按键抖动的影响。
去按键抖动常用的有两种方法:硬件方法和软件方法。
硬件方法一般是并接电容,或者加R-S触发器;软件去抖动一般采用延时的方法,按键抖动的过程一般持续5-10ms的时间,在判断按键状态时,只要加一个5-10ms的延时程序,再次判断按键是否状态不变,即可实现去抖动的作用。
本设计中选用软件延时的方法去按键抖动。
3.3.1串口通信程序设计:AT89C51的串行口是一个全双工的异步串行通信口,可以同时进行接收数据和发送数据,因为口内的接受缓冲器和发送缓冲器在物理上是隔离的,即是完全独立的。
可以通过访问特殊功能寄存器SBUF,来访问接收缓冲器和发送缓冲器。
接收缓冲器还具有双缓冲的功能,即它在接收第一个数据字节后,能接受第二个数据字节,但是,在它完成接收第二个数据字节之后,若第一个字节仍未取走,那么该字节数据将丢失。