《2022年基于单片机的电容测量仪方案设计书杨建华 .pdf》由会员分享,可在线阅读,更多相关《2022年基于单片机的电容测量仪方案设计书杨建华 .pdf(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、专科毕业论文题目:学院:专业:姓名:学号:班级:指导教师 :职称:完成日期 :精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 40 页毕业论文诚信承诺书毕业论文题目学生姓名专业学号指导老师职称助教所在学院经济与管理学院诚信承诺本人慎重承诺和声明:在毕业论文(设计)活动中遵守学校有关规定,恪守学术规范,在本人的毕业论文中未剽窃、抄袭他人的学术观点、思想和成果,未篡改研究数据,如有违规行为发生,我愿承担一切责任,接受学校的处理。学生(签名):年月日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第
2、2 页,共 40 页摘 要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。单片机是集CPU ,RAM ,ROM , 定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51 系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到
3、学习 、 了 解 单 片 机 相关 指令 在 各 方 面 的 应 用。 系统 由 主 控 制 器AT89C51 、时钟电路DS1302 、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。【关键词 :】单片机 , 农历查询 , 万年历精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 40 页Abstract Chinas accounting occupation morality is the accounting personnel in the occupation activity sho
4、uld follow the code of conduct, it is adjusted with the national accounting officer, accounting personnel with different stakeholders, accounting popularity of the social relations between and the sum of social ethics, is the basic code of ethics in the accounting of the specific embodiment, the acc
5、ounting occupation morals is a specification of accounting occupation relationship develops to a certain extent. 【Key words】Occupation moral of accounting occupation morals occupation morality and accounting occupation m 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 40 页目录前言1 选题背景1.1电容测试仪的发展历
6、史及研究现状.21.2 现今的电容测量技术手段.32 基于单片机电容测量硬件设计2.1 设计方案 .42.2 硬件设计的任务 42.3基 于AT89C51电 容测 量系 统硬件 设计 详细 分析 .52.3.1 AT89C51单片机工作电路62.3.2 基于 AT89C51 电容测量系统复位电路 .72.3.3 基于 AT89C51 电容测量系统时钟电路 .82.3.4 基于 AT89C51 电容测量系统按键电路 .92.3.5基于AT89C51电容测量系统555芯片电路 .102.3.6 基于AT89C51 电容测量系统显示电路 .132.4 各部分电路连接成整个电路图.153 基于单片机电
7、容测量软件设计3.1 软件设计 . . 173.2 软件设计任务 . 183.3 软件设计的工具 203.4 程序设计算法设计 . 213.5 软件设计流程 .253.6 编写程序 .273.7 结果分析 . 304 主要元器件介绍355 结论.38参考文献. .39精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 40 页致谢.40电容测量仪器设计前言目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在应用中我们常常要测定电容的大小。在电子产品的生产和维修中,电容测量这一环节至关重要,一个好的电子产品应具
8、备一定规格年限的使用寿命。因此在生产这一环节中,对其产品的检测至关重要,而检测电子产品是否符合出产要求的关键在于检测其内部核心的电路,电路的好坏决定了电子产品的好与坏,而电容在基本的电子产品的集成电路部分有着其不可替代的作用。同样,在维修人员在对电子产品的维修中,电路的检测是最基本的,有时需要检测电路中各个部件是否工作正常,电容器是否工作正常。因此,设计可靠,安全,便捷的电容测试仪具有极大的现实必要性。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 40 页1 选题背景1.1 电容测试仪的发展历史及研究现状当今电子测试领域,电容的测量已
9、经在测量技术和产品研发中应用的十分广泛。电容通常以传感器形式出现,因此,电容测量技术的发展归根结底就是电容传感器的发展。由最初的用交流不平衡电桥就能测量基本的电容传感器。最初的电容传感器有变面积型,变介质介电常数型和变极板间型。现在的电容式传感器越做越先进,现在用的比较多的有容栅式电容传感器,陶瓷电容压力传感器等。电容测量技术发展也很快现在的电容测量技术也由单一化发展为多元化。现在国内外做传感器的厂商也比较多,在世界范围内做电 容 传 感 器 做 的 比 较 好 的 公 司 有 : 日 本figaro 、 德 国tecsis、 美 国alphasense 。中国本土测量仪器设备发展的主要瓶颈。
10、尽管本土测试测量产业得到了快速发展,但客观地说中国开发测试测量仪器还普遍比较落后。每当提起中国测试仪器落后的原因,就会有许多不同的说法,诸如精度不高,外观不好,可靠性差等。实际上,这些都还是表面现象,真正影响中国测量仪器发展的瓶颈为:1.测试在整个产品流程中的地位偏低。由于人们的传统观念的影响,在产品的制造流程中,研发始终处于核心位置,而测试则处于从属和辅助位置。关于这一点,在几乎所有的研究机构部门配置上即可窥其一斑。这种错误观念上的原因,造成整个社会对测试的重视度不够,从而造成测试仪器方面人才的严重匮乏,造成相关的基础科学研究比较薄弱,这是中国测量仪器发展的一个主要瓶颈。实际上,即便是研发队
11、伍本身,对测试的重视度以及对仪器本身的研究也明显不够。2.面向应用和现代市场营销模式还没有真正建立起来。本土仪器设备厂商只是重研发,重视生产,重视狭义的市场,还没有建立起一套完整的现代营销体系和面向应用的研发模式。传统的营销模式在计划经济年代里发挥过很大作用,但无法满足目前整体解方案流行年代的需求。所以,为了快速缩小与国外先进公司之间的差距,国内仪器研发企业应加速实现从面向仿制的研发向面向应用的研发的过渡。特别是随着国内应用需求的快速增长,为这一过渡提供了根本动力,应该利用这些动力,跟踪应用技术的快速发展。3.缺乏标准件的材料配套体系。精选学习资料 - - - - - - - - - 名师归纳
12、总结 - - - - - - -第 7 页,共 40 页料配套行业的技术水平较低。虽然目前已有较大的改观,但距离整个产业的要求还有一定距离,所以,还应把标准化和模块化的研究放到重要的位置。还有,在技术水平没有达到的条件下,一味地追求精度或追求高指标,而没有处理好与稳定性之间的关系。上述这些都是制约本土仪器发展的因素。近年来我国测量仪器的可靠性和稳定性问题得到了很多方面的重视,状况有了很大改观。测试仪器行业目前已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的差距正在快速缩小,对国外电子仪器巨头的垄断造成了一定
13、的冲击。随着模块化和虚拟技术的发展,为中国的测试测量仪器行业带来了新的契机,加上各级政府日益重视,以及中国自主应用标准研究的快速进展,都在为该产业提供前所未有的动力和机遇。从中国电子信息产业统计年鉴中可以看出,中国的测试测量仪器每年都以超过30%以上的速度在快速增长。在此快速增长的过程中,无疑催生出了许多测试行业新创企业,也催生出了一批批可靠性和稳定性较高的产品。1.2 现今的电容测量技术手段电容器作为非常重要的一个电学元件在现代电子技术中有着非常广泛的用途,电容定义为:电容器所带的电荷量Q 与电容器两极板间的电势差U的比值,即:QCU。这种原始的方法必须通过测量两个物理量来计算电容的大小,而
14、其中的Q 是比较难以测量的量。目前常用的两种测量电容的实现方法:一是利用多谐震荡产生脉冲宽度与电容值成正比信号,通过低通滤波后测量输出电压实现;二是利用单稳态触发装置产生与电容值成正比门脉冲来控制通过计数器的标准计数脉冲的通断,即直接根据充放电时间判断电容值。利用多谐震荡原理测量电容的方案硬件设计比较简单,但是软件实现相对比较复杂,而直接根据充放电时间判断电容值的方案虽然基本上没有用到软件部分,但是硬件却又十分的复杂。而且他们都无法直观的把测量的电容值大小显示出来。根据上面两种方案的优缺点,本次设计提出了硬件设计和软件设计都相对比较简单的方案:基于AT89C51 单片机和 555 芯片的数显式
15、电容测量。该方案主要是根据555芯片的应用特点,把电容的大小转变成555输出频率的大小,进而可以通过单片机对555输出的频率进行测量。本方案的硬件设精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 40 页计和软件设计都相对简单。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 40 页2 基于单片机电容测量硬件设计2.1 设计方案本次设计中考虑了三种设计方案,三种设计方案中主要区别在于硬件电路和软件设计的不同,对于本设计三种方案均能够实现,最后根据设计要求、可行性和设计成本的考虑选
16、择了基于AT89C51 单片机和 555 芯片构成的多谐振荡电路的测量的方案。现在一一介绍论证如下:方案一、利用多谐振荡原理测量电容测量原理如下图所示。电容C 电阻 R 和 555 芯片构成一个多谐振荡电路。在电源刚接通时(K 合上 ),电容 C上的电压为零,多谐振荡器输出0V为高电平0V通过 R 对电容 C 充电。当 C上冲得的电压CV= +TV时,施密特触发器翻转,0V变为低电平, C 又通过 R放电,CV下降。当CV= TV时施密特触发器又翻转,输出CV又变为高电平,如此往复产生震荡波形。由理论分析可知-OHT+=RCln(V-V )/(V-V)PHOHTt(1)+-=RCln(-) /
17、(-)PLOLTOLTtVVVV( 2)=+PHPLT tt-+-=(ln(-) /(-)+ln(-) / (-)OHTOHTOLTOLTRCVVVVVVVV (3) 令-+-=ln(-) / (-)+ln(-) /(-)OHTOHTOLTOLTDVVVVVVVV( 4)则00=,=,=XXT RCDTRC D TRC D00/=/XXTT CC(5)0000=(/)=(/)XXxCTT CffC(6)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 40 页CX C0 K0 K1 555 AT8 9C51 LED数 码管图 1 电容测
18、量原理图VC VT- t V0 t 图 2 震荡波形图R 有式 (6)和测得的校准值0T测量值XT及存放的软件中的标准电容值C 可得出待测电容值XC。实际应用中也可以通过测量0f和Xf来算出XC测量误差分析:由式(6)可以看出,经过软件校准后得出的xC结果与0/xTT的值有关。这样单片机晶振频率的绝对精度,环境温度的变化和电源电压的绝对精度引起的误差被消除。测量结果主要受标准电容0C的绝对精度影响,因此应该选择精度高、稳定性好的0C;其他误差来源包括周期测量的量化误差,除法运算产生的余数误差,电源电压的波动造成谐振频率偏移带来的误差,因此电路要用稳压性能好的稳压电源这种方法的利用了一个参考的电
19、容实现,虽然硬件结构简单,软件实现却相对比较复杂。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 40 页方案二、直接根据充放电时间判断电容值这种电容测量方法主要利用了电容的充放电特性QUC,放电常数RC,通过测量与被测电容相关电路的充放电时间来确定电容值。一般情况下,可设计电路使TARC( T 为振荡周期或触发时间;A 为电路常数与电路参数有关 )。这种方法中应用了555 芯片组成的单稳态触发器,在秒脉冲的作用下产生触发脉冲,来控制门电路实现计数,从而确定脉冲时间,通过设计合理的电路参数,使计数值与被测电容相对应。其原理框图如图3所
20、示。图 3 电路原理框图误差分析:这种电容测量方法的误差主要由两部分组成:一部分是由555 芯片构成的振荡电路和触发电路由于非线性造成的误差,其中最重要的是单稳态触发电路的非线性误差,00/CCT T(T 由充放电时间决定,0C是被测电容值 );另一部分是由数字电路的量化误差引起,是数字电路特有的误差该误差相对影响较小,可忽略不计。这种方法硬件结构相对复杂,实际上是通过牺牲硬件部分来减轻软件部分的负担,但在具体设计中会碰到很大问题,而且硬件一旦设计好,可变性不大。方案三、基于AT89C51 单片机和555 芯片构成的多谐振荡电路电容测量这种电容测量方法主要是通过一块555 芯片来测量电容,让5
21、55 芯片工作在直接反馈无稳态的状态下,555 芯片输出一定频率的方波,其频率的大小跟被测量的电容之间的关系是:0.772/(*)xfR C,我们固定R的大小,其公式就可以写为:/xfk C,只要我们能够测量出555 芯片输出的频率,就可以计算出测量的电容。计算频率的方法可以利用单片机的计数器0T和中断0INT配合使用来测量,这种研究方法相当的简单。系统框图见图4。图 4 系统框图图中给出了整个系统设计的系统框图,系统主要由四个主要部分组成,单片机和晶振电路设计,555 芯片电路设计,显示电路设计,复位电路设计。2.2 硬件设计的任务AT89C51 基本工作电路设计:使单片机正常工作;精选学习
22、资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 40 页时钟电路:为单片机提供时钟信号;复位电路:为单片机提供高电平复位信号;555芯片电路:把电容的大小转变成输出频率的大小;显示电路:显示当前测量电容的大小;按键电路:开始测量电容;2.3 基于 AT89C51电容测量系统硬件设计详细分析2.3.1AT89C51 单片机工作电路本设计的核心是单片机电路,考虑到需要一个中断输入,存储容量、外部接口对单片机端口的需要以及兼顾到节约成本的原则,选用了常用的AT89C51 单片机。 AT89C51 是低功耗、高性能、经济的8 位 CMOS 微处理器,
23、工作频率为024MHz,内置 4K 字节可编程只读闪存, 128x8 位的内部 RAM ,16 位可编程IO 总线。它采用Atmel 公司的非易储器制造技术,与 MCS51 的指令设置和芯片引脚可兼容。AT89C51 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C51 工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。其最简单的工作原理图如下图。图 5 AT89C51 单片机工作电路2.3.2 基于 AT89C51电容测量系统复位电路MCS
24、-51 的复位是由外部的复位电路来实现的。MCS-51 单片机片内复位,复位引脚RST 通过一个斯密特触发器用来抑制噪声,在每个机器周期的 S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc 的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST 端经电阻与电源 Vcc 接通而实现的。按键脉冲复位则是利用RC 微分电路产生的正脉冲来实现的。精选学习资料
25、- - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 40 页图 6 上电复位电路上图兼有上电复位和按钮复位的电路。在单片机设计中,若有外部扩展的 I/O 接口电路需初始复位,如果它们的复位端和MCS-51 单片机的复位端相连,复位电路中的R、C 参数要受到影响,这时复位电路中的R、C 参数要统一考虑以保证可靠的复位。如果单片机MCS-51 单片机与外围I/O 接口电路的复位电路和复位时间不完全一致,使单片机初始化程序不能正常运行,外围 I/O 接口电路的复位也可以不和MCS-51 单片机复位端相连,仅采用独立的上电复位电路。一般来说,单片机的复位速度比
26、外围I/O 快些。若RC 上电复位电路接MCS-51 单片机和外围电路复位端,则能使系统可靠地同步复位。为保证系统可靠复位,在初始化程序中应用到一定的复位延迟时间。复位电路软件程序跑飞或者硬件发生错误的时候产生一个复位信号,控制 MCS-51单片机从 0000H 单元开始执行程序,重新执行软件程序。此电路的输出端 RESET 接在单片机的复位引脚。2.3.3 基于 AT89C51电容测量系统时钟电路时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种为外
27、部时钟方式。内 部 时 钟 方 式 : 内 部 时 钟 方 式 电 路 图 如 下 图 所 示 。图 7 内部时钟电路MCS-51 单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1 ,输出端为引脚XTAL2 。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。电路中的电容 C1 和 C2 典型值通常选择为30PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在1.2MHz12MHz之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行
28、速度也精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 40 页就越快。为了提高温度稳定性,应采用温度稳定性能好的NPO 高频电容。MCS-51 单片机常选择振荡频率6MHz 或 12MHz 的石英晶体。外 部 时 钟 方 式 : 外 部 时 钟 方 式 电 路 图 如 下 图 所 示 。图 8 外部时钟电路外部时钟方式是使用外部振荡脉冲信号,常用于多片MCS-51 单片机同时工作,以便于同步。对外部脉冲信号只要求高电平的持续时间大于20us,一般为低于 12MHz 的方波。外部的时钟源直接接到XTAL2 端,直接输入到片内的时钟发生器
29、上。由于 XTAL2 的逻辑电平不是TTL 的,因此要外接一个4.7k10k 的上拉电阻。这次的设计采用MCS-51 的内部时钟方式。因为外部时钟方式是用外部振荡脉冲信号,用于多片MCS-51 单片机同时工作。在这次设计中只用一个MCS-51 单片机,不需要振荡脉冲信号。2.3.4 基于 AT89C51电容测量系统按键电路按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少
30、这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。图9就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。图 9 按键电路2.3.5 基于 AT89C51电容测量系统 555 芯片电路555芯片电路是一种将模拟功能与逻辑功能巧妙结合在同一硅片上的组合集成电路。它设计新颖,构思奇巧,用途广泛,备受电子专业设计人员和电子爱好者的青睐,人们将其戏称为伟大的小IC。1972年,美国西格尼蒂克斯公司 (Signetics)研制出 TmerNE555双极型时基电路,设计原意是用来取代体积大 ,定时
31、精度差的热延迟继电器等机械式延迟器。但该器件投放市场精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 40 页后,人们发现这种电路的应用远远超出原设计的使用范围,用途之广几乎遍及电子应用的各个领域,需求量极大。美国各大公司相继仿制这种电路1974年西格尼蒂克斯公司又在同一基片上将两个双极型555单元集成在一起,取名为 NF556。 1978年美 国英 特锡 尔(Intelsil) 研 制 成 功 CMOS型 时 基 电 路ICM555 ICM556,后来又推出将四个时基电路集成在一个芯片上的四时基电路558由于采用 CMOS型工艺和高度
32、集成,使时基电路的应用从民用扩展到火箭、导弹、卫星、航天等高科技领域。在这期间,日本、西欧等各大公司和厂家也竞相仿制、生产。尽管世界各大半导体或器件公司、厂家都在生产各自型号的 555556时基电路,但其内部电路大同小异,且都具有相同的引出功能端。 555电路,也称 555芯片电路,是一种中规模集成电路。它具有功能强、使用灵活、适用范围宽的特点。通常只要外接少量几个元件,就可构成各种不同用途的脉冲电路以及许多实用电路,如多谐振荡器、单稳态电路及施密特触发器等等。从而能够实现振荡、定时、调光、调压、调速等。555集成电路有双极型和CMOS两种。 CMOS型的优点是功耗低、电源电压低、输入阻抗高。
33、对于初学者来说,可以把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。/下降沿 _no
34、p_()。/保持一定间隔_nop_()。 dat=DATA 。 _nop_()。_nop_()。 EN=0。 while(dat&0 x80)=1) 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 40 页 /*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
35、char dat) Checkstates() 。 RS=1。 RW=0。 DATA=dat 。 EN=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 EN=0。 /*初始化 */ void LCDINIT() 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 40 页 Delay1ms(15)。 wcomd(0 x38)。/功能设置 Delay1ms(5)。 wcomd(0 x38)。/功能设置 Delay1ms(5)。 wcomd(0 x01)。/清屏 Delay1ms(5)。 wcomd(0 x08)
36、。/关显示 Delay1ms(5)。 wcomd(0 x0c)。/开显示,不开光标 /*显示函数 */ 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(0 x80+i) 。 Delay1ms(1)。 wdata(ai)。 Delay1ms(1)。 for(j=0 。j5000) /设
37、置最长等待时间 _reset=0 。 /最长等待时间到还没有中断,停止555 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 40 页 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 / 第一次中断开始计数,第二
38、个中断停止计数 T_flag=!T_flag 。 if(T_flag=1) TR0=1。 /开始计时 if(T_flag=0) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 29 页,共 40 页 TR0=0。 /停止计时 EX0=0。 /关闭中断 _reset=0。 /停止发出方波 N=TH0*256+TL0 。 /计算计数器的值 N=N*5/3 。 TH0=0 x00。 /恢复初值 TL0=0 x00。 3.7 结果分析通过仿真得到如下数据表格表 4 电容测量值与实际值的比较被测电容值35uF 25uF 10uF 5uF 测量值35uF 25
39、uF 10uF 5uF 通过表中的数据可以看出仿真的数据还是比较准确的,但是在实际的操作中,测量值可能没有这么准确,因为在实际的电路中,555 芯片输出的方波可能不会如仿真时的那么标准平滑,即使加上一些去除毛刺和去干扰的电路例如加上一个两输入与门或者加上一个过零比较器或者泻回比较器波形还是不会那么理想,再加上单片机的测量也会存在一些误差,所以综合以上的一些考虑,真实中的测量结果肯定要比仿真中的结果误差大。所以本次的方案算然说不能过非常精确的测出结果来,但是相比较一些能够测出比较精确结果的电路来,本电路是实现起来很容易,测量结果也比较准确,实际操作中比较有保障的一种电路。精选学习资料 - - -
40、 - - - - - - 名师归纳总结 - - - - - - -第 30 页,共 40 页4 主要元器件介绍AT89C51是美国 ATMEL 公司生产的低电压,高性能CMOS8 位单片机,片内含 4Kb 字节的快速可擦写的只读程序存储器(PEROM)和 128 字节的随机存取数据存储器( RAM ),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51产品指令系统,片内置通用8 位中央处理器(CPU )和 Flash 存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数:1)与 MCS-51产品指令系统完全兼容;
41、2)4K字节可重复写 flash闪速存储器;3)1000次擦写周期;4)全静态操作: 0HZ 24MHZ ;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的静态逻辑操作,并支持
42、两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM ,定时 / 计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。引脚功能说明:Vcc:电源电压GND :地P0口:P0口是一组 8 位漏极开路型双向I/O 口,也即地址 / 数据总线复精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 31 页,共 40 页位口。作为输出口用时,每位能吸收电流的方式驱动8 个逻辑门电路,对端口写“ 1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换
43、地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。P1口:P1是一个带内部上拉电阻的8 位双向 I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可做熟出口。做输出口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。Flash 编程和程序校验期间, P1接受低 8 位地址。P2口:P2是一个带有内部上拉电阻的8 位双向 I/O 口,P2的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部地山拉电阻把端口拉到高电平,此时可作为输出口,作输出口使用
44、时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P3口:P3口是一组带有内部上拉电阻的8 位双向 I/O 口。P3口输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对P3 口写入“ 1”时,他们被内部上拉电阻拉高并可作为输出口。做输出端时,被外部拉低的P3 口将用上拉电阻输出电流。P3 口还接收一些用于闪速存储器编程和程序校验的控制信号。表 5 1P3 功能引脚功能P3.0 RXD P3.1 TXD P3.2 INT0 P3.3 INT1 P3.4 TO P3.5 T1 P3.6 WR P3.7 RD RST :复位输入。当振荡器工作时,RST引脚出现两个机器周
45、期以上高电平将使单片机复位。ALE/PROG :当访问外部程序存储器或数据存储器时,ALE (地址所存允精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 32 页,共 40 页许)输出脉冲用于所存地址的低8 位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对 flash存储器编程期间,该引脚还用于输入编程脉冲(PROG )。如有不要,可通过对特殊功能寄存器(SFR )区中的 8EH单元的 D0位置位,可禁止 ALE操作。
46、该外置位后,只要一条MOVX 和 MOVC 指令 ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN :程序存储允许( PSEN )输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两个PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN 信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH), EA 端必须保持低电平(接地)。需注意的是。如果加密位 LB1被编程,复位时内部会锁存EA端状态。如 EA 端为高电平(接VCC端),
47、 CPU则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V的编程允许电源VPP ,当然这必须是该器件是使用12V编程电压 VPP 。XTAL1: 振荡器反相放大器的及内部时钟发生器的输出端。XTAL2: 振荡器反相放大器的输出端。时钟振荡器:AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和 XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1 、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容 C1、C2 虽然没有十分严格的要求,但电容容量的
48、大小会轻微影响振荡频率的高低、振荡器的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30PF ,而如使用陶瓷谐振器建议选择40PF 。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 33 页,共 40 页即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术要求。在空闲工作模式状态,CPU保持睡眠状态而所有片内的外
49、设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,即可终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并仅随终端返回指令,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止,需要注意的是,当由硬件复位来终止空闲模式时,CPU 通常是从激活空闲模式那条指令的下图 21 外部时钟电路图22 外部时钟输入一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保
50、持两个机器周期(24 个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM ,而允许访问其它端口。为了避免可能对端口产生以外写入,激活空闲模式的那条指令后一条指令不应该是一条对端口或外部存储器的写入指令。在掉电模式下,震荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内 RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变 RAM 中的内容,在 VCC 恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。表 6 编程电压VPP=12V VPP=5V 标志AT89C51 X