测控技术与仪器 毕业论文范文——基于单片机的串行通信系统开发_第1页
测控技术与仪器 毕业论文范文——基于单片机的串行通信系统开发_第2页
测控技术与仪器 毕业论文范文——基于单片机的串行通信系统开发_第3页
测控技术与仪器 毕业论文范文——基于单片机的串行通信系统开发_第4页
测控技术与仪器 毕业论文范文——基于单片机的串行通信系统开发_第5页
免费预览已结束,剩余47页可下载查看

下载本文档

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

文档简介

基于单片机的串行通信系统开发基于单片机的串行通信系统开发摘要:本单片机系统采用 AT89S52 控制,整个硬件系统由 A/D、D/A 转换、LED 显示、键盘、串行通信等模块组成。给出了整个电路原理图与各部分电路原理图以及主要源程序。本设计完成了单片机部分的开发设计,若配上采集电路和相应的软件就能将测量结果用 LED 数码管十进制显示出来,其中包括了 A/D、D/A 转换,还可以用按键来控制,进行人机对话;系统中设置了 5 个按键,其中 1 个是复位键,其余的 4 个键,用程序来控制实现不同的功能。之所以没有设计外部采集电路是因为设计了外部采集电路系统的功能就比较单一,不方便系统功能的外部扩展。该系统还能实现单片机与 PC 机的串行通信和编程的下载、软件设计的时钟显示。关键词:单片机 AT89S52;串行通信;A/D 转换;D/A 转换;LED 数码管显示 SerialSerial CommunicationCommunication SystemSystem DevelopmentDevelopment BasedBased onon SCMSCMAbstract:It adopts AT89S52 to control the Single Chip microcomputer system, the whole hardware system is composed of A/D and D/A transformation, LED display, keyboard, serial communication. Gives the circuit diagram with the part of the circuit diagram and the main source, If collection circuit and the relevant software are equiped, it can realize that the metrical results are displayed by numeral tube LED in term of decimal system, including A/D and D/A transformation, it also can be controlled by keystroke, makes the man-machine conversation. The system is mounted by five keystroke, one restoring key, another four keys which can be used to realize different functions under the control of program. The reason why the external collection circuit has not been designed is because that the function of it will be single if it is designed and it will not be convenient to spread the function of the system. Here the whole system can realize serial communication of Single Chip Micyoco and machine PC, the download of programming, the display of the clock which is designed by software.Key words: Microcomputer AT89S52; serial communicaiton; A/D transformation; D/A tranformaiton; LED numeral tube display.1 绪论绪论1.11.1 系统开发背景和系统设计的意义系统开发背景和系统设计的意义单片机的主要优点是抗干扰能力强、价格低廉、功耗极小等,其明显不足是运算功能和显示功能较差。而 PC 机的特点正好与其相反,因而,把单片机放在恶劣的远程前端,作为从机(也称为下位机),而把 PC 机放在条件较好的环境中作为中央控制机(也称为上位机)。利用单片机的串行口与 PC 机的串行口进行串口通信,PC 机可对远程前端单片机进行控制,将单片机采集的数据传送到PC 机中,由 PC 机对数据进行处理和显示,同时把反馈信号发到单片机,实现闭环控制和管理。随着现代技术的高速发展,电脑涉及的应用是越来越广泛,工业、第 2 页 共 52 页农业、军事上都有它的身影,而作为下位机的单片机更是不可或缺。有了它,各种设备都提高了智能化程度,增加了功能,使人们的生活更加方便舒适。在很多工业自动控制场合,其应用是最广泛的。很多工作环境是不允许人们进行实地考察和工作的,这时,只能靠单片机进行采集工作,由远程的 PC 进行控制,这样大大增加工人们的安全系数。而在产品生产过程中也是采用了这样的方式,由于单片机在电脑的控制下效率有了明显的提高,大幅度减轻了工人的工作强度。可以说今天工业上巨大发展是离不开 PC 机与单片机的。1.21.2 串行通信的基本原理串行通信的基本原理串行通信是指数据按位顺序传送的通信。串行数据传送的特点是:通信线路简单,最多只需一对传输线即可实现通信,成本低但速度慢,其通信线路既能传送数据信息,又能传送联络控制信息;它对信息的传送格式有固定要求,具体分为异步和同步两种信息格式与此相应有异步通信和同步通信两种方式;在串行通信中,对信息的逻辑定义与 TTL 不兼容,需要进行逻辑电平转换:计算机与外界的数据传送大多是串行的,其传送的距离可以从几米到几千公里。单片机中使用的串行通信通常都是异步方式的。1.2.1 异步传送方式异步传送的特点是数据在线路上的传送是不连续的。在线路上数据是以一个字(或称字符)为单位来传送的。异步传送时,各个字符可以是接连传送的,也可以是间断传送的。这完全由发送方根据需要来决定的。另外在异步传送时,同步时钟脉冲并不传送到接收方,即双方各用自己的时钟源来控制发送和接收。1.2.2 同步传送方式同步传送是一种连续传送数据的方式。在通信开始以后,发送端连续发送字符,接收端也连续接收字符,直到通信告一段落。同步传送时,字符与字符之间没有间隙,也不用起始位和停止位。1.2.3 通信中数据的传送方式通常在串行通信中。数据在两个站之间是双向传送的,既可以 A 站作发送端,B 站作接收端:也可以 B 站作发送端,A 站接收端。根据具体的需要,又可分为半双工(Half Duplex)和全双工(FullDuplex),半双工只有一条传输线,尽管传输也可以双向进行,但每次只能有一个站发送,另一个站接收。即可以是 A 发送到第 3 页 共 52 页B,也可以是 B 发送到 A,但 A,B 不能同时发送当然也不能同时接收。而全双工有两条传输线,因此两个站既可以同时发送,又可以同时接收,或者说一个站可以同时进行发收。1.31.3 通信过程的实现通信过程的实现 RS-232RS-232 串行接口标准串行接口标准为了便于计算机和各种外围设备的串行通信连接,更广义地来讲是为了各种数据终端设备(DTE)和数据通信设备(DCE)之间的连接。制定了若干种串行通信接口标准。只要是符合某种标准的设备之间就可以直接互相连接、互相通信。RS-232 串行接口标准是目前最常用的标准之一。RS-232-C 串行通信接口是美国电气工业协会(EIA)与 BELL 公司等一起开发的一种标准通信协议,现在它在终端、外设与计算机中被广泛应用。完整的 RS-232 接口有 25 根线,采用一种 25 芯(针)的插头座,彼此连接十分方便。现在经常采用一种 9 针的插座来互相连接,因为 25 条线种最经常使用的只有 9 条线。1.41.4 RS-232RS-232 标准接口的实现及电平转换标准接口的实现及电平转换Pc 机有两个标准的 RS-232 串行口,其电平采用的是 EIA 电平,而单片机的串行通信是由 T)(D(发送数据)和 R 如(接收数据)来进行全双工通信的,它们的电平是 TTL 电平,为了 Pc 机与单片机之间能可靠地进行串行通信,需要用电平转换芯片。由于 MCl488 和 MCl489 需要12V,+5v 电源供电,故采用 MAXIM公司生产的低功耗单电源的 MAX232 芯片,因为它自身带有电源电压变换器。可以把+5V 电源变换成 RS-232 输出电平所需的10V 电压,能实现 RS-232 的技术指标,并只需要+5V 的电源,为串行通信带来了较好的性能和低廉的价格。1.51.5 数据采集系统及其发展现状数据采集系统及其发展现状数据采集技术是信息科学的重要分支之一,它研究信息数据的采集、存储、处理以及控制等问题。是以传感器、信号的测量与处理和微型计算机等高技术为基础而形成的一门综合应用技术,广泛应用于各个领域,完成温度、压力、流量、位移和速度等信号的采集与处理智能仪器仪表、信号检测与处理及工业自动控制等数据采集系统是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。被采集数据是已被转换为电讯号的各第 4 页 共 52 页种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据量测是数据采集的基础。数据量测方法有接触式和非接触式,检测元件多种多样。不论哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包括对面状连续物理量的采集。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,数据采集领域已经发生了重要的变化。首先,分布式控制应用场合中的智能数据采集系统在国内外已经取得了长足的发展。其次,总线兼容型数据采集插件的数量不断增大,与个人计算机兼容的数据采集系统的数量也在增加。国内外各种数据采集机先后问世,将数据采集带入了一个全新的时代。数据采集已长时间地被认为与数据记录及其它数据收集系统相等同。在工作时,一些要打印出硬拷贝,而另一些则把采集的数据馈送给主计算机处理。但随着分布式控制在各个领域里越来越普遍地应用,数据采集设备开始同控制设备相结合。测量技术在其发展过程中,会不断产生新的测量需求,对测量数据的多样性及准确性的要求也正在逐步提高。作为信息源头的传感器对测试计量技术的发展有着重要作用。在21 世纪,传感器在多功能性和智能性方向的发展仍将对测量技术的发展产生深刻的影响。 在当今网络化时代,以因特网为代表的计算机网络通信的发展和应用取得了前所未有的突破和成功,测量技术的发展当然也离不开互连网。网络化测量和(对网中仪器设备的)控制技术正随着网络的发展而迅速发展,其优势令人瞩目。凭借自身优良的性能,网络化测量和控制已经成为测量技术发展的必然趋势。现代控制技术的发展对测量技术不断提出了新要求。随着科技的快速发展,现代生产的自动化程度在提高,技术难度在增加,采用的控制技术、控制系统的组成和方式都在不断变化,各类控制系统和装置没有完善的检测手段是不可能适应要求的。1.61.6 设计目标设计目标该设计要求实现:(1) 、设计串行通信接口,实现与 PC 机的通信;(2) 、具有人机对话功能,可通过键盘进行输入;第 5 页 共 52 页(3) 、LED 显示器能够根据按键的输入进行相应的显示;(4) 、能够进行 A/D 转换功能;(5) 、能够进行 D/A 转换功能;(6) 、自制+5V 稳压电源。设计结果要求:完成电路的设计,硬件电路应该设计出原理图,完成软件程序的编写(包括流程图和部分源代码) 。1.71.7 论文结构论文结构本论文包括六个部分,分别为:1.绪论(系统开发背景、设计的意义、设计目标等) ;2.方案的选择;3.系统硬件设计(包括各模块的硬件电路设计、主要芯片的介绍等) ;4.系统软件设计(包括主程序流程图的设计、控制算法、 ) ;5.系统调试(包括软件的调试) ;6.附录(包括硬件整机原理图、元件清单、部分源程序代码) 。第 6 页 共 52 页2 2 设计方案的选择设计方案的选择根据设计目标的要求,此系统可以采用以下两种设计方案来实现。方案一:设计的方框图如图 2.1 所示: 图 2.1 方案一设计方框图从方案一的方框图中我们可以看出用此设计方案设计的系统由信号源即被测对象、传感器、多路模拟开关、采样保持电路、A/D 转换电路、控制电路、PC 机、D/A 转换电路、低通滤波电路、功率放大电路、激励装置、电源电路等部分组成。此方案的特点是:硬件电路的实现相当的复杂,用到的元器件也较多;而且整个系统的控制过程用软件实现起来也比较的困难。总之是软件和硬件的实现都比较的复杂。方案二:设计的方框图如图 2.2 所示:第 7 页 共 52 页图 2.2 方案二设计方框图从方案二的设计方框图中可以看出用此方案设计的系统由电源电路、数据采集放大电路、A/D 转换电路、D/A 转换电路、MAX232 串行接口电路、单片机外围电路、LED显示电路、键盘电路等部分组成。此方案的特点是:硬件电路的实现较为简单、所用元器件也较少、系统可以配上外部的各种传感器采集电路作为系统的被测对象的模拟输入信号来源,如压力、温度、湿度的采集等等;配上相应的模拟采集电路和软件就可以实现各种不同的功能、还能用 LED 数码管十进制显示相应的测量数据,如可以显示测得的压力、温度、湿度;还可以实现和 PC机串行通信和 ISP 编程下载功能,不需要编程器直接从 PC 上下载程序。对比两种设计方案,我选择方案二来设计此系统,因为方案二的硬件电路比方案一较简单;方案二配上外部的采集电路和相应的软件就可以实现各种不同的功能,而方案一只能实现一种功能;方案二的软件控制过程也比方案一的较为简单和直观,方案二的性能也比方案一的稳定,所以选择方案二来设计此系统。第 8 页 共 52 页3 3 硬件系统设计硬件系统设计3.13.1 硬件设计框图硬件设计框图硬件电路的设计框图就采用上面我们选择的方案二的设计框图。如图 3.1 所示:图 3.1 系统硬件设计框图本设计的主要硬件电路包括:电源电路、A/D 转换电路、D/A 转换电路、单片机与 PC 机串行通信接口和 ISP 编程下载电路、单片机外围电路、LED 显示电路、键盘电路等部分。3.23.2 系统的硬件详细设计系统的硬件详细设计 系统的硬件详细图如图 3.2 所示:第 9 页 共 52 页图 3.2 系统硬件详细设计图vdd1ain2shdn3ref4gnd5dout6cs7sclk8U 5M A X 187VCCC 94.7FC 80.7FC 104.7F162738495J7D B9R1 IN13R2 IN8T1 IN11T2 IN10GND15V+2V-6VCC16R1 OUT12R2 OUT9T1 OUT14T2 OUT7C1+1C1 -3C2+4C2 -5U 10MAX232EWE(16)C 30.1FC 50.1FC 40.1FC 60.1FRXD/P3.0TXD/P3.1VCCY 112M H zC 2422FC 2522FK 1R 12 10KVCCC 2610FEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30TXD11RXD10VCC40GND20U 9A T89S52R 81KD 5LEDR 91KVCCQ1Q2 Q3Q4A1B2C3G2A4G2B5G16Y77Y69Y510Y411Y312Y213Y114Y015U 774LS138R 11KR 21KR 31KR 41KBI/RBO4RBI5LT3A7B1C2D6a13b12c11d10e9f15g14U 874LS47R 13100R 14100R 15100R 16100R 17100R 18100R 19100abfcgdeDPY1234567abcdefg8dpdpLED 1abfcgdeDPY1234567abcdefg8dpdpLED 2abfcgdeDPY1234567abcdefg8dpdpLED 3abfcgdeDPY1234567abcdefg8dpdpLED 4VCCV C CQ5R 51KabfcgdeDPY1234567abcdefg8dpdpLED 5Q6R 61KabfcgdeDPY1234567abcdefg8dpdpLED 6P 1.2P 1.3P 1.4VCC12345678910J6IS PVCCD 4R 71KVCCA0VCCA1WPA2SCLGNDSDAU 424C02R 1110KR 1010KT0/P3.4T1/P3.5DIN1sclk2cs3outa4agnd5refin6outb7vdd8U 3TLC5618VCCP2.0P2.1P2.212J2CON2123J3CON3O U T AIN AIN1OUT2GND3U 2M C 1403GNDGNDVCCP P1 1. .5 5P P1 1. .6 6P P1 1. .7 7R RE ES SE ET TP P1 1. .2 2P P1 1. .3 3P P1 1. .4 4P P0 0. .0 0P P0 0. .1 1P P0 0. .2 2P P0 0. .3 3P P0 0. .4 4P P0 0. .5 5P P0 0. .6 6P P0 0. .7 7P P0 0. .4 4P P0 0. .5 5P P0 0. .6 6P P0 0. .7 7P P0 0. .0 0P P0 0. .1 1P P0 0. .2 2P1P2P3P4P5P6K 3K 4K 5K 6K 2VCCR 2010KR 2110KR 2210KR 2310KR 2410K第 10 页 共 52 页3.33.3 主要芯片的介绍主要芯片的介绍3.3.1 单片机 AT89S52AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 其引脚封装如图 3.3 所示;主要引脚介绍如下: 图 3.3 单片机 AT89S52 封装图 (1)VCC、GND 电源、接地引脚;(2)P0口: :P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8第 11 页 共 52 页个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。(3)P1口: :P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。表3.1 P1引脚功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用) (4)P2 口: :P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用 16 位地址读取外部数据存储器时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8 位地址访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。(5)P3口: :P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口亦作为AT89S52特殊功能使用,如下表所示。第 12 页 共 52 页表3.2 P3引脚功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2 (外部中断 0)0INTP3.3 (外部中断 0)0INTP3.4T0(定时器 0 外部输入)P3.5T1(定时器 1 外部输入)P3.6(外部数据存储器写选通)WRP3.7(外部数据存储器写选通) RDRST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。第 13 页 共 52 页:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低PROGALE /8位地址的输出脉冲。在flash编程时,此引脚()也用作编程输入脉冲。PROG在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”, ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通信号()是外部程序存储器选通信号。当PSENPSENAT89S52从外部程序存储器执行外部代码时,在每个机器周期被激活两次,PSEN而在访问外部数据存储器时,将不被激活。PSEN:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程VPPEA/序存储器读取指令,必须接GND。为了执行内部程序指令,应该接VCC。EAEA在flash编程期间,也接收12伏VPP电压。EAXTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.3.2A/D 转换芯片 MAX187MAX187 是串行 12 位 ADC,内含高速采样保持器和基准电源,3 条串口线,接口标准与 ISP 兼容,其主要特性如下: (1)12 位精度;(2)+5V 单电源供电;(3)正常工作电流小于 1.5mA;(4)最大转换时间为 8.5s,采样时间为 1.5s;(5)采样频率达 75Kbps,串行数据输出速率可达到 5MHz;(6)小管脚 8 脚 DIP 封装。第 14 页 共 52 页MAX187 的封装图如图 3.4 所示:图 3.4 MAX187 的封装图(1)VDD +5V 电源;(2)AIN 模拟量输入,电压范围 0VREF;(3) 操作模式选择,低电平为休眠模式,正常操作模式为高电平或悬空,高电时使用内部参考模式,悬空时禁止使用内部参考;(4)REF 参考电压,内部参考为 4.096V,使用内部参考时此引脚对地接一个 4.7F 的电容。使用外部参考时,接 2.5VVDD 的基准电压;(5)GND 接地引脚;(6)DOUT 数据输出引脚;(7) 片选信号输入引脚;(8)SCLK 时钟信号输入引脚,最高为 5MHz。3.3.3 D/A 转换芯片 TLC5618TLC5618 是美国 TexasInstruments 公司生产的带有缓冲基准输入的可编程双路 12 位数/模转换器。DAC 输出电压范围为基准电压的两倍,且其输出是单调变化的。该器件使用简单,用 5V 单电源工作,并包含上电复位功能以确保可重复启动。 通过 CMOS 兼容的 3 线串行总线可对 TLC5618 实现数字控制。器件接收用于编程的 16 位字产生模拟输出。数字输入端的特点是带有斯密特触发器,因而具有高的噪声抑制能力。TLC5618 的特点:第 15 页 共 52 页(1)可编程至 0.5LSB 的建立时间; (2)两个 12 位的 CMOS 电压输出 DAC; (3)单电源工作; (4)3 线串行接口; (5)高阻抗基准输入; (6)电压输出范围为基准电压的两倍; (7)软件断电方式; (8)内部上电复位; (9)低功耗,慢速方式为 3mW,快速方式为 8mW; (10)1.21MHz 输入数据更新速率; (11)在工作温度范围内单调变化。 TLC5618 的引脚排列如图 3.5 所示,各个引脚的功能如下所述: 图 3.5 TLC5618 的引脚封装(1)DIN 数据输入; (2)SCLK 串行时钟输入; (3)CS 芯片选择,低电平有效; (4)OUTA DACA 模拟输出; (5)AGND 模拟地; (6)REFIN 基准电压输入; (7)OUTB DACB 模拟输出; (8)VDD 正电源。第 16 页 共 52 页3.43.4 各功能模块电路的设计各功能模块电路的设计3.4.1 串行通信电路单片机与 PC 机串行通信接口电路及编程下载电路如图 3.6 所示:图 3.6 单片机与 PC 机串行通信接口的电路本设计的串行通信部分主要是由 MAX232 电平转换电路和 ISP 编程下载电路组成,其原理是:MAX232 芯片把单片机引脚的 COMS 电平(05V)转换为RS-232 电平(-12V +12V) ,AT89S52 单片机有一个全双工的串行通信口,而PC 机有一个 RS-232 的通信接口。只要用 RS-232 D 型 9 针的引脚的双边母头接到PC 机上,而另一头和 MAX232 相连接,MAX232 的输出再和 AT58S52 相连就可以实现单片机和 PC 机的串行通信1。具体连线如上图 8 所示,AT89S52 的串行第 17 页 共 52 页通信引脚的 TXD 和 RXD 分别接到 MAX232 的 T1IN 和 T1OUT 上,MAX232 的R1OUT 和 R1IN 分别接到 RS-232 的 2、3 上,RS-232 的 5 脚接地。MAX232 外围元件只有四个电容,根据 MAX232 的典型应用电路,可取 0.1F 50V 的电解电容。ISP 编程口和 AT89S52 的连线为:AT89S52 的 P1.5、P1.6 P1.7、RESET 分别连接到 ISP 的 3、4、5、7 脚上,ISP 的 1、2 脚联合接电源 9、10 脚联合接地即可.直接从上位机上下载可执行的二进制代码文件,无须外加写读器。D1 为下载指示灯,R1 为限流电阻,发光二极管的压降为 2V,电流取 5mA,其阻值为:R1=5-2/0.005=600,考虑到和 ISP 一起共电,在此取 1K。3.4.2 单片机外围电路单片机外围电路如图 3.7 所示:图 3.7 单片机外围电路单片机外围电路由复位电路、晶振电路、外部存储器电路组成。复位电路采第 18 页 共 52 页用上电和按键都有效的复位电路。此电路能实现开机和单片机在运行时的复位,开机复位要求接通电源后,单片机自动实现复位操作,开机瞬间单片机的 RST 引脚获得高电平,随着电容 C7 的充电 RST 的高电平将逐渐下降。RST 引脚的高电平只要能保持足够的时间(2 个机器周期) ,单片机就可以进行复位操作。此电路还可以实现单片机在运行期间,手动来实现复位操作,在晶振为 12MHz 时,C7为 10F、R1 为 10K、R2 为 1K。单片机的时钟信号为内部时钟方式,单片机内部有一振荡电路,只要在单片机的 XTAL1 和 XTAL2 引脚外接一石英晶体振荡器,就构成了自激振荡器并在单片机内部产生了时钟脉冲信号,图中 C5 和 C6 的作用是稳定频率和快速起振,电容值选为 22F2。24C02 是外部存储器,它的 A0-A2 管脚是地址脚,当一个电路中有多个 I2C总线元器件时,单片机通过设置这三个管脚来区分是与那个元器件通信。现只有这一个 I2C 总线芯片,所以 P3.4 和 P3.5 上传输的 I2C 信号只能是与这个芯片进行通信。我们将此三个管脚接地,表示其地址为 000B。3.4.3 A/D 转换和 D/A 转换电路 A/D 转换和 D/A 转换电路如图 3.8 所示:第 19 页 共 52 页图 3.8 A/D 和 D/A 转换电路A/D 转换电路主要由 A/D 转换芯片 MAX187 和外围电容组成;D/A 转换电路主 D/A 转换芯片 TLC5618 组成,MC1403 是为 TLC5618 提供基准参考电压而设置的。 MAX187 是 12 位 AD 转换芯片,C20 和 C12 并联起电源去藕的作用。为保证采样精度,最好 将 MAX187 与 AT89S52 分开供电。4 脚为参考端接一个 4.7F的电容,这是使用内部 4.096 V 参考电压方式。输入模拟信号的电压范围为04.096 V,如模拟输入电压不在这个范围要外加电路进行电压范围的变换。其工作过程是:使用内部参考时,电源开启后,经过 20 ms 后参考引脚的 4.7F 电容充电完成,可进行正常的转换操作。当为低电平时,在下降沿 MAX187 的TH 电路进入保持状态,并开始转换,8.5s 后 DOUT输出为高电平作为转换完成标志。这时可在 SCLK 端输入一串脉冲将结果从 DOUT 端移出,读入单片机中处理。数据读取完成后将置为高电平。要注意的是:在置为低电平启动 A/D 转换后,第 20 页 共 52 页检测到 DOUT 有效(或者延时 8.5s 以上) ,才能发 SCLK 移位脉冲读数据,SCLK 至少为 13 个,发完脉冲后应将置为高电平。MAX187 完整的操作时序如图3.9 所示。图 3.9 MAX187 的操作时系 D/A 转换电路主要由 D/A 转换芯片 TLC5618 组成,TLC5618 是带有缓冲基准输入的可编程双路 12 位数/模转换器。TLC5618 的内部结构如下图图 3.10 所示,TLC5618 由 12 位的 A/D 转换器、A 逻辑控制器、双缓冲寄存器、16 位移位寄存器、上电复位电路及寄存器 A、B 组成。上电复位功能可确保重复启动。DAC 输出电压范围为基准电压的两倍,其输出极性与基准电压输入相同;基准电压来自基准电压芯片 MC1403 的输出端,其输出基准电压为 VO=2.5V+0.025V,上电时内部电路把 DAC 寄存器复位至 0,输出缓冲器具有可达电源电压幅度的输出。 图 3.10 TLC5618 的内部结构16 位的数据中,前 4 位(D15D12)为编程控制位,其功能如下表 1 所示;后 12 位(D11D0)为数据位,用于模拟数据的输出。从表 1 中可以看出,TLC5618 可工作在三种数据传送方式。第 21 页 共 52 页 TLC5618 的最大串行时钟速率为:f(SCLK)max=1/tW(CH)mintW(CL)min=20MHz数据的更新速率受片选周期限制,此时 tp(cs)=16Xtw(CH)+tw(CL)+tsU(CS1)=820ns对于满度输入阶跃跳变,移位寄存器至 12 位寄存器的建立时间限制了更新速率。表 1 可知建立时间可选为 3s 或 15s。当片选(CS)为低电平时,输入数据由时钟定时,以最高有效位在前的方式读入 16 位移位寄存器, SCLK 的下降沿把数据移入寄存器 A、B,然后 CS 的上升沿把数据送到 12 位 DAC 转换器。所有 CS 的跳变应当发生在 SCLK 输入为低电平时。D15D12 编程控制位如下表 3.3 所示,TLC5618 的时序如图 3.11 所示。图 3.11 TLC5618 的操作时序表 3.4 D15D12 编程控制位的功能编 程 位D15D14D13D12代 码 功 能1XXX把串行接口寄存器的数据写入锁存器 A 并用缓冲器锁存数据更新锁存器 B0XX0写锁存器 B 和双缓冲锁存器0XX1仅写双缓冲锁存器X1XX14S 建立时间X0XX3S 建立时间XXXX上电(Powerup)操作XX1X断电(Powerdown)方式第 22 页 共 52 页3.4.4 LED 数码管显示电路LED 数码显示电路如图 3.12 所示:图 3.12 LED 数码显示电路LED 显示电路由 74LS138 译码器,三极管放大电路,限流电阻电路、共阳极LED 数码管、驱动共阳级 LED 数码管的 74LS47 等组成。电路的工作原理是 38译码器将单片机输出的三位二进制代码不同的八种组合“翻译”成不同的对应输出信号,其对应的 8 种组合分别与一个输出对应,8 个输出在任何情况下都只有一个有效,在此我们只用其中的 6 种对应信号。因为只有 6 只数码管;分别用来选择 6 只数码管到底哪一只被点亮,如输出输入 ABC=001 时,则第一个数码管被选择点亮;ABC=010 时,第二个数码管被点亮,其余的依此类推。采用逐个扫描哪个 LED 被点亮,由于人的视觉具有残留效应,因此感觉不到闪烁。同时 74LS47将单片机送来的 BCD 码翻译成 LED 显示该 BCD 的七段信息输出。驱动共阳的74LS47 数码是低电平有效,当输入的段为逻辑“0”时,对应 LED 的段才点亮。如 74LS47 的输入 DCBA=0001 时,它转换为十进制就是 1,那么此时选中的数码管就要显示十进制的 1,那对应的输出就 abcdefg=0110000,其他情况是依此类推。第 23 页 共 52 页图中三极管起驱动 LED 的作用,电阻用作限流作用,取三极管基极限流电阻1K,LED 限流电阻 100。3.4.5 键盘电路键盘输入电路与单片机的连接电路如图 3.13 所示:图 3.13 键盘电路键盘用以控制程序的执行时数据的输入或是特殊功能的设置及操作,在此设计中用到 5 个按键,在硬件电路上采用 AT89S52 的 P2 端口的 5 条 I/O 线当作输入用,用程序来控制,在键没有按下的时候对应的输入端为高电平,当有一个键按下时对应的输入端为低电平,经过轮流扫描判断输入端是否为低电平,便可以知道是按下了哪个键。当按下复位键时系统复位,单按下功能 1 键时发光二极管D5 闪动 2 次,当按下功能 2 键 D5 闪动 3 次,当按下功能 3 键 D5 闪动 4 次,相第 24 页 共 52 页应的按下功能 4 键 D5 闪动 5 次。图中的电阻为上拉电阻,在此我们选择阻值为10K。3.4.6 电源电路电源电路如图 3.14 所示:图 3.14 电源电路电源电路是整个系统工作的能量来源,主要由变压器、桥式整流电路、滤波电容电路、低功率三端稳压器 LM7805 等组成。上图中我们设计的是系统中所需的+5V 的电源。其工作原理是变压器把市电 220V 的交流电降压为低压交流电,通过桥式整流电路把低压交流整流为含有脉动和谐波成份的直流电,再通过滤波电容把其中含有的脉动的交流成份滤出,就成为平缓的直流电,直流电压不够稳定,它再通过三端稳压器 LM7805 把电压稳定在一个基本不变的数值上,LM7805输出的稳定的电压就可以作系统的电源用了。第 25 页 共 52 页4 4 软件系统设计软件系统设计4.14.1 主程序流程图主程序流程图系统由 AT89S52 单片机作为中央控制器,控制各功能模块的正常工作及数据的接收和处理。系统分为五个模块,分别为:时钟、串行通信、键盘扫描、显示子程序。但在此我们没有外部传感器采集电路,因而不能进行 A/D 和 D/A 转换,整个软件系统是这样来设计的:首先上位机编辑好源程序再转换为相应的可执行的二进制代码文件由串口通信程序经过串口传送到单片机中存储。通过按键来控制系统的功能,主程序的流程图如图所 4.1 示:图 4.1 系统主程序主程序流程图第 26 页 共 52 页4.24.2 各子模块程序设计各子模块程序设计4.2.1 时钟处理模块时钟子程序的流程图如图 4.2 所示:图 4.2 时钟流程图4.2.2 键盘处理模块设有 5 个按键分别由 P2.3P2.7 来检测,当开关被按下时为“0”电平,因此要取反向和 0X0F作AND 运算,但同时只能按下一个键,其源程序如下所示:第 27 页 共 52 页/one key detect Void Inputkey1(void) Byte keytmp;Keytmp= (P2.3-P2.7) & 0 x0f; /”0”:activeIf (keytmp= =1) keydata = KEY1;Else if (keytmp= =2) keydata =KEY2; Else if (keytmp= =4) keydata =KEY3; Else if(keytmp= =8) keydata =KEY4; Else if(keytmp= =16) keydaata =KEY5; 4.2.3 显示模块显示模块程序的流程较简单,在此就不画流程图,其源程序如下所示: void ScrShift(uchar keyIndex) /*六位数码管顺序左移*/ uchar i; for(i=5;i0;i-) DisplayArrayi=DisplayArrayi-1; DisplayArray0=c_keyCodekeyIndex; void ClearScr(void) /*清屏*/ uchar i; for(i=0;i6;i+) DisplayArrayi=0 x00; 第 28 页 共 52 页4.2.4 串行通信模块在串行通信中,一个重要的指标是波特率,它反映了串行通信的速率,也反映了对传输通道的要求.。波特率越高,要求传输通道的频带越宽。由于异步通信双方各自用自己的时钟源,要保证捕捉到的信号正确,最好采用较高的时钟.。一般选择时钟频率比波特率高16倍或64倍。如果时钟频率等于波特率,则频率稍有偏差便会产生接收错误。通过设置T2CON中的TCLK或RCLK可选择定时器2作为波特率发生器。如果定时器2作为发送或接收波特率发生器,定时器1可用作它用,发送和接收的波特率可以不同。如图8所示,设置RCLK 和TCLK 可以使定时器2工作于波特率产生模式。波特率产生工作模式与自动重载模式相似,因此,TH2的翻转使得定时器2寄存器重载被软件预置16位值的RCAP2H和RCAP2L中的值。模式1和模式3的波特率由定时器2溢出速率决定,具体如下公式:模式1和模式3波特率162溢出率定时器定时器可设置成定时器,也可为计数器。在多数应用情况下,一般配置成定时方式(=0)。定时器2用于定时器操作与波特率发生器有所不同,它在每T2CP/一机器周期(1/12晶振周期)都会增加;然而,作为波特率发生器,它在每一机器状态(1/2晶振周期)都会增加。波特率计算公式如下:模式1和模式3的波特率RCAP2LRCAP2H,6553632晶振频率其中,(RCAP2H,RCAP2L)是RCAP2H和RCAP2L组成的16位无符号整数。定时器2作为波特率发生器,如图8所示。图中仅仅在T2CON中RCLK或TCLK1才有效。特别强调,TH2的翻转并不置位TF2,也不产生中断; EXEN2置位后,T2EX引脚上10的下跳变不会使(RCAP2H,RCAP2L)重载到(TH2,TL2)中。因此,定时器2作为波特率发生器,T2EX也还可以作为一个额外的外部中断。定时器2处于波特率产生模式,TR2=1,定时器2正常工作。TH2或TL2不应该第 29 页 共 52 页读写。在这种模式下,定时器在每一状态都会增加,读或写就不会准确。寄存器RCAP2可以读,但不能写,因为写可能和重载交迭,造成写和重载错误。在读写定时器2或RCAP2寄存器时,应该关闭定时器(TR2清0)。串行通信子程序的流程图如图 4.3 所示:图 4.3 串行通信程序流程图void UARTInt() interrupt 4 using 1 /*串口中断服务程序*/ if(TI=1) /*是发送中断则返回*/ TI=0;return;else /*接收到数据*/第 30 页 共 52 页 uchar rcv; while(RI!=1); RI=0; /*请接收标志位以激活下次串口中断*/ rcv=SBUF; switch(rcv) case 48: UARTKeyFlag=0 x0d; /*收到0*/ break; case 49: UARTKeyFlag=0 x00; /*收到1*/ break;case 50: UARTKeyFlag=0 x01; /*收到2*/ break;case 51: UARTKeyFlag=0 x02; /*收到3*/ break;case 52: UARTKeyFlag=0 x04; /*收到4*/ break;case 53: UARTKeyFlag=0 x05; /*收到5*/ break;case 54: UARTKeyFlag=0 x06; /*收到6*/ break;case 55: UARTKeyFlag=0 x08; /*收到7*/ break;case 56: UARTKeyFlag=0 x09; /*收到8*/ break;case 57: UARTKeyFlag=0 x0a; /*收到9*/ break;case 65: UARTKeyFlag=0 x03;

温馨提示

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

评论

0/150

提交评论