AT89C2051

2024-06-02

AT89C2051(通用7篇)

AT89C2051 篇1

摘要:本工程设计是应用AT89C2051单片机驱动的趣味玩具小车, 其趣味性主要体现在其功能上:一是具有音乐和闪灯的;二是靠光线 (如手电筒) 触发。其中音乐的内容和闪灯闪亮的方式的修改是非常之方便的。本设计以廉价的AT89C2051单片机作为控制器, 是玩具智能化发展的有效途径。

关键词:音乐,闪灯,光线触发,AT89C2051单片机

本设计更是以单片机中最小巧低廉之一的AT89C2051单片机为控制核心, 设计的趣味玩具小车, AT89C2051只有20只引脚 (其中I/O引脚只有15只) 、具有2KB的片内ROM、128字节的片内RAM、8个辅助寄存器。在不附加任何外围电路的情况下就能实现大部分复杂的逻辑控制功能。对于I/O端口数不多、程序容量较小的的实际应用中, 使用AT89C2051单片机的确是高性价比的应用。

1 控制要求

1) 模型图主要由电动小车、AT89C2051单片机为核心的控制电路、喇叭、闪灯、光敏二极管和触发光源构成。

2) 电源开关打开后, 接到第一次触发信号后小车将伴随音乐和闪灯前进, 音乐演奏后, 小车和闪灯都将停止, 等待下次触发。

3) 第二次触发后小车将伴随音乐和闪灯后退, 音乐演奏完后, 小车和闪灯都将停止, 等待下次触发。

4) 就这样, 奇数次触发使小车前进, 偶数次触发使小车后退。

5) 光电二极管应安装在车顶并设计一个可调节亮度遮光装置, 以调节控制灵敏度和适合白天/夜晚选择使用。

2 趣味玩具小车电路的组成

电路主要由AT89C2051单片机最小应用系统、光电触电路、闪灯驱动电路、音频驱动电路、马达启动和正反转驱动电路构成。

3 趣味玩具小车的软件系统设计

3.1 单片机资源分配及软件系统的设计方案

1) 趣味小车的控制任务可分为三大事件:一是小车行走控制;二是音乐播放;三是闪灯控制。

2) 在本工程设计中小车的行走控制程序放在主程序的开头部分;音乐播放程序放在主程序的后面部分, 同时将占用一个定时中断源形成10m s定时作为音乐节拍控制的单位时间;闪灯的控制程序将占用一个定时中断源。

3) 主程序的结构是:程序的开头是等待触发指令 (P3.5低电平) 到来的状态, 接着的任务是设计定时参数、开中断、播放音乐、结束程序回到等待触发指令到来的状态。

3.2 源程序

3.2.1 ROM引导区与主程序

ORG 0000H

LJ MP START;跳至主程序区

ORG 000BH;定时中断0入口

LJ MP DSZD0;跳至定时中断服务程序0区

ORG 0030H;常规程序存储区

START:

MOV SP, #50H

MOV 20H, #00H

MOV 21H, #55H;置闪灯初始状态

MAIN:

J B P3.2, $;等待触发

MOV TH0, #0D8H;设置10m s定时参数

MOV TL0, #0EFH

MOV TMOD, #01H

MOV IE, #82H;开中断

CPL P3.4;反转

CLR P3.5;小车启动

LOOP:;音乐播放

MOV DPTR, #DAT;表头地址送DPTR

MUSIC0:

NOP

CLR A

MOVC A, @A+DPTR;查表取代码 (调值、或休止符、或结束符)

J NZ MUSIC1;是00H, 则结束

LJ MP MAIN;回到等待下次触发

MUSIC1:

CJ NE A, #0FFH, MUSIC2;是否休止符?

LCALL XZ100;休止100m s

LJ MP MUSIC0;取下一个代码

MUSIC2:

NOP;如R6≠00且R6≠0FFH, 继续取节拍码

MOV R6, A

INC DPTR

MOVC A, @A+DPTR;取节拍代码

MOV R7, A;节拍码送R7

SETB TR0;启动计数

LCALL MUSIC;调用调值播放程序

MOV A, 20H;闪灯控制

MOV P1, A

CPL A

MOV 20H, A

LJ MP MUSIC0;继续取调值

3.2.2 子程序模块

4 结论

本论文设计, 其趣味性主要体现在其功能上:一是具有音乐和闪灯的;二是靠光线 (如手电筒) 触发。

其中音乐的内容和闪灯闪亮的方式的修改是非常之方便的。本设计以单片机中最小巧低廉的AT89C2051为控制核心, 应用光源触发, 具有闪灯和声音, 涉及到一定的电子电工理论知识, 又要有扎实的实际应用能力。

参考文献

[1]AT89C2051 Data sheet.ATMEL.INC

[2]李华等.MCS-51系列单片机实用接口技术.北京航空航天大学.

[3]梅晓蓉等.自动控制元件及线路.北京科学出版社, 2005.

AT89C2051 篇2

单片机控制已成为今天电子设计追求的目标之一[1,2,3,4,5],本文将这种控制技术应用于温度测量中。AT89C2051是美国Atmel公司生产的低电压、高性能CMOS 8位单片机[6,7],片内含有2 KB的反复擦写的只读程序存储器和128 B的随机存取数据存储器(RAM)。美国DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能传感器[8,9]。数字温度计是以DS18B20为检测元件,由AT89C2051作为主控制器的温度计,具有功耗低、结构简单、读数方便、测温范围广、测温准确的特点。

1 电路构成及工作原理

1.1 硬件设计

由 AT89C2051构成的温度计主要由三部分组成:DS18B20温度传感器、单片机AT89C2051、由LED数码管构成的显示模块。其系统原理框图如图1所示。DS18B20作为单片机AT89C2051的外部信号源,把所采集到的温度转换为数字信号,通过I/O接口传给2051,2051启动ROM内的控制程序驱动LED数码管,通过I/O接口和数据线(单片机和数码管的接口)把数据传送给数码管,将采集到的温度显示出来。

1.2 总电路图

基于AT89C2051的温度测量系统电路图把温度转化成带符号的数字信号(以十六位补码形式,占两个字节),若采用带屏蔽的双绞电缆线,连线的长度可以达到150 m,输出脚I/O直接与单片机的P3.4相连,R1为上拉电阻,传感器采用外部电源供电。AT89C2051是整个系统的核心部分,内含2 KB的FLASH ROM,用户程序存放在这里。显示器模块由四位一体的共阳数码管和四个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。

产品的主要技术指标:测量范围: -55~+125 ℃,测量精度:0.5 ℃;反应时间小于等于500 ms。

2 软件设计

2.1 采集模块

该模块选用单线温度传感器DS18B20完成温度采集。单片机AT89C51对DS18B20访问流程如下:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。根据DS18B20的通讯协议,需经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令(指令代码CCH)并置标志位,根据标志位来判断是否初始化成功,最后发送RAM指令(指令代码44H)DS18B20开始转换,再读出温度转换值(指令代码BEH),读取的温度值高位字节送27H单元,低位字节送26H单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。

2.2 主处理模块

主处理模块主要是将各个模块进行协调处理以实现数据交互。主处理模块首先完成初始化工作,初始化后进入循环处理,在循环过程中获得采集模块的数据,并将数据进行处理,根据处理后的结果进行显示。主处理的流程图如图3所示。

2.3 显示模块

采用动态扫描的方法,其中P3.0,P3.1,P3.2,P3.3控制位选,P1控制段选。由P3.0,P3.1,P3.2,P3.3向各位轮流输出扫描信号,使每一瞬间只有一个数码管被选通,然后由P1送入该位所要显示的字形码,点亮该位字形段显示的字形。在P1送出的码段和P3.0,P3.1,P3.2,P3.3送出的位段的配合控制下,使各个数码管轮流点亮显示各自的字形。

3 结 语

该设计测温传感器采用改进型智能温度传感器DS18B20,测温范围为-55~+125 ℃,最大分辨率可达0.062 5 ℃,可以直接读出被测温度值,而且采用单线制与单片机相连,减少了外部的硬件电路,同时可直接将温度转化成串行数字信号供微机处理。

摘要:利用单片机AT89C2051作为控制器,以及用改进型智能温度传感器DS18B20作为温度采集器,设计了一款数字温度计。该数字温度计能够测出-55~+125℃之间的温度,与传统的温度计相比,具有读数方便、测温范围广、测温准确等特点,适合日常生活、工业生产和科学研究等领域对温度测量的需要。

关键词:温度测量,DS18B20,AT89C2051,数字温度计

参考文献

[1]彭为,黄科,雷道仲.单片机系统设计实例精讲[M].北京:电子工业出版社,2006.

[2]余锡存,曹国华.单片机原理及接口技术[M].西安:西安电子科技大学出版社,2000.

[3]刘畅生,史俊杰.新型集成电路简明手册及典型应用(下册)[M].西安:西安电子科技大学出版社,2005.

[4]沙占友,孟志永,王彦明.单片机外围电路设计[M].北京:电子工业出版社,2006.

[5]任家才.单片机实验与实践[M].北京:高等教育出版社,2006.

[6]郑敏,杨坤涛.用AT89C2051自身接口实现温度检测数码管动态显示和键盘扫描[J].安徽科技学院学报,2006,20(1):18-21.

[7]吕宏强.基于DS1620和AT89C2051的数字温度计[J].现代电子技术,2003,26(6):81-86.

[8]王明慧.数字温度传感器DS18B20在化学工业现场温度检测中的应用[J].计算机与化学应用,2007,24(9):1249-1251.

[9]江世明,刘先任.基于DS18B20的智能温度测量装置[J].邵阳学院学报:自然科学版,2004,1(4):28-29.

AT89C2051 篇3

电子秤是利用称重传感器作为变换元件,把被称物体的重量按一定的比例关系转换成与其相应的电信号,用电子仪表进行测量和显示的装置。

1 系统硬件设计

1.1 系统构成

本系统[1]由压力传感器、放大器电路、A/D转换器、中央处理器、LED共5大部分组成。

电子秤系统如图1所示它由传感器、A/D转换和显示器、单片机等构成。

由电阻应变片组成的传感器,将微弱的称重信号,经高精度的差分放大,A/D转换器将放大后称重模拟信号转换成数字量提供LED显示。

1.2 AT89C2051管脚功能

AT89C2051[2]是ATMEL公司生产的一种高性价比单片机,内置8位CPU、128×8RAM、2K闪烁存储器、2个16位计数器/定位器、15个I/O口和5个中断源,且有全双工串行口通信和程序加密功能,构成了一个完整的单片机系统。对于简单的应用对象,用一片AT89C2051即可满足,但对于复杂的应用对象,常常需要有一些其它功能,如A/D、数显等,必须对其进行功能扩展,以满足实际需要。因为AT89C2051在设计时,对输出口进行了简化,形成了仅有20个引脚的芯片。由于引脚的限制,该单片机无专用的地址、数据和控制总线,且数量较少。

1.2.1 AT89C2051硬件结构

硬件结构如图2所示。

1)端口PI可以用作为8位双向I/O引脚控制,P1.2至P1.7提供内部提升电阻,P1.0及P1.1则需要外加提升电阻,P1.0也作为内部模拟比较器的负端(A1)输入,B的输出缓冲器可以吸20MA而直接驱动LED显示器,6是比较器输出端。

2)端口引脚P3 0~5及7可以作为7位双向I/0引脚控制,并提供内部提升电阻,6位用于内部比较器输出控制,无法做一般I/O控制,P3口输出缓冲器可以吸入20MA电流。

1.3 压力传感器与A/D转换电路的理想连接电路

由压力传感器[3]与A/D转换器连接电路图3可以看到,压力传感器和A/D转换器之间并没有采用放大器电路,这是由ADS1100的内部性能决定的。ADS1100的模/数转换器核由一个差分开关电容-调节器和一个数字滤波器组成调节器测量正模拟输入和负模拟输入的压差并将其与基准电压相比较在ADS1100中基准电压即电源电压数字滤波器从调节器接收高速位流并输出一个代码该代码是一个与输入电压成比例的数字。

1.4 静态显示接口

AT89C2051是一种高性能低价位单片机,但因其引脚少,给系统设计尤其是LED显示接口电路的设计带来一定难度。采用串入并出移位寄存器74LS164圆满地解决了这一问题,下面详细介绍了该接口电路的构成原理与软件。实际运行表明,该显示电路可以成功地应用到以AT89C2051单片机为核心的智能仪表中,而且LED显示清晰稳定可在线调整发光亮度。

在单片机应用系统中,显示器显示[4]常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多

这里采用串并转换电路74LS164设计电子秤的显示电路[5,6]。图4是此设计的显示电路。

MCS-51单片机串行口方式押为移们寄存器方式[7],外接3片74LS164作为3位LED显示器的静态显示接口,把8051的RXD作为数据输出线,TXD作为移位时钟脉冲。74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,公一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的hg---a各段对应的引脚上。

1.5 硬件电路

2051余下的并行I/O口线不足8根,数据的并行输出已不可能,但可以考虑串行输出方法,图1给出串行口扩展的4位L ED显示接口电路。该电路只使用2051的3个端口,配接3片串入并出移位寄存器74LS164。其中74LS164的引脚Q0~Q7为8位并行输出端;引脚A、B为串性输入端;引脚CL K为时钟脉冲输入端,在CLK脉冲的上升沿作用下实现移位,在CLK=0、清除端MR=1时,74LS164保持原来数据状态;MR=0时,74LS164输出清零。

其工作过程如下:2051的串行口设定在方式0移位寄存器状态下,串行数据由P3.0发送,移位时钟由P3.1送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。4片74LS164串级扩展为4个8位并行输出口,分别连接到4个L ED显示器的段选端作静态显示。需要指出的是,由于74LS164无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,造成不应显示的字段仍有较暗的亮度,影响了显示的效果。以往的做法是在74LS164的输出端加接4片锁存器或三态门,使移位寄存器串行输入数据时其输出端的变化不反映到LED上,待串行输入结束后再打开锁存器或三态门,将稳定的显示数据送给LED。

2 软件部分

2.1 C语言在单片机中的应用

C语言是一种通用的计算机程序设计语言,在国际上非常流行,它既可以用来编写计算机的系统程序,也可以用来编写一般的应用程序。以前计算机的系统软件主要用汇编语言编写,单片机应用系统更是如此。C语言是当前最流行的程序设计语言,它像其它高级语言一样,面向用户,面向解题的过程,编程者不必熟悉具体的计算机内部结构和指令;C语言又像汇编语言一样,可以对机器硬件进行操作,如进行端口I/O操作、位操作、地址操作,并可内嵌汇编指令,将汇编指令当作它的语句一样。我们知道,汇编语言将涉及计算机硬件,所以C语言又像低级语言一样,可以对计算机硬件进行控制,因此人们把它称为介于高级语言与低级语言之间的一种中级语言。正是因为C语言具有这样的特性,所以很适合编写要对硬件进行操作的软件程序。但本文采用汇编语言进行编写,因为此系统并非大型复杂的系统,其存储量较小,因此必须应用汇编语言编程了。

2.2 软件部分程序

电子秤是利用称重传感器作为变换元件,把被称物体的重量按一定的比例关系转换成与其相应的电信号,用电子仪表进行测量和显示的装置。由电阻应变片组成的传感器,将被测物理量压力转换成与其成正比倒的电参数电压。测量电桥把电阻的变化转变成电压或电流信号输出。其变化与力成正比关系。ADS1100的模/数转换器核由差分开关电容Δ-∑调节器和数字滤波器组成。调节器用来测量正模拟输入和负模拟输入的压差,并将其与基准电压相比较。数字滤波器从调节器接收高速位流。并输出一个代码。该代码是一个与输入电压成比例的数字。然后该数字经过单片机处理后提供给显示器显示,显示出的即为所测量的压力值。由于AT89C2051是一种高性能低价位单片机,但因其引脚少,给系统设计尤其是LED显示接口电路的设计带来一定难度。所以这里采用串入并出移位寄存器74LS164解决了这一问题,成功显示测量的压力值。

物体的重量由压力传感器产生一电信号,信号的强弱随重量的大小而变。该信号送入A/D转换器后,进行模数转换,转换后的数字量与物重成正比,再进入89C2051单片机,经过数据处理,单片机产生一组满足显示要求的数据,送至显示电路显示出实际重量。

主程序由系统初始化,A/D转换读取压力值,显示压力值等构成,主程序结构如图5所示。先是系统初始化,然后读取ADS1100获取的压力值,再由单片机送往LED显示压力值。

3 结束语

单片机采用AT89C2051,这种单片机成本较低,同时内置了Flash Ro M,而且与Intel51系列单片机完全兼容,开发较为容易。该单片机主要用于接受A/D转换后的传感器数据,然后将它们转换为BCD码送人操作面板实时显示。

单片机控制的电子秤集传感器技术,微机计算机技术,数字显示技术于一体,其反应灵敏,准确度高,显示直观,便于使用。电子秤运行可靠,示值稳定,准确,另外,该电子秤稍加扩展,还具有广泛的推广应用价值。

采用AT89C51单片机设计的电子计重秤,无论是计量精度,还是稳定性都满足国家对电子秤的要求,它具有较好的标定校准方法,性能稳定,操作简单,价格低廉。同时通过硬件的少量扩展和软件的修改,能设计出性能优越的计价秤、电子台秤等,满足各行各业对现代电子衡器的需求。

摘要:近年来,新型单片机的出现和集成电路技术的发展,为更新产品设计,研制高性能价格比的秤重控制器提供了条件。本文设计了基于压力传感器、A/D转换器、AT89C2051单片机和LED显示器的电子秤系统,从其硬件构成,连接电路以及软件部分对其进行阐述。此电子称系统具有结构简单,成本低,精度高等优点。

关键词:AT89C2051单片机,电子称

参考文献

[1]施汉谦,宋文敏.电子秤技术[M].北京:中国计量出版社,1991.

[2]何立民.单片及应用文集[M].北京:北京航空航天大学出版社,1993.

[3]赵负图,等.国内外传感器手册[M].辽宁科学技术出版社,1997,8.

[4]曹迂邦,罗绪荆.电子计价台秤的设计[J].计量技术,1992.

[5]宋春荣通用集成电路速查手册[M].济南:山东科学技术出版杜,1995.

[6]李华.MCS一51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993.

AT89C2051 篇4

随着现代科技的发展,电子计算机已用于控制温室环境。温度是工业对象中主要的被控参数之一,特别是在冶金、化工、建材、食品加工、机械制造等各类工业中,采用单片机来实现温度控制不仅具有控制方便、简单、灵活等优点,而且可以大幅度提高被控温度的技术指标,从而大大提高产品的质量和数量。控制系统由中央控制装置、终端控制设备、传感器等组成。本文将使用AT89C 2051型单片机对温度采集控制的基本原理实例化,设计一个实时采集控制室内的温度的控制系统。

1系统原理及流程

1.1系统硬件设计

系统主芯片选用AT89C 2051[1],温度采集器选用DS18B 20[2]集成温度传感器,外围温度控制采用5V继电器驱动,供电电源采用自行设计的5V稳压电源(应用变压器、桥式整流电路、滤波电容、稳压三极管7805组成),显示部分采用三个七段数码管由三个按键控制进行并口动态显示。

系统的硬件电路包括主机(即AT89C 2051单片机芯片)、温度检测、温度控制、人机对话(键盘/显示)四个主要部分构成。图1为系统的结构框图。

1.1.1 DS18B20[2]与单片机的接口电路

DS18B20与8051单片机连接非常简单,只需将DS18B20信号线与单片机一位I/O线相连,且一位I/O线可连接多个DS18B20,以实现单点或多点温度测量。DS18B20可以通过2种方式供电:外加电源方式和寄生电源方式。前者需要外加电源,电源的正负极分别与DS18B20的VDD和GND相连接。后者采用寄生电源,将DS18B20的VDD与GND接在一起,当总线上出现高电平时,上拉电阻提供电源;当总线低电平时,内部电容供电。由于采用外加电源方式更能增强DS18B20的抗干扰性,故本设计采用这种方式。在实际应用中,传感器与单片机的距离往往在几十米到几百米,传输线的寄生电容对DS18B20的操作也有一定的影响,所以往往在接口的地方稍加改动,以增加芯片[3]的驱动能力和减少传输线电容效应带来的影响,达到远距离传输的目的。

1.1.2 键盘及显示

键盘通过编程设置可完成以下功能:对温度值进行标定,定时显示各路的温度值,单独显示某路的温度值,给每一路设定上下限报警值等。LED则可为用户提供直观的视觉信息。在工作现场,用户可通过6位LED的显示数据来确定系统的当前工作状态以及采样的温度值信息等。

1.1.3 温度显示设计

显示采用三个LED七段数码管与AT89C2051的P1口(P1.0~P1.6)进行并行数据传输,分别表示十进制温度的百位/负值时的符号位、十位、个位,P3.2、P3.3和P3.4接上拉电阻分别控制三个LED的位选。三个按键可对显示温度值进行设置与控制,3个数码管的阳极是接在P3上的,需要使用动态显示的编程方法,所以在程序中使用了一个定时中断去处理显示。动态显示[4]是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应段码,在另一时刻选通另一位数码管,并送出相应的段码。依次循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉[4]。

采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,所以要在三个LED的阳极加三个三极管S8550来驱动与保护LED,增加它的显示亮度。设计原理图如2所示。

1.1.4 温度控制电路设计

AT89C2051的第9引脚作为控制输出端,低电平有效,用它通过9012去驱动一个5V的继电器。把这个设计安装到电脑前面板上,继电器触头端接机箱的散热风扇,设定一个温度如28℃,当机箱内的温度超出这个温度时,控制端为低电平,继电器闭合,风扇启动进行散热。也可以用继电器来控制一个加热的外部电路,当显示温度低于设定的某一温度时,继电器驱动加热电路从而实现对温度的控制。设计原理图如3所示。

1.2 系统软件设计

软件程序设计是整个系统控制设计的核心,此温度采集控制器制作的最大难点是AT89C2051程序的编写与调试。因为在电路中有数字显示、按键设定、数据采集和继电器控制。首先要考虑的是3个数码管的阳极是接在P1上的,需要使用动态显示的编程方法,所以在程序中使用了一个定时中断去处理显示,定时器的定时值为20 ms,每间隔20 ms程序便会执行定时中断,显示所要显示的数字,同时在这个定时中断过程中还会进行按键盘的扫描,看是否有键被按下并对其结果进行处理。在这20 ms的时间里,程序还会完成温度数据的采集与转换,以及对当前温度和设置温度的比较等。

软件主要由4部分组成:主程序、中断处理程序、键盘扫描程序、显示程序。图4为系统的程序框图,由于以前大多数的用户在单片机中还是使用纯汇编语言,但随着科技的发展技术的进步,单纯的汇编语言面对复杂的问题时编程显得烦琐且困难较大,且所编的程序占用空间大,同时也比较费时,现在将高级语言(C语言)与汇编语言结合使二者交叉运用,不但节省了程序存储空间还使编程简单化可视化,这就是近几年出现的单片机C51语言,要学好和做好单片机,对此门语言的掌握是必不可少的,为顺应这一趋势,本设计也采用了C51语言进行编写[5]。

主程序采用中断嵌套方式设计,各功能模块可直接调用。主程序完成系统的初始化,温度的预置及定时器0的设置。定时器0中断服务子程序是温度控制体系的主体,用于温度检测和控制。中断由定时器0产生,根椐需要每隔20 ms中断一次,主程序和中断服务子程序的流程图如图4、5所示。

2 结束语

温度采集控制器实物如图6所示。通过实验,进一步证明该温度控制器设计结构合理、测温准确,并且已在工业现场和教学中推广应用,不论从可靠性还是性能价格比上来看都具有一定的实际应用价值。

参考文献

[1]徐惠民.单片机系统设计及工程应用.西安:西安电子科技大学出版社,2005:97—302

[2]陈明荧.8051单片机课程设计实训教材.北京:清华大学出版社,2004:183—302

[3] Lilei,Guangxiangpeng.Use of single chip microcomputer in hydraulicdigital adaptive control system.Harbin industrial university journal,2001;3(2):23—29

[4] Cahill S J.Single chip Microcomputer.Englewood Cliffs,NJ:.Pren-tice-Hall,2003:97—106

89C2051设计的电子钟 篇5

本电子钟主要由89C2051和四个共阳极LED组成, 结构简单, 电路图如图1所示。

89C2051单片机端口设置:P1口分别接数码管的段码口 (a~h) ;P3.0、P3.1、P3.2、P3.3分别接LED数码管的位驱动;P3.4接按键S1, P3.5接按键S2;P3.7驱动蜂鸣器。C3、R15构成上电复位电路。Q1、Q2、Q3、Q4为数码管显示驱动三极管。电路中没有画出电源部分, 电路中的电源可以利用手机万用充电器作为本电路的供电部分。电路元件清单见表1。

二、电路功能

本时钟电路的时钟采用24小时制, 使用四位LED数码管显示时间, D0、D1两位数码管显示分钟, D2、D3两位数码管显示小时;D2数码管在安排就反向安装, 电路巧妙的利用D2, D3两数码管的小数点位做秒闪烁。

本电路只有两个操作键S1、S2。S2键为设置按键, 每按一下, 实现功能切换。S1键为加1键, 仅在设置模式时, S1键有效, 此键具有连击功能, 当按键时间超过1s后能实现自动连加。

电路具有设置时间分钟模式, 设置时间小时模式, 设置闹钟分钟模式, 设置闹钟小时模式, 走时模式五个模式。不同的模式采用数码管闪烁来区分:正常走时显示, D2, D3两位数码管的小数点闪烁;在设置时间分钟模式和设置小时模式时, 相应的数码管不带小数点以0.5s的速度闪烁;在设置钟间分钟模式和设置闹钟小时模式时, 相应的数码管带小数点以0.5s的速度闪烁。

电路不仅具有时钟显示功能, 还具有整点报时和闹钟功能。每到一个整点时间, 蜂鸣器以1Hz频率报时, 几点响几声。如:中午12点, 蜂鸣器响12声。当走时到了设定的闹钟时间, 蜂鸣器以0.5Hz频率报警, 蜂鸣器响24声停止。

三、程序设计

主程序流程图如图2, 编程思路采用状态机编程思路, 使用C语言编写。

程序由主程序、定时中断子程序, 键盘子程序组成。定时中断子程序要产生1ms时钟标志位, 用于数码管扫描显示;时钟信号, 用于闹钟报警;1s时钟标志位, 用于时间更新;1s的时钟信号, 用于整点报时;及报警时更新蜂鸣器鸣响次数。20ms时钟标志位, 用于键盘扫描, 消抖;0.5s的

主程序如下:

四、安装和调试

PCB板大小为68mmx78mm, 采用单面板设计如图3所示, 图中细线为顶层跳线, D2数码管应当反装, 以使小数点位和前一位小数点位交差;安装时请先按照先低后高的原则, 首先安装顶层跳线, 数码管安装高度要适当高于三极管和集成电路, 以便于加装外壳。测试前用编程器将C程序编译成目标文件即 (hex文件) , 用专用的编程器写入89C2051中。单片机安装在DIP20的脚插座上。安装成品图如图4所示。

AT89C2051 篇6

通过市场调查发现,带有汽车落锁自动关闭车窗、天窗(汽车总体关闭系统)的车辆不到实际保有量的十分之一,并且这些车辆大部分是高档车辆。鉴于以上原因,大量的中、低档具有中央控制门锁和电动车窗、天窗功能的车辆的总体关闭系统的嵌入是非常有必要的。

1 系统总体方案

系统总体方案框图如图1所示。驾驶人发出锁车信号后(此信号可通过钥匙锁、驾驶人侧车门或遥控锁车时获得),车辆总体关闭模块首先向各车窗摇窗电机、天窗电动机发出玻璃上升信号和关闭天窗信号,未关闭的车窗、天窗会自动关闭,车窗、天窗关闭到位后,汽车总体关闭模块会向汽车中央控制门锁电路发出锁闭车门的信号。

2 电动车窗、天窗工作过程分析

汽车总体关闭模块的设计要结合汽车电动车窗、天窗的工作特点,分析电动车窗、天窗的工作原理。图2、图3分别为两种典型的电动车窗电路,电动天窗控制原理基本相同,由于篇幅限制不再附图。从图中可见摇窗电机和电动天窗电机在不工作时电机两侧是同电位的,只不过大众等系列汽车的摇窗电动机和电动天窗电动机两端接的是汽车电池正极,而本田、别克等车系接的是汽车电池的负极;大众等系列的车辆在摇窗电机和电动天窗电机工作时是控制摇窗电机和电动天窗电机的一侧接地,另一种类型的则是控制摇窗电机和电动天窗电机的一侧接电源(电池正极)。

通过以上分析可知,在驾驶人锁车后,即向汽车总体关闭模块发送锁车信号,模块中89C2051检测到本信号后即向外输出信号,此信号用来驱动适当型号的驱动器或三极管,从而使相应的继电器动作,继电器常闭触点断开,避免短路;常开触点闭合,完成门窗玻璃上升、天窗关闭动作;车窗玻璃上升到位、天窗完全关闭后,中央控制门锁电路得到汽车锁门信号。

3 方案的实施

本方案的实施包括89C2051单片机工作电源的获得、锁车信号的取得及锁门、继电器常开和常闭触点的安装位置、各继电器型号的选取及驱动本继电器的相应元件的选取等。

3.1 单片机工作电源的获得

汽车上较稳定的电源仅有12V的蓄电池,而89C2051需5V电源,可通过一只7805实现,获得的本电源一方面作为89C2051的电源,另一方面又可以作为提供给89C2051的锁车信号使用,即89C2051监测的高、低电平,如图4。

3.2 锁车信号的取得及锁门

所有中、低档轿车的中控门锁信号都是由驾驶人侧车门发出的,即不论是遥控锁车还是通过钥匙锁车都是在驾驶员侧车门锁闭的同时让一个单刀双掷开关动作(使一对常闭触点打开另一对常开触点闭合),从而控制其他三个车门锁闭(部分车辆还同时锁闭后尾箱);在使用汽车总体关闭系统时可以用此开关向89C2051发出锁车信号,控制其他三个车门的信号可由89C2051控制的其中一只继电器完成。具体方案如下:驾驶人侧车门上的单刀双掷开关的公共端为89C2051的P37送信号(图5),另外两端其中一端(开锁时与公共端相通的一端)接从7805来的5V电源(Vcc),另一端(锁门时与公共端相通的一端)接公共地线(GND);89C2051通过输入的低电平作为锁车信号;即当检测到高电平时开锁、检测到低电平时关窗、锁门。

控制其他三个车门的工作由89C2051带动一只继电器(J2)来完成(图6)。具体接线方法是:原车接驾驶人侧车门单刀双掷开关公共端的线依然接继电器常开常闭触点的公共端(1),开锁时与公共端相通的线接继电器的常闭触点一侧(2),另一条线接继电器的常开触点一侧(3)。

3.3 车窗玻璃上升、天窗关闭的实现

车窗玻璃上升功能的实现分两种情况讨论。大众等系列摇窗电动机和天窗电动机两侧接电源的车型(图2),首先要将原车窗玻璃、天窗控制的总电源从原电路的15号线(开关电)改到原电路的30号线(常电)上去,否则只要关闭点火开关熄火后,摇窗电动机和天窗电机失去电源将无法实现总体关闭;然后将图2中画箭头处断开分别接于J3、J4、J5、J6、J7上的常闭触点两端(1、2),而五只继电器上的常开触点(3)接地即可。本田、别克等摇窗电动机和天窗电动机两侧接地的车型(图3),只要将图中画箭头处断开分别接于J3、J4、J5、J6、J7上的常闭触点两端(1、2),而五只继电器上的常开触点(3)接车辆蓄电池正极即可。两种车型的具体操作均可在驾驶员门窗玻璃总控制台处进行,车辆总体关闭模块可就近安装,如图7(J3、J4、J5、J6、J7完全相同)。

3.4 元器件的选取

通过实验及检测发现,摇窗电动机在上升时工作电流为7A~10A,下降时为4A~7A。所以选取继电器型号为953-1C-12DG-2(本继电器正常工作电流为20A),此继电器驱动电流为70mA~97mA,因此驱动六个继电器用六反向缓冲器(驱动器)SN7407N完成。

3.5 门窗、天窗关闭信号的获得

门窗、天窗关闭信号的获得可通过行程开关或接近开关完成,但考虑到安装相应开关要对车辆进行大手术(拆内饰),导线的连接、布置都较困难。通过试验测试得到各种新旧车辆的门窗玻璃、天窗完全关闭的时间不会超过20s,因此在为89C2051编程时采用得到锁车信号后给各车窗送电28s的方案(具体时间因车型不同会有差异,可在编程时进行调整)。因各车辆在摇窗电机或相应的电路中均设有保护装置,所以在玻璃上升到顶后可自动断电,不会损坏摇窗机及相应电路。

具体编程如下:

本文通过对不同车型的电动门窗、天窗的控制电路进行分析,借助89C2051单片机设计了一套汽车总体关闭系统,汽车加装本系统后能在驾驶人停车落锁时及时关闭车窗玻璃和天窗,大大提高了汽车的防盗性能。

摘要:利用89C2051设计了一种车辆总体关闭系统,带有电动车窗、天窗的车辆安装本系统后,在驾驶员停车落锁时,汽车玻璃门窗及天窗可自动关闭,提高了汽车的防盗能力。

关键词:电动车窗,天窗,89C2051,摇窗电机

参考文献

[1] 吴基安,吴洋.新编国产汽车电路图册.金盾出版社,2001,12.

AT89C2051 篇7

关键词:89C2051,数字电位器,恒流源,LED数码管

从电路的总体结构上来看, 该系统主要由89C2051单片机控制模块;数控电位器X9241、模/数转换器与恒流源电路部分构成数控可调的恒流电流源模块。缓冲器/驱动器7404驱动4位LED数码管组成的显示模块以及由键盘组成的输入模块等组成。

1各个模块设计方案分析

因此系统总体上由电源模块、输入模块、控制模块、 电流源模块和显示模块5大部分构成。系统主要框架图如图1所示。

1.1控制模块

该部分由89C2051单片机来实现, 如果采用高性能的专用单片机芯片实现控制, 可以很好地同时解决采样和控制显示的功能, 且高性能的单片机本身带有D/A和A/D转换, 不需另外设计, 但是专用芯片的通用性差, 使用起来比较麻烦, 且市场价格高。而本电源的设计只需要控制显示以及对数控电位器的控制, 因此, 选用小型单片机89C2051即可。并且该系统不需要与上位机通信, 所以选用2 MHz的时钟频率。89C2051的P1口每个引脚都有20 m A的灌电流能力, 该电流足以驱动共阴极LED显示器的段码显示, 因此选用通用性较好, 学习起来容易熟悉掌握, 而且市场价格低, 购买、使用方便的89C2051作控制单元。

1.2电源模块

为了使系统的各模块能够可靠、稳定工作, 必须有一个可靠的电源来供电[1]。如果采用独立的稳压电源供电。此方案的优点是稳定可靠, 并且现在市面上有各种成熟的电路可供选用, 但其缺点是系统每个模块都采用独立电源, 会使系统变得复杂, 而且还可能会影响到电路电平[2]。如采用将220 V交流电通过变压器降压, 再经过整流、滤波、稳压后, 得到稳定+12 V直流电源[3]。该方案的优点是系统相对简单, 系统间的干扰性小, 节约成本, 因此电源选择该方案。电源电路图如图2所示。

220 V的交流电压经过整流, 滤波, 稳压输出+12 V和 ± 5 V的稳压源, 为后续电路提供可靠、准确的稳压电源。设计上采用全波整流电路, 并通过滤波电容, 然后送入三端集成稳压器LM7812, 从而得到稳定的+12 V稳压电源。为了改善稳压器的暂态效应和保护微处理器分别加入了C1和C2两个电容。LM7905的作用是为了改善调零不准确的问题。

1.3电流源模块

电流源部分, 主要在于恒流源系统的设计, 是该电源系统设计的重点。在整个系统的工作过程中, 无论负载是否变化, 都需要有一个相对恒定的电流, 它的精确程度直接影响到测量参数的精确与否, 决定了系统的成败。若采用专用恒流源的话, 它的性能很稳定, 简化了电路设计的过程。但所提供的电流值是固定的不变的, 不能根据需要进行调节。而该系统设计的目的是得到电流可调的直流电源, 为了达到这一目, 采用通过改变电位器值的方法。

在此选用X9241数控电位器, 其特点是定位精度高, 不易受机械震动的影响, 并可以通过程控来实现半自动化调节[4]。而且, 数字电位器X9241的VH和VL电压窗口较宽, 因而能在许多场合取代机械模拟电位器。 X9241内部结构框图如图3所示。

共有64个离散的调节节点在每个电位器的滑动端, 并有一个滑刷控制寄存器WCR以及4个8 b的E2PROM数据寄存器。用户可直接控制WCR, 以达到改变电位器滑动端位置的目的。

1.3.1 X9241中输出电压值的等效计算方法

为了使恒流源的电流可以人为连续调节, 该设计是通过X9241可变电位器滑阻的移动而得到可连续调节的电流值。为了得到连续可调的电压参数, 可以通过X9241的2个数字电位器来配合使用, 其中一个作为粗调, 一个作为细调, 两者搭配。具体计算的等效电路图如图4所示。

根据等效电路图可得。

式中:Vret= 5 V 。式 (1) 表示设计目的, 即得到可变的直流电源。为了达到这一目的必须通过改变电位器值的方法, 即改变nthick和nthin的数值即可, 具体实现方法在软件在控制中处理[5]。

1.3.2恒流源工作原理分析

可控恒流电流源工作原理等效电路图如图5所示。

通过原理简图5可以知道, 当负载电阻R3增大时, 三极管集电极电流IC将减小, 即C点的电位值VC减小, 而C点电位经过反馈到D点, 所以D点的电位值也将下降, 根据电压比较器的工作原理可知, A点电位比D点电位高, 作比较后, 使B点电位即三极管基极电位值将增大, 通过三极管的放大作用, 又使其集电极电流IC增大, 起到稳定输出电流的作用[6]。

相反的当负载电阻R3减小时, 三极管集电极电流IC增大, 即C点电位VC增大, 而C点电位经过反馈后加到D点, 所以D点的电位值也上升, 此时, A点电位比D点的低, 通过电压比较器后, 使B点电位即三极管基极电位值减小, 通过三极管的放大作用, 又使其集电极电流IC减小, 起到稳定输出电流的作用。

1.4输入、输出显示模块

因为输入只是对输出恒流电流部分的设定, 因此输入电路相对比较简单。使用2个按钮开关作为电压调整键将与微处理器89C2051相连即可。输出用来显示设定电流和输出电流, 在这采用LED数码管显示, 驱动采用7404六高压输出缓冲器/驱动器。驱动电路图如图6所示。

1.5总体数控电位变换及恒流源电路

硬件设计图如图7所示。

2系统软件设计

主程序流程图如图8所示。键盘步进值设定子程序流程图如图9所示。

3系统测试及分析

部分测试数据如表1所示, 通过测试可得, 设计的电源能够正常工作, 键盘设定及LED实时显示输出电流工作正常, 交替显示电流给定值和实测值切换正常。 输入能提供2档“+”、“-”步进功能 (分别为10 m A普通步进和100 m A快速步进) , 非常便于使用, 在实际应用中很方便, 可以进行批量的生产, 达到实际应用的要求。

4结语

该系统基于89C2051单片机控制的数控直流电流源, 恒流源电路部分的设计中, 采用X9241数控电位器, 它具有良好的线性度、精度和温度稳定性;由电信号控制电阻变化;温度特性好, 抗冲击具有优越的环境适应性;使用寿命长, 可靠性高等优点。软件系统的设计上, 步进的调整做了复键的设计, 通过长按和短按就可以实现不同步进电流的设定, 改变了以往只能单一步进调整的思路。该系统人机交互性强、操作简单、工作过程控制灵活、可靠性高, 非常适合作为中小型电源来使用。

m A

参考文献

[1]徐小涛.数字电源技术及其应用[M].北京:人民邮电出版社, 2011.

[2]胡斌, 吉玲.电子工程师必备:九大系统电路识图宝典[M].北京:人民邮电出版社, 2012.

[3]户川治朗.实用电源电路设计:从整流电路到开关稳压器[M].高玉苹, 译.北京:科学出版社, 2012.

[4]逄玉台, 王建华.X9241原理及应用[J].微电子技术, 2006, 22 (10) :138-140.

[5]孔陈杰, 张彦军.基于X9241的程控增益测试系统的设计[J].仪表技术与传器, 2010 (4) :89-92.

上一篇:班主任工作谋略例谈下一篇:发病机制

本站热搜