简易万用表设计

  • 格式:doc
  • 大小:554.00 KB
  • 文档页数:25

摘要本系统为基于单片机芯片AT89S52的简易数字电压表,能够测量0~5V的直流电压值,采用数码显示测量值。

系统由51单片机最小系统、A/D转换电路、模拟量输入电路、数码管驱动电路、以及数码管显示电路这几部分组成。

单片机最小系统设计采用AT89S52单片机作为主控芯片,配以RC上电复位电路和12MHz震荡电路;本次设计功能简单,模数转换器采用ADC0808即可达到设计要求;为使系统更加稳定、简洁,采用LED显示驱动器MAX7219驱动数码管。

关键词:电压表;单片机;A/D转换AbstractThis design is design a digital universal meter with chip AT89s52 of one-chip computer, can measure and hand in , direct current pressing value , direct current flow , the direct current is hindered, four numbers show. This system is shunted resistance, resistance of partial pressure, basic resistance, minimum system of 51 one-chip computers, shown that some , warning part , AD change and control making up partly. In order to make the system more steady, make the whole precision of the system be ensured, this circuit has used AD0809 data to change the chip, the one-chip computer system is designed to adopt AT89S52 one-chip computer as the top management chip, the electricity is restored to the throne the circuit and 11.0592MHZ and shaken the circuit to match on RC, show that the chip uses TEC6122, urge 8 numbers to be in charge of showing. The every execution cycle consuming time of procedure contracts to get shortest, in this way the real-time character of the security system.Keyword: V oltmeter ;MCU ;A/D convert目录摘要 (1)ABSTRACT (2)目录 (3)1设计分析 (4)1.1设计目的 (4)1.2设计任务与要求 (4)1.3设计原理分析 (4)2硬件设计 (4)2.1芯片选择及功能简介 (5)2.1.1 AT89S52芯片功能特性描述 (5)2.2.2 ADC0808介绍 (9)2.2.3 MAX7219介绍 (11)3软件设计 (16)3.1软件流程图 (16)3.2软件调试 (16)4测试数据 (17)4.1测试分析 (17)5设计总结 (17)参考文献 (17)附录1:PROTEUS仿真原理图 (18)附录2:源程序 (19)1设计分析1.1设计目的1、利用51单片机实现简易数字电压表的仿真与设计,加深对单片机的理性认识,通过实践提高我们的动手能力以及理论联系实际的能力。

2、熟悉ADC0808模/数转换器的工作原理,及其与单片机的接口方法和驱动程序设计思想。

3、熟悉LED显示驱动器MAX7219的工作原理,与单片机的接口设计,以及驱动数码管的程序设计方法。

4、学会如何充分利用网络资源,在看懂别人设计成果的同时,学会自行设计程序,完善功能。

5、掌握数字电压表的设计方法,提高单片机应用系统的设计和调试能力。

1.2 设计任务与要求利用ADC0808模/数转换器实现直流电压采集,完成模/数转换;采用MAX7219完成数码管的驱动;用51单片机进行数据处理;最终将所测电压值通过数码管完成显示。

1.3 设计原理分析1、当ADC0808完成数/模转换后发出EOC信号通知单片机接收转换后的数字信号,并且进行数据处理和驱动MAX7219去驱动数码管完成显示功能。

2、由于只用到一个模拟通道,所以ADC0808的模拟通道选择端C、B、A均接地;启动START信息号线与P3^0连接,OE线与P3^1连接,EOC与P3^2连接, CLOCK 时钟输入端与P3^3连接。

3、采用可调电阻和电压源组成模拟量输入电路,输入端与ADC0808的通道INO模拟量输入端连接。

4、根据ADC0808的参数要求,参考电压VREF(+)选为+5V,VREF(-)接地。

2硬件设计本设计主要由A/D转换电路、数码管显示电路、模拟量输入电路和单片机最小系统组成,如系统框图所示:图2.1 系统框图2.1 芯片选择及功能简介2.1.1 AT89S52芯片功能特性描述AT89S52引脚框图:图2.2 AT89S52芯片引脚图AT89S52 主要性能:1、 与MCS-51 单片机产品兼容2、8K 字节在系统可编程Flash 存储器 数码管显示 模数转换电路 模拟量输入 单片机最小系统3、1000 次擦写周期4、全静态操作:0Hz~33Hz5、三级加密程序存储器6、32 个可编程I/O 口线7、三个16 位定时器/计数器8、八个中断源9、全双工UART 串行通道10、低功耗空闲和掉电模式l 1、掉电后中断可唤醒l2、看门狗定时器13、双数据指针l 4、掉电标识符内部方框图:图2.3 AT89S52内部框图功能特性描述:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

VCC : 电源。

GND: 地。

P0 口:P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4个TTL 逻辑电平。

对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。

在flash 编程和校验时,P1口接收低8位地址字节。

表2.1 P1口的第二功能表2.1 P1口的第二功能P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。

对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。

在这种应用中,P2 口使用很强的内部上拉发送1。

在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4个TTL 逻辑电平。

对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

表2.2 P3口的第二功能表2.2 P3口的第二功能RST: 复位输入;晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。

看门狗计时完成后,RST 脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。

在flash编程时,此引脚(PROG)也用作编程输入脉冲。

在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可作为外部定时器或时钟使用。

然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。

这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。

否则,ALE 将被微弱拉高。

这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:访问外部程序存储器控制信号。