单片机串行多机通信_第1页
单片机串行多机通信_第2页
单片机串行多机通信_第3页
单片机串行多机通信_第4页
单片机串行多机通信_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计 题 目 单片机串行多机通信 学 院 管理科学与工程学院 专 业 电子信息工程 班 级 08 信工(2)班 学 号 200883101 姓 名 孙贺同 指导老师 谢道平 老师 2012 年 6 月 摘要 随着电子技术的发展和微处理器技术的应用,带有单片机的智能型测控系 统的应用越来越广泛,多个单片机系统之间数据传输已经应用于工业、科研、 农业等领域,而单片机之间的数据通信最常用的就是串口通信方式,串口通信 可以在使用一根线发送数据的同时利用另一根线接收数据,使用简单且能实现 远距离通信。 本文介绍了一种单片机多机通信的设计方法,主机与从机之间通过串口实 现通信,主机通过按键来选择要进行通信的从机,然后通过数字矩阵键盘控制 从机的数码管显示数字 0-9,同时该从机可以通过按键控制主机连接的 LED 灯 亮灭,实现全双工通信。 本文介绍的方法简单易懂,通过仿真基本上实现了上述功能,操作简单, 性能稳定,可广泛应用于各种多机通信系统中。 关键字:单片机;多机通信;串口;数码管;LED Abstract With the development of electronic technology and the application of microprocessor technology, intelligent measurement and control system with a microcontroller application is more extensive, data transfer between multiple MCU system has been used in industrial, research, agriculture and other fields, while the microcontroller the most commonly used for data communications between the serial communication, serial communication can use a line to send data at the same time use another line to receive data, using simple and can achieve long-distance communications. This article describes the design method of a single-chip multi-machine communication via the serial communication between the host and slave, to communicate from machine host keys to select, from the machines digital tube display digital and digital matrix keyboard control -9, while the slave can be the key control of the host to connect the LED lights brightly to extinguish, to achieve full- duplex communication. This article describes the method is simple and easy to understand, basically through simulation software to achieve the above functionality, simple operation, stable performance, can be widely used in a variety of multi-machine communication system. Key word: Microcontroller;Multi Communication;Serial Port;Nixie tube;LED 目 录 1 引言 .1 1.1 本课题选取的目的及意义 .1 1.2 本系统的主要研究内容 .2 2 系统分析 .3 2.1 串行通信简介 .3 2.2 系统构成 .4 2.3 系统工作原理 .4 3 系统硬件设计 .5 3.1 电路设计应用环境简介 .5 3.2 系统硬件总体设计方案 .5 3.3 主机电路模块 .6 3.3.1 单片机 .6 3.3.2 矩阵键盘电路 .8 3.3.3 主机控制电路 .9 3.4 从机电路模块 .10 3.5 电源电路模块 .11 3.6 元件清单 .12 4 系统软件设计 .12 4.1 软件设计应用环境与设计语言 .12 4.2 软件设计流程 .14 4.3 按键程序设计 .15 4.4 串口通信 .16 4.5 从机数码管显示程序设计 .19 5Protues ISIS 软件仿真 .19 5.1Protues 仿真软件简介 .19 5.2Proteus 功能仿真 .21 5.3Proteus 仿真结果 .22 6 结论 .25 参考文献 26 附录 1 .27 附录 2 .28 致谢 35 安徽财经大学管理科学与工程学院本科毕业设计 1 1 引言 随着电子技术的不断发展,单片机的应用范围越来越广泛,在工业控制、 家电控制、数据采集等多个领域都有着十分重要的作用,由于单片机的使用, 越来越多的系统开始向智能化方向发展。而单片机自带的串口功能可以实现其 与其他外设 MCU 或 PC 机之间的通信,这样就使得控制系统更加的方便实用, 利用单片机的串口通信可以实现多单片机之间的数据的远程传输、数据分析与 系统综合控制功能,尤其是在数据量比较大的场合下,利用一个主机向各个从 机发送控制指令是一个很好的解决方案,在这个过程中,串口通信是实现单片 机与单片机之间通信的关键。现在多处理器通信已经在工业、科研、农业等领 域广泛地应用。 串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的 串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位 的传送的,每一位为 1 或者为 0。串行通信只使用一条数据线,将数据一位一 位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就 可以在系统间交换信息。 基于以上原因本文介绍了一种基于单片机的多机通信设计,实现单片机与 单片机之间通过串口进行数据传输的功能。 1.1 本课 题选取的目的及意义 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片 机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数 据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡, 民用豪华轿车的安全保障系统,录相机、摄相机、全自动洗衣机的控制,以及 程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机 器人、智能仪表、医疗器械了。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备 的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提 高,在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形 式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机 之间常用的通信方法之一, 由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。 构成较大规模的检测、控制系统,经常要采用多个单片机,组成可以通信 的多机系统。MCS一51系列单片机为实现多机通信联网设计了方便的串行通信接 口功能。将多个MCS一51单片机组成串行总线形式的相互通道,通过写单片机的 串行控制方式寄存器,将串行口置成方式2或方式3,就可以实现主机与分机之 间的串行通信。这种多机系统结构简单,应用广泛,但它只能实现由主机呼叫 分机,然后实现主机与分机之间的全双工串行通信。我们在监控系统中要求既 有主机与分机主动通信,又有分机与主机主动通信,这种结构的多机系统就无 法满足要求。 多机协同工作已是单片机发展的一个重要趋势,目前单片机多机通信的主 要方式仍然是主从式多机通信系统。 单片机多机通信的目的是实现分布式处理系统,单片机多机通信的方式有 很多种,应用前景广阔,非常具有研究意义! 1.2 本系统的主要研究内容 本文在研究传统的多机通信系统的基础上,设计了一种基于 MCS51 系列 单片机 AT89C51 的多机通信系统。打开 proteus 仿真电路图,按下软件下方的 “开始”图标,启动系统,按下“1 号机”按键,主机与从机 1 接通,通过主 机外接的 4*4 矩阵键盘控制从机 1 的数码管,按下标号为 0-9 的按键时,对应 从机 1 的数码管显示 0-9,按下从机 1 外接的 8 个开关,可以控制的主机外接的 8 个 LED 发光二极管,实现全双工通信。按下“2 号机”按键,机与从机 2 接 通,通过主机外接的 4*4 矩阵键盘控制从机 2 的数码管,按下标号为 0-9 的按 键时,对应从机 2 的数码管显示 0-9,按下从机 2 外接的 8 个开关,可以控制的 主机外接的 8 个 LED 发光二极管,也可以实现全双工通信。 安徽财经大学管理科学与工程学院本科毕业设计 3 2 系统分析 2.1 串行通信简介 串行通信可以分为同步通信和异步通信两类。 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。 这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均 由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头, 用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需 传输的数据块长度来决定;校验字符有 1 到 2 个,用于接收端对接收到的字符 序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格 的同步。 异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。 数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送, 通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数 据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上 发送过来的低电平逻辑“0“(即字符帧起始位)时,确定发送端已开始发送数据, 每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。 串口通信最重要的参数是波特率、起始位、数据位、停止位和奇偶校验。 波特率:是一个衡量通信速度的参数,表示每秒钟传送的 bit 的个数。 起始位:当通信线上没有数据被传送时处于逻辑“1”状态,当发送设备要 发送一个数据时,先发送一个逻辑“0”信号,这个低电平就是起始位,起始位 通过通信线传向接收设备,接收端检测到这个低电平后,就确认开始接收数据 了。起始位的作用是使通信双方在传送数据前协调同步。 数据位:是衡量通信中实际数据位的参数,当计算机发送一个信息包,实 际的数据不会是 8 位的,标准的值是 5、7 或 8 位,如何设置取决于要传送的信 息。每个包是指一个字节,包括开始/停止位、数据位和奇偶校验位,由于实际 数据位取决于通信协议的选取,术语“包”指任何通信的情况。 停止位:用于表示单个包的最后一位。典型的值为 1、1.5 和 2 位,它是一 个数据的结束标志,接收端接收到停止位后,通信线路上会回复逻辑“1”的状 态,知道下一个起始位的到来。 奇偶校验位:在串行通信中一种简单的检错方式,有四种方式:偶、奇、 高和低。对于偶和检验的情况,串口会设置检验位,用一个值确保传输的数据 有偶个或者奇个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或 者逻辑低校验,这样使得接收设备能够知道一个位的状态,有机会判断是否有 噪声干扰了通信或者是否传输和接收数据是否不同步。 2.2 系统构成 主机控制电路 显示电路 串口 从机 1 从机 2控制电路 显示电路 显示电路 控制电路 图 2.1 系统设计框图 2.3 系统工作原理 打开 proteus 仿真电路图,按下软件下方的 “开始”图标,启动系统,按下 “1 号机”按键,主机与从机 1 接通,通过主机外接的 4*4 矩阵键盘控制从机 1 的数码管,按下标号为 0-9 的按键时,对应从机 1 的数码管显示 0-9,按下从 机 1 外接的 8 个开关,可以控制的主机外接的 8 个 LED 发光二极管,实现全双 工通信。按下“2 号机”按键,机与从机 2 接通,通过主机外接的 4*4 矩阵键 盘控制从机 2 的数码管,按下标号为 0-9 的按键时,对应从机 2 的数码管显示 0-9,按下从机 2 外接的 8 个开关,可以控制的主机外接的 8 个 LED 发光二极 管,也可以实现全双工通信。 安徽财经大学管理科学与工程学院本科毕业设计 5 3 系统硬件设计 3.1 电路设计应用环境简介 Protel 电子线路设计软件是在 TANGO 基础上改进的电路 CAD 软件,它在 原理图文件格式、印制板文件格式、原理图器件库文件格式、印制板封装库文 件格式、原理图编译和网络表转换与检查等方面保持了与 TANGO 版本一致或 兼容的前提下,对原 TANGO 版本做了一些改动。 Protel 电子线路设计软件由原理图编辑、印制板设计、原理图输出、印制 板输出、原理图器件库编辑和其他应用程序组成。 电路原理图的设计是印制电路板设计中的第一步,也是非常重要的一步。 电路原理图设计得好坏将直接影响到后面的工作。首先,原理图的正确性是最 基本的要求,因为在一个错误的基础上所进行的工作是没有意义的;其次,原 理图应该布局合理,这样不仅可以尽量避免出错,也便于读图、便于查找和纠 正错误;最后,在满足正确性和布局合理的前提下应力求原理图的美观。 进行原理图设计步骤: 一、建立数据库。打开 Protel 软件后,在“文件”标题栏里选择“新建” 选项,在弹出的对话框里选择 Document Folder,然后点击 OK 即可。 二、打开 Documents,选择“文件”标题栏里选择“新建”选项,在弹出 的对话框里选择“Schematic Document”选项,建立原理图文件,并给原理图文 件命名。 三、设计电路原理图。利用 Protel 里的元器件库完成电路原理图的绘制。 四、检查原理图电性能可靠性。选择工具(Tools)下面的电气规则检查, 在“Rule Matrix”中选择要进行电气检查的项目,设置好各项后,在“Setup Electrical Rlues Check”对话框上选择“OK”即可运行电气规则检查,检查结果 将被显示到界面上。 3.2 系统硬件总体设计方案 本设计单片机之间通过串口进行通信,主机通过按键来选择要进行通信的 从机,进而通过按键控制从机的数码管显示数字;同时从机可以通过按键控制 主机连接的 LED 灯。 数码管与单片机的连接方式采用并行连接方式。系统设 计框图如图 3-1 所示: 主机单片机矩阵键盘 LED 发光二极管 串口 从机 1 单片机 从机 2 单片机按键 数码管 数码管 按键 图 3.1 系统整体电路图 3.3 主机电路模块 3.3.1 单片机 AT89C51 单片机内部主要由 9 个部件组成:1 个 8 位中央处理器; 4KBFlash 存储器; 128B 的数据存储器;32 条 I/O 口线;2 个定时器/ 计数器;1 个具有 6 个中断源、4 个优先级的中断嵌套结构;用于多处理机通信、I/O 扩展 或全双工 UART 的串行口;特殊功能寄存器;1 个片内振荡器和时钟电路。 AT89S51 系列单片机完全继承了 MCS-51 的指令系统,共有 111 条指令,按其 功能可分为五大类:数据传送类指令、算术运算类指令、逻辑运算类指令、控 制转移类指令、布尔操作。AT89C51 单片机引脚如图 3-1 所示。 安徽财经大学管理科学与工程学院本科毕业设计 7 图 3.1 AT89C51 单片机引脚图 管脚说明: P0 口:8 位、漏极开路的双向 I/O 口。P0 能够用于外部程序数据存储器。 它可以被定义为数据/地址的第八位。P0 口在应用时必须外接上拉电阻,作为输 入时,首先应将引脚置 1。 P1 口:8 位双向 I/O 口,内部含上拉电阻。作为输入时,应先将引脚置高; 若负载为低电平,则通过内部上拉电阻向外输出电流。 P2 口:8 位双向 I/O 口,内部含上拉电阻。作为输入时,应先将引脚置高; 若负载为低电平,则通过内部上拉电阻向外输出电流。 P3 口:8 位双向 I/O 口,内部含上拉电阻。作为输入时,应先将引脚置高; 若负载为低电平,则通过内部上拉电阻向外输出电流。P3 口除了通用 I/O 口功 能外,还有第二功能。P3 口的第二功能定义如表 3-1 所示。 引脚定义 功能 引脚定义 功能 P3.0-RXD 串行输入口 P3.1-TXD 串行输出口 P3.2- 0INT外部中断 0 P3.3- 1INT外部中断 1 P3.4-T0 计时器 0 外部输入 P3.5-T1 计时器 1 外部输入 P3.6-WR外部数据存储器写选通 P3.7-RD外部数据存储器读选通 表 3.1 P3 口第二功能定义 RST:复位输入,低电平有效。 ALE/PROG:地址锁存允许信号输出。在正常操作状态下,该引脚端口输 出恒定频率的脉冲。其频率为晶振频率的 1/6,可用作外部定时或其他触发信号。 如果需要,可通过 SFR 的第 0 位置禁止 ALE 操作,但 ALE 的禁止位不影响对 外部存储器的访问。 :片外程序存储器选通信号,低电平有效。当 AT89S51 执行来自外PSEN 部程序存储器的指令代码时,PSEN/ 每个机器周期两次有效。在访问外部数据 存储器时,PSEN/无效。 : 片外程序存储器访问允许信号,低电平有效。VA/ XTAL1:外接晶振。在单片机内部是反相放大器的输入及端。 XTAL2:外接晶振。在单片机内部是反相放大器的输出端,输入到内部时 钟发生器。 3.3.2 矩阵键盘电路 矩阵键盘电路如图 3-2 所示。单片机的 P1 口控制矩阵键盘。本设计采用 4*4 矩阵键盘。矩阵键盘的行线接 P1.0-P1.3 引脚,列线接 P1.4-P1.7 引脚。将 P1.0-P1.3 引脚置为高电平, P1.4-P1.7 引脚依次置为低电平,当按键没有按下时, P1.0-P1.3 口各引脚状态不变,一旦有按键按下,则 P1.0-P1.3 就会有引脚变为 低电平,这样,通过读入 P1.0-P1.3 的状态就可得知是哪一个按键按下了,然后 单片机根据该按键代表的功能执行相应的程序。 图 3.2 矩阵键盘电路 安徽财经大学管理科学与工程学院本科毕业设计 9 3.3.3 主机控制电路 该部分电路设计如图 3-3 所示。单片机的时钟的频率直接影响着单片机的 速度和系统的稳定性。AT89S51 片内由一个反相放大器构成振荡器,可以通过 XTAL1 和 XTAL2 产生时钟。常用的单片机产生时钟的方法有两种:内部时钟 方式和外部时钟方式。本设计选用外部时钟方式,单片机内部 XTAL1 引脚为 高增益反向放大器的输入端,XTAL2 为输出端,在这 2 个引脚之间接石英晶振 和电容,就可以构成一个稳定的自激振荡器。本设计选用的 12MHz 的晶振。 复位是单片机的初始化操作,复位信号是高电平有效,复位操作有上电自 动复位、按键电平复位、外部脉冲复位和自动复位四种方式。在本设计中复位 电路采用按键电平方式,使 RST 引脚经过 10u 电解电容与 VCC 电源接通,同 时经过电阻与地连接而实现,按下按键时,RST 引脚置高,实现复位功能。 单片机的 P1 口控制矩阵键盘电路, P2 口控制 8 路 LED 灯,从机可以向主 机发送指令来控制 LED 灯的亮灭。当单片机串口接收到从机发送来的指令时, 判断其控制的是哪一路 LED 灯,再用单片机引脚控制该路 LED 灯。 图 3.3 主机控制电路 3.4 从机电路模块 本设计共设置 2 路从机,2 路从机的电路设计和实现的功能是一样的,所 以这里只介绍其中一路从机的电路设计。 从机电路如图 3-4 所示。单片机的 P1 口控制 8 路按键,这 8 路按键用于实 现控制主机的 8 路 LED 灯的亮灭;P2 口控制数码管显示。半导体数码管的每个 线段都是一个发光二极管(Light Emitting Diode,简称 LED) ,因而也把它叫做 LED 数码管或 LED 七段显示器。半导体数码管不仅具有工作电压低、体积小、 寿命长、可靠性高等优点,而且响应时间短(一般不超过 0.1us) ,亮度也比较 高。LED 数码管由八只发光二极管组成,编号是 a、b、c、d、e、f、g、h,分 别和同名管脚相连,当发光二极管导通时发光。每个二极管就是一个笔划,若 干个二极管发光时,就构成一个显示字符。若将单片机的 I/O 口与数码管的 a-g 和 h 相连,高电平(对应共阴极数码管)或低电平(对应共阳极数码管)的位 对应的发光二极管就会亮,这样,I/O 口输出不同的代码就可以控制数码管显示 不同的字符。由于本设计只用了一个数码管显示数字 0-9,所以直接将数码管的 8 个段码引脚连接至单片机的引脚上,利用单片机的引脚输出要显示的数字的 代码。 图 3.4 从机电路 安徽财经大学管理科学与工程学院本科毕业设计 11 3.5 电源电路模块 电源部分提供整个电路所需各种电压,由电源变压器、整流电路、滤波电 路及辅助稳压输出构成,电源变压器的功率由需要输出的电流大小决定,确保 有充足功率余量。 交流电经过二极管整流之后,方向单一了,但是大小(电流强度)还是处 在不断地变化之中。这种脉动直流一般是不能直接用来给无线电装供电的。要 把脉动直流变成波形平滑的直流,还需要再做一番“填平取齐”的工作,这便 是滤波。换句话说,滤波的任务,就是把整流器输出电压中的波动成分尽可能 地减小,改造成接近恒稳的直流电。 直流电压纹波的大小与滤波电路的电解电容的关系是电容越大纹波越小, 小功率电路一般应满足:R*C=2T(R 是负载电阻的阻值,C 是滤波电容的容 值,T 是被滤波交流信号的周期) 。 滤波电路主要分为以下几种: 一、电容滤波:电容器两端电压不能突变的特性,正好可以用来承担滤波 的任务,电容量越大,滤波效果越好,输出波形越趋于平滑,输出电压也越高, 适于各种整流电路。整流滤波电路对电容器的容量和耐压值要求不是太高,一 般根据输出电流大小估算电容器的容量,输出电流大,容量就大;电流小,容 量就小。 二、电感滤波:利用电感对交流阻抗大而对直流阻抗小的特点,可以用带 铁芯的线圈做成滤波器。电磁滤波输出电压较低,相输出电压波动小,随负载 变化也很小,适用于负载电流较大的场合。 三、复式滤波器:把电容按在负载并联支路,把电感或电阻接在串联支路, 可以组成复式滤波器,达到更佳的滤波效果。这种电路的形状很像字母 ,所 以又叫 型滤波器;电磁与电容组成的 LC 滤波器,其滤波效能很高,几乎没 有直流电压损失,适用于负载电流较大、要求纹波很小的场合。但是,这种滤 波器由于电感体积和重量大(高频时可减小) ,比较笨重,成本也较高,一般情 况下使用得不多;由电阻与电容组成的 RC 滤波器这种复式滤波器结构简单, 能兼起降压、限流作用,滤波效能也较高,是最常用的一种滤波器。上述两种 复式滤波器,由于接有电容,带负载能力都较差。 稳压电路有分立元件稳压电路和集成稳压电路两种,其中集成稳压电路主 要用于低电压小电流的整流电路,具有体积小,电路简单,稳压精度高,使用 调试方便等特点。 本设计中的供电电源电路如图 3-5 所示。220V 市电先经过变压器降压至 9V,降压后的交流电经过 1N4007 组成的二极管整流桥进行整流,再经大电解电 容和小无极电容滤波进入到稳压块 LM7805 中,LM7805 的输出是+5V,可供电路 中元器件的供电使用。 图 3.5 供电电源电路 3.6 元件清单 单片机 AT89C513 按键 Button32 发光二极管 LED-RED8 数码管 7SEG2 其他 4 系统软件设计 4.1 软件设计应用环境与设计语言 本设计软件的设计是在 Keil C51 的环境下编译的。Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,软件提供丰富的 库函数和功能强大的集成开发调试工具,全 Windows 界面。Keil C51 标准 C 编 译器为 8051 微控制器的软件开发提供了 C 语言环境,同时保留了汇编代码高 效、快速的特点。C51 编译器的功能不断增强,使你可以更加贴近 CPU 本身, 安徽财经大学管理科学与工程学院本科毕业设计 13 及其它的衍生产品。C51 已被完全继承到 Vsion2 的集成开发环境中,这个集 成开发环境包含:编译器、汇编器、实时操作系统、项目管理器、调试器。 Vsion2 IDE 可为它们提供单一而灵活的开发环境。C51 V7 版本是目前最高效、 灵活的 8051 开发平台。它可以支持所有 8051 的衍生产品,也可以支持所有兼 容的仿真器,同时支持其它第三方开发工具。因此,C51 V7 版本无疑是 8051 开发用户的最佳选择。Keil C51 编译器在遵循 ANSI 标准的同时,为 8051 微控 制器系列特别设计,语言上的扩展能让用户使用应用中的所有资源。 一、存储器和特殊功能寄存器的存取。C51 编译器可以实现对 8051 系列所 有资源的操作。SFR 的存取由 sfr 和 sbit 两个关键字来提供。变量可旋转到任一 个地址空间。用关键字-at- 还能把变量放入固定的存储器。存储模式决定了变量 的存储类型。 连接定位器支持的代码区可达 32 个,这就允许用户在原有 64K ROM 的 8051 基础上扩展程序。在 V2 的编译器和许多高性能仿真器中,可以支持应用 程序的调试。 二、中断功能。C51 允许用户使用 C 语言编写中断服务程序,快速进、出 代码和寄存器区的转换功能使 C 语言中断功能更加高效。可再入功能是用关键 字来定义呃。多任务、中断或非中断的代码要求必须具备可再入功能。 三、灵活的指针。C51 提供了灵活高效的指针。通用指针用 3 个字节来存 储存储器类型及目标地址,可以在 8051 的任意存储区内存取任何变量。 特殊指针在声明的同时已制定了存储器类型,指向某一特定的存储区域。 由于地址的存储只需 1-2 字节,因此,指针存取非常迅速。 本设计采用 C 语言来完成程序设计的,C 语言有以下特点: 1、语言简洁、紧凑、使用方便、灵活。C 语言一共只有 32 个关键字,9 种 控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。 2、运算符丰富。C 的运算符包含的范围很广泛,共有 34 种运算符,使得 C 的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在 其他高级语言中难以实现的运算。 3、数据结构丰富,具有现代化语言的各种数据结构,能用来实现各种复杂 的数据结构的运算。 4、具有结构化的控制语句,用函数作为程序的模块单位,便于实现程序的 模块化。 5、语法限制不太严格,程序设计自由度大。 6、C 语言能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件 进行操作。因此,C 既具有高级语言的功能,又具有低级语言的许多功能,可 用来写系统软件。C 语言的这种双重性,使它既是成功的系统描述语言,又是 通用的程序设计语言。 7、生成目标代码质量高,程序执行效率高。 8、用 C 语言写的程序可移植性好。基本上不用修改就能用于各种型号的计 算机和各种操作系统。 对操作系统和系统实用程序以及需要对硬件进行操作的场合,用 C 语言明 显地优势于其他高级语言,有的大型应用软件也用 C 语言来编写。 4.2 软件设计流程 系统软件分为两个部分,主机软件设计和从机软件设计。主机软件设计流 程图如图 4-1 所示。 安徽财经大学管理科学与工程学院本科毕业设计 15 结束 开始 初始化 确认从机编号 扫描数字键 通过串口向从机发送数据 扫描按键 接收从机发来的数据 控制相应 LED 灯 图 4.1 主机软件设计流程图 从机软件设计流程图如图 4-2 所示。 结束 开始 初始化 数码管送显 通过串口向主机发送数据 接收串口数据 有按键按下? Y N 图 4.2 从机软件设计流程图 4.3 按键程序设计 单片机读取按键值的方法有两种:查询方式和中断方式。查询方式是利用 键盘程序不断查询是否有按键按下,有按下则进入相应按键的子程序进行数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论