毕业设计(论文)基于单片机的电容测量仪设计

上传人:e****s 文档编号:57193669 上传时间:2022-02-23 格式:DOCX 页数:47 大小:874.34KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的电容测量仪设计_第1页
第1页 / 共47页
毕业设计(论文)基于单片机的电容测量仪设计_第2页
第2页 / 共47页
毕业设计(论文)基于单片机的电容测量仪设计_第3页
第3页 / 共47页
点击查看更多>>
资源描述
基于单片机的电容测试仪设计前言目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在应用中我们常常要测定电容的大小。在电子产品的生产和维修中,电容测量这一环节至关重要,一个好的电子产品应具备一定规格年限的使用寿命。因此在生产这一环节中,对其产品的检测至关重要,而检测电子产品是否符合出产要求的关键在于检测其内部核心的电路,电路的好坏决定了电子产品的好与坏,而电容在基本的电子产品的集成电路部分有着其不可替代的作用。同样,在维修人员在对电子产品的维修中,电路的检测是最基本的,有时需要检测电路中各个部件是否工作正常,电容器是否工作正常。因此,设计可靠,安全,便捷的电容测试仪具有极大的现实必要性。1选题背景 1.1电容测试仪的发展历史及研究现状当今电子测试领域,电容的测量已经在测量技术和产品研发中应用的十分广泛。电容通常以传感器形式出现,因此,电容测量技术的发展归根结底就是电容传感器的发展。由最初的用交流不平衡电桥就能测量基本的电容传感器。最初的电容传感器有变面积型,变介质介电常数型和变极板间型。现在的电容式传感器越做越先进,现在用的比较多的有容栅式电容传感器,陶瓷电容压力传感器等。电容测量技术发展也很快现在的电容测量技术也由单一化发展为多元化。现在国内外做传感器的厂商也比较多,在世界范围内做电容传感器做的比较好的公司有:日本figaro、德国tecsis、美国alphasense。中国本土测量仪器设备发展的主要瓶颈。尽管本土测试测量产业得到了快速发展,但客观地说中国开发测试测量仪器还普遍比较落后。每当提起中国测试仪器落后的原因,就会有许多不同的说法,诸如精度不高,外观不好,可靠性差等。实际上,这些都还是表面现象,真正影响中国测量仪器发展的瓶颈为:1.测试在整个产品流程中的地位偏低。由于人们的传统观念的影响,在产品的制造流程中,研发始终处于核心位置,而测试则处于从属和辅助位置。关于这一点,在几乎所有的研究机构部门配置上即可窥其一斑。这种错误观念上的原因,造成整个社会对测试的重视度不够,从而造成测试仪器方面人才的严重匮乏,造成相关的基础科学研究比较薄弱,这是中国测量仪器发展的一个主要瓶颈。实际上,即便是研发队伍本身,对测试的重视度以及对仪器本身的研究也明显不够。 2.面向应用和现代市场营销模式还没有真正建立起来。本土仪器设备厂商只是重研发,重视生产,重视狭义的市场,还没有建立起一套完整的现代营销体系和面向应用的研发模式。传统的营销模式在计划经济年代里发挥过很大作用,但无法满足目前整体解方案流行年代的需求。所以,为了快速缩小与国外先进公司之间的差距,国内仪器研发企业应加速实现从面向仿制的研发向面向应用的研发的过渡。特别是随着国内应用需求的快速增长,为这一过渡提供了根本动力,应该利用这些动力,跟踪应用技术的快速发展。3.缺乏标准件的材料配套体系。由于历史的原因,中国仪器配套行业的企业多为良莠不齐的小型企业,标准化的研究也没有跟上需求的快速发展,从而导致仪器的材料配套行业的技术水平较低。虽然目前已有较大的改观,但距离整个产业的要求还有一定距离,所以,还应把标准化和模块化的研究放到重要的位置。还有,在技术水平没有达到的条件下,一味地追求精度或追求高指标,而没有处理好与稳定性之间的关系。上述这些都是制约本土仪器发展的因素。近年来我国测量仪器的可靠性和稳定性问题得到了很多方面的重视,状况有了很大改观。测试仪器行业目前已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的差距正在快速缩小,对国外电子仪器巨头的垄断造成了一定的冲击。随着模块化和虚拟技术的发展,为中国的测试测量仪器行业带来了新的契机,加上各级政府日益重视,以及中国自主应用标准研究的快速进展,都在为该产业提供前所未有的动力和机遇。从中国电子信息产业统计年鉴中可以看出,中国的测试测量仪器每年都以超过30%以上的速度在快速增长。在此快速增长的过程中,无疑催生出了许多测试行业新创企业,也催生出了一批批可靠性和稳定性较高的产品。1.2现今的电容测量技术手段电容器作为非常重要的一个电学元件在现代电子技术中有着非常广泛的用途,电容定义为:电容器所带的电荷量Q与电容器两极板间的电势差U的比值,即:。这种原始的方法必须通过测量两个物理量来计算电容的大小,而其中的Q是比较难以测量的量。目前常用的两种测量电容的实现方法:一是利用多谐震荡产生脉冲宽度与电容值成正比信号,通过低通滤波后测量输出电压实现;二是利用单稳态触发装置产生与电容值成正比门脉冲来控制通过计数器的标准计数脉冲的通断,即直接根据充放电时间判断电容值。利用多谐震荡原理测量电容的方案硬件设计比较简单,但是软件实现相对比较复杂,而直接根据充放电时间判断电容值的方案虽然基本上没有用到软件部分,但是硬件却又十分的复杂。而且他们都无法直观的把测量的电容值大小显示出来。根据上面两种方案的优缺点,本次设计提出了硬件设计和软件设计都相对比较简单的方案:基于AT89C51单片机和555芯片的数显式电容测量。该方案主要是根据555芯片的应用特点,把电容的大小转变成555输出频率的大小,进而可以通过单片机对555输出的频率进行测量。本方案的硬件设计和软件设计都相对简单。2 基于单片机电容测量硬件设计2.1设计方案本次设计中考虑了三种设计方案,三种设计方案中主要区别在于硬件电路和软件设计的不同,对于本设计三种方案均能够实现,最后根据设计要求、可行性和设计成本的考虑选择了基于AT89C51单片机和555芯片构成的多谐振荡电路的测量的方案。现在一一介绍论证如下:方案一、利用多谐振荡原理测量电容测量原理如下图所示。电容C电阻R和555芯片构成一个多谐振荡电路。在电源刚接通时(K合上),电容C上的电压为零,多谐振荡器输出为高电平 通过R对电容C充电。当C上冲得的电压= 时,施密特触发器翻转,变为低电平,C又通过R放电,下降。当= 时施密特触发器又翻转,输出又变为高电平,如此往复产生震荡波形。由理论分析可知 (1) (2) (3)令 (4)则 (5) (6)有式(6)和测得的校准值测量值及存放的软件中的标准电容值C可得出待测电容值。实际应用中也可以通过测量和来算出V0LV0HVT+ CXC0K0K1555AT8 9C51LED数码管图1 电容测量原理图VCVT-tV0t图2 震荡波形图R测量误差分析:由式(6)可以看出,经过软件校准后得出的结果与的值有关。这样单片机晶振频率的绝对精度,环境温度的变化和电源电压的绝对精度引起的误差被消除。测量结果主要受标准电容的绝对精度影响,因此应该选择精度高、稳定性好的;其他误差来源包括周期测量的量化误差,除法运算产生的余数误差,电源电压的波动造成谐振频率偏移带来的误差,因此电路要用稳压性能好的稳压电源这种方法的利用了一个参考的电容实现,虽然硬件结构简单,软件实现却相对比较复杂。方案二、直接根据充放电时间判断电容值这种电容测量方法主要利用了电容的充放电特性,放电常数,通过测量与被测电容相关电路的充放电时间来确定电容值。一般情况下,可设计电路使( T为振荡周期或触发时间;A为电路常数与电路参数有关)。这种方法中应用了555芯片组成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对应。其原理框图如图3所示。 反向器单稳态触发器显示窄脉冲触发器秒脉冲发生器译码器锁存器记数器标准记数脉冲图3 电路原理框图误差分析:这种电容测量方法的误差主要由两部分组成:一部分是由555芯片构成的振荡电路和触发电路由于非线性造成的误差,其中最重要的是单稳态触发电路的非线性误差,(T由充放电时间决定,是被测电容值);另一部分是由数字电路的量化误差引起,是数字电路特有的误差该误差相对影响较小,可忽略不计。这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰到很大问题,而且硬件一旦设计好,可变性不大。方案三、基于AT89C51单片机和555芯片构成的多谐振荡电路电容测量 这种电容测量方法主要是通过一块555芯片来测量电容,让555芯片工作在直接反馈无稳态的状态下,555芯片输出一定频率的方波,其频率的大小跟被测量的电容之间的关系是:,我们固定的大小,其公式就可以写为:,只要我们能够测量出555芯片输出的频率,就可以计算出测量的电容。计算频率的方法可以利用单片机的计数器和中断配合使用来测量,这种研究方法相当的简单。系统框图见图4。AT89C51 555晶振电路被测电容LCD1602显示复位电路测量按键图4 系统框图图中给出了整个系统设计的系统框图,系统主要由四个主要部分组成,单片机和晶振电路设计,555芯片电路设计,显示电路设计,复位电路设计。2.2 硬件设计的任务AT89C51基本工作电路设计:使单片机正常工作;时钟电路:为单片机提供时钟信号;复位电路:为单片机提供高电平复位信号;555芯片电路:把电容的大小转变成输出频率的大小;显示电路:显示当前测量电容的大小;按键电路:开始测量电容;2.3基于AT89C51电容测量系统硬件设计详细分析2.3.1 AT89C51单片机工作电路本设计的核心是单片机电路,考虑到需要一个中断输入,存储容量、外部接口对单片机端口的需要以及兼顾到节约成本的原则,选用了常用的AT89C51单片机。AT89C51是低功耗、高性能、经济的8位CMOS微处理器,工作频率为024MHz,内置4K字节可编程只读闪存,128x8位的内部RAM,16位可编程IO总线。它采用Atmel公司的非易储器制造技术,与MCS51的指令设置和芯片引脚可兼容。AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C51工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。其最简单的工作原理图如下图。图5 AT89C51单片机工作电路2.3.2 基于AT89C51电容测量系统复位电路MCS-51的复位是由外部的复位电路来实现的。MCS-51单片机片内复位,复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。图6 上电复位电路上图兼有上电复位和按钮复位的电路。在单片机设计中,若有外部扩展的I/O接口电路需初始复位,如果它们的复位端和MCS-51单片机的复位端相连,复位电路中的R、C参数要受到影响,这时复位电路中的R、C参数要统一考虑以保证可靠的复位。如果单片机MCS-51单片机与外围I/O接口电路的复位电路和复位时间不完全一致,使单片机初始化程序不能正常运行,外围I/O接口电路的复位也可以不和MCS-51单片机复位端相连,仅采用独立的上电复位电路。一般来说,单片机的复位速度比外围I/O快些。若RC上电复位电路接MCS-51单片机和外围电路复位端,则能使系统可靠地同步复位。为保证系统可靠复位,在初始化程序中应用到一定的复位延迟时间。复位电路软件程序跑飞或者硬件发生错误的时候产生一个复位信号,控制MCS-51单片机从0000H单元开始执行程序,重新执行软件程序。此电路的输出端RESET接在单片机的复位引脚。2.3.3 基于AT89C51电容测量系统时钟电路时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外部时钟方式。内部时钟方式:内部时钟方式电路图如下图所示。图7 内部时钟电路MCS-51单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。电路中的电容C1和C2典型值通常选择为30PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在1.2MHz12MHz之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。为了提高温度稳定性,应采用温度稳定性能好的NPO高频电容。MCS-51单片机常选择振荡频率6MHz或12MHz的石英晶体。外部时钟方式:外部时钟方式电路图如下图所示。图8 外部时钟电路外部时钟方式是使用外部振荡脉冲信号,常用于多片MCS-51单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于12MHz的方波。外部的时钟源直接接到XTAL2端,直接输入到片内的时钟发生器上。由于XTAL2的逻辑电平不是TTL的,因此要外接一个4.7k10k的上拉电阻。这次的设计采用MCS-51的内部时钟方式。因为外部时钟方式是用外部振荡脉冲信号,用于多片MCS-51单片机同时工作。在这次设计中只用一个MCS-51单片机,不需要振荡脉冲信号。2.3.4 基于AT89C51电容测量系统按键电路按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。图9就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。图9 按键电路2.3.5 基于AT89C51电容测量系统555芯片电路555芯片电路是一种将模拟功能与逻辑功能巧妙结合在同一硅片上的组合集成电路。它设计新颖,构思奇巧,用途广泛,备受电子专业设计人员和电子爱好者的青睐,人们将其戏称为伟大的小IC。1972年,美国西格尼蒂克斯公司(Signetics)研制出Tmer NE555双极型时基电路,设计原意是用来取代体积大,定时精度差的热延迟继电器等机械式延迟器。但该器件投放市场后,人们发现这种电路的应用远远超出原设计的使用范围,用途之广几乎遍及电子应用的各个领域,需求量极大。美国各大公司相继仿制这种电路 1974年西格尼蒂克斯公司又在同一基片上将两个双极型555单元集成在一起,取名为NF556。1978年美国英特锡尔(Intelsil)研制成功CMOS型时基电路ICM555 ICM556,后来又推出将四个时基电路集成在一个芯片上的四时基电路558 由于采用CMOS型工艺和高度集成,使时基电路的应用从民用扩展到火箭、导弹、卫星、航天等高科技领域。在这期间,日本、西欧等各大公司和厂家也竞相仿制、生产。尽管世界各大半导体或器件公司、厂家都在生产各自型号的555556时基电路,但其内部电路大同小异,且都具有相同的引出功能端。555电路,也称555芯片电路,是一种中规模集成电路。它具有功能强、使用灵活、适用范围宽的特点。通常只要外接少量几个元件,就可构成各种不同用途的脉冲电路以及许多实用电路,如多谐振荡器、单稳态电路及施密特触发器等等。从而能够实现振荡、定时、调光、调压、调速等。555集成电路有双极型和CMOS两种。CMOS型的优点是功耗低、电源电压低、输入阻抗高。对于初学者来说,可以把555电路等效看成一个带放电开关的RS触发器,这个特殊的触发器有两个输入端:阈值端TH可看成是置零端R,要求高电平,触发端R可看成置位端低电平有效。它只有一个输出端Vo,Vo可等效为触发器的Q端。放电端DIS可看成由内部放电开关控制的一个接点,放电开关由触发器的端控制:Q=1时DIS端接地;Q=0时,DIS端悬空。此外,这个触发器还有复位端MR加上低电平(0;mm-) for(i=100;i0;i-);/*检查忙否*/void Checkstates() unsigned char dat; RS=0; RW=1; doEN=1;/下降沿 _nop_();/保持一定间隔_nop_(); dat=DATA; _nop_();_nop_(); EN=0; while(dat&0x80)=1);/*LCD写命令函数*/void wcomd(unsigned char cmd) Checkstates(); RS=0; RW=0; DATA=cmd; EN=1; _nop_(); _nop_(); _nop_(); _nop_(); EN=0;/*LCD写数据函数*/void wdata(unsigned char dat) Checkstates(); RS=1; RW=0; DATA=dat; EN=1; _nop_(); _nop_(); _nop_(); _nop_(); EN=0;/*初始化*/void LCDINIT() Delay1ms(15); wcomd(0x38);/功能设置 Delay1ms(5); wcomd(0x38);/功能设置 Delay1ms(5); wcomd(0x01);/清屏 Delay1ms(5); wcomd(0x08);/关显示 Delay1ms(5); wcomd(0x0c);/开显示,不开光标/*显示函数*/void Display(void) /显示函数unsigned char i,j; unsigned char a12=0X4D,0X45,0X41,0X53,0X55,0X52,0X45,0X4D,0X45,0X4E,0X54,0X53;/显示measurements LCDINIT(); for(i=0;i12;i+)/写显示第一行 wcomd(0x80+i); Delay1ms(1); wdata(ai); Delay1ms(1); for(j=0;j5000) /设置最长等待时间 _reset=0; /最长等待时间到还没有中断,停止555 if(N5000) /如果计数值大于5000,显示LA,表示应换用大一点的量程 b3=0X11; b2=0X1C; if(N=100 & N=5000) C=N/100; /计算电容的大小 b2=C/10; /计算电容值的十位 b3=C-b2*10; /计算电容值的各位 Display(); /显示电容的大小 void int0(void) interrupt 0 /第一次中断开始计数,第二个中断停止计数 T_flag=!T_flag; if(T_flag=1) TR0=1; /开始计时 if(T_flag=0) TR0=0; /停止计时 EX0=0; /关闭中断 _reset=0; /停止发出方波 N=TH0*256+TL0; /计算计数器的值 N=N*5/3; TH0=0x00; /恢复初值 TL0=0x00; 3.7结果分析通过仿真得到如下数据表格表4 电容测量值与实际值的比较被测电容值35uF25uF10uF5uF测量值35uF25uF10uF5uF通过表中的数据可以看出仿真的数据还是比较准确的,但是在实际的操作中,测量值可能没有这么准确,因为在实际的电路中,555芯片输出的方波可能不会如仿真时的那么标准平滑,即使加上一些去除毛刺和去干扰的电路例如加上一个两输入与门或者加上一个过零比较器或者泻回比较器波形还是不会那么理想,再加上单片机的测量也会存在一些误差,所以综合以上的一些考虑,真实中的测量结果肯定要比仿真中的结果误差大。所以本次的方案算然说不能过非常精确的测出结果来,但是相比较一些能够测出比较精确结果的电路来,本电路是实现起来很容易,测量结果也比较准确,实际操作中比较有保障的一种电路。4 主要元器件介绍AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kb字节的快速可擦写的只读程序存储器(PEROM)和128 字节的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51产品指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数:1)与MCS-51产品指令系统完全兼容;2)4K字节可重复写flash闪速存储器;3)1000次擦写周期;4)全静态操作:0HZ24MHZ;5)三级加密程序存储器;6)128*8字节内部RAM;7)32个可编程I/O口;8)2个16位定时/计数器;9)6个中断源;10)可编程串行UART通道;11)低功耗空闲和掉电模式。功能特性概述:AT89C51提供以下标准功能:4K 字节闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。引脚功能说明:Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复位口。作为输出口用时,每位能吸收电流的方式驱动8个逻辑门电路,对端口写“1”可 作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可做熟出口。做输出口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash编程和程序校验期间,P1接受低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部地山拉电阻把端口拉到高电平,此时可作为输出口,作输出口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,他们被内部上拉电阻拉高并可作为输出口。做输出端时,被外部拉低的P3口将用上拉电阻输出电流。P3口还接收一些用于闪速存储器编程和程序校验的控制信号。表5 1P3功能引脚功能P3.0RXDP3.1TXDP3.2INT0P3.3INT1P3.4TOP3.5T1P3.6WRP3.7RDRST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址所存允许)输出脉冲用于所存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有不要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该外置位后,只要一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两个PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是; 如果加密位LB1被编程,复位时内部会锁存EA端状态。如 EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1: 振荡器反相放大器的及内部时钟发生器的输出端。XTAL2: 振荡器反相放大器的输出端。时钟振荡器:AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30PF,而如使用陶瓷谐振器建议选择40PF。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术要求。在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,即可终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并仅随终端返回指令,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止,需要注意的是,当由硬件复位来终止空闲模式时,CPU通常是从激活空闲模式那条指令的下C2C1XTAL2XTAL1GNDXTAL2XTAL1GNDNC外部时钟信号 图21 外部时钟电路 图22 外部时钟输入一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其它端口。为了避免可能对端口产生以外写入,激活空闲模式的那条指令后一条指令不应该是一条对端口或外部存储器的写入指令。在掉电模式下,震荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。表6 编程电压VPP=12VVPP=5V标志AT89C51XXXXYYWWAT89C51XXXX-5YYWW地址(030H)=1EH(031H)=51H(032H)=FFH(030H)=1EH(031H)=51H(032H)=05H编程方法:编程前,需设置好地址,数据及控制信号, AT89C51编程方法如下:1) 在地址线上加上要编程单元的地址信号;2) 在数据线上加上要写入的数据字节;3) 激活相应的控制信号;4) 在高电压编程方式时,将EA/VPP端加上+12V编程电压;5) 每对FLASH存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲,改变编程单元的地址和写入的数据,重复15步骤,直到全部文件编程结束。每个字节写入周期是自身定时地,通常约为1.5ms。数据查询:AT89C51单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需要读取最后写入的那个字节,则读出的数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,有效的数据就会出现在所有输出端上,此时,可进入下一个字节的写周期,写周期开始后,可在任意时刻进行数据查询。READY/BUSY:字节编程的进度可通过“RDY/BSY”输出信号监测,编程期间,ALE变为高电平“H”后P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4变为高电平表示准备就绪状态。程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据。加密位不可能直接变化。证实加密位的完成通过观察它们的特点和能力。芯片擦除:利用控制信号的正确组合(表1)并保持ALE/PROG引脚10ms的低电平脉冲宽度即可将PEROM阵列(4k字节)整片擦除,代码阵列在擦除操作中将任何非空单元写入“1”,这步骤需要再编程之前进行。读片内签名字节:AT89C51单片机内有3个签名字节,地址为030H、031H和032H。用于声明该器件的厂商、型号和编程电压。读签名字节的过程和单元030H、031H和032H的正常校验相仿,只需将P3.6和P3.7保持低电平,返回值意义如下:(030H)=1EH声明产品由ATMEL公司制造;(031H)=51H声明为AT89C51单片机;(032H)=FFH声明为12V编程电压;(032H)=05H声明为5V编程电压。编程接口:采用控制信号的正确组合可对FLASH闪速存储阵列中的每一代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成5 结 论毕业论文是一次非常好的将理论与实际相结合的机会,通过对电容测试仪的课题设计,锻炼了我的实际动手能力,增强了我解决实际工程问题的能力,同时也提高我查阅文献资料、设计规范以及电脑制图等其他专业能力水平。本设计的硬件电路比较简单,这大大的降低了成本。而采用单片机可以提高系统的可靠性和稳定性,缩小系统的体积,调试和维护方便。本设计通过由555芯片和电容电阻组成
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!