简易数字电压表的设计.doc

上传人:李主任 文档编号:3321678 上传时间:2019-08-12 格式:DOC 页数:30 大小:1.43MB
返回 下载 相关 举报
简易数字电压表的设计.doc_第1页
第1页 / 共30页
简易数字电压表的设计.doc_第2页
第2页 / 共30页
简易数字电压表的设计.doc_第3页
第3页 / 共30页
简易数字电压表的设计.doc_第4页
第4页 / 共30页
简易数字电压表的设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《简易数字电压表的设计.doc》由会员分享,可在线阅读,更多相关《简易数字电压表的设计.doc(30页珍藏版)》请在三一文库上搜索。

1、 四川信息职业技术学院毕业设计说明书(论文) I 目 录 摘 要 1 第 1 章 绪论 2 第 2 章 系统方案论证与框图 3 第 3 章 硬件电路设计 5 3.1 模数转换芯片 ADC0809.5 3.1.1 ADC0809 内部逻辑结构 .5 3.1.2 ADC0809 的引脚 .6 3.1.3 ADC0809 的工作原理 .7 3.2 数据处理及控制芯片 AT89S51.7 3.2.1 主要性能参数.8 3.2.2 AT89S51 的引脚 .8 3.2.3 AT89S51 的复位电路 10 3.2.4 AT89S51 与 ADC0809 的连接 11 3.3 4 位一体 7 段 LED

2、数码管12 3.4 整机电路及工作原理 .12 第 4 章 软件设计 .14 4.1 主程序设计 .14 4.2 各子程序设计 .14 第 5 章 仿真与调试 .18 5.1 仿真工具 .18 5.2 仿真步骤 .18 5.3 硬件实物图 .19 5.4 测量结果 .20 四川信息职业技术学院毕业设计说明书(论文) II 5.5 问题及解决方案 .20 总 结 .21 参考文献 .22 附录 1 整机原理图23 附录 2 元件明细表24 附录 3 程序清单25 四川信息职业技术学院毕业设计说明书(论文) 第 1 页 共 28 页 摘 要 本设计主要采用 AT89S51 芯片和 ADC0809

3、芯片来完成一个简易的数字电压表,能 够对输入的 05 V 的模拟直流电压进行测量,并通过一个 4 位一体的 7 段 LED 数码管 进行显示,测量误差约为 0.02 V。该电压表的测量电路主要由三个模块组成:A/D 转 换模块、数据处理模块及显示控制模块。A/D 转换主要由芯片 ADC0809 来完成,它负责 把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片 AT89S51 来完成,其负责把 ADC0809 传送来的数字量经一定的数据处理,产生相应的显 示码送到显示模块进行显示;另外它还控制着 ADC0809 芯片的工作。显示模块主要由 7 段数码管及相应的驱动芯片(7

4、4HC245)组成,显示测量到的电压值。 单片计算机即单片微型计算机(Single-Chip Microcomputer),是集 CPU 、RAM 、ROM 定时,计数和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应 用于智能产业和工业自动化上。近年来随着计算机在社会领域的渗透, 单片机的应用 正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制 的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是 不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 而 51 系列单片机是各单片机中最为典型和最有代表性的一种。这

5、次毕业设计通过对它 的学习,应用,从而达到学习、设计、开发软、硬的能力。 简易电压表是利用模拟量转换成数字量经单片机处理并反映在显示器上,它可以 分析 5V 的电压,并能用该电压表推测出该电路的电流和电阻值。 本文介绍了电压表的使用和开发环境,仿真系统和开发使用的 MCS-51 系列的单片 机芯片。在第二章论述了总体设计过程,确定了技术指标及器件的选择第四章着重描述 了系统硬件电路设计、硬件设计框图及所使用的各种芯片功能与特性。 关键词关键词 电压表;ADC0809;AT89S51 四川信息职业技术学院毕业设计说明书(论文) 第 2 页 共 28 页 第 1 章 绪论 数字电压表作为智能仪表的

6、一种,它是采用数字化测量技术,把连续的模拟量转换 成不连续离散的数字形式并加以显示的仪表。传统的指针电压表功能单一精度不高, 不能满足数字化时代的需求,采用单片机的数字电压表,由精度高抗干扰力强,可扩 展性强集成方便,还可以与 PC 进行实时通信。 电压、电流、功率是表征电信号能量大小的三个基本参量。在电子电路中,只要 测量出其中一个参量就可以根据电路的阻抗求出其它二个参量。考虑到测量的方便性、 安全性、准确性等因素,几乎都用测量电压的方法来测定表征电信号能量大小的三个 基本参量。此外,许多参数,例如频率特性、谐波失真度、调制度等都可视为电压的 派生量。所以电压的测量是其它许多电参量,也包括非

7、电量测量的基础。 电压是基本的电参数,其它许多电参数可看作电压的派生量,由于电压测量方便, 因此电压测量是电子测量中最基本的测量。按测量结果的显示方式可将电子电压表分 为模拟式和数字式两大类。数字式电压表的核心是 A/D 转换器,A/D 转换器最基本的两 种类型是积分型和比较型。前者抗干扰能力强,测量精度高,但测量速率低;后者测 量速度快,但抗干扰能力差。总的来说,积分型特别是双斜积分式 DVM 性能较优,应 用较广泛。 数字电压表除具有一般的所具有的准确度高、数字显示、读数迅速准确、分辨力 高、输入阻抗高、能自动调零、自动转换量程、自动转换及显示极性等优点,因而体 积小,可靠性好,操作简便,

8、由于数字电压表具有上述这些优点,使得它获得越来越 广泛的应用。 目前,由各种单片转换器构成的数字电压表,已被广泛用于电子及电子及电 工测量,工业自动化仪表,自动测试系统等智能化测量领域,展示出强大的生命力。 四川信息职业技术学院毕业设计说明书(论文) 第 3 页 共 28 页 第 2 章 系统方案论证与框图 本设计采用 AT89S51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简易的数字 电压表,原理框图如图 2-1 所示。该电路通过 ADC0809 芯片采样输入口 IN0 输入的 05 V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道 D0D7 传送给 AT89

9、S51 芯片的 P0 口。AT89S51 负责把接收到的数字量经过数据处理,产生正 确的 7 段数码管的显示段码,并通过其 P1 口经三极管驱动,再传送给数码管。同时它 还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位选信号,控制数码管的亮灭。另外, AT89S51 还控制着 ADC0809 的工作。其 ALE 管脚为 ADC0809 提供了 1MHz 工作的时钟脉 冲;P2.3 控制 ADC0809 的地址锁存端(ALE);P2.4 控制 ADC0809 的启动端(START);P2.5 控制 ADC0809 的输出允许端(OE);P3.7 控制 ADC0809 的转换结束信号

10、(EOC)。 图 2-1 系统原理框图 本设计与其它方法实现主要区别在于元器件上例如:AT89C51 与 AT89C51、AT89S51 在 AT89C51 的基础上,又增加了许多功能,性能有了较大提升。 1.ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯 片从工作环境中剥离。是一个强大易用的功能。 2.工作频率为 33MHz,大家都知道 89C51 的极限工作频率只有 24M,就是说 S51 具 有更高工作频率,从而具有了更快的计算速度。 3.具有双工 UART 串行通道。 4.内部集成看门狗计时器,不再需要像 89C51 那样外接看门狗计时器单元电路。 四川信息

11、职业技术学院毕业设计说明书(论文) 第 4 页 共 28 页 5.双数据指示器。 6.电源关闭标识。 7.全新的加密算法,这使得对于 89S51 的解密变为不可能,程序的保密性大大加 强,这样就可以有效的保护知识产权不被侵犯。 8.兼容性方面:向下完全兼容 51 全部字系列产品。比如 8051、89C51 等等早期 MCS-51 兼容产品。在 89C51 上一样可以照常运行,这就是所谓的向下兼容。 四川信息职业技术学院毕业设计说明书(论文) 第 5 页 共 28 页 第 3 章 硬件电路设计 3.1 模数转换芯片 ADC0809 ADC0809 是典型的 8 位 8 通道逐次逼近式 A/D 转

12、换器,其实物如图 3-2 所示。它可 以和微型计算机直接接口。ADC0809 转换器的系列芯片是 ADC0808,可以相互替换。 图 3-1 ADC0809 实物图 3.1.1 ADC0809 内部逻辑结构 四川信息职业技术学院毕业设计说明书(论文) 第 6 页 共 28 页 图 3-2 ADC0809 的内部逻辑结构及引脚图 ADC0809 的内部逻辑结构如图 3-2 所示。图中多路模拟开关可选通 8 路模拟通道, 允许 8 路模拟量分时输入,并共用一个 A/D 转换器进行转换。地址锁存与译码电路完 成对 A、B、C 三个地址位进行锁存与译码,如表 3-1 所示。 表 3-1 ADC0809

13、 通道选择表 3.1.2 ADC0809 的引脚 ADC0809 芯片为 28 引脚双列直插式封装,其引脚排列如图 1-4 所示。 1.IN0IN7:8 路模拟量输入通道。 2.A、B、C:模拟通道地址线。这 3 根地址线用于对 8 路模拟通道的选择,其译码 关系如表 1-1 所示。其中,A 为低地址,C 为高地址,引脚图中为 ADDA,ADDB 和 ADDC。 3.START:转换启动信号。START 上升沿时,复位 ADC0809;START 下降沿时启动芯 片,开始进行 A/D 转换;在 A/D 转换期间,START 应保持低电平。本信号有时简写为 ST。 4.D7D0:数据输出线。为三

14、态缓冲输出形式,可以和单片机的数据线直接相连。 D0 为最低位,D7 为最高。 5.OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。 OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。 6.CLK:时钟信号。ADC0809 的内部没有时钟电路,所需时钟信号由外界提供,因 此有时钟信号引脚。通常使用频率为 500KHz 的时钟信号。 C(ADDC)B(ADDB)A(ADDA) 选择的通道 000IN0 001IN1 010IN2 011IN3 100IN4 101IN5 110IN6 111IN7 四川信息职业技术学院毕业设计说明书(论文) 第 7 页 共 28 页

15、 7.EOC:转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信 号即可作为查询的状态标志,又可作为中断请求信号使用。 8.Vcc: +5V 电源,GND:地。 9.Vref:参考电压。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的 基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=0V)。 3.1.3 ADC0809 的工作原理 首先输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 A/D 转 换,之后 EOC 输出信号变低,指示转换正在

16、进行。直到 A/D 转换完成,EOC 变为高电平, 指示 A/D 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 OE 输入高 电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 (注意:ALE 信号常与 START 信号连在一起,这样连接可以在信号的前沿写入地址 信号,在其后沿启动 A/D 转换,图 3-3 为 ADC0809 信号的时序配合图)。 图 3-3 ADC0809 信号的时序配合 3.2 数据处理及控制芯片 AT89S51 图 3-4 AT89S51 实物图 AT89S51 是美国 ATMEL 公司生产的低功耗、高性能 CMOS 8 位单片机。图 3-4 和

17、3- 5 分别为其实物图和内部总体结构图。AT89S51 片内含有 4k 字节 Flash 闪速存储器, 四川信息职业技术学院毕业设计说明书(论文) 第 8 页 共 28 页 128 字节内部 RAM,32 个 I/O 口线,看门狗(WDT),两个数据指针,两个 16 位定时/ 计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。 同时,S51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方 式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉 电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部

18、件工作直到下一个硬 件复位。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89S51 是 一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 3.2.1 主要性能参数 1.与 MCS-51 产品指令系列完全兼容; 2.4K 字节在系统编程(ISP)Flash 闪速存储器; 3.1000 次擦写周期; 4.4.05.5 V 工作电压范围; 5.全静态工作模式:0Hz33MHz; 6.三级程序加密锁; 7.128 字节内部 RAM; 8.32 个可编程 I/O 口线; 9.2 个 16 位的定时/计数器; 10.6 个中断源; 11.全双工串行

19、 UART 通道; 12.低工耗空闲和掉电模式; 13.中断可从空闲模式唤醒系统; 14.看门狗(WDT)及双数据指针; 15.掉电标识和快速编程特性; 16.灵活的在系统编程(ISP-字节或页写模式)。 四川信息职业技术学院毕业设计说明书(论文) 第 9 页 共 28 页 3.2.2 AT89S51 的引脚 图 3-6 AT89S51 的引脚图 AT89S51 芯片为 40 引脚双列直插式封装,其引脚排列如图 3-6 所示。 1.P2 口:P2 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P2 口的输出缓冲器可 驱动 4 个 TTL 逻辑门电路。对 P2 口管脚写入“1”后,被内部上

20、拉电阻拉高,可用作 输入。P2 口被外部下拉为低电平时,将输出电流,这是由于内部接有上拉电阻的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址 的高八位。在访问 8 位地址外部数据存储器时,P2 口线上的内容,在整个访问期间不 改变。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 2.P3 口:P3 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P3 口的输出缓冲器可 驱动 4 个 TTL 逻辑门电路。对 P3 口管脚写入“1”后,被内部上拉电阻拉高,可用作 输入。P3 口被外部下拉为低电平时,将输出电流,这是由于内部接有

21、上拉电阻的缘故。 P3 口除了一般 I/O 线的功能外,还具有更为重要的第二功能,如表 3-2 所示。P3 口同 时为 FLASH 编程和编程校验接收一些控制信号。 表 3-2 P1 口的第二功能 端口引脚第二功能 P1.5 MOSI(用于 ISP 编程) P1.6 MISO(用于 ISP 编程) P1.7 SCK(用于 ISP 编程) P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) 四川信息职业技术学院毕业设计说明书(论文) 第 10 页 共 28 页 P3.2 /INTO(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(定时器 0 外部输入) P3.5

22、 T1(定时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) (1)VCC:电源电压; (2)GND:接地; (3)P0 口:P0 口是一组 8 位漏极开路双向 I/O 口,每位引脚可驱动 8 个 TTL 逻 辑门路。对 P0 口的管脚写“1”时,被定义为高阻抗输入。在访问外部数据存储器或 程序存储器时,它可以被定义为数据总线和地址总线的低八位。在 FLASH 编程时,P0 口作为原码输入口;当 FLASH 进行校验时,P0 输出原码,此时 P0 外部必须接上拉电阻。 (4)P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口

23、,P1 口的输出缓冲 器可驱动 4 个 TTL 逻辑门电路。对 P1 口管脚写入“1”后,被内部上拉电阻拉高,可 用作输入。P1 口被外部下拉为低电平时,将输出电流,这是由于内部接有上拉电阻的 缘故。在 FLASH 编程和校验时,P1 口作为低八位地址接收。P1 口还具有第二功能,如 表 3-2 所示。 (5)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电 平时间。 (6) ALE/RPOG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的 频率周期输出正脉冲信号,此频率

24、为振荡器频率的 1/6。因此它可用作对外部输出的脉 冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执 行状态 ALE 禁止,置位无效。 四川信息职业技术学院毕业设计说明书(论文) 第 11 页 共 28 页 (7)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的信号将不出现。 (8)/EA/V

25、PP:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH), 不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端 保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编 程电源(VPP)。 (9)XTAL1:片内高增益反向放大器的输入及内部时钟工作电路的输入。 (10)XTAL2:片内高增益反向放大器的输出端。 3.2.3 AT89S51 的复位电路 AT89S51 的复位电路如图 3-7 所示。当单片机一上电,立即复位;另外,如果在运 行中,外界干扰等因素使单片机的程序陷入死循环状态或“跑飞”,就可以

26、通过按键 使其复位。复位也是使单片机退出低功耗工作方式而进入正常状态的一种操作。 图 3-7 复位电路 电容 C 和电阻 R1 实现上电自动复位。增加按键开关 S 和电阻 R2 又可实现按键复 位功能。R2 的作用是在 S 按下的时候,防止电容 C 放电电流过大烧坏开关 S 的触点。 因保证 R1/R2 10。一般取 C=10uF,R2=100,R1=8.2K。 四川信息职业技术学院毕业设计说明书(论文) 第 12 页 共 28 页 3.2.4 AT89S51 与 ADC0809 的连接 图 3-8 AT89S51 与 ADC0809 的连接电路 AT89S51 与 ADC0809 的连接电路

27、如图 3-8 所示。 AT89S51 与 ADC0809 的连接必须注意处理好 3 个问题: 1.在 START 端送一个 100ns 宽的启动正脉冲; 2.获取 EOC 端上的状态信息,因为它是 A/D 转换的结束标志; 3.给“三态输出锁存器”分配一个端口地址,也就是给 OE 端送一个地址译码器的 输出信号。 3.3 4 位一体 7 段 LED 数码管 本设计的显示模块主要由一个 4 位一体的 7 段 LED 数码管(SM410564)构成,用于 显示测量到的电压值。它是一个共阳极的数码管,每一位数码管的原理图如图 1-13 所 示。每一位数码管的 a,b,c,d,e,f,g 和 dp 端

28、都各自连接在一起,用于接收 AT89S51 的 P1 口产生的显示段码。1,2,3,4 引脚端为其位选端,用于接收 AT89S51 的 P3 口产 生的位选码。图 3-10 和图 3-9 分别为其实物图和引脚图。 四川信息职业技术学院毕业设计说明书(论文) 第 13 页 共 28 页 图 3-9 一位数码管的原理图 图 3-10 SM410564 数码管实物图 3.4 整机电路及工作原理 本设计采用 AT89S51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简易的数字 电压表。设计的硬件电路由主控部分(单片机 AT89S51)、采集模拟量部分(A/D 转换一 路 ADC0804)

29、、显示部分(四位八段数码管) 、报警电路(蜂鸣器)4 个部分组成。各部 分之间相互协作,构成一个统一的有机整体,实现数字电压表的功能。 该电路通过 ADC0809 芯片采样输入口 IN0 输入的 05 V 的模拟量电压,经过模/ 数转换后,产生相应的数字量经过其输出通道 D0D7 传送给 AT89S51 芯片的 P0 口。 AT89S51 负责把接收到的数字量经过数据处理,产生正确的 7 段数码管的显示段码,并 通过其 P1 口经驱动芯片 74HC245 驱动,再传送给数码管。同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位选信号,控制数码管的亮灭。另外,AT89S51 还

30、控制着 ADC0809 的工作。其 ALE 管脚为 ADC0809 提供了 1MHz 工作的时钟脉冲;P2.3 控制 ADC0809 的地址锁存端(ALE);P2.4 控制 ADC0809 的启动端(START);P2.5 控制 ADC0809 的输出允许端(OE);P3.7 控制 ADC0809 的转换结束信号(EOC)。各部分的硬件 电路设计详见附录一。 四川信息职业技术学院毕业设计说明书(论文) 第 14 页 共 28 页 第 4 章 软件设计 4.1 主程序设计 初始化中主要对 AT89S51,ADC0809 的管脚和数码管的位选及所用到的内存单元 70H,78H,79H,7AH 进行

31、初始化设置。 准备工作做好后便启动 ADC0809 对 IN0 脚输入进的 05V 电压模拟信号进行数据 采集并转换成相对应的 0255 十进制数字量。 在数据处理子程序中,运用标度变换知识,编写算法将 0255 十进制数字量转换 成 0.005.00V 的数据,输出到显示子程序进行显示。 整个主程序就是在 A/D 转换,数据处理及显示程序循环执行。整个程序流程框图 如图 4-1 所示。 图 4-1 主程序流程图 4.2 各子程序设计 1.A/D 转换子程序 四川信息职业技术学院毕业设计说明书(论文) 第 15 页 共 28 页 启动 ADC0809 对模拟量输入信号进行转换,通过判断 EOC

32、(P3.1 引脚)来确定转 换是否完成,若 EOC 为 0,则继续等待;若 EOC 为 1,则把 OE 置位,将转换完成的数 据存储到 70H 中。 程序流程图如图 42 所示。 图 4-2 A/D 转换程序流程图 2.数据处理子程序 数据处理子程序主要根据标度变换公式,把 0255 十进制数转换为 0.005.00V。 0+(Am-A0)*(Nx-N0)/(Nm-N0)AAx Ax:模拟测量值; A0:模拟量输入最小值; Am:模拟量输入最大值; Nx:摸/数转换后的数值; N0:摸数转换后的最小值; Nm 摸/数转换的最大值。 在本设计中,根据要求知: A0=0V,Am=5V,N0=0,N

33、m=255 则公式 1-1 可化简为: Ax=A0+(Am-A0)*(Nx-N0)/(Nm-N0)=5Nx/255=Nx/51 程序流程图如图 43 所示。 四川信息职业技术学院毕业设计说明书(论文) 第 16 页 共 28 页 图 4-3 数据处理子程序流程图 3.显示子程序 显示子程序采用动态扫描法实现三位数码管的数值显示。测量所得的 A/D 转换数 据放在 70H 内存单元中,测量数据在显示时需转换成 10 进制 BCD 码放在 78H7AH 单 元中。寄存器 R1 用作显示数据地址指针。程序流程图如图 4-4 所示。 四川信息职业技术学院毕业设计说明书(论文) 第 17 页 共 28

34、页 图 4-4 显示子程序流程图 四川信息职业技术学院毕业设计说明书(论文) 第 18 页 共 28 页 第 5 章 仿真与调试 5.1 仿真工具 Proteus 具有 4 大功能模块 1.智能原理图设计(ISIS) 2.完善的电路仿真功能(Prospice) 3.独特的单片机协同仿真功能(VSM) 4.实用的 PCB 设计平台 Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于 Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特 点是:实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电路仿真、数字电

35、路 仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调 试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号 发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000 系列、 8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以 及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断 点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系 统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如 Keil

36、C51 uVision2 等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。 5.2 仿真步骤 在 PROTEUS 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在 PROTEUS 的原理图中看到模拟的实物运行状态和过程。仿真效果如下图: 四川信息职业技术学院毕业设计说明书(论文) 第 19 页 共 28 页 图 5-1 仿真图 5.3 硬件实物图 图 5-2 实验硬件实物图 四川信息职业技术学院毕业设计说明书(论文) 第 20 页 共 28 页 5.4 测量结果 本设计经过对所设计的对象的程序以及对原理图进行了修改完

37、善成功的取得了一 组测量数据,通过对 LED 显示管所显示的数字与通过用模拟电压表所测得的数值进行 比较以便更加说明本设计的可靠性。所测数据如表 5-1 所示。 表 5-1 测量结果显示 LED 显示数值(V) 0.451.072.213.154.004.605.00 模拟值测量数(V) 0.4581.0752.23.1584.0604.6204.99 5.5 问题及解决方案 1.在应用滤波电容的过程中,一开始是把电容串联在电路中,导致电路无法导通, 而后我们短路电容,解决了问题。 2.电源指示灯上,一开始发现接上电源,指示灯不亮,经过仪器测量发现正负极 接反,问题解决。 3.焊接完成后接上电

38、源发现数码显示管最后一个某一段不发光,经过检查之后发 现了虚焊点,重焊之后正常显示。 4.由于源程序的多处错误,使得仿真无法通过,后经过单步调试,把存在的错误 一一排除,通过了软件仿真。 四川信息职业技术学院毕业设计说明书(论文) 第 21 页 共 28 页 总 结 通过本次课题设计,我们对单片机这门课程有了更进一步的了解。无论是在其硬 件连接方面还是在软件编程方面,都取得了新的收获。本次实验采用了 AT89S51 单片 机芯片,与以往我们我们所熟悉的 C51 芯片有许多不同之处,通过本次实验及查阅相 关资料,我们对其之间的区别有了一定的认识,在本课题设计报告的硬件介绍部分也 对其作了详细的论

39、述。S51 在 C51 的基础上增加了许多新的功能,使其功能更为完善, 应用领域也更为广泛。另外,在对单片机编程方面,我们又掌握了一些新的编程思想, 使得程序更为简练、易懂,而且更为严谨,程序执行的稳定性得到了提高。 实验中我们还用到了模/数转换芯片 ADC0809,以前在学单片机这门课程时只是对 其理论知识有了初步的了解。通过本次实验,我们对它的工作原理彻底理解了,对其 启动设置、转换结束判断以及输出控制等都基本掌握。电路连接方面,我们对其与单 片机的连接也有了更为直观的认识,通过实验的摸索以及必要的理论知识,我们准确 的实现了它于单片机的互连。 四川信息职业技术学院毕业设计说明书(论文)

40、第 22 页 共 28 页 参考文献 1 康华光.电子技术基础.数字部分.北京:高等教育出版社, 2000 2 顾永杰.电工电子技术实训教程.上海:上海交通大学出版社, 1999 3 陈小虎.电工实习(I).北京:中国电力出版社,1996 4 焦辎厚.电子工艺实习教程.哈尔滨:哈尔滨工业大学出版社, 1993 5 陈 坚.电力电子学M.北京:高等教育出版社, 2002 6 宋春荣.通用集成电路速查手册.山东:山东科学技术出版社, 1995 7 高吉祥.电子技术基础实验与课程设计.北京:电子工业出版社, 2002 8 吕思忠.数子电路实验与课程设计.哈尔滨:哈尔滨工业大学出版社, 2001 9

41、谢自美.电子线路设计、实验、测试.武汉:华中理工大学出版社, 2000 四川信息职业技术学院毕业设计说明书(论文) 第 23 页 共 28 页 附录 1 整机原理图 VCC VCC RST RST 104 C4 10uF C3 RESET VCC Y1 12MHZ 1nF C5 1nF C6 P10 P11 P12 P13 P14 P15 P16 P17 P30 P31 P32 P37 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7

42、 P17 8 RESET 9 P30 10 P31 11 P32 12 P33 13 P34 14 P35 15 P36 16 P37 17 XTAL1 18 XTAL2 19 VSS 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE 30 EA 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 U1 AT89S51 P33 P34 P35 P36 P21 P20 P00 P01 P02 P03 P04 P05 P06 P

43、07 P36 P37 CS 1 RD 2 RW 3 CLK IN 4 INTR 5 Vin+ 6 Vin- 7 AGND 8 Vref/2 9 DGND 10 D7 11 D6 12 D5 13 D4 14 D3 15 D2 16 D1 17 D0 18 CLKR 19 VCC 20 U4 ADC0804 VCC 151 C7P32 VCC 102 C8 D2 5.1V 1 2 J5 VI P10 P11 P12 P13 P14 P15 P16 P17 1 2 POWERVCC 104 C2 47uF C1 R 1K LED a 1 b 2 c 3 d 4 e 5 f 6 g 7 p 8 S1

44、 9 S2 10 S3 11 S4 12 4*7SEG P22 P23 1234 1234 4.7K R2 10K R6 1K R7 1K R8 10K R1 Q1 2N3906 4.7K R3 Q2 2N3906 4.7K R4 Q3 2N3906 4.7K R5 Q4 2N3906 LS1 Speaker 四川信息职业技术学院毕业设计说明书(论文) 第 24 页 共 28 页 附录 2 元件明细表 项目 代号 代 号名称、型号、规格数量备注更改 R1、R2 RT0.125b10k1%2 R5R8RT0.125b4.7k1%4 R3、R4 、R9 RT0.125b1k10%3 C1CD216

45、V47uF10%1 C3CD216V10uF10%1 C5、C6 30pF2 C2、C4 、C7、C 8 0.1uF4 X1 晶振 12Mhz 1 LED1 发光二级管(红色) 1 Q1Q4 三极管 9012 4 单片机 AT89S51 1 集成电路插座(40 脚) 1 K1 按钮 *6 轻触 1 数码管 4 位 1 线路板单面 PCB 1 旧底图总号 更改 标记 数量 更改 单号 签名日期 底图总号拟 制 审 校 日期签名等级标记第 1 张共 1 张 标准化 批 准 简易数字 电压表的 设计元件表 四川信息职业技术学院毕业设计说明书(论文) 第 25 页 共 28 页 附录 3 程序清单 #

46、include Unsigned char code dispbitcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /显示 09 unsigned char dispbuf4;/存放数组 unsigned char getdata; unsigned int temp; sbit ST=P30; /位申明 sbit OE=P31; sbit EOC=P32; sbit CLK=P33; sbit P20=P20; sbit P21=P21; sbit P22=P22; sbit P23=P23; sbit P17=P17; sbi

47、t bb=P37; /unsigned char o; void TimeInitial(); void Delay(unsigned int i); void TimeInitial() /定时器初始化 TMOD=0x11; /定时器 T1 工作于方式 1 TH1=(65536-200)/256; /赋初值 TL1=(65536-200)%256; 四川信息职业技术学院毕业设计说明书(论文) 第 26 页 共 28 页 TH0=(65536-2000)/256; /进入赋初值 TL0=(65536-2000)%256; EA=1; /开总中断 ET1=1; ET0=1; /开中断 T1 TR

48、1=1; /启动 T1 void Delay(unsigned int i)/延时函数 unsigned int j,k; for(k=0;k=255) TR0=1; else TR0=0; temp=getdata*1.0/255*500; /三位显示 dispbuf0=temp%10; /个位 dispbuf1=temp/10%10; /十位 dispbuf2=temp/100; /百位 dispbuf3=temp/1000; /千位 Display();/显示函数调用 void t1(void) interrupt 3 using 0 /中断 用 T1 TH1=(65536-200)/256; /进入赋初值 TL1=(65536-200)%256; CLK=CLK; /时钟取反 void t0(void) interrupt 1 using 0 /中断 用 T1 TH0=(65536-2000)/256; /进入赋初值 TL0=(65536-2000)%256; bb=bb; /报警程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1