论文部分内容阅读
[摘 要]本文主要采用STC89C52单片机和ADC0831 芯片制作的简易数字电压表,可以采集0~5V的模拟直流电压进行测量,其测量结果在液晶LCD1602上显示。该设计硬件电路主要有三个模块成:A/D转换模块、数据处理模块及输出显示模块。程序设计上有各模块初始化操作、电压档位选择和LCD1602液晶显示程序等。
[关键词]数字电压表;LCD1602;ADC0831;单片机
中图分类号:TM933.22;TP368.1 文献标识码:A 文章编号:1009-914X(2018)11-0115-01
1 引言
数字电压表主要采用单片机和模/数转换模块,这样不仅提高了测量速度,而且抗干扰能力强、使用便捷、可扩展性强、测量准确。本文利用stc89c52单片机实现了直流电压的测量,其测量结果在液晶LCD1602上显示。
2 系统硬件设计
以 89C52单片机为关键部件,制作一个简易的数字电压表。总体设计电路有以下几部分组成:STC89C52单片机、A/D转换电路、液晶LCD显示电路、时钟电路、复位电路、被测电压输入电路及量程选择。
2.1 STC89C52控制器
STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。硬件为直插封装的STC89C52。
2.2 A/D转换模块
按照不同的A/D转换芯片的转换原理可把其分为逐次逼近行、双积分型等。其中双积分式A/D转换器抗干扰能力强、转换精度高、价格便宜。但与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,它们可以与单片机系统连接,将数字量送入單片机进行分析和显示。一个n位的逐次逼近型转换器只需要比较n次,这样大大节省了时间,而且逐次逼近型转换速度快,因而在实际中得到广泛的使用。由于ADC0831芯片采用逐次逼近式A/D转换原理,因此本设计便运用其进行模/数转换,它可以实现8路模拟信号的选择采集,而且它的转换时间为100us。对于n位的A/D转换器,它的分辨率是满量程输入电压和2n之比。ADC0831的满量程为5V。则其分辨率为0.02V。ADC0831内部结构主要有8路模拟通道选择开关、地址锁存与译码器和 8位 A/D 转换器、三态输出锁存器等构成。
2.3 时钟电路
单片机STC89C51芯片中有一个内部时钟,其中引脚18为输入端, 19为输出端引脚,这两个引脚连接一个12MHz的晶振,同时再连接两个瓷片电容。时钟电路如图1所示。
2.4 复位电路
STC89C52单片机的 RST为复位引脚,复位信号高电平有效,并且其有效时间应该延续出现2个机器周期以上即可确保系统复位,复位操作完成后,RST 端一直保持高电平,那么单片机就始终处于复位状态,当 RST恢复低电平后单片机才能进入其他操作。单片机复位电路有几种类,本次设计主要采用手动复位电路,这样可以人为的操作,简单方便。
2.5 LCD1602显示电路设计
本次设计中采用LCD1602作为显示器,与以前的LED数码管显示相比,其显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路。LCD1602模块的引脚及连接电路如图3所示:
其中D0~D7数据接收端口与单片机P0口相连。E端为使能端,当它由0变为1,LCD1602才能进行读写操作。RS、RW是1602的读写控制端,这样使用LCD显示时可由单片机的程序完成控制。VCC、GND为液晶屏的电源端口,R5端电压信号的大小可以改变液晶屏的亮度。由于P0口作为输出口时,它没有高电平的状态所以仿真电路时需要加上拉电阻RP1,这样P0口就有高电平状态。
3 系统程序设计
本系统软件采用C语言编程,采用keil uVision4软件编程环境。基于STC89C51单片机数字电压表的主程序主要由初始化程序设计、A/D采样程序设计、测量参数数据处理程序设计和LCD1602显示程序设计组成。主程序流程图如图4所示:
4 结论
本设计所研究的是基于单片机STC89C52的简易数字电压表系统,主要包括A/D 转换电路、液晶LCD 显示电路、时钟电路、复位电路、被测电压输入电路及量程选择模块。该数字电压表所测得的电压值和标准的电压相比,大概有0-0.01V的偏差。由于硬件方面的原因,此误差只能通过硬件上的完善才能得以校正。
参考文献
[1] 阎石主编.《数字电子技术基础》.修订3版.高等教育出版社.1988.
[2] 童诗白主编.《模拟电子技术基础》.修订2版.高等教育出版社.1988.
[3] 胡汉才主编.《单片机原理及其接口技术》.(第二版).清华大学出版社.2004.
[关键词]数字电压表;LCD1602;ADC0831;单片机
中图分类号:TM933.22;TP368.1 文献标识码:A 文章编号:1009-914X(2018)11-0115-01
1 引言
数字电压表主要采用单片机和模/数转换模块,这样不仅提高了测量速度,而且抗干扰能力强、使用便捷、可扩展性强、测量准确。本文利用stc89c52单片机实现了直流电压的测量,其测量结果在液晶LCD1602上显示。
2 系统硬件设计
以 89C52单片机为关键部件,制作一个简易的数字电压表。总体设计电路有以下几部分组成:STC89C52单片机、A/D转换电路、液晶LCD显示电路、时钟电路、复位电路、被测电压输入电路及量程选择。
2.1 STC89C52控制器
STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。硬件为直插封装的STC89C52。
2.2 A/D转换模块
按照不同的A/D转换芯片的转换原理可把其分为逐次逼近行、双积分型等。其中双积分式A/D转换器抗干扰能力强、转换精度高、价格便宜。但与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,它们可以与单片机系统连接,将数字量送入單片机进行分析和显示。一个n位的逐次逼近型转换器只需要比较n次,这样大大节省了时间,而且逐次逼近型转换速度快,因而在实际中得到广泛的使用。由于ADC0831芯片采用逐次逼近式A/D转换原理,因此本设计便运用其进行模/数转换,它可以实现8路模拟信号的选择采集,而且它的转换时间为100us。对于n位的A/D转换器,它的分辨率是满量程输入电压和2n之比。ADC0831的满量程为5V。则其分辨率为0.02V。ADC0831内部结构主要有8路模拟通道选择开关、地址锁存与译码器和 8位 A/D 转换器、三态输出锁存器等构成。
2.3 时钟电路
单片机STC89C51芯片中有一个内部时钟,其中引脚18为输入端, 19为输出端引脚,这两个引脚连接一个12MHz的晶振,同时再连接两个瓷片电容。时钟电路如图1所示。
2.4 复位电路
STC89C52单片机的 RST为复位引脚,复位信号高电平有效,并且其有效时间应该延续出现2个机器周期以上即可确保系统复位,复位操作完成后,RST 端一直保持高电平,那么单片机就始终处于复位状态,当 RST恢复低电平后单片机才能进入其他操作。单片机复位电路有几种类,本次设计主要采用手动复位电路,这样可以人为的操作,简单方便。
2.5 LCD1602显示电路设计
本次设计中采用LCD1602作为显示器,与以前的LED数码管显示相比,其显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路。LCD1602模块的引脚及连接电路如图3所示:
其中D0~D7数据接收端口与单片机P0口相连。E端为使能端,当它由0变为1,LCD1602才能进行读写操作。RS、RW是1602的读写控制端,这样使用LCD显示时可由单片机的程序完成控制。VCC、GND为液晶屏的电源端口,R5端电压信号的大小可以改变液晶屏的亮度。由于P0口作为输出口时,它没有高电平的状态所以仿真电路时需要加上拉电阻RP1,这样P0口就有高电平状态。
3 系统程序设计
本系统软件采用C语言编程,采用keil uVision4软件编程环境。基于STC89C51单片机数字电压表的主程序主要由初始化程序设计、A/D采样程序设计、测量参数数据处理程序设计和LCD1602显示程序设计组成。主程序流程图如图4所示:
4 结论
本设计所研究的是基于单片机STC89C52的简易数字电压表系统,主要包括A/D 转换电路、液晶LCD 显示电路、时钟电路、复位电路、被测电压输入电路及量程选择模块。该数字电压表所测得的电压值和标准的电压相比,大概有0-0.01V的偏差。由于硬件方面的原因,此误差只能通过硬件上的完善才能得以校正。
参考文献
[1] 阎石主编.《数字电子技术基础》.修订3版.高等教育出版社.1988.
[2] 童诗白主编.《模拟电子技术基础》.修订2版.高等教育出版社.1988.
[3] 胡汉才主编.《单片机原理及其接口技术》.(第二版).清华大学出版社.2004.