基于AT89C51单片机的数字电压表设计(毕业论文).doc

上传人:hw****26 文档编号:4142183 上传时间:2019-09-29 格式:DOC 页数:22 大小:1.25MB
下载 相关 举报
基于AT89C51单片机的数字电压表设计(毕业论文).doc_第1页
第1页 / 共22页
基于AT89C51单片机的数字电压表设计(毕业论文).doc_第2页
第2页 / 共22页
基于AT89C51单片机的数字电压表设计(毕业论文).doc_第3页
第3页 / 共22页
基于AT89C51单片机的数字电压表设计(毕业论文).doc_第4页
第4页 / 共22页
基于AT89C51单片机的数字电压表设计(毕业论文).doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、 2013 届 本 科 毕 业 设 计 基于 AT89C51 单片机的数字电压表设计 学 院 : 物 理 与 电 子 工 程 学 院 专 业 班 级 : 电 子 信 息 09-11 班 学 生 姓 名 : XXX 指 导 教 师 : 吴 剑 英 老师 答 辩 日 期 : 2013 年 5 月 11 日 XXXXX 大学教务处 新疆师范大学 2013 届本科毕业生毕业设计 1 目 录 0 引言 .1 1 系统整体设计思路及方案 .1 1.1 设计思路 1 1.2 设计方案 1 2 数字电压表的硬件设计 .2 2.1 主控制模块的设计 2 2.1.1 AT89C51 性能简介2 2.1.2 AT8

2、9C51 各引脚功能2 2.1.3 AT89C51 的复位电路和时钟电路4 2.2 A/D 转换模块的设计.5 2.2.1 ADC0808 的主要特性 6 2.2.2 ADC0808 各引脚功能.6 2.3 显示电路的设计 7 2.4 总体电路设计图 .9 3 数字电压表的软件设计 .10 3.1 设计流程图 10 3.2 各子程序简介 11 4 仿真 11 4.1 软件调试 11 4.2 误差分析 11 5 结论 12 参考文献 .13 附录 .14 致谢 .16 新疆师范大学 2013 届本科毕业生毕业设计 1 基于 AT89C51 单片机的数字电压表设计 摘要:数字电压表是常用的对电子电

3、路进行检测的较精密仪器之一。本文的设 计思想是一种基于单片机的数字电压表设计方式。该设计主要由三个模块组成: A/D 转换模块、数据处理主控模块和显示模块。A/D 转换模块主要由芯片 ADC0808 来完成,它负责将采集到的模拟量转换为相应的数字量传送到数据处 理模块(单片机)。数据处理主控模块由单片机 AT89C51 来完成,它负责将 ADC0808 传送过来的数字量经过一定的数据处理,产生相对应的显示码传送到 显示模块进行显示。此外,它还控制芯片 ADC0808 的工作。经过仿真软件结果 表明本设计中的电压表电路简单,所用元件较少,成本低且测量精度高。此电 压表可以测量 05V 的模拟输入

4、电压值,并通过一个四位一体的 7 段数码管显 示出来。 关键词:数字电压表;单片机;A/D 转换;AT89C51;ADC0808 新疆师范大学 2013 届本科毕业生毕业设计 2 The design of digital voltage meter based on AT89C51 single chip microcomputer Abstract: digital voltage meter is one of the more commonly used detection precision instrument for electronic circuit. The design

5、is a design method based on single chip digital voltage meter. The design consists of three modules: A/D module, data processing, the main control module and display module. The A/D conversion module is mainly completed by the ADC0808, which is responsible for converting the collected analog to digi

6、tal quantity corresponding to a data processing module (MCU). Data processing by the MCU AT89C51 to complete the main control module, which is responsible for the digital ADC0808 transmission after data processing, generate the corresponding display code is sent to the display module for displaying.

7、 In addition, it also control chip ADC0808 work. The design of the voltage meter circuit is simple, less elements used, low cost and high measurement accuracy. The analog input voltage can be measured in 0 5V of the value of the voltage meter, and through 7 digital tubes a four integrated display. K

8、eywords: digital voltage meter;MCU ; A/D;AT89C51 ;ADC0808 新疆师范大学 2013 届本科毕业生毕业设计 1 0 引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量 的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压, 所以数字电压表就成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称 DAM,它是采用数字化测量技术,把连续的模拟量转换成不连续、 离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低, 不能满足数字化时代的需求,采用单片机的数字电压表,有精度

9、高、抗干扰能 力强、集成方便,还可与 PC 进行实时通信等优点 1。 目前,由各种单片机和 A/D 转换器构成的数字电压表,已被广泛用于电子 及电工测量、工业自动化仪表、自动测试系统等领域,显示出了它极强的生命 力。与此同时,由 DVM 扩展而成的各种通用及专用数字仪表仪器,也把电量及 非电量技术提高到崭新水平 2。新型数字电压表以其高准确度、高可靠性、高 分辨率、高性价比等优良特性备受人们的青睐。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模 块:转换模块、数据处理模块及显示模块。其中,A/D 转换采用 ADC0808 对输 入的模拟信号进行转换,控制核心 AT89C51

10、 再对转换的结果进行运算处理,最 后驱动输出装置 LED 显示数字电压信号 3。 1 系统整体设计思路及方案 1.1 设计思路 1)根据设计要求,选择 AT89C51 单片机为核心控制器件。 2)A/D 转换采用 ADC0808 实现,连接单片机的 P0 口和 P3 口的低四位引脚。 3)电压显示采用 4 位一体的 LED 数码管。 4)LED 数码管的段码输入由端口 P1 产生;位码输入用端口 P2 高四位产生。 1.2 设计方案 本设计选择 AT89C51 单片机作为核心控制器件。A/D 转换采用 ADC0808 来 实现。电压显示采用 4 位一体的 LED 数码管,LED 数码管的段码输

11、人由端口 P1 输出,位码输人由端口 P2 高四位输出。 硬件电路设计由 6 个部分组成: A/D 转换电路,AT89C51 单片机系统,LED 显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计如图 1- 1 所示。 新疆师范大学 2013 届本科毕业生毕业设计 2 时钟电路 复位电路 A/D 转换 测量电压 显示系统 AT89C51 P0 P3 P2 P1 P2 P1 图 1-1 系统设计框图 2 数字电压表的硬件设计 2.1 单片机主控制模块的设计 2.1.1 AT89C51 性能简介 AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内

12、含有 4KB 的可反复擦写的只读程序存储器和 128 字节的随机存储器。该器件采 用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输 出管脚相兼容,由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性 高且价廉的方案 4。 AT89C51 功能性能:与 MCS-51 成品指令系统完全兼容;4KB 可编程闪速存储 器;寿命:1000 次写/擦循环;数据保留时间:10 年;全静态工作:0-24MHz; 三级程序存储器锁定;128*8B 内部 RAM;32 个可编程

13、I/O 口线;2 个 16 位定时 /计数器;5 个中断源;可编程串行 UART 通道;片内震荡器和掉电模式 5。 2.1.2 AT89C51 各引脚功能 AT89C51 提供以下标准功能:4KB 的 Flash 闪速存储器,128B 内部 RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工 串行通信口,片内震荡器及时钟电路,同时,AT89C51 可降至 0Hz 静态逻辑操 作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存 RAM 中的 新疆师范大学 20

14、13 届本科毕业生毕业设计 3 内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51 采用 PDIP 封装形式,引脚配置如图 2-1 所示 6。 图 2-1 AT89C51 引脚图 AT89C51 芯片的各引脚功能为: P0 口:这组引脚共有 8 条,P0.0 为最低位。这 8 个引脚有两种不同的功能, 分别适用于不同的情况,第一种情况是 89C51 不带外存储器,P0 口可以为通用 I/O 口使用,P0.0-P0.7 用于传送 CPU 的输入/输出数据,这时输出数据可以得 到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的 可靠性;第二种情况是 89C

15、51 带片外存储器,P0.0-P0.7 在 CPU 访问片外存储 器时先传送片外存储器的低 8 位地址,然后传送 CPU 对片外存储器的读/写数据。 P0 口为开漏输出,在作为通用 I/O 使用时,需要在外部用电阻上拉。 P1 口:这 8 个引脚和 P0 口的 8 个引脚类似,P1.7 为最高位,P1.0 为最低 位,当 P1 口作为通用 I/O 口使用时,P1.0-P1.7 的功能和 P0 口的第一功能相 同,也用于传送用户的输入和输出数据。 P2 口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为 通用 I/O 口使用,它的第一功能和 P0 口引脚的第二功能相配合,用于输出片外

16、 存储器的高 8 位地址,共同选中片外存储器单元,但不像 P0 口那样传送存储器 新疆师范大学 2013 届本科毕业生毕业设计 4 的读/写数据。 P3 口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为 控制功能,每个引脚并不完全相同,如下表 2-1 所示: 表 2-1 P3 口各位的第二功能 P3 口各位 第二功能 P3.0 RXT(串行口输入) P3.1 TXD(串行口输出) P3.2 /INT0(外部中断 0 输入) P3.3 /INT1(外部中断 1 输入) P3.4 T0(定时器/计数器 0 的外部输入) P3.5 T1(定时器/计数器 1 的外部输入) P3.6 /W

17、R(片外数据存储器写允许) P3.7 /RD(片外数据存储器读允许) Vcc 为+5V 电源线,GND 接地。 ALE:地址锁存允许线,配合 P0 口的第二功能使用,在访问外部存储器时, 89C51 的 CPU 在 P0.0-P0.7 引脚线去传送随后而来的片外存储器读/写数据。在 不访问片外存储器时,89C51 自动在 ALE 线上输出频率为 1/6 震荡器频率的脉 冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。 /EA:片外存储器访问选择线,可以控制 89C51 使用片内 ROM 或使用片外 ROM, 若/EA=1,则允许使用片内 ROM, 若/EA=0,则只使用片外 ROM。 /P

18、SEN:片外 ROM 的选通线,在访问片外 ROM 时,89C51 自动在/PSEN 线上 产生一个负脉冲,作为片外 ROM 芯片的读选通信号。 RST:复位线,可以使 89C51 处于复位(即初始化)工作状态。通常 89C51 复 位有自动上电复位和人工按键复位两种。 XTAL1 和 XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微 调电容,即用来连接 89C51 片内 OSC(震荡器)的定时反馈回路。 2.1.3 AT89C51 的复位电路和时钟电路 单片机中 CPU 每执行一条指令,都必须在统一的时钟脉冲的控制下严格按 新疆师范大学 2013 届本科毕业生毕业设计 5 时间

19、节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU 执行 一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51 单片机芯片 内部有一个高增益反相放大器,用于构成震荡器,XTAL1 为该放大器的输入端, XTAL2 为该放大器输出端,但形成时钟电路还需附加其他电路 7。 单片机 AT89C51 的时钟电路如图 2-2 所示,主要由电容 C1- C3、电阻 R1、 晶振 X1 等组成。AT 89C51 的 18 脚(XTAL2)和 19 脚(XTAL1)接时钟电路,其中 19 脚是 AT89C51 内部振荡器倒相放大器的输入端,用于接外部晶振和微调电容 的一端;18 脚是

20、AT89C51 内部振荡器倒相放大器输出端,用于接外部晶振和微 调电容的另一端。 图 2-2 AT89C51 的时钟电路图 单片机在启动运行时都需要复位,使 CPU 和系统中的其他部件都处于一个 确定的初始状态,并从这个状态开始工作。MCS-51 单片机有一个复位引脚 RST, 采用施密特触发输入。当震荡器起振后,只要该引脚上出现 2 个机器周期以上 的高电平即可确保时器件复位。复位完成后,如果 RST 端继续保持高电平, MCS-51 就一直处于复位状态,只要 RST 恢复低电平后,单片机才能进入其他工 作状态。单片机的复位方式有上电自动复位和手动复位两种,图 2-2 是 51 系列 单片机

21、统常用的上电复位和手动复位组合电路。 图 2-3 AT89C51 的复位电路 新疆师范大学 2013 届本科毕业生毕业设计 6 2.2 A/D 转换电路设计 现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数 转换器(A/D 转换器) ,A/D 转换器是单片机数据采集系统的关键接口电路,按 照各种 A/D 芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式 A/D 转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比, 逐次逼近式 A/D 转换的转换速度更快,而且精度更高,比如 ADC0809、ADC0808 等,它们通常具有 8 路模拟选通开关及地址译码、锁

22、存电路等,它们可以与单 片机系统连接,将数字量送到单片机进行分析和显示。一个 n 位的逐次逼近型 A/D 转换器只需要比较 n 次,转换时间只取决于位数和时钟周期,逐次逼近型 A/D 转换器转换速度快,因而在实际中广泛使用 8。 2.2.1 ADC0808 的主要特性 ADC0808 是 CMOS 单片型逐次逼近式 A/D 转换器,带有使能控制端,与微机 直接接口,片内带有锁存功能的 8 路模拟多路开关,可以对 8 路 0-5V 输入模拟 电压信号分时进行转换,由于 ADC0808 设计时考虑到若干种模/数变换技术的长 处,所以该芯片适应于过程控制,微控制器输入通道的接口电路,智能仪器和 机床

23、控制等领域。 ADC0808 是分辨率为 8 位的、以逐次逼近原理进行模/数转换的器件。其内 部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路 模拟输入信号中的一个进行 A/D 转换。ADC0808 是 ADC0809 的简化版本,功能 基本相同。一般硬件仿真时采用 ADC0808 进行 A/D 转换,实际使用时采用 ADC0809 进行 A/D 转换 9。 2.2.2 ADC0808 各引脚功能 新疆师范大学 2013 届本科毕业生毕业设计 7 图 2-4 ADC0808 引脚图 ADC0808 芯片有 28 条引脚,采用双列直插式封装,其引脚图如图 2-4 所示

24、。 下面说明各个引脚功能: IN0-IN7(8 条):8 路模拟量输入线,用于输入和控制被转换的模拟电压。 ALE:地址锁存允许输入线,高电平有效,当 ALE 为高电平时,为地址输入 线,用于选择 IN0-IN7 上那一条模拟电压送给比较器进行 A/D 转换。 ADDA,ADDB,ADDC:3 位地址输入线,用于选择 8 路模拟输入中的一路,其对 应关系如表 2-2 所示: 表 2-2 ADC0808 通道选择表 地址码 C B A 对应的输入通 道 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5

25、IN6 IN7 START:START 为“启动脉冲”输入法,该线上正脉冲由 CPU 送来,宽度应 大于 100ns,上升沿清零 SAR,下降沿启动 ADC 工作。 EOC: EOC 为转换结束输出线,该线上高电平表示 A/D 转换已结束,数字量 已锁入三态输出锁存器。 D1-D8:数字量输出端,D1 为高位。 OE:OE 为输出允许端,高电平能使 D1-D8 引脚上输出转换后的数字量。 REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。 Vcc、GND: Vcc 为主电源输入端,GND 为接地端,一般 REF+与 Vcc 连接在 一起,REF-与 GND 连接在一起. 新疆师范

26、大学 2013 届本科毕业生毕业设计 8 CLK:时钟输入端。 2.3 显示电路的设计 LED 是发光二极管显示器的缩写。LED 由于结构简单、价格便宜、与单片机 接口方便等优点而得到广泛应用。LED 显示器是由若干个发光二极管组成显示 字段的显示器件。在单片机中使用最多的是七段数码显示器。 在应用系统中,设计要求不同,使用的 LED 显示器的位数也不同,因此就 生产了位数,尺寸,型号不同的 LED 显示器供选择,在本设计中,选择 4 位一 体的数码型 LED 显示器,简称“4-LED” 。本系统中前一位显示电压的整数位, 即个位,后两位显示电压的小数位。 4-LED 显示器引脚如图 2-5

27、所示,是一个共阴极接法的 4 位 LED 数码显示 管,其中 a,b,c,e,f,g 为 4 位 LED 各段的公共输出端,1、2、3、4 分别 是每一位位数选端,DP 是小数点引出端,4 位一体 LED 数码显示管的内部结构 是由 4 个单独的 LED 组成,每个 LED 的段输出引脚在内部都并联后,引出到器 件的外部。 图 2-5 4 位 LED 引脚 新疆师范大学 2013 届本科毕业生毕业设计 9 本设计中 LED 和单片机的连接如图 2-6,图中可以看出,本设计用单片机 的 P1.0P1.7 作为 LED 显示的片选端口,P2 端口的高四位作为 LED 的位选信号。 图 2-6 显示

28、电路连接图 2.4 总体电路设计 经过以上的设计过程,可设计出基于单片机的简易数字电压表硬件电路原 理图如图 2-7 所示。 新疆师范大学 2013 届本科毕业生毕业设计 10 图 2-7 设计电路总图 此电路的工作原理是:+5V 模拟电压信号通过变阻器 VR1 分压后由 ADC0808 的 IN0 通道进入(由于使用的 IN0 通道,所以 ADDA,ADDB,ADDC 均接低电平) , 经过模/数转换后,产生相应的数字量经过其输出通道 D0-D7 传送给 AT89C51 芯 片的 P0 口,AT89C51 负责把接收到的数字量经过数据处理,产生正确的 7 段数 码管的显示段码传送给四位 LE

29、D,同时它还通过其四位 I/O 口 P2.4、P2.5、P2.6、P2.7 产生位选信号控制数码管的亮灭。此外,AT89C51 还 控制 ADC0808 的工作。其中,单片机 AT89C51 从外部中断 P3.3 连接到 D 触发器 从而控制 ADC0808 的 CLOCK,P3.0 发正脉冲启动 A/D 转换,P3.2 检测 A/D 转换 是否完成,转换完成后,P3.1 置高从 P1 口读取转换结果送给 LED 显示出来 9。 简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和 元器件,利用 Proteus 软件绘制出硬件的原理,并仔细地检查修改,直至形成 完善的硬件原理图。

30、3 数字电压表的软件设计 3.1 设计流程图 主程序主要完成信号存储、信号处理、A/ D 转换以及调用显示等。 新疆师范大学 2013 届本科毕业生毕业设计 11 主程序流程图:程序首先从 ORG0000H 开始,然后无条件件跳转至主程序的 首地址开始,初始化后,先调用模数转换程序进行输入信号的数字化,然后调 用显示子程序将处理后的数字输出,一次数据结束后,循环执行调用的两个子 程序。 A/D 转换子程序流程图:首先进行开始模数转化,执行后,如果检测到转 化没有完成则继续转化,如果转化完成,执行下一条指令,将取得模数转化结 果并转换为工程量,然后显示转换结果,此为一次模数转换,如此循环可转换

31、下一组数据,全部转换完毕后,结束。 图 3-1 程序设计流程图 3.2 各子程序简介 所谓初始化,是对将要用到的 MCS_51 系列单片机内部部件或扩展芯片进行 新疆师范大学 2013 届本科毕业生毕业设计 12 初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值 预置,开中断和打开定时器等 9。 A/D 转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的 数值存入相应的内存单元。 显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显 示方式时,要使得 LED 显示的比较均匀,又有足够的亮度,需要设置适当的扫 描频率,当扫描频率在 70HZ 左右时,能够

32、产生比较好的显示效果,一般可以采 用间隔 10ms 对 LED 进行动态扫描一次,每一位 LED 的显示时间为 1ms10。 在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器 0 溢出中断功能实现 11s 定时,通过软件延时程序来实现 5ms 的延时。 4 软件调试 4.1 软件调试 软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错 误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。 Proteus 软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真。 Proteus 支持的微处理芯片包括 8051 系列、AVR 系列、PIC 系列、HC

33、11 系列及 Z80 等等。Proteus 可以完成单片机系统原理图电路绘制、PCB 设计,更为显著 的特点是可以与 u Visions3 IDE 工具软件结合进行编程仿真调试 11。 本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的 是 Proteus 软件,程序方面,采用的是 C 语言,用 Keil 软件将程序写入单片机。 4.2 误差分析 由于单片机 AT89C51 为 8 位处理器,当输入电压为 5.00V 时, ADC0808 输出数据值为 255(FFH) ,因此单片机最高的数值分辨率为 0.0196V(5/255)。这就决定了电压表的最高分辨率只能到 0.0196

34、V,从下表可看 到,测试电压一般以 0.01V 的幅度变化 11。 本文的数字电压表可以测量 0-5V 的电压值,最大分辩率为 0.01V。通过仿 真测量结果可得到简易数字电压表与“标准”数字电压表对比测试表。 本次设计的电压表误差分析采用多次测量求绝对差值的方法,并把各组数 据列成表格,这样能更加清晰地看出误差的波动范围及大小,如下表 4-1 所示: 新疆师范大学 2013 届本科毕业生毕业设计 13 表 4-1 误差分析 标准 电压 (V ) 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 测量 电压 (V ) 0.00 0.50 0.99 1.50 1.99 2.48 2.9

35、9 3.48 3.99 4.48 绝对 误差 (V ) 0 0 0.01 0 0.01 0.02 0.01 0.02 0.01 0.02 从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏小 0- 0.02V,这可以通过校正 ADC0808 的基准电压来解决。因为该电压表设计时直接 用 5V 的供电电源作为电压,所以电压可能有偏差。当要测量大于 5V 的电压时, 可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。 5 结论 经过近段时间的努力,基于 AT89C51 单片机的数字电压表设计基本完成。 但设计中仍然存在许多不足之处。这次设计是我第一次设计电路,并用 Pr

36、oteus 实现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新 的认识。通过这次设计学会了 Proteus 和 Keil 软件的使用方法,掌握了从系统 的需要、方案的设计、功能模块的划分、原理图电路图的仿真的设计流程,积 累了不少经验。 基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在 实际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了论文的 预期要求,本文设计主要实现了简易数字电压表测量一路电压的功能,详细说 明了从原理图的设计、电路图的仿真再到软件的调试。 通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接 方面还是在软件编程方面。本次设

37、计采用了 AT89C51 单片机芯片,设计中还用 到了模/数转换芯片 ADC0808,以前在学单片机课程时只是对其理论知识有了初 新疆师范大学 2013 届本科毕业生毕业设计 14 步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇 到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。 总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实 践工作中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争 取在电路设计方面能有所提升。 参考文献: 1胡健.单片机原理及接口技术.北京:机械工业出版社,2004 年 10 月 2王毓银.数字电路逻辑

38、设计.高等教育出版社,2005 年 12 月 3宋凤娟,孙军,李国忠.基于 89C51 单片机数字电压表设计J .工业控制计算机, 2007/04 4谢维成、杨加国.单片机原理与应用及 C51 程序设计实例.电子工业出版社,2006 年 3 月 5李广弟.单片机基础.北京航空航天大学出版社,2007 年 5 月 6姜志海,黄玉清等著.单片机原理及应用M.北京:电子工业出版社.2005 年 7 月 7魏立峰.单片机原理及应用技术.北京大学出版社,2005 年 8周润景.Protues 在 MCS-51 unsigned char code dispcode=0x3f,0x06,0x5b,0x4f

39、,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00; unsigned char dispbuf8=10,10,10,10,10,0,0,0; unsigned char dispcount; unsigned char getdata; unsigned int temp; long int i; sbit ST=P30; sbit OE=P31; sbit EOC=P32; sbit CLK=P33; void main(void) ST=0; OE=0; ET0=1; ET1=1; EA=1; TMOD=0x12; TH0=216; TL0=216; 新疆师范大学

40、2013 届本科毕业生毕业设计 17 TH1=(65536-5000)/256; TL1=(65536-5000)%256; TR1=1; TR0=1; ST=1; ST=0; while(1) if(EOC=1) OE=1; getdata=P0; OE=0; i=getdata*196; dispbuf5=i/10000; i=i%10000; dispbuf6=i/1000; i=i%1000; dispbuf7=i/100; ST=1; ST=0; void t0(void) interrupt 1 using 0 /定时器 0 中断服务 CLK=CLK; void t1(void) interrupt 3 using 0 /定时器 1 中断服务 TH1=(65536-6000)/256; TL1=(65536-6000)%256; P1=dispcodedispbufdispcount; P2=dispbitcodedispcount; if(dispcount=5) 新疆师范大学 2013 届本科毕业生毕业设计 18 P1=P1 | 0x80; dispcount+; if(dispcount=8) dispcount=0;

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。