基于单片机的数字电流表的设计本科生毕业论文(编辑修改稿)内容摘要:

7 P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 [6]P3 口: 8 位,具有内部上拉电 阻的准双向 I/O 口,可接收输出 4 个 LS 型 TTL 负载。 当 P3 口写入 “ 1” 后,它被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL),这是由于上拉的缘故。 P3 口也可作为 AT89C52 的一些特殊功能口,如下所示 [7]: : 8 位准双向并行口,串行数据输入口 : 8 位准双向并行口,串行数据输出口 : 8 位准双向并行口,外部中断 0 申请信号输入端 : 8 位准双向并行口,外部中断 1 申请信号输入端 — T0: 8 位准双向并行口,定时器 /计数器 0 外部脉冲的输入端 — T1: 8 位准双向并行口,定时器 /计数器 1 外部脉冲的输入 : 8 位准双向并行口,外部数据存储器( RAM)写选通 : 8 位准双向并行口,外部数据存储器( RAM)读选通 P3 口同时也为闪烁编程和编程校验接收一些控制信号。 [7]RST—— 复位输入口。 当振荡器处于复位器件时,要保持 RST脚的两个机器周期的高电平时间。 [8]ALE/ PROG —— 当访问外部存储器时,地址锁存允许输出电平用于锁存地址的低位字节。 在 FLASH 进行编程期间,其引脚能够用于输入编程脉冲。 在平时, ALE 端口以恒定不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6,所以它可用作外部输出的脉冲或用于定时目的。 但要注意的是:当作为外部数据存储器时,将跳过一个 ALE 脉冲。 如果想要禁止 ALE 的输出可以在 SFR8EH 地址上置 0。 这时, ALE 只有在执行 MOVX,MOVC 指令时才起作用。 另外,该引脚略微被拉高。 微处理器在外部执行状态如果 ALE被禁止,则置位无效。 [9] PSEN —— 外部程序存储器的选通信号。 当处于外部程序存储器取指期间,每个机器周期两次 PSEN 有效。 但处于访问外部数据存储器时,这两次有效的 PSEN 信号将不会出现。 [10] EA /VPP—— 当 EA 保持 低电平时,则在此期间外部程序存储 器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, EA 将内部锁定为 RESET;当 EA 端保持高电平时,此间内部程序存储器。 在 FLASH 进行编程的时候,此引脚也可以用于施加12V 编程电源( VPP)。 20xx 届本科生毕业论文(设计) 8 液晶显示器 LCD( Liquid Crystal Display)是液晶显示器名称的缩写,我们在日常生活中随处可见。 液晶显示器不仅具有显示图像质量高,而且采用数字式接口、体积小、质量轻、功耗低等优点,所以在生活中得到广泛应用。 LCD1602 是专门用来显示数字、字母、符号等点阵式字符 型液晶显示模块,常见的几种规格主要有 16*1, 16*2, 20*2 和 40*2 等,常见的有字符型、点阵型和笔段型。 模块内部元器件的主要构成有 LCD 显示屏、控制器、列驱动器和偏压产生电路 [8]。 本课题设计以长沙太阳人电子有限公司生产制造的 1602 液晶显示器为例来简单介绍其用法。 常见的 1602字符型液晶显示器引脚如图 26 所示 : 图 26 LCD1602 引脚 LCD1602 引脚采用的是标准 16 脚接口,其各引脚的功能如下 [9]: 引脚 1: GND 为接地电源。 引 脚 2: VCC 接 5V 正极电源。 引脚 3: VO 为调整液晶显示器的对比度端口,当正电源接在其端口时,对比度处于最弱状态;当地电源接在其端口时,对比度处于最高状态(当对比度过高时就会产生 “ 鬼影 ” ,在使用时,可以通过一个 10K 的电位器来调整对比度)。 引脚 4: RS 是选择寄存器,当其处于高电平 1 时,选择数据寄存器;当其处于低电平0 时,选择指令寄存器。 引脚 5: RW 是读写信号线,当其是高电平 1 时,进行读操作;当其处于低电平时,进行写操作。 引脚 6: E(或 EN)端是使能 (enable)端口,当其处于高电平 1 时,读取信息;负 跳变时执行此指令。 20xx 届本科生毕业论文(设计) 9 引脚 7~ 14: DB0~ DB7 是 8 位的双向数据端。 引脚 15~ 16:空脚或背灯电源端。 15 引脚是背光正极端口, 16 引脚是背光负极 [10]端口。 3. 数字电流表的设计 方案论证 (一)设计方案 该数字电流表的设计主要由电压信号采样电路、 A/D( PCF8591)转换电路以及 LCD 显示电路构成,其中采样电路部分包括采样电阻和差分放大电路,以及芯片电路三个模块。 数字电流表的设计方案如图 31 所示。 图 31 数字电流表设计方案 ( 二)硬件电路描述 首先通过对论文题目的分析,根据题目要求考虑所用到的单片机,鉴于合理选取及实例的具体分解,同时考虑到本课题的单片机需求,选取 AT89C51 单片机作为本课题设计的单片机。 AT89C51 不仅可以按照常规编程方法进行,而且还可以实现在线编程。 它能够将通用的微处理器和 Flash 存储器结合在一起,同时 Flash 存储器具有可反复擦写功能,有效地降低开发成本。 AT89C51 是一种功耗低、性能高的 CMOS8 位微控制器,具有 4K 系统可编程 Flash 存储器 ,由 Atmel 公司高密度非 易失性存储器 技术制造。 片上的 Flash 允许 程序存储器 在系统可编程,也适用于常规的编程器。 在单芯片上, AT89C51 拥有灵巧的 8 位 CPU 和可在系统编程 Flash,众多的嵌入式控制应用系统都采用其作为核心部件,并且得到广泛应用。 再次,在进行电流测量时,电流输入的是模拟量,而单片机只能处理数字信号,所以需要通过 A/D 转换芯 片进行转换,通过筛选和分析,本课题采用 PCF8591 作为 A/D 转换芯片。 A/D 转换器的概念:即模数转换( Analog to Digital Conversion),当输入端输入模拟量(比如电压信号)时,会相应输出一个与模拟量相对应的数字量(通常以二进制形式表示)。 电压信号 采 样电路 A/D 转换器 AT89C51 处理数字信号 LCD 液晶显示 20xx 届本科生毕业论文(设计) 10 例如在参考电压 VREF 为 5V, 8 位的模数转换器情况下,当输入的电压为 0V 时,输出的数字量为 0000 0000,当输入的电压为 5V 时,输出的数字量为 1111 1111。 当输入的电压在 0V 到 5V 之间变化时,输出的数字量会在 0000 0000 到 1111 1111 之间变化。 这样每次输入的电压值都会对应输出一个数字量,从而实现了模数转换功能。 最后,电路显示屏部分采用的是 LCD1602 液晶显示。 任务指标 本课题设计要求以单片机为基础制作出数字电流表。 通过该设计了解 A/D 转换器的原理、 51 系列单片机的使用和 LCD 液晶显示器的使用方法、显示过程。 功能要求为: ( 1)三位直流数字电 流 表; ( 2)量程范围为 0100mA; ( 3)通过 LCD显示屏显示待测电流的数值;( 4) 8 通道进行电流值采集。 本设计系统主要通过硬件设计、软件编程的手段来实现相应的要求功能。 第 一,根据题目设计的要求制作出能相应功能的电路图。 第二,根据电路图编写程序控制单片机(可以使用 C 语言或者 VB 语言,本课题采用的是 C 语言),使单片机能够控制 A/D 转换器进行模数转换,并通过 LCD 显示屏直接显示出来相对应的电流值。 整体电路图 整体电路图设计如图 32 所示。 图 32 数字电流表整体电路图 20xx 届本科生毕业论文(设计) 114. 软件设计 软件设计的主程序流程图 主程序设计流程图如图 41 所示: 图 41 主程序设计流程图 编程语言介绍 C 语言是一 门通用计算机程序设计语言,美国贝尔实验室的 Dennis M. Ritchie 在 1972年推出的,它的工作单元是由高级语言的基本语句与低级语言的实用性结合而成的,它不仅具有高级语言的特点,还具有汇编语言的特点。 1978 年后, C 语言先后被移植到大、中、小及微型机上,它不仅可以作为工作系统设计语言,编写系统的应用程序,还可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 它有着广泛的应用范围,超强的数据处理能力,不仅在软件开发上,而且各类科研工作上都需要用到 C 语言,可以用来编写系统软件,三维、二维图形和动画 ,具体应用体现在单片机以及嵌入式系统开发。 单片机 C 语言的优点 [11]: 、使用灵活方便。 C 语言总共只有 32 个关键字, 9 种控制语句,程序 开始 调用 LCD 初始化子程序 A/D 转换值清零 设置 LCD DDRAM 地址,调 用写入指令数 据到 LCD 调用子程序 LCD 上显示 20xx 届本科生毕业论文(设计) 12 书写形式自由,区分大小写。 C 语言有着广泛的运算符范围,总共有 34 种运算符。 在 C 语言中,赋值符号、括号、强制类型转换等都会当作运算符处理,这样使得 C 语言的运算类型极其丰富,表达式类型也呈现多样化。 C 语言的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。 能够实现各种复杂的数据结构的运算,同时引 入指针概念,使其具有更高的程序效率。 C 语言具有多种运算符和表达式值的方法,可通过多种途径对问题的表达,其程序设计更主动、灵活。 ,对硬件进行操作。 ,程序执行效率高。 C 语言的数据结构和运算符非常丰富,包含整型、数组类型、指针类型和联合类型等,可以实现各种数据结构的运算。 Protel99SE 软件的介绍 Protel99SE 是澳大 利亚 Protel Technology 公司研制开发的,是一个全 32 位的电路板设计软件,在电子行业的 CAD 软件中,是一款常用的电子电路设计软件,也是电子设计者的首选软件。 早期的 Protel 主要作为印制板自动布线 工具使用 ,对运行的环境要求很低,但它的功能也较少,只有电路原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今 的 Protel 安装于 Windows9X/20xx/NT 操作系统下,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及 3D 模拟功能,可以用于设计原理图、设计印制电路板、设计可编程逻辑器件和电路仿真等,可以设计 32 个信号层, 16 个电源 地层和 16 个机加工层,同时还兼容一些其它设计软件的 文件格式 ,如 ORCAD,PSPICE, EXCEL 等,其多层印制线路板的自动布线可实现高密度 PCB 的 100%布通率 [12]。 用户如果需要进行软件升级或获取更详细的资料,可以到公司网址: 查询。 Protel99SE 中主要功能模块如下: ( 1) Advanced Schematic 99SE(原理图设计系统) 该模块包括电路图编辑器、电路图元器件编辑器和各种文本编辑器,主要用于电路原理图的设计、原理图元件的设计和生成各种原理图报表等。 ( 2) Advanced PCB 99SE(印刷电路板设计系统) 20xx 届本科生毕业论文(设计) 13 该模块提供了一 个功能强大,可以交互友好的 PCB 设计环境,主要用来进行 PCB 设计、元器件封装设计、报表的生成及 PCB 输出。 ( 3) Advanced Route 99SE(自动布线系统) 该模块是一个集成无网格自动进行布线的系统,有着高效的布线效率。 ( 4) Advanced Integrity 99SE( PCB 信号完整性分析) 该模块能够进行精确的板级物理信号分析,可以检查串扰、过冲、下冲、延时和阻抗等问题,并自动给出相应的具体解决方案。 ( 5) Advanced SIM 99SE(电路仿真系统) 该模块是一个基于最新的 标准仿真器,给用户的设计前端提供了完整、直观的问题解决方案。 ( 6) Advanced PLD 99SE(可编程逻辑器件设计系统) 该模块是一个集成性 PLD 开发环境,可通。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。