51单片机简易数字电压表.docx
- 文档编号:2098205
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:27
- 大小:4.47MB
51单片机简易数字电压表.docx
《51单片机简易数字电压表.docx》由会员分享,可在线阅读,更多相关《51单片机简易数字电压表.docx(27页珍藏版)》请在冰豆网上搜索。
51单片机简易数字电压表
综合性设计性实验报告
院/系别:
化工机械系班级:
自动化20112014—2015学年第一学期
学号
1120301030
何延海
指导教师
薛志斌
课程名称
综合设计型实验
实验名称
基于51单片机的直流数字电压表
实验类型
设计性
实验地点
化工学院智能系统与控制实验室
实验时间
2014.12.22-2015.01.05
实验容:
(简述)
本次综合性实验设计是基于STC89C52RC+ADC0804+LCD1602,实现0~20V直流电压测量和0~50kΩ电阻粗测量及电阻小于20Ω蜂鸣报警功能。
首先,从手头现有器件为出发,查阅各器件资料和相关设计资料确定方案;其次,用proteus、keil建立模型和编写程序进行理论仿真;然后,在开发板上进行验证;最后,焊接电路板调试,做最后的确定,写实验报告。
实验目的与要求:
目的:
通过实现STC89C52RC+ADC0804+LCD1602电压、电阻测量系统,熟悉单片机的开发,为毕业设计的开展做铺垫。
要求:
1、实现STC89C52RC+ADC0804+LCD1602电压、电阻测量系统。
2、将该测量系统的误差控制在一定围。
设计思路:
(设计原理、设计方案及流程等)
1、设计方案
①电压测量:
电压测量时受到AD转换芯片的限制,直接接入只能测量0~5V的直流电压,为扩大量程,以电阻分压法接入被测量。
为保证测量时被测设备不过流,以5kΩ电阻作为基准电阻。
分压电路如下。
+0~20V
10kΩ
+0~10V5kΩ
IN+
5kΩ
GNDIN-
ADC0804为8位转换,在测量10V、20V电压时,最小转换电压为:
10V/255=0.0392V
20V/255=0.0784V
所以,被测电压或。
②电阻测量
电阻测量时也以分压法测电压来实现,5kΩ作为基准电阻,接入+5V电压做测量电压。
电路如下:
+5VRX
IN+
5kΩ
GNDIN-
计算公式为:
2、程序流程图
3、仿真图
关键技术分析:
1、应用proteus搭建数字电压表仿真模型
在充分了解proteus软件的基础上,搭建STC89C52RC+ADC0804+LCD1602电压、电阻测量系统仿真电路的搭建。
2、应用keil单片机开发环境
使用keil单片机开发环境,以c51语言编写代码。
3、量程的扩展和测量误差消减
设计量程扩展电路,同时将测量误差降到最低。
实验过程:
(包括主要步骤、成果介绍、代码分析、实验分析等)
1、器件简介
1)STC89C52RC
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
①增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
②工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
③工作频率围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
④用户应用程序空间为8K字节
⑤片上集成512字节RAM
⑥通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
⑦ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片
⑧具有EEPROM功能
⑨具有看门狗功能
⑩共3个16位定时器/计数器。
即定时器T0、T1、T2
⑪外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒
⑫通用异步串行口(UART),还可用定时器软件实现多个UART
⑬工作温度围:
-40~+85℃(工业级)/0~75℃(商业级)
⑭PDIP封装
引脚图:
2)ADC0804LCN
①芯片参数:
工作电压:
+5V,即VCC=+5V。
模拟转换电压围:
0~+5V,即0≤Vin≤+5V。
分辨率:
8位,即分辨率为1/28=1/256,转换值介于0~255之间。
转换时间:
100us(fCK=640KHz时)。
转换误差:
±1LSB。
参考电压:
2.5V,即Vref=2.5V。
②各个引脚名称及作用:
Vin(+)、Vin(-):
两个模拟信号输入端,可以接收单极性、双极性和差模输入信号。
DB0-DB7:
具有三态特性数字信号输出端,输出结果为八位二进制结果。
CLKIN:
时钟信号输入端。
CLKR:
部时钟发生器的外接电阻端,与CLK端配合可由芯片自身产生时钟脉冲,其频率计算方式是:
fck=1/(1.1RC)。
CS:
片选信号输入端,低电平有效。
WR:
写信号输入端,低电平启动AD转换。
RD:
读信号输入端,低电平输出端有效。
INTR:
转换完毕中断提供端,AD转换结束后,低电平表示本次转换已完成。
VREF/2:
参考电平输入,决定量化单位。
VCC:
芯片电源5V输入。
AGND:
模拟电源地线。
DGND:
数字电源地线。
③ADC0804的转换原理
ADC0804是属于逐次逼近式(SuccessiveApproximationMethod)A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。
以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。
第一次寻找结果:
10000000(若假设值≤输入值,则寻找位=假设位=1)
第二次寻找结果:
11000000(若假设值≤输入值,则寻找位=假设位=1)
第三次寻找结果:
11000000(若假设值>输入值,则寻找位=该假设位=0)
第四次寻找结果:
11010000(若假设值≤输入值,则寻找位=假设位=1)
第五次寻找结果:
11010000(若假设值>输入值,则寻找位=该假设位=0)
第六次寻找结果:
11010100(若假设值≤输入值,则寻找位=假设位=1)
第七次寻找结果:
11010110(若假设值≤输入值,则寻找位=假设位=1)
第八次寻找结果:
11010110(若假设值>输入值,则寻找位=该假设位=0)
这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表模拟输入电压Vin。
④芯片操作时序图:
分析图可知,CS先为低电平,WR随后置低,经时间tw(WR)L后,WR置高,随后AD转换器被启动,并且在经过一段时间后,模数转换完成,转换结果存入数据锁存器,同时INTR自动变为低电平,通知单片机本次转换已结束。
我们在实际写单片机程序启动A/D转换时就要遵循上面的时序。
但实际使用中,也可以不采用中断方式读取A/D转换数据,我们可以在启动A/D转换后,经过延时一段时间,直接读取A/D转换数据结果,读取结束后再启动一次A/D转换,如此循环下去。
⑤读取数据时序图如下图
分析图可知,当INTR变为低电平时后,将CS先置低,接着再将RD置低,在RD置低至少经过tACC时间后,数据输出口上的数据到达稳定状态,此时直接读取数据输出端口的数据,读走数据后,马上将RD拉高,然后再将CS拉高,INTR是自动变化的,不必人为干涉。
当我们连续转换并且连续读取数据时,就没有必要每次把CS置低再拉高,只要一开始将CS置低,以后要启动转换和读取数据时只需要操作WR和RD即可。
3)LCD1602
①简介
工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
②管脚功能编辑
1602采用标准的16脚接口,其中:
第1脚:
GND为电源地
第2脚:
VCC接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,以51为例的简单原理图
低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电
源。
15脚背光正极,16脚背光负极。
特性
3.3V或5V工作电压,对比度可调
含复位电路
提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能
有80字节显示数据存储器DDRAM
建有192个5X7点阵的字型的字符发生器CGROM
8个可由用户自定义的5X7的字符发生器CGRAM
特征应用
微功耗、体积小、显示容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
操作控制
注:
关于E=H脉冲——开始时初始化E为0,然后置E为1。
③字符集
1602液晶模块部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
在单片机编程中还可以用字符型常量或变量赋值,如'A’。
因为CGROM储存的字符代码与我们PC中的字符代码是基本一致的,因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=‘A’这样的方法。
PC在编译时就把'A'先转换为41H代码了。
CGROM中字符码与字符字模关系对照表
字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。
0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义。
④指令集
2、参数确定
ADC0804时钟频率:
C=220PF,R=5OOOΩ,所以fck=826kHz
3、C语言程序
#include
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
sbitlcd_rs=P2^2;
sbitl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 简易 数字 电压表