直流数字电流表的设计
简易数字电流表设计报告

目录摘要 2 关键词21 概述 31.1设计意义 31.2系统主要功能 32 硬件电路设计方案及描述32.1 设计方案 3 2.2 主要元器件的介绍 42. 3控制电路模块132.4 元件清单16 3数字式电流表的软件设计163.1系统程序设计总方案 163.2系统子程序设计 17 4数字式电流表的调试194.1软件调试 19 4.2显示结果及误差分析 20 5总结22附录1.电路原理图及仿真图23附录2. 程序代码24参考文献 26基于单片机的简易数字电流表设计摘要数字电流表的诞生打破了传统电子测量仪器的模式和格局。
它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。
数字电流表是建立在数字电压表的基础上,让电压表与电阻串联,其显示的是电流,数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。
数字电流表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电流表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
简易数字电流测量电路由A/D转换、数据处理、显示控制等组成。
关键词:单片机 AT89C51 A/D转换ADC0809数据处理1 .概述1.1设计意义通过课程设计,掌握电子设计的一般步骤和方法,锻炼分析问题解决问题的能力,学会如何查找所需资料,同时复习以前所学知识并加深记忆,为毕业设计打好基础,也为以后工作作准备。
通过对选题的分析设计,学习数字电流表的工作原理、组成和特性;掌握数字电流表的校准方法和使用方法;1.2系统主要功能A、利用AD转换芯片和精密电阻测量0~20mA电流B、系统工作符合一般数字电流表要求2 硬件电路设计方案及描述2.1 数字式电流表系统硬件设计硬件电路设计主要包括:AT89S51单片机系统,A/D转换电路,显示电路。
毕业论文---智能直流数字电压表的设计

毕业论文(设计)智能直流数字电压表的设计院部名称:机电工程学院专业班级:电气自动化技术学生姓名:闫永胜学号: 2009061134指导教师:董卫军2011、12、19目录摘要 (3)1 引言 (3)1.1 研究背景及意义 (3)1.2单片机简介 (4)1.3单片机的应用领域及发展趋势 (4)第一章设计任务书 (5)第二章设计内容 (6)2.1 设计要求 (6)2.1.1功能要求 (6)2.1.2项目技术性能指标 (6)第三章系统原理及基本框图 (7)方案论证 (7)3.1 电源电路设计 (8)3.2 输入电路设计 (8)3.2.1 电路简介 (8)3.3 转换电路设计 (10)3.3.1 AT89C51单片机 (10)3.3.3 AT89C51主要特性: (10)3.3.4 ICL7135芯片简介 (10)3.3.5 转换器ICL7135 (10)3.3.6 ICL7135的引脚功能及主要特性 (11)3.3.7性能: (12)3.3.8据输出方式及数字部分 (13)3.3.9 对应参数整定 (13)3.4 电压表显示电路 (15)3.4.1电路简介 (15)3.5 I/O口分配 (15)第四章软件设计 (16)4.1 时钟频率的确定 (16)4.2 监控程序设计 (17)4.3序流程图: (18)第五章程序及元件清单 (21)5.1程序 (21)5.2元器件清单 (26)结束语 (27)参考文献 (27)附:电路原理图 (28)摘要数字电压表的诞生打破了传统电子测量仪器的模式和格局。
它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。
数字电压表是把连续的模拟量转换成不连续、离散的数字形式,并加以显示的仪表。
数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
基于单片机的数字电流表的设计

图中电容 , 是为了提高电路的稳定性和改善瞬态响应。R为保护电阻,防止电压突变损坏 。
前面介绍的是正向峰值保持电路,如果需要负向峰值保持,可以把正向峰值保持电路中的二极管及其它元件适当改接,就能实现。
ICL7135的输出是 位的BCD码,为了减少引出线数目,它采用动态字位扫描输出的方式,即万、千、百、十、个各位数字BCD的码轮流出现在 端上,并在 各端上同步出现字位选通脉冲,这种输出使其数字显示电路非常简单。
当使用 转换芯片时,可采用以下方法提高转换分辨率:
1)当输入模拟电压小于 转换电路的满刻度所对应的电压值时,应放大输入信号,使输入电压的最大值对应 满刻度值,以充分利用 转换电路的满刻度。
2009届本科毕业设计
基于单片机的数字电流表的设计
姓名:
系别:
专业:
学号:
指导教师:
2009年4月10日
基于单片机的数字电流表的设计
摘
本电流表各模块之间使用标准信号进行传输的,这些标准信号都符合国际标准。国际电工委员会在1973年四月第65次技术委员会通过的标准规定了国际统一信号标准,过程控制系统的模拟直流信号为4到20MA,模拟直流电压信号为1到5伏,我国的DDZ-3型电动单元组合仪表采用了国际的信号标准。
图1数字电流表的基本原理
1.
峰峰值检波器本身具有采样保持的功能,由于A/D转换器的转换时间为100ms,所以峰峰值检波电路能够保证A/D转换器有足够的转换时间[6]。
交流信号不只包括正弦波,对于其它规则的交流信号,也可以用本采样电路采样。档位选择需要将独立按键与放大器中集成运放的外围电阻组合在一块。独立按键不仅有选择档位的功能,还有复位等其它功能。
基于AT89C51单片机的数字直流电流表的设计.

摘要传统电流测量一般采用电流表和万用表,数字电流测量实用日益广。
本论文描述了交直流数字电流测量系统的设计系统包括微控制器最小系统模块、电流采集模块、AD转换模块、显示模块、电源管理模块等。
通过输入电路把交、直流模拟信号送给ADC0809转换为数字信号再送至AT89C52单片机,通过P0口经LCD1602显示出测量值,其中交流信号通过单向桥式整流电路将交流信号转换成直流信号在通过ADC0809转换器。
论文还详细阐述了与系统硬件相应的系统软件设计。
本系统经测试运行良好具有一定的实用价值和推广价值。
关键字:单片机,数字电流表,A/DAbstractThe traditional current measurement generally use the ammeter and multimeter, but with the development of embedded technology and sensor technology, digital current measurement utility is increasingly widespread. This paper describes the design of the DC and digital current measurement system, the system including the minimum system module of the microcontroller, the current acquisition modules, AD converter module, display module, the power management module. Through the input circuit AC and DC analog signal is sent to the ADC0809 into digital signals and then sent to the AT89C52 microcontroller, the LCD1602 display the measured value through the P0 port; AC signal through the one-way bridge rectifier circuit of the AC signal into a DC signal by the ADC0808 converter. The paper also elaborates the corresponding system software design and system hardware. This system has been tested and runs well, has some practical value and promotional value.Keywords:single-chip ,digital ammeter, A / D, rectifier circui目录1 绪论 (1)1.1 课题研究问题 (1)1.2 课题背景及意义 (1)2 背景知识介绍 (3)2.1 单片机发展详细介绍 (3)2.1.1 单片机的工作原理 (4)2.1.2 单片机的基本特点 (4)2.2 A/D转换器的介绍 (5)2.3 A/D转换器的工作原理 (5)2.4 A/D转换器的基本特点 (7)3 系统硬件设计 (8)3.1 系统整体设计方案 (8)3.2 主控制器模块设计 (8)3.2.1 主控制器的选择 (8)3.2.2 AT89C52 (10)3.2.3 AT89C52最小系统 (11)3.3 转换模块设计 (11)3.3.1 A/D转换器的选择 (11)3.3.2 ADC0809 (11)3.3.3 ADC0809转换电路 (12)3.4 数据采集模块的设计 (13)3.4.1 直流电流采集电路 (13)3.4.2 交流电流采集电路一 (13)3.4.3 交流电流采集电路二 (13)3.5 显示模块设计 (14)4 系统软件设计 (15)4.1 系统主控程序设计 (15)4.2 数据采集处理程序设计 (16)4.3 显示模块程序设计 (17)5 测量结果显示 (18)6 结论 (19)参考文献 (20)致谢 (21)1 绪论随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正引起测量、控制仪表领域新的技术革命。
实验二十八数字万用表设计性实验

实验⼆⼗⼋数字万⽤表设计性实验实验⼆⼗⼋数字万⽤表设计性实验⼀、实验内容:1、制作量程200mA的微安表(表头);2、设计制作多量程直流电压表;3、设计制作多量程直流电流表;⼆、实验仪器:三位半数字万⽤表三、实验原理1、数字万⽤表的组成数字万⽤表的组成见图28.1。
图28.1 数字万⽤表的组成数字万⽤表其核⼼是⼀个三位半数字表头,它由数字表专⽤A/D转换译码驱动集成电路和外围元件、LED数码管构成。
该表头有7个输⼊端,包括2个测量电压输⼊端(IN+、IN-)、2个基准电压输⼊端(V REF+、V REF -)和3个⼩数点驱动输⼊端。
2、直流数字电压表头“三位半数字表头”电路单元的功能:将输⼊的两个模拟电压转换成数字,并将两数字进⾏⽐较,将结果在显⽰屏上显⽰出来。
利⽤这个功能,将其中的⼀个电压输⼊作为公认的基准,另⼀个作为待测量电压,这样就和所有量具或仪器的测量原理⼀样,能够对电压进⾏测量了。
见图28.2。
图28.2 200mV(199.9mV)直流数字电压表头及校准电路3、多量程直流数字电压表在数字电压表头前⾯加⼀级分压电路(分压器),可以扩展直流电压测量的量程。
如图28.3所⽰,U 0为电压表头的量程(如200mV),r 为其内阻(如10M Ω),r 1、r 2为分压电阻,U i0为扩展后的量程。
图28.3 分压电路原理图28.4多量程分压器原理电路多量程分压器原理电路见图28.4。
图28.5 实⽤分压器电路采⽤图28.4的分压电路虽然可以扩展电压表的量程,但在⼩量程档明显降低了电压表的输⼊阻抗,这在实际使⽤中是所不希望的。
所以,实际数字万⽤表的直流电压档电路为图5所⽰,它能在不降低输⼊阻抗的情况下,达到同样的分压效果。
数字电压表 0~U 00~U i0 r 1r 2 r IN+IN-U 动U4、多量程直流数字电流表测量电流的原理是:根据欧姆定律,⽤合适的取样电阻把待测电流转换为相应的电压,再进⾏测量。
直流数字电压电流表

课题设计三位半直流数字电压电流表系别专业班姓名学号2012~ 2013学年第一学期摘要随着科学技术的发展,数字电压、电流表的种类越来越多,功能越来越丰富,当然应用的领域也越来越广泛,给人们的工作和生活带来许多方便。
本文主要介绍的是基于ICL7107数字电压、电流表的设计的设计,ICL7107是目前广泛应用于数字测量系统是一种集三位半转换器段驱动器位驱动器于一体的大规模集成电路,ICL7107是目前广泛应用于数字测量系统的一种31/2位A/D转换器,能够直接驱动共阳极数字显示器,够成数字电压表,外接电阻即可构成数字电流表,此电路简洁完整,稍加改造就可以够成其他电路,如数字电子秤、数字温度计的等专门传感器的测量工具。
ICL7107是目前广泛应用于数字测量系统是一种集三位半转换器段驱动器、位驱动器于一体的大规模集成电路,主要用于对不同电压的测量和许多工程上的应用,调频接口电路,它采用的是双积分原理完成A/D 转换,全部转换电路用CMOS大规模集成电路设计。
应用了ICL7107芯片数码管显示器等,芯片第一脚是供电,正确电压时DC5V,连接好电源把所需要测量的物品连接在表的两个端口,从而可以在显示器上看到所需要的结果。
在软件设计上,主要编写了实现计数频率的调节和单片机功能的相关程序,最后把软件设计和硬件设计结合到一起,然后进行调试。
本文阐述了硬件设计中具体的硬件结构和功能和软件设计中具体写入的程序还有相应的调试过程。
关键词:ICL7107芯片、数字电压表、数字电流表、小数点的自动切换目录第一章 ICL7107简介及其功能、特点 (1)第2章基于ICL7107实现的数字电压表 (2)第3章基于ICL7107实现的数字电流表 (3)第4章数字电压电流表中小数点的自动切换 (4)第5章附录 (4)第一章ICL7107简介及其功能、特点1. ICL7107简介ICL7107是高性能,低功耗的三位半A/D转换器电路。
数字电表原理及万用表设计

DH6505A数字电表原理及万用表设计(实验指导书)实验DH6505A数字电表原理及万用表设计使用说明书数字电表以它显示直观、准确度高、分辨率强、功能完善、性能稳定、体积小易于携带等特点在科学研究、工业现场和生产生活中得到了广泛应用。
数字电表工作原理简单,完全可以让同学们理解并利用这一工具来设计对电流、电压、电阻、压力、温度等物理量的测量,从而提高大家的动手能力和解决问题能力。
[实验目的]1、了解数字电表的基本原理及常用双积分模数转换芯片外围参数的选取原则、电表的校准原则以及测量误差来源。
2、了解万用表的特性、组成和工作原理。
3、掌握分压、分流电路的原理以及设计对电压、电流和电阻的多量程测量。
4、了解交流电压、三极管和二极管相关参数的测量。
5、通过数字电表原理的学习,能够在传感器设计中灵活应用数字电表。
[实验仪器]1、D H6505A数字电表原理及万用表设计实验仪。
2、四位半通用数字万用表。
(自备)3、示波器。
(自备)4、Z X25a电阻箱。
(自备)[实验原理]一、数字电表原理常见的物理量都是幅值大小连续变化的所谓模拟量,指针式仪表可以直接对模拟电压和电流进行显示。
而对数字式仪表,需要把模拟电信号(通常是电压信号)转换成数字信号,再进行显示和处理。
数字信号与模拟信号不同,其幅值大小是不连续的,就是说数字信号的大小只能是某些分立的数值,所以需要进行量化处理。
若最小量化单位为.■:,则数字信号的大小是■ ■:的整数倍,该整数可以用二进制码表示。
设.:=0.1 mV,我们把被测电压U与厶比较,看U 是厶的多少倍,并把结果四舍五入取为整数N (二进制)。
一般情况下,N > 1000即可满足测量精度要求(量化误差w 1/1000=0.1%)。
所以,最常见的数字表头的最大示数为1999, 被称为三位半(3 1/2)数字表。
如:U是厶(0.1 mV)的1861倍,即N=1861,显示结果为186.1(mV)。
一款3位半直流数字电压电流表的设计与制作

一款3位半直流数字电压电流表的设计与制作作者:汤德荣刘苏英来源:《赤峰学院学报·自然科学版》 2014年第5期汤德荣,刘苏英(安徽机电职业技术学院,安徽芜湖 241000)摘要:本文所阐述的3位半直流数字电压电流表表头单独设计,主芯片使用ICL7107,其他部分采用分压分流电阻及直键开关的巧妙组合实现.采用纯硬件电路设计,具有性能稳定、测量准确、使用方便等优点,是很多实验实训装置所普遍选用的一款电压电流表.关键词:表头;直键;电压电流表中图分类号:TM933.22 文献标识码:A 文章编号:1673-260X(2014)03-0070-02直流数字电压电流表是一位电子爱好者学习和工作所必须使用的工具之一,也是很多教学仪器上所必须加载的仪表之一.因而要求它一定要性能稳定、测量准确、使用方便.本款直流数字电压电流表就具备这些特点,它在我院使用中每年要面对成百上千的学生,使用9年,一次不坏,仍然精确.可见这款数字电压电流表的设计有多么的成熟、完美.该3位半直流数字电压电流表主要有表头、主电路和电源电路三部分组成.表头部分主要由A/D转换器ICL7107进行A/D转换,用4位共阳极数码管进行显示.主电路部分主要由高精度的固定电阻和微调电阻来进行分压分流,并负责测量电流时把电流转换为电压,电压电流切换和量程切换由直键开关来控制.电源主要由变压器变压、二极管整流、电容滤波和三端稳压器稳压四部分组成.整个电路设计严谨,容易制作.1 电路原理分析1.1 表头电路表头电路原理如图1所示.ICL7107是一块双积分型A/D转换器,能直接驱动共阳极数码管显示器,通过内部的模拟开关实现自动调零和自动极性显示,应用非常广泛.ICL7107最大显示值为±1999,最小分辨率为0.1mV.采用士5V双电源供电.第36、35脚为基准电压(Uref),通常有100mV和1V/0.8V两种基准,对100mV基准:R1=11.3 KΩ,R2=953Ω,R3=47KΩ,W1=100Ω,C1=0.47μF,对1V/0.8V基准:R1=3.6KΩ/10KΩ,R2=19.1KΩ,R3=470KΩ,W1=2KΩ,对1V/0.8V基准:R1=3.6KΩ/10KΩ,R2=19.1 KΩ,R3=470KΩ,W1=2KΩ,C1=0.047μF,图中稳压管使用LM385,稳压值为1.25V;第31、30脚为待转换的模拟电压(Uin),要求在直流2V以下;第37脚为测试端,当其短接到V+时,表头显示‘—1888’,可用于对线路及数码管好坏的检查;第27、28、29脚分别接数值为0.22μF、47KΩ、0.47μF的阻容元件构成阻容网络,这三个元件属于芯片工作的积分网络,不能使用磁片电容.第33、34脚接0.1μF基准电容,该电容也不能使用磁片电容.第38、39、40是芯片时钟振荡器的引出端,外接阻容元件构成振荡器,第38脚至第40脚电容量的选择可根据公式Fosl=0.45/RC来确定,该电容也不能使用磁片电容,本电路选择R=110KΩ,C=100pF,若此处不正常,表头会显示‘1666’.这部分电路中的基准电容(Cref)、积分网络所用电(CINT)在满足电容值的前提下要求不漏电,此处电容不好通常表现为显示线性不好(CINT)或跳字.转换结果显示数值为(Uin/Uref)*1000,其中最高位负责千位的显示,只能显示0和1两位数字,其余三位都能从0显示到9.它们对应的笔画可直接接ICL7107对应输出引脚上,公共端阳极经30Ω限流电阻接+5V电源上.芯片不驱动小数点,常将三个小数点对应的发光二极管负极(数码管h段)和公共端(430Ω电阻一端)引出做成插座,点亮小数点则只需将公共端与某一个小数点对应的发光二极管负极短接即可点亮.具体小数点切换电路在直流数字电压电流表电路中,主要靠开关控制.1.2 电压电流板主板电路电压电流表主板电路如图2所示.图2中电源部分主要产生两路电源:一路是±5V电源,为整个电压电流表电路供电;一路是+5V电源,为表头电路供电,这一路电源虽然放在电压电流表电路中,却跟整个电压电流表电路没有关系,只是为表头供电.所以在接线时,千万不能把两路电源的“地”端GND1和GND2直接连在一起.图2中电压部分和电流部分主要采用电阻和电位器组成分压电路,再结合一些开关进行电压表和电流表的量程扩展和选择.图2中控制部分主要是利用直键开关进行电压和电流之间的切换及不同量程的切换.主要包括直键开关、集成运放ICL7650、继电器、二极管和一些阻容元件.其中ICL7650是第四代斩波稳零运放,当测量电流且选择2mA量程时,继电器线圈得电,常开开关闭合,ICL7650的反相输入端接通电路中的A点,可以通过调节A点电位的高低,使测量更准确.其他时候ICL7650的反相输入端悬空,运放作为跟随器用.二级管VD9主要起保护作用,发光二极管D1和D2分别是测量电压和电流的指示灯,当直键K1弹起,测量电压,D1亮,当直键K1被按下,测量电流,D2亮.另外图中还有七个插座,其中J3接电源变压器,J4是±5V直流电源输出端,J5是+5V 直流电源输出端,J2有表头电源引出端、运放输出端(接表头输入)、3个小数点端和1个小数点公共端8个端子,用排线接表头电路上对应的插座J8,J1是电压电流输入端,引出接被测电压和电流,J6 是电压电流表主板电路部分电源,在±5V直流电源调试好之后,用排线把J6和J4连接起来,J7表头电源插座,在+5V直流电源调试好之后,用排线把J7和J5连接起来.2 电路制作2.1 3位半数字电压表头的装配与调试(按照测量=±199.9mV来说明)(1)确保ICL7107芯片没有装反,各元件没有装错.(2)测量时注意接地引脚:芯片的电源地是21脚,模拟地是32脚,信号地是30脚,基准地是35脚.(3)测量关键点电压:芯片第1脚是正电源引脚,正确电压是5V.第26引脚是负电源引脚,正确电压数值是负值.第36脚是基准电压,正确数值是100mV.(4)将第37脚短接到V+,看表头是否显示‘—1888’,检查线路及数码管的好坏.(5)如果表头只显示‘1666’,检查第38、39、40脚上的振荡元件.(6)芯片的第31引脚是信号输入引脚,可以输入±199.9mV的电压.在一开始,可以把它接地,造成“0”信号输入,以方便测试.(7)如果电路连接和电压数值都是正常的,也没有“短路”或者“开路”故障,那么,电路就应该可以正常工作了.调出非常准确的50mV,100mV,190mV三个电压,依次输入到ICL7107的第31脚和30脚之间,数码管应显示50.0,100.0, 190.0,允许有2-3个字的误差.如果差别太大,可以微调一下36脚的电压.(8)检查比例读数:把31脚与36脚短接,数码管应显示100.0,通常在99.7-100.3之间,越接近100.0越好.2.2 直流数字电压电流表主板电路的装配与调试(1)装调电源电路.(2)装配其他部分电路,完毕后用万用表初步检查电路通断,尤其是直键开关的通断.2.3 综合调试将主板电路和表头电路对接起来,尤其注意连接排线不能接反.调出多组电压值,使其分布在电压表的四个量程中,检查调试电压表电路;调出多组电流值,使其分布在电流表的四个量程中,检查调试电流表电路.在每次测量时,用数字万用表同步测量一遍,把自制电压电流表测量结果和数字万用表测量结果进行比较,看结果是否相同.至此,一块3位半直流数字电压电流表就制作完成了,该表表头使用ICL7107芯片,单独设计,其他部分采用分压分流电阻及直键开关的巧妙组合实现,采用纯硬件电路设计.具有多重保护电路,按200mV/2mA、2V/20mA、20V/200 mA、200V/2A分档,测量准确度高,性能稳定、使用方便,应用及其广泛.参考文献:〔1〕刘苏英.数字电子技术基础.北京:机械工业出版社,2013.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章设计任务及可行性分析1.1总体结构1.1.1数字电流表的组成图2.2 数字电流表的组成框图数字直流电流表的核心是A/D转换器。
按系统功能实现要求,决定控制系统采用AT89C51单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便地进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能。
数字电流表系统设计方案框图如图 2.3所示。
AT89C51P0P2P1ADC08094位LED显示上电复位串口通信电源电路图2.3 数字电流表系统设计方案框图1.2所需元器件清单表3.1所需元器件材料表器件类型器件名数值数量单片机AT89S511A/D转换器ADC08091数码管TSEG-MP*4-C1C-BLUE开关按键开关 1电容C1、C2 33uF 2电解电容C3 10uF 1电阻R1 1K 2排阻RP1 200 1变阻器RV1 1K 1晶振X1 1MHz 1第二章达到的技术指标1、可以测量0-5V的8路输入电压值;2、测量结果可在四位LED数码管上轮流显示后单路选择显示;3、测量最小分辨率为0.019A;4、测量误差约为+0.0AV;第三章数字式电流表的硬件设计3.1主要元器件的介绍3.1.1单片机AT89S51AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机。
图4.2和4.3分别为其实物图和内部总体结构图。
AT89S51的引脚AT89S51芯片为40引脚双列直插式封装,其引脚排列如图4.2所示。
图4.2 AT89S51的引脚图(1)VCC:电源电压;(2)GND:接地;(3)P0口:P0口是一组8位漏极开路双向I/O口,每位引脚可驱动8个TTL 逻辑门路。
(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口的输出缓冲器可驱动4个TTL逻辑门电路。
有第二功能,如表4.1所示。
表4.1 P1口的第二功能端口引脚第二功能P1.5 MOSI(用于ISP编程)P1.6 MISO(用于ISP编程)P1.7 SCK(用于ISP编程)(5)P2口:P2口是一个内部提供上拉电阻的8位双向I/O口,P2口的输出缓冲器可驱动4个TTL逻辑门电路。
(6)P3口:P3口是一个内部提供上拉电阻的8位双向I/O口,P3口的输出缓冲器可驱动4个TTL逻辑门电路。
P3口除了一般I/O线的功能外,还具有更为重要的第二功能,如表4.2所示。
P3口同时为FLASH编程和编程校验接收一些控制信号表4.2 P3口的第二功能端口引脚第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INTO(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)(7) RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(8) ALE//RPOG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
(9)/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的信号将不出现。
(10)/EA/VPP:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
·定时器0和定时器1:AT89S51的定时器0和定时器1 的工作方式与AT89C51 相同。
定时和计数功能由特殊功能寄存器TMOD的控制位C/T进行选择,这两个定时/计数器有4种操作模式,通过TMOD的M1和M0选择。
其中模式0、1和2都相同,模式3不同。
·定时器2:定时器2 是一个16 位定时/计数器。
它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位选择。
定时器2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。
定时器2 由两个8 位寄存器TH2 和TL2 组成,在定时器工作方式中,每个机器周期TL2 寄存器的值加1,由于一个机器周期由12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。
在计数工作方式时,当T2 引脚上外部输入信号产生由1 至0 的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。
若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1 期间寄存器加1。
由于识别1 至0 的跳变需要2 个机器周期(24 个振荡周期),因此,最高计数速率为振荡频率的1/24。
为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。
·可编程时钟输出:定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号。
P1.0 引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2 的外部时钟输入和输出占空比50%的时钟脉冲。
当时钟振荡频率为16MHz 时,输出时钟频率范围为61Hz—4MHz。
·UART:AT89S51的工作方式与AT89C51工作方式相同。
串口为全双工结构,表示可以同时发送和接收,它还具有接收缓冲,在第一个字节从寄存器读出之前,可以开始接收第二个字节。
(但是如果第二个字节接收完毕时第一个字节仍未读出,其中一个字节将会丢失)。
串口的发送和接收寄存器都是通过SFR SBUF进行访问的。
写入SBUF的数据装入发送寄存器,对SBUF的读操作是对物理上分开的接收寄存器进行访问。
该串口有4种操作模式(模式0、模式1、模式2和模式3),在这4种模式中,发送过程是以任意一条写SBUF作为目标寄存器的指令开始的,模式0时接收通过设置R0=0及REN=1初始化,其他模式下如若REN=1则通过起始位初始化。
·中断:AT89S51共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中断。
这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。
IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。
定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。
定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。
然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。
·时钟振荡器:AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路。
外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。
用户也可以采用外部时钟。
采用外部时钟的电路。
这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。
由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
·Flash存储器的编程:AT89S51单片机内部有8k字节的Flash PEROM,这个Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。
编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。
低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM 编程器兼容。
·数据查询:AT89S51 单片机用Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。
写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,Data Palling 可能随时有效。
·Ready/Busy:字节编程的进度可通过“RDY/BSY 输出信号监测,编程期间,ALE 变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。
编程完成后,P3.4 变为高电平表示准备就绪状态。
·程序校验:如果加密位LB1、LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用如图12的电路。
加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。
·芯片擦除:利用控制信号的正确组合并保持ALE/PROG 引脚10mS 的低电平脉冲宽度即可将PEROM 阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。
3.1.2A/D转换芯片ADC0809ADC0809是典型的8位8通道逐次逼近式A/D转换器,其实物如图1-3所示。
它可以和微型计算机直接接口。
ADC0809转换器的系列芯片是ADC0808,可以相互替换。
3.1.3ADC0809内部逻辑结构图4.3 ADC0809的内部逻辑结构图ADC0809的内部逻辑结构如图4.7所示。
图中多路模拟开关可选通8路模拟通道,允许8路模拟量分时输入,并共用一个A/D转换器进行转换。
地址锁存与译码电路完成对A、B、C三个地址位进行锁存与译码,如表4.3所示。
表4.3 ADC0809通道选择表C(ADDC) B(ADDB) A(ADDA) 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN73.1.4ADC0809的引脚ADC0809芯片为28引脚双列直插式芯片,其主要功能:(1)IN0~IN7:8路模拟量输入通道。