基于51单片机的数据采集系统设计

基于51单片机的数据采集系统设计
基于51单片机的数据采集系统设计

南京理工大学

毕业设计说明书(论文)

作者: 学号:

教学点: 苏州工业职业技术学院

专业: 机电一体化工程

题目: 基于51单片机的数据采集系统设计

许月琳

指导者:

(姓名) (专业技术职务)

评阅者:

(姓名) (专业技术职务)

年月

南京理工大学

毕业设计(论文)评语

学生姓名:沈聪班级、学号:

题目:基于51单片机的数据采集系统设计综合成绩:

毕业设计(论文)评语

本科毕业设计说明书(论文)第I页共I页

目次

1. 引言 (1)

1.1数据采集介绍 (1)

1.2数据采集的目的 (1)

1.3数据采集的原理 (2)

1.4本设计所研究的问题及方法 (3)

2. 系统概况设计 (5)

2.1系统设计框图 (5)

2.2系统硬件构成及原理简介 (5)

2.2.1单片机 (5)

2.2.2 A/D器件 (11)

2.2.3 MAX197 A/D芯片 (14)

2.3本章小结 (17)

3. 系统电路与程序设计 (18)

3.1MAX197与89C52的接口设计 (18)

3.2电路设计图 (20)

3.2.1 电路原理及器件选择 (21)

3.2.2 地址分配和连接 (21)

3.3.3 电源的设计 (22)

3.3程序设计 (22)

结论 (26)

致谢 (27)

参考文献 (28)

1. 引言

1.1 数据采集介绍

数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具[1]。

被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据量测是数据采集的基础。数据量测方法有接触式和非接触式,检测元件多种多样。不论哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包抱对面状连续物理量的采集。在计算机辅助制图、测图、设计中,对图形或图像数字化过程也可称为数据采集,此时被采集的是几何量(或包括物理量,如灰度)数据[2]-[4]。

在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,数据采集领域已经发生了重要的变化。首先,分布式控制应用场合中的智能数据采集系统在国内外已经取得了长足的发展。其次,总线兼容型数据采集插件的数量不断增大,与个人计算机兼容的数据采集系统的数量也在增加。国内外各种数据采集机先后问世,将数据采集带入了一个全新的时代。

1.2 数据采集的目的

数据采集,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统。

数据采集的目的是为了测量电压、电流、温度、压力或声音等物理现象。基于PC的数据采集,通过模块化硬件、应用软件和计算机的结合,进行测量。尽管数据采集系统根据不同的应用需求有不同的定义,但各个系统采集、分析和显示信息的目的却都相同。数据采集系统整合了信号、传

感器、激励器、信号调理、数据采集设备和应用软件[3-6]。

1.3 数据采集的原理

在计算机广泛应用的今天,数据采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。各种类型信号采集的难易程度差别很大。实际采集时,噪声也可能带来一些麻烦。数据采集时,有一些基本原理要注意,还有更多的实际的问题要解决。

假设对一个模拟信号x(t)每隔△t时间采样一次。时间间隔△t被称为采样间隔或者采样周期。它的倒数1/△t被称为采样频率,单位是采样数/每秒。t=0,△t,2△t,3△t等等,x(t)的数值就被称为采样值。所有x(0),x(△t),x(2△t)都是采样值。根据采样定理,最低采样频率必须是信号频率的两倍。反过来说,如果给定了采样频率,那么能够正确显示信号而不发生畸变的最大频率叫做恩奎斯特频率,它是采样频率的一半。如果信号中包含频率高于奈奎斯特频率的成分,信号将在直流和恩奎斯特频率之间畸变[7-15]。

采样率过低的结果是还原的信号的频率看上去与原始信号不同。这种信号畸变叫做混叠(alias)。出现的混频偏差(aliasfrequency)是输入信号的频率和最靠近的采样率整数倍的差的绝对值。

采样的结果将会是低于奈奎斯特频率(fs/2=50Hz)的信号可以被正确采样。而频率高于50HZ的信号成分采样时会发生畸变。分别产生了30、40和10Hz的畸变频率F2、F3和F4。计算混频偏差的公式是:

混频偏差=ABS(采样频率的最近整数倍-输入频率)

其中ABS表示“绝对值”,

为了避免这种情况的发生,通常在信号被采集(A/D)之前,经过一个低通滤波器,将信号中高于奈奎斯特频率的信号成分滤去。这个滤波器称为抗混叠滤波器。

采样频率应当怎样设置。也许可能会首先考虑用采集卡支持的最大频率。但是,较长时间使用很高的采样率可能会导致没有足够的内存或者硬盘存储数据太慢。理论上设置采样频率为被采集信号最高频率成分的2倍就够了,实际上工程中选用5~10倍,有时为了较好地还原波形,甚至更

高一些。

通常,信号采集后都要去做适当的信号处理,例如FFT等。这里对样本数又有一个要求,一般不能只提供一个信号周期的数据样本,希望有5~10个周期,甚至更多的样本。并且希望所提供的样本总数是整周期个数的。这里又发生一个困难,并不知道,或不确切知道被采信号的频率,因此不但采样率不一定是信号频率的整倍数,也不能保证提供整周期数的样本。所有的仅仅是一个时间序列的离散的函数x(n)和采样频率。这是测量与分析的唯一依据。数据采集卡,数据采集模块,数据采集仪表等,都是数据采集工具[7]。

综述,可以看出,不管原始信号是何种类型的变量,都必须转换为数字量以后才能通过并行口送入微计算机。数据采集系统主要部分有:(1)信号调理。多路转换器、可调增益放大器、抗混叠滤波器。

(2)采样/保持。采样/保持器。

(3)数模转换。A/D转换器(ADC),V/F(电压/频率转换)或I/F(电流/频率转换)变换器。

(4)数模转换。D/A转换器。

(5)其他。例如:定时/计数器、总线接口电路等[20]。

1.4 本设计所研究的问题及方法

本次课题设计主要采用A/D芯片进行数据转换时单片机的一个主要应用。

微型计算机的广泛应用,促进了测量仪表和测量系统的自动化、智能化。在A/D、D/A接口系统设计中,设计者的主要任务就是根据所需的D/A、A/D转换通道的技术要求吗合理的选择通道的结构以及按一定的技术、经济准则,恰当地选用所需的各种集成电路,在硬件设计的同时还必须考虑通道驱动程序的设计,较好的驱动程序可以使用同样规模的硬件设备发挥更高的效率。

本次用A/D芯片进行电压测量的设计,考虑了4方面的内容:1)如何选择适用的单片机(89C52)

2)如何针对系统的需求选择合适的A/D器件(MAX197)。

3)如何根据所选的A/D器件设计外围电路与单片机(895C2)的接口电路(通过Protel99se完成电路设计)。

4)利用KeilC51编写控制A/D器件进行数据采集(电压测量)的单片机程序。

通过本次设计,主要了解了MAX197芯片在单片机89C52中的使用方法,同时对其数据采集通道的选择、数据的读取和数据采集方式的选择进行近一步了解和学习。

2. 系统概况设计

2.1 系统设计框图

数据采集是单片机的一个重要应用。同时它也是单片机和传感器的重要接口。其中使用A/D芯片进行数据采集就是单片机的一个典型应用。当今,微机的广泛应用,促进了测量仪表和测量系统的自动化、智能化。因此本次制作一个“用A/D芯片进行电压测量”设计。以下图2-1为信号采

2.2 系统硬件构成及原理简介

2.2.1单片机

(1)单片机介绍

自20世纪70年代推出单片机以来,随着计算机技术的发展和它在控制系统中的应用,单片机以其体积小,可靠性高、控制共功能强、开发较为容易等特点,在智能仪表、机电仪化、实时控制、分布式多机系统、家

用电器等各个领域得到了广泛的应用。它的出现及发展使计算机技术从通用型数值计算领域进入到智能化控制领域。从此,计算机技术在两个重要领域——通用计算机领域和嵌入式计算机领域都得到了极大的发展。

单片微型计算机简称单片机,因为它主要用于控制系统,所以又称为微控制器。单片机是把组成微型计算机的各功能部件:中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、I/O接口电路、定时/计数器,以及串行通信接口等部件制作在一块芯片中,构成一个完整的计算机。

51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机[16,17]。

后来随着Flash Rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机即是基础入门的一个单片机,还是应用最广泛的一种。

(2)本次设计使用的89C52:

89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS 的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行

89C52的管脚图见图2-2,其管脚说明如下:

VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0

口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为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。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的

/PSEN信号将不出现。/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

振荡器的特性:

外接石英晶体或者陶瓷谐振器以及电容C1、C2接在放大器的反馈回路(AT89C52内部有一个用于构成内部振荡器的高增益反相放大电路,XTAL1、XTAL2分别是该放大器的输入和输出端)中构成并联振荡电路。

为了使装置能够被外部时钟信号激活,XATL1应该有效,而XTAL2应该被悬空。由于输入到内部的时钟信号电路通过了一个二分频的信号,外部信号的工作周期比没有别的要求,但是最大值和最小值的大小可以在数据表上观察出来。

当正常工作时,外部振荡器可以计算出XTAL1上的电容,最大可达到100pF。这是由于振荡器电容和反馈电容之间的相互作用。当外部信号是标准高电平或者低电平时,电容不会超过20pF。

空闲模式:

用户的软件都可以调用空置模式。当单片机出于这种模式,耗能就会

自然降低。特殊功能端和板子上的随机存储器在空置状态保持各自的电平。但是处理器阻止装置执行指令。空置模式会被激活如果端口处于复位状态或者中断系统有效。[2][4]

89C52的结构特点有:

?互补高性能金属氧化物半导体结构可擦可

?编程只读存储器/只读存储器/中央处理器

?12/24/33MHz操作

?三个16位的定时器/计数器

?可编程的时钟输出

?Up/Down定时器/计数器

?三级程序锁定系统

?8K/16K/32K片内程序存储器

?256字节片内RAM

?改进的快速脉冲编程算法

?布尔处理器

?32根可编程的输入/输出线

?六个中断源

?可编程的串行通道带有:——帧错误检测

?自动地址识别

?TTL和CMOS兼容逻辑电平

?64K片外程序存储空间

?64K片外数据存储空间

?MCS51单片机可兼容指令集

?闲置节能和掉电模式

?ONCE(On-Circuit仿真)模式

?四级中断优先级

?扩展温度范围(﹣40℃到﹢85℃)

图2-2 85C52的管脚图

2.2.2 A/D器件

(1) 概述

模拟-数字转换器简称为模数转换器,它是用来把连续的模拟信号转换为合适数字系统处理的数字信号,它是数据采集系统的核心,被广泛应用于闭环控制系统、数字通讯系统、空间遥测系统、数字电压表和混合仿真系统中。将模拟量转化为数字量的过程成为模数转换,常写为A/D转换。将模拟量转换为数字量的装置成为模数转换器(A/D转换器或ADC)。

在测控系统中,模数转换是非常重要的环节,尤其在以单片机或计算机为核心的数据采集系统中更是不可缺少。因为单片机只能识别数字信号,因此必须要通过A/D转换才能够得到计算机能够识别的数字信号。同时,A/D的转换速度和精度也是特别重要的,因为在有些情况下,如果A/D选择不当将会得不到预期的结果。如果说单片机是数据采集系统的核心,那么ADC就是主体(躯干),其他都是辅助功能。因此,模数转换器是数据采集系统的核心部分之一[7,12]。

(2)ADC的分类

1)按转换输出数据的方式,可分为串行与并行两种,其中ADC又可根据宽度分为8位、12位、14位、16位等。

2)按输出数据类型,可分为BCD码输出型和二进制数出行。BCD码输出采用输出千、百、十、个位的方法,由于它可以很方便地驱动LCD显示,故常用于诸如数字万用表等应用场合;二进制输出一般要将转换数据送单片机处理后使用。

3)按转换原理,可分为逐次逼近型、双积分型、计数器型和并行型。并行型ADC的转换速度最快,但因结构复杂而造价较高,计数器型ADC 结构很简单,但转换速度最慢,所以这两种很少使用;双积分型ADC的转换速度较慢,一般是ms级,但转换精度高,常用于数字式测量仪表中。逐次逼近型ADC的结构不太复杂,转换速度也很高,一般是ns级,且转换时间固定,不随输入信号的变化而变化。但逐次逼近型的ADC抗干扰能力相对积分的差些。在计算机应用系统中广泛采用[7,12]。

(3)ADC主要技术指标

ADC的性能指标是正确选用ADC芯片的基本依据,也是衡量ADC质量的关键问题。ADC的技术参数主要是静态参数和动态参数。其中静态以分辨率和转换误差最主要;动态参数主要的是转换时间。

1)分辨率

ADC的分辨率是指转换器所能分辨的输入模拟量的最小值,也就是使数字最低为(LSB)发生变化时的输入模拟量变化的最小值。理论上,ADC 的分辨率仅与最大输入电压(或电流)有关。在ADC器件性能上,通常用位数来表示分辨率。在最大输入电压相同的情况下,不同位数的ADC对应不同的分辨率。在一定范围内,位数越多,分辨率就越高。

2)转换误差

有时也称为转换精度。ADC的转换无偿有绝对误差和相对误差两种表示方法。ADC的绝对误差是指与输出数字量对应的理论模拟值与产生数字量的实际输入模拟值之间的差值。

引起ADC的误差的原因包括量化误差和设备误差。由于ADC各种元

器件的非理想特性造成的误差成为设备误差,如元器件参数的偏差、温度漂移等因素均可引起。设备误差包含失调误差、增益误差和非线性误差等。

需要注意的是,精度和分辨率是两个不同的概念/精度指的是转换结构相对与理论值的准确度;而分辨率指的是能对转换结果产生印象的最小输入量。分辨率高的ADC也可以因为设备误差的存在而精度不一定高。

3)转换时间

转换时间是描述ADC动态特性的技术参数。转换时间被定义为ADC 完成一次完整的转换所需要的时间,也就是从发出对输入模拟信号进行采样的命令开始,知道输出端产生完整而有效的数字量输出的这一段时间。

ADC的转换时间与许多因素有关,不同转换原理ADC有很大差别。对于各种ADC而言,比较器的响应时间、运算放大器的频宽度、时钟频率、输出位数、输出方式等因素对转换时间都会产生一定的影响。

4)采样/保持器

采集直流和变化非常缓慢的模拟信号时可不用采样保持器。对于其他模拟信号一般都要加采样保持器。如果信号频率不高,ADC的转换时间短,即采用高度ADC时,也可不用采样/保持器。

5)电源灵敏度

电源灵敏度是指ADC芯片的供电电源的电压发生变化时,产生的转换误差。一般用电源电压变化1%时相当的模拟量变化的百分数来表示。

6)量程

量程是指所能转化的模拟输入电压范围,分单极性、双极性两种类型。例如:

单极性量程为0~+5V,0~+10V,0~+20V。

双极性量程为-5V~+5V,-10V~+10V。

7)输出逻辑电平。

多数ADC的输出逻辑电平与TTL电平兼容。在考虑数字量输出与微计算机的数据总线接口时,应注意是否要三态逻辑输出,是否对数据进行锁存等。

8)工作温度范围

由于温度会对比较器、运算放大器、电阻网络等产生印象,故只在一

定的温度范围内才能保证额定精度指标。一般ADC的工作唯独范围为(0~70度)军用品的工作温度范围为(-55~+125度)。

9)其他参数

例如还有一些值得考虑的有满刻度误差、线性度、信噪比(SNR)、信号与噪声加失真之和之比(SINAD)和无寄生动态范围(SFDR)。

借鉴以上的指标,在选择ADC时还要综合考虑设计的诸项因素,如系统技术指标、成本、功耗、安装等。对于采样系统而言,选择何种ADC还需考虑的就是其在单片机的使用情况[16][23]。

2.2.3 MAX197 A/D芯片

单片机中的ADC芯片一般有3种:片内A/D芯片(目前,大量的单片机中自带ADC,例如ATMEL公司推出的90系列单片机,通称AVR单片机,设计上采用低功耗CMOS技术,而且在软件上有效支持C高级语言和汇编语言。较典型的有AT90S8535。)、片外串行总线的A/D芯片(其特点

是随着科技的发展期传输速率也可以做得很高,加上它体积小、占用单片

机的端口少,因此串行模数转换器的应用越来越广泛。较典型的有Maxim

公司的MAX195,他不仅速度快、精度高、功耗低,并且与单片机连接方便,编程简单,它在高精度的以单片机为核心的测控系统中是很好地选择。),还有一种也是在本次设计中所使用的A/D芯片是片外并行总线的A/D芯片[1][13]。

MAX197[1]芯片是Maxim公司推出的具有12位测量精度的高速A/D

转换芯片,只需单一电源供电,且转换时间很短,具有8路输入通道,还

提供了标准的并行接口——8位三态数据I/O口,可以和大部分单片机直接接口,使用十分方便。MAX197芯片的特点使其适用于作为信号采集芯片

的主要原因有:

?电源:单一5V电源,与MG100(妙腾)的供电方式和信号输出方

式相同。

?分辨率:12位分辨率、误差±0.5(LSB ),对于MG100的输出而

言,精度足够高。

51单片机数码管时钟程序

本人初学51,编写简单时钟程序。仅供参考学习 #include #define uint unsigned int #define uchar unsigned char Uchar code table_d[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1 }; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0xef}; void delay(uint); unsigned long i,num,t=1; void main() { TMOD=0X01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=1; while(1) { num=i/20;//i为秒位 if(i==1728000)//一天大概是这个秒吧,,,应该是,呵呵。就是世间到24时就归零。 i=0; //也可用下面这个部分来代替上面的。 /*if(i==20) { i=0; num++; if(num==5184000) num=0; }*/ //num=9; P2=7;//P2口为数码管控制端,我的是38译码器控制,就直接对其赋值来控制时,分,秒的显示; P0=table[i%100%10]; delay(t); P2=6; P0=table[i%100/10]; delay(t); P0=table_d[(num%60)%10]; P2=5; delay(t); P0=table[(num%60)/10]; P2=4;

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

51单片机实例程100讲全集

目录 目录 (1) 函数的使用和熟悉 (4) 实例3:用单片机控制第一个灯亮 (4) 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 (4) 实例5:将P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 (5) 实例6:使用P3口流水点亮8位LED (5) 实例7:通过对P3口地址的操作流水点亮8位LED (6) 实例8:用不同数据类型控制灯闪烁时间 (7) 实例9:用P0口、P1 口分别显示加法和减法运算结果 (8) 实例10:用P0、P1口显示乘法运算结果 (9) 实例11:用P1、P0口显示除法运算结果 (9) 实例12:用自增运算控制P0口8位LED流水花样 (10) 实例13:用P0口显示逻辑"与"运算结果 (10) 实例14:用P0口显示条件运算结果 (11) 实例15:用P0口显示按位"异或"运算结果 (11) 实例16:用P0显示左移运算结果 (11) 实例17:"万能逻辑电路"实验 (11) 实例18:用右移运算流水点亮P1口8位LED (12) 实例19:用if语句控制P0口8位LED的流水方向 (13) 实例20:用swtich语句的控制P0口8位LED的点亮状态 (13) 实例21:用for语句控制蜂鸣器鸣笛次数 (14) 实例22:用while语句控制LED (15) 实例23:用do-while语句控制P0口8位LED流水点亮 (16) 实例24:用字符型数组控制P0口8位LED流水点亮 (17) 实例25:用P0口显示字符串常量 (18) 实例26:用P0 口显示指针运算结果 (19) 实例27:用指针数组控制P0口8位LED流水点亮 (19) 实例28:用数组的指针控制P0 口8 位LED流水点亮 (20) 实例29:用P0 、P1口显示整型函数返回值 (21) 实例30:用有参函数控制P0口8位LED流水速度 (22) 实例31:用数组作函数参数控制流水花样 (22) 实例32:用指针作函数参数控制P0口8位LED流水点亮 (23) 实例33:用函数型指针控制P1口灯花样 (25) 实例34:用指针数组作为函数的参数显示多个字符串 (26) 实例35:字符函数ctype.h应用举例 (27) 实例36:内部函数intrins.h应用举例 (27) 实例37:标准函数stdlib.h应用举例 (28) 实例38:字符串函数string.h应用举例 (29) 实例39:宏定义应用举例2 (29) 实例40:宏定义应用举例2 (29) 实例41:宏定义应用举例3 (30)

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

8位数码管显示电子时钟c51单片机程序

8位数码管显示电子时钟c51单片机程序 时间:2012-09-10 13:52:26 来源:作者: /* 8位数码管显示时间格式05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=19,hour=23,second; //定义并初始化为12:30:00 void delay(unsigned intt) { while(--cnt); } /******************************************************************/ /* 显示处理函数 */ /******************************************************************/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0x40; //显示"-" StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0x40; //显示"-" StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } main()

基于51单片机的温度控制系统的设计

基于单片机的温度控制系统设计 1.设计要求 要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下: ①数码管或液晶显示屏显示室内当前的温度; ②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键; ③DS18B20温度采集; ④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。 2.方案论证 根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。 方案一:使用LED数码管显示采集温度和设定温度; 方案二:使用LCD液晶显示屏来显示采集温度和设定温度。 LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED数码管要高。综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。

3.硬件设计 根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。其相互联系如下图1所示: 图1 硬件电路设计框图 单片机时钟电路 形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。本次设计采用内部时钟方式,如图2所示。 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出端,其频率范围为~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一 起形成了一个自激振荡电路,为单片机提供时钟源。 复位电路 复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。 单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统 图2 单片机内部时钟方式电路 图3 单片机按键复位电路

51单片机实用汇编程序库(word)

51 单片机实用程序库 4.1 流水灯 程序介绍:利用P1 口通过一定延时轮流产生低电平 输出,以达到发光二极管轮流亮的效果。实际应用中例如:广告灯箱彩灯、霓虹灯闪烁。 程序实例(LAMP.ASM) ORG 0000H AJMP MAIN ORG 0030H MAIN: 9 MOV A,#00H MOV P1,A ;灭所有的灯 MOV A,#11111110B MAIN1: MOV P1,A ;开最左边的灯 ACALL DELAY ;延时 RL A ;将开的灯向右边移 AJMP MAIN ;循环 DELAY: MOV 30H,#0FFH D1: MOV 31H,#0FFH D2: DJNZ 31H,D2 DJNZ 30H,D1 RET END 4.2 方波输出 程序介绍:P1.0 口输出高电平,延时后再输出低电 平,循环输出产生方波。实际应用中例如:波形发生器。 程序实例(FAN.ASM): ORG 0000H MAIN: ;直接利用P1.0 口产生高低电平地形成方波////////////// ACALL DELAY SETB P1.0 ACALL DELAY 10 CLR P1.0 AJMP MAIN ;////////////////////////////////////////////////// DELAY: MOV R1,#0FFH DJNZ R1,$ RET

五、定时器功能实例 5.1 定时1 秒报警 程序介绍:定时器1 每隔1 秒钟将p1.o 的输出状态改变1 次,以达到定时报警的目的。实际应用例如:定时报警器。程序实例(DIN1.ASM): ORG 0000H AJMP MAIN ORG 000BH AJMP DIN0 ;定时器0 入口 MAIN: TFLA G EQU 34H ;时间秒标志,判是否到50 个 0.2 秒,即50*0.2=1 秒 MOV TMOD,#00000001B;定时器0 工作于方式 1 MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 11 SETB EA ;开总中断 SETB ET0 ;开定时器0 中断允许 SETB TR0 ;开定时0 运行 SETB P1.0 LOOP: AJMP LOOP DIN0: ;是否到一秒//////////////////////////////////////// INCC: INC TFLAG MOV A,TFLAG CJNE A,#20,RE MOV TFLAG,#00H CPL P1.0 ;////////////////////////////////////////////////// RE: MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 RETI END 5.2 频率输出公式 介绍:f=1/t s51 使用12M 晶振,一个周期是1 微秒使用定时器1 工作于方式0,最大值为65535,以产生200HZ 的频率为例: 200=1/t:推出t=0.005 秒,即5000 微秒,即一个高电

51单片机常用数码管显示程序

51单片机常用数码管显示程序---之汇编篇 2010-07-21 03:35:46| 分类:单片机| 标签:51单片机数码管汇编程序|字号大中小订阅一)显示数据缓存寄存器70H,71H,72H,73H,74H,75H,76H,77H。 START: MOV 70H,#1 MOV 71H,#2 MOV 72H,#3 MOV 73H,#4 MOV 74H,#5 MOV 75H,#6 MOV 76H,#7 MOV 77H,#8 ACALL DISP AJMP START DISP: MOV R1,#70H MOV R5,#0FEH PLAY: MOV P0,#0FFH MOV A,R5 ANL P2,A

MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,P2 JNB ACC.7,ENDOUT RL A MOV R5,A MOV P2,#0FFH AJMP PLAY ENDOUT: MOV P2,#0FFH MOV P0,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;共阳数码管 ; 1MS延时子程序,LED显示用 DL1MS: MOV R6,#14H ; DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET END 二)

START:;ORG 00H MOV 70H,#0C0H;0 MOV 71H,#0F9H;1 MOV 72H,#0A4H;2 MOV 73H,#0B0H;3 MOV 74H,#99H ;4 MOV 75H,#92H ;5 MOV 76H,#82H ;6 MOV 77H,#0F8H;7 ACALL DISP AJMP START DISP: MOV P0,70H CLR P2.7 ACALL DL1MS SETB P2.7 MOV P0,71H CLR P2.6 ACALL DL1MS SETB P2.6 MOV P0,72H CLR P2.5 ACALL DL1MS SETB P2.5 MOV P0,73H CLR P2.4 ACALL DL1MS SETB P2.4 MOV P0,74H CLR P2.3 ACALL DL1MS SETB P2.3 MOV P0,75H CLR P2.2 ACALL DL1MS SETB P2.2 MOV P0,76H CLR P2.1 ACALL DL1MS SETB P2.1 MOV P0,77H CLR P2.0 ACALL DL1MS SETB P2.0 RET

基于51单片机最小系统设计

基础强化训练任务书 学生姓名:董勇涛专业班级:电子0902 指导教师:洪建勋工作单位:信息工程学院 题目:基于51单片机最小系统设计 一、训练目的 主要目的就是对学生进行基础课程、基本技能、基本动手能力的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。 二、训练内容和要求 1、基础课程和基本技能强化训练 (1)设计一个基于51单片机最小系统电路; (2)对所设计电路的基本原理进行分析; 2、文献检索与利用、论文撰写规范强化训练 要求学生掌握基本的文献检索方法,科学查找和利用文献资料,同时要求学生获得正确地撰写论文的基本能力,其中包括基本格式、基本排版技巧和文献参考资料的写法、公式编排、图表规范制作、中英文摘要的写法等训练。 3、基本动手能力和知识应用能力强化训练 (1)学习PROTEL软件; (2)绘制电路的原理图和PCB版图,要求图纸绘制清晰、布线合理、符合绘图规范; 4、查阅至少5篇参考文献,按《武汉理工大学课程设计工作规范》要求撰写基础强化训练报告书,全文用A4纸打印。 三、初始条件 计算机;Microsoft Office Word 软件;PROTEL软件 四、时间安排 1、20011年7 月 11日集中,作基础强化训练具体实施计划与报告格式要求的说明; 学生查阅相关资料,学习电路的工作原理。 2、2011年7 月 12日,电路设计与分析。 3、2011年7 月 13日至2010年7 月 14日,相关电路原理图和PCB版图的绘制。 4、2011年7 月15日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

51单片机实例(含详细代码说明)

1.闪烁灯 1.实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在 执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程 序是如何设计呢?下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个 2 2+2×248=498 20× DJNZ R7,$ 2个2×248 (498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为10.002ms。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时, 延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms, 10ms×R5=200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管 的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平, 即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0 端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。 5.程序框图 如图4.1.2所示

51单片机(四位数码管的显示)程序[1]

51单片机(四位数码管的显示)程序 基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管 上显示P ”个字符;2)等待按键,如按了任何一个键,则将这 4个字符清除, 改为显示0000”个字符(为数字的0)。 E3最佳答案 下面这个程序是4x4距阵键盘丄ED 数码管显示,一共可以到0-F 显示,你可以稍微 改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你! #i nclude un sig ned char code Dig[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1 ,0x86,0x8e}; //gongyang 数码管 0-F 代码 void key_delay(void) { int t; for(t=0;t<500;t++); } un sig ned char k; //设置全局变量k 为键盘的键值 键盘延时函数 键盘扫描函数 ***************************** */ //延时函数

void keyscan(void) //键盘初始化 //有键按下? //延时 //确认真的有键按下? //使行线 P2.4 为低电平,其余行为高电平 //a 作为缓存 //开始执行行列扫描 { case 0xee:k=15;break; case 0xde:k=11;break; case 0xbe:k=7;break; case 0x7e:k=3;break; default:P2 = 0xfd; //使行线 P2.5 为低电平,其余行为高电平 a = P2; switch (a)//键盘扫描函数 { unsigned char a; P2 = 0xf0; if(P2!=0xf0) { key_delay(); if(P2!=0xf0) { P2 = 0xfe; key_delay(); a = P2; switch (a)

基于stc89c51单片机温控系统设计与制作学位论文

commonly used circuit, makes the whole design is more complete, more flexible. Keywords: DS18B20; STC89C51; MCU; control; simulation

1.绪论 1.1 温度控制系统设计的背景及意义 随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。 温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。 单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。 1.2 饮水机温度控制系统的目的 饮水机的温度控制系统,能有效的利用水资源和电源。过低的温度或者过高的温度都会使水资源造成浪费,在全球水资源缺乏的今日,我们更应该掌握好水温的控制。本设计为一个单片机的饮水机的温度控制系统,此系统可以实时检测饮水的水温,并且可以通过液晶管显示饮水机的温度,可以通过键盘对饮水机的水进行加热,当低于设定的温度下限时进行加热,本设计是对温度进行实时监测与控制,设计的系统主要实现了以下功能: 1.在液晶显示当前温度的大小,精度为四分之一度,并显示温度控制的上限值和下限值。 2.单位转换,把显示温度的单位从摄氏温标与华氏温标进行互换。 3.温度控制,当温度超出上限值就关闭继电器,当温度低于下限值就启动继电器。 4.温度控制的上限和下限的设置,通过矩阵键盘的输入修改上限值和下限值。 5.蜂鸣器报警,当温度超出上限值蜂鸣器进行报警。 1.3 系统总体设计思想 方案一:使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电

基于51单片机的交通控制系统模拟设计

基于51单片机的交通控制系统模拟设计 学院:电气与控制工程学院 专业:自动化 姓名:

目录 1. 设计思路 (2) 2.2显示界面方案 (2) 2.3输入方案: (2) 3 单片机交通控制系统总体设计 (2) 3.1单片机交通控制系统的通行方案设计 (2) 3.2单片机交通控制系统的功能要求 (3) 3.3单片机交通控制系统的基本构成及原理 (3) 4智能交通灯控制系统的硬件设计 (4) 4.1系统硬件总电路构成及原理 (4) 4.2系统硬件电路构成 (4) 4.3系统工作原理 (4) 5 系统软件程序的设计 (6) 5.1程序主体设计流程 (6) 参考文献 (17) 设计心得体会 (18) 附录 (19) 基于单片机的交通控制系统模拟设计

1. 设计思路 (1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了紧急状况处理和通行时间可调这两项特特殊功能。 (3)进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。 (4)进行软件系统的设计,对于本系统,采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。 2.单片机交通控制系统方案的比较、设计与论证 2.1 电源提供方案 采用单片机控制模块提供电源。改方案的优点是系统简明扼要, 节约成本;缺点是输出功率不高。 2.2 显示界面方案 采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。 2.3 输入方案: 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 3 单片机交通控制系统总体设计 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下所示。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始。 通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下: ◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向禁止通行,南北向允许通行。 ◆南北方向绿灯灭,东西方向红灯灭,同时黄灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

毕业设计(论文)-基于AT89S51单片机的教室灯光智能控制系统设计

摘要 摘要 本课题针对教室灯光的控制,分析了教室灯光智能控制的原理和实现方法,提出了基于单片机设计教室灯光智能控制系统的思路,并在此基础上开发了智能控制系统的硬件模块和相应软件部分。 该系统以AT89S51单片机作为控制模块的核心部件,采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度;根据教室合理开灯的条件,通过对人体存在信号和环境光信号的识别与判断,完成对教室灯光的智能控制,避免了教室用电的大量浪费。系统还具有报警功能;同时还采用了软/硬件的“看门狗”等抗干扰措施。 本系统程序部分采用C语言编写,采用模块化结构设计、条理清晰、通用性好,便于改进和扩充。该系统具有体积小,控制方便,可靠性高,针对性强,性价比高等优点,可以满足各类院校对教室灯光控制的要求,很大程度的达到节能目的。 关键词:智能控制器热释红外传感器单片机 1

引言 引言 当前,随着经济的飞速发展,能源短缺问题日益突出,成为一个国家经济发展的“瓶颈”。作为工业生产和人民生活不可或缺的电力能源更是如此。尤其现今越来越提倡低碳生活,节约能源已经成为一种全球共识,而作为培养社会精英的高校更应该起到榜样的作用。但是目前在校园内,教室灯火通明,却空无一人的现象屡见不鲜,这不仅造成了严重的资源浪费,也对高校的形象造成了很坏的影响。本文所研究的教室灯光控制系统就可以很好地实现节约能源的作用。 1 系统硬件组成 整个系统由中央控制电路、2×4按键电路、光敏传感电路、继电器驱动电路、时钟电路、液晶显示电路六个模块组成。其中,光敏传感电路模块主要完成对教室当前光线明暗程度的判定,时钟电路主要实现时基功能,两者分别提供光照和定时数据供以单片机为核心的中央控制模块进行逻辑判断,单片机最终将运算结果输出到液晶显示屏,同时对教室灯光进行控制。整个系统的硬件框图如图1所示。 1.1 中央控制模块 系统中,中央控制器主要用于接收两个外部数据,由此判断是否定时时间已到,教室光照是否充足。控制器根据这两个外部数据来进行逻辑运算,从而实现定时开关灯、刷新液晶显示屏,同时可以通过键盘设置时间日期、查看相关信息 根据系统设计要求,控制器选择了宏晶科技公司提供的STCl2C4052AD型单片机。该款是一种高速、高可靠性单片机,工作电压5.5~3.4V,Flash程序存储器4K字节,SRAM 为256字节,2个定时器,8路8位A/D转换器,可通过串口实现在线编程、A/D转换、看门狗等功能。 1.2 液晶显示电路 为了实现较好的人机交互界面,在本系统中采用1602液晶显示屏来显示用户的设定作息时间及用户所查询的信息。 点阵字符型液晶显示器是专门用于显示数字、字母、图形符号及少量自定义符号的显示器。这类显示器把LCD控制器/点阵驱动器/字符存贮器全做在一块印刷板上。系统选用日立公司的HD44780液晶显示。HD44780具有简单而功能较强的指令集,可实现字符移动/闪烁等功能。与MCU的传输可采用8位并行传输或4位并行传输2种方式。液晶显示电路如图2所示。 2

基于51单片机的多机通信系统设计

单片机多机通信系统 一、引言 随着单片机技术的不断发展,单片机的应用已经从单机向多机互联化方向发展。单片机在实时数据采集和数据处理方面,有着成本低、能满足一般要求、开发周期短等优点,其在智能家居、计算机的网络通信与数据传输、工业控制自动化等方面有着广泛的应用。 本系统是面向智能家居应用而设计的。在初期,采用红外无线通信方式,其传输距离短,适于一般家庭应用,且成本相对较低;待方案成熟、成本允许,可以改用GSM无线通信方式。 二、系统原理及方案设计 1 、系统框架介绍 本系统为基于51单片机的多机红外无线通信系统,由三个51单片机模块组成。其中一个作为主机(即上位机),负责接收来自从机1(即下位机)采集的数据信息,以及向从机2(即下位机)发送控制信息。从机1是数据采集模块,采集温度、光强等室内数据,并将其发送给主机。主机经分析处理,作出相应判断,并给从机2发送控制信息,使由从机2控制的电机作出相应反应,调节室内环境状况。 系统总体框图如下图1所示,图2为红外收发模块简图:

图1 系统总体框图 图2 红外收发模块简图 2 、多机通信原理介绍 在多机通信系统中,要保证主机与从机间可靠的通信,必须要让通信接口具有识别功能,51单片机串行口控制寄存器SCON中的控制位SM2正是为了满足这一要求而设置的。当串行口以方式2或方式3工作时,发送或接收的每一帧信息都是11位的,其中除了包含SBUF 寄存器传送的8位数据之外,还包含一个可编程的第9位数据TB8或RB8。主机可以通过对TB8赋予1或0,来区别发送的是数据帧还是地址帧。 根据串行口接收有效条件可知,若从机的SCON控制位SM2为1,

基于51单片机的密码锁系统设计

题目:密码锁系统设计 一、设计要求: 1.该设计的密码锁首先需要有最基本的功能,就是可以显示在用户按下正确并与之相对应的密码时,密码锁级整个系统会做出相应的反应。 2.加入了蜂鸣器,如果四位密码说如正确,按确认后,蜂鸣器会响起。 3.加入红灯和绿灯,当按键密码说如错误时,红灯亮起,输入正确时,绿灯亮起。 二、主要功能模块: 密码锁控制系统主要功能模块单片机主控电路、单片机辅助控制模块,按键控制电路和数码管显示电路组成。根据具体情况选择辅助单片机的型号,和数码管,开关等硬件设备进行设计。 三、要求完成的主要任务: 1. 根据密码锁的基本功能完成硬件电路的搭建能要求完成提供硬件电路图。 2. 使用C51语言完成软件部分设计,实现密码锁的响应功能。 四、时间安排: 2018.11.11~2018.11.20 收集资料,确定设计方案 2018.11.20~2018.11.25 系统设计 2018.11.25 ~2018.12.7 撰写课程设计论文及提交 指导教师签名:年月日

目录 摘要 (5) ABSTRACT (5) 一、需求分析 (3) 二、方案设计 (5) 三、硬件设计分析 (5) 3.1 单片机89C52 (5) 3.1.1单片机最小系统 (7) 3.2显示模块 (8) 3.2.1 LCD显示屏内容及连接 (8) 3.2.2数码管内容及连接 (9) 3.3 蜂鸣器与LED灯连接 (10) 3.4 按键输入 (11) 四、软件设计分析 (12) 4.1 主程序 (12) 4.2 按键程序 (13) 4.3 按键处理程序 (14) 4.4 LCD显示程序 (15) 4.5数码管显示程序 (16) 五、调试 (17) 5.1使用的平台 (17) 5.2功能的调试 (17) 六、总结 (21) 七、参考文献 (21) 附录 (22)

基于51单片机的流水灯系统设计

1. 设计思路2 1.1电源模块3 1.2显示模块3 1.3花样灯模块3 2单片机花样灯与数码显示系统总体设计错误!未定义书签。 2.1三个模块的阐述 2.2单片机花样灯与数码显示控制系统的通行方案设计错误!未定义书签。 2.3单片机花样灯与数码显示控制系统的功能要求错误!未定义书签。 2.4单片机花样灯与数码显示控制系统的基本构成及原理错误!未定义书签。 3花样灯与数码显示系统的硬件设计7 3.1AT89C51单片机简介7 3.1.1 AT89C51单片机的主要特性8 3.1.2 主要引脚功能9 3.2系统硬件总电路构成及原理10 3.2.1系统硬件电路构成11 3.2.2系统工作原理11 4系统软件程序的设计11 4.1程序主体设计流程11 4.2理论基础知识12 4.2.1数组及while、switch等语句错误!未定义书签。 4.2.2软件延时原理错误!未定义书签。 4.3程序模块设计错误!未定义书签。 4.3.1花样灯的设计错误!未定义书签。 4.3.2 LED数码管显示错误!未定义书签。 4.4系统软件调试16 4.4.1 proteus仿真16 4.4.2keil仿真17 参考文献 (17) 设计心得体会 (18) 附录 (19)

基于单片机的花样流水灯及其数码显示技术摘要:自计算机问世以来,单片机技术在社会各领域中得到了广泛的应用。在流水灯控制系统中,单片机更是取代了由齿轮调节延迟时间的旧式市发展速度,成为日后此系统中的核心部分。由于单片机具有一些突出的优点:体积小、重量轻、电源单一、功耗低;功能强、价格低;数据大都在单片机内部传送,运行速度快、抗干扰能力强、可靠性高,所以单片机被广泛的应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口、计算机通信以及单片机的多级系统等领域。本文主要讲的是单片机,课题名称为多按键花样流水灯,它使我们学会了如何使用单片机控制我们日常生活中的多设备设施的应用。通过本课题的设计以后,使我了解到了单片机的许多方面的应用。 关键词:花样灯单片机数码管 1. 设计思路 (1)为了使设计具有更强的针对性和实用性,使用单片机设计的控制方案,基于AT89C51的单片机设计方案。 (2)确定系统控制的总体设计,包括流水灯变化方案设计以及系统应拥有的各项功能,在这里,本设计除了有流水灯状态控制能实现基本的变化功能,还增加了数码管显示提示。 (3)设计分为3个模块,分别为电源模块,数码显示模块,花样灯模块,并对

基于51单片机的LED显示系统设计

基于51单片机的LED显示系统设计 引言 最近,笔者在某工厂大型生产线上基于现场总线的物流呼叫系统项目中发现,由于所需要显示的信息流比较大,用现有的基于AT89C51 芯片组成的 LED 显示屏控制系统,由于受到微处理器的处理速度、体系架构、寻址范围、 外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、 动态显示效果复杂的情况下,得到良好的动态视觉效果。针对以上情况,在利 用现有资源的基础上,重新设计和研制了一种全新的,由32 位高性能ARM 微 处理器组成的LED 显示屏控制图1 系统的硬件结构框图系统,并通过RS485 接口与现场总线中的上位机进行实时数据通信,实现整个系统的信息显示。 1 系统硬件结构该系统的硬件组成框图如图1 所示。图1 中,微处理器是AtmeEL 公司生产的AT91M42800A,它采用基于ARM7TDMI 内核 的高性能32 位RISC 架构的处理器,有着丰富的外围接口资源。 AT91M42800A 有2 个USART 外围接口,系统用USART0 口和MAX485 组成485 接口电路,具体的接口电路如图2 所示。AT91M42800A 还有2 个SPI 口,每个SPI 口有4 根片选信号,通过片选均可以支持外接15 个设备。该系统的 做法是将2 个SPI 口分别接到列驱动电路和行驱动电路上,并利用各自的2 个 片选信号CS0 和CS1 完成驱动电路的信号锁存和允许输出控制,SPI 的CLK 输出作为驱动电路的时钟信号输入,工作频率为4 MHz。SRAM 接口电路由2 块HY57V641620 芯片并联组成,HY57V641620 是Hynix 公司生产的4 Banks×1M×16位的SDRAM 芯片,单片HY57V641620 存储容量为4 组×16M 位(8 MB),支持自动刷新,16 位数据宽度。为充分发挥32 位CPU 的数据处理能力,系统用2 块8 ns 的HY57V641620 组成32 位SDRAM 存储器系统。

相关文档
最新文档