基于ADC0832数字电压表.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ADC0832数字电压表

阿坝师范高等专科学校电子信息工程系课程设计 基于ADC0832数字电压表  学生姓名任银鹏专业名称电子信息工程技术班 级电信班学 号 基于ADC0832数字电压表 设计要求 设计一个在单片机AT89S52作用下基于ADC0832数字电压表. 系统设计方案 模块图 模块作用 该电压表由单片A / D转 换 器构成,在很大的电压情况下,电压表去测量时会对其并联很大的电阻分掉高压,然后再进行测量,这 本来很大的电压,到后来测出来的电压就会很小,这就是A /D转换实现低压电压表测量高压 硬件原理 LCD1602 图3.1 LCD1602外观 如图3.1 LCD1602外观,从LCD1602参数手册知道芯片工作电压为4.5~5.5V,工作 电流20mA。模块最佳工作电压为5V。 引脚作用说明如下表3.1: 表3.1 引脚作用说明 从参数手册知道LCD1602与单片机8051系列连接??式如图3.2所示,LCD1602引用 电路如图3.3: 图3.2 LCD1602与单片机8051系列连接方式 图3.3 LCD1602引用电路 如图3.3 LCD1602引用电路,单片机P2口与LCD1602的7-14脚连接,单片机14脚 与LCD1602的6脚连接,单片机15脚与LCD1602的4脚连接。 ADC0832 ADC0832具有8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在0-5V之间,工作频率为250KHz,转换时间为32us; 一般功耗仅为15Mw的特点。 ADC0832芯片引脚说明如图3.4: 图3.4 ADC0832芯片引脚说明:cs:片选使能,低电平芯片使能;cho:模拟输入通道0,或作为IN+/-使用;ch1:模拟输入通道:1,或作为IN+/-使用;GND:芯片参考0电位;DI:数据信号输入,悬着通道控制;DO:数据信号输出,转换数据输出;CLK:芯片时钟输入;Vcc/REF:电源输入及参考电压输入。 ADC0832与单片机的接口电路如图3.5 图3.5 ADC0832与单片机的接口电路 图3.6 ADC0832引用电路 如图3.6ADC0832引用电路,单片机P1口与ADC0832的1,5,6,7脚连接。 总原理图 通过模块图与硬件LCD1602、ADC0832的原理及应用电路,则在单片机AT89S52作用下基于ADC0832数字电压表的原理图如图3.7所示: 图3.7 原理图 软件设计 LCD1602操作时序 基本操作时序: 读状态: 输入:RS=L;RW=H;E=H 输出: D0~D7=状态字 写指令: 输入:RS=L;RW=L; D0~D7=指令码,E=高脉冲 输出: 无 读数据: 输入:RS=L;RW=H;E=H 输出: D0~D7=数据 写数据: 输入:RS=H;RW=L; D0~D7=数据,E=高脉冲 输出: 无 对LCD1602的设置包括初始化设置;显示模式设置;显示开/管及光标设置;则 程序为: void init() { write_com(0x38); //设置16*2显示,5*7点阵,8位数据接口 write_com(0x06); //整屏不移动,地址指针加1,光标加1 write_com(0x01); //数据指针和所有显示清零 write_com(0x0c); //显示打开但不显示光标 } ADC0832操作时序 ADC0832读取程序流程 如上表所示: 当此2位数据为“1”、“0”时,只对 CH0 进行单通道转换。当2位数据为“1”、“1”时,只对 CH1 进行单通道转换。当 2 位数据为“0”、“0”时,将 CH0 作为正输入端 IN+,CH1 作为负输入端 IN-进行输入。当2位数据为“0”、“1”时,将 CH0 作为负输入端 IN-,CH1 作为正输入端 IN+进行输入。 ADC0832初始化程序为: unsigned int Get_Value_ADC0832( ) { unsigned char i,dat; CS=1; CLK=0; //为第1个脉冲作准备 CS=0; //CS置0,一个转换周期开始,DO高阻 DIO=1; // DI置1,规定的起始信号 CLK=1; //第1个脉冲 CLK=0; //第1个脉冲的下降沿 DIO=1; //DI置1, 通

文档评论(0)

xjj2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档