
基于ADC0832数字电压表.docx
10页阿坝师范高等专科学校电子信息工程系课程设计基于ADC0832数字电压表学生姓名 专业名称电子信息工程技术班 级 学 号 基于ADC0832数字电压表一、 设计要求设计一个在单片机AT89S52作用下基于ADC0832数字电压表.二、 系统设计方案1. 模块图2. 模块作用该电压表由单片A / D转 换 器构成,在很大的电压情况下,电压表去测量时会对其并联很大的电阻分掉高压,然后再进行测量,这 本来很大的电压,到后来测出来的电压就会很小,这就是A /D转换实现低压电压表测量高压三、 硬件原理1. 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脚连接。
2. ADC0832ADC0832具有8位分辨率;双通道A/D转换;输入输出电平与TTL/CMOS相兼容;5V电源供电时输入电压在0-5V之间,工作频率为250KHz,转换时间为32us;一般功耗仅为15Mw的特点 ADC0832芯片引脚说明如图3.4: 图3.4ADC0832芯片引脚说明: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脚连接3. 总原理图 通过模块图与硬件LCD1602、ADC0832的原理及应用电路,则在单片机AT89S52作用下基于ADC0832数字电压表的原理图如图3.7所示: 图3.7 原理图四、 软件设计1. 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); //显示打开但不显示光标 }2. 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, 通道选择信号:1CLK=1; //第2个脉冲,CLK=0; //第2个脉冲下降沿DIO=0; //DI置0,通道选择信号:0, 选通道0CLK=1; //第3个脉冲CLK=0; //第3个脉冲下降沿,转换开始DIO=1; //第3个脉冲后,输入端DI转高阻,DO转输出for(i=0;i<8;i++) //高位在前{CLK=1; //第4个脉冲CLK=0;dat<<=1; //数据左移dat|=(unsigned char)DIO; //将DIO输出数据存在dat最低位}CS=1;return dat; //将转换的数据返回}3. 流程图基于ADC0832数字电压表总流程图如图所示:五、 测试与误差分析 电路的连通性;然后测试单片机的复位键的电压是否与电源电压相同、连接晶振的18脚电压满足2.2V、40脚的电压是否与电源电压相同;若测试结果通过后,即可将单片机芯片烧录程序。
最后调整电位器,直到LCD1602的亮度合适;按下复位键,观察 LCD1602是否显示字样“the volt is (0-5V) ”.由于ADC0832具有8位分辨率A/D转换芯片,其最高分辨可达 (5/256)V,可以适应一般的模拟量转换要求其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 0-5V之间芯片转换时间仅为 32μS,双数据输出作为数据校验,从而引起数据误差;另误差可能是由电位器调整电位所引起六、 附录基于ADC0832数字电压表的程序:#include
