基于ADC0809的数字电压表

上传人:我*** 文档编号:132539704 上传时间:2020-05-17 格式:DOC 页数:18 大小:651.50KB
返回 下载 相关 举报
基于ADC0809的数字电压表_第1页
第1页 / 共18页
基于ADC0809的数字电压表_第2页
第2页 / 共18页
基于ADC0809的数字电压表_第3页
第3页 / 共18页
基于ADC0809的数字电压表_第4页
第4页 / 共18页
基于ADC0809的数字电压表_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于ADC0809的数字电压表》由会员分享,可在线阅读,更多相关《基于ADC0809的数字电压表(18页珍藏版)》请在金锄头文库上搜索。

1、南京信息工程大学南京信息工程大学单片机课程设计 题 目: 基于ADC0809的数字电压表 学生姓名: 乔冬春 学 号: 所在学院: 电子与信息工程学院_ 专 业: 电子信息工程 指导老师: 邹应全 二0一一年十二月十九日目录摘要关键词 3前言 3硬件电路设计 3软件设计 8调试过程 8实物图 9结束语 10附 系统程序 11 基于ADC0809的数字电压表南京信息工程大学电子与信息工程学院 乔冬春 南京摘要:本文主要介绍了一个基于STC89C52单片机的数字电压表,描述了利用ADC089进行电压采集转换,同时通过1602液晶显示的过程。关键词:STC89C52;ADC089;1602;电压表;

2、单片机一、 前言随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,同时各种电子器件技术的发展,为我们的生产生活带来了许许多多的便利,从最初的数码管到如今的液晶,人们的视觉体验得到了极大的提高。同时AD转换技术发展,将人类从模拟时代带入了数字时代,极大地简化了人类的工作量,对生产力的发展起到了巨大的推动作用。二、 硬件电路设计单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。系统

3、方框图电压采集处理电源电路AD转换模块液晶显示模块串口模块STC89C52复位电路时钟电路2.电路各模块分析2.1 STC89C52特性分析STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用STC公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。STC89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2个数据指针,2个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时

4、钟电路。另外,STC89C52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。2.2 时钟电路 2.3 复位电路2.4 串口模块2.5 AD转换模块ADC0809引脚分布1. IN0-IN7为模拟量输入端2. CLOCK为外部时钟输入端3. OUTPUT ENABLE为输出使能端4. ADD A/ADD B/ADD C为地址端5. ADC0-ADC7为数字量输出端6. EOC为转换结束信号段7. VREF

5、+为正参考电压端(一般接VCC)8. VREF-为负参考电压输入端(一般接地)9. VCC电源输入端(接+5V)10. GND 为接地端2.6 液晶显示模块1602液晶各引脚1. VSS为接地端2. VDD 接+5V3. V0为液晶显示偏压信号4. RS为数据/命令选择端5. R/W为读/写信号选择端 一般接地6. E使能信号7. DB0-DB7为数据/命令输入端8. BLA为背光源正极9. BLK为背光源负极2.7电压采集处理模块为扩展量程,故在AD模拟量输入端,采用电阻串联分压,再用软件处理的方法将电压表5V量程扩展至15V。2.7元器件清单名称数量STC89C521ADC08091MAX

6、23211602液晶111.0592晶振1按键1排针3排10uf电解电容130pf瓷片电容6510K电阻310K电阻1自锁开关1USB母口1串口母口110K电位器1各芯片底座3三、软件设计开始初始化主程序AD转换程序数据处理液晶显示四、 调试过程一开始现根据自身水平,选择题目,考虑到测温等题目选择的同学较多,同时,同时自己对ADC0809和1602液晶已经比较熟悉的现状,故决定选择这两个器件作为,题目的主要元器件。现根据自身想法,开始画电路图,在用altium designer画好图之后,便开始着手买元器件,进行焊接工作, 在焊接时,主要考虑到布线不相互干扰,同时尽量美观,所以在焊接上花了一些

7、时间,不过在此过程中也犯了一些错误,在ADC0809和STC89C52的连接电路中,由于一开始未能正确理解数字量输出端高位和低位的,这给接下来的软件设计部分带来较大麻烦。在进行软件设计时,先设计整个执行流程图,由于过程并不复杂,所以在程序设计时,总体较顺利,出了上面提到的由于硬件焊接错误所造成的迟滞,还有一个就是对字符的定义上出了问题,在AD转换完之后,进行数据处理,一个变量被定义成unsigned char 型,最高只有65536,而在运算过程中,是超过这个值的,所以一开始显示的数值始终不正确,后来经过严密审查,终于发现问题所在。在整个设计过程中,很多同学的热心帮忙也为设计工作带来了许多方便

8、,故因要多交流,很多困扰的问题便迎刃而解了。五、 实物图正面反面六、 结束语通过本次设计,让我对单片机以及液晶和AD有了更深刻的认识,同时明白一个道理,在做设计的时候一定要做到有条不紊,尽量将所有东西拆分成各个小模块进行处理,最后进行组合拼接,调试,这样不仅可以节约成本,而且方便扩展,同时要注意他人交流,闭门造车是没有出路的,在坚持独立自主的基础上,增强与他人交流,学习他人经验,以人之长补己之短,最终实现共赢。附件:系统程序#include#include#define uchar unsigned char#define uint unsigned int#define Data P0#de

9、fine adcdat P1 /adc数据口,接单片机 P1,可根据硬件连接进行修改sbit rs=P21;sbit e=P20;sbit ale_start=P22; /ale srart 两个引脚因时序要求可接在一起,节约引脚sbit oe=P24;sbit eoc=P23;sbit clk=P25; /adc采样时钟信号,由定时器产生,大约500klong value;long tt;uchar code tip=CURRENT VOLTAGE:;uchar *ptr1=tip;uchar code disp_table=.V ;uchar disp_buf6; /可用来显示电压/* 微

10、秒延时函数 */void delayus(uchar i) while(i-);/* 毫秒延时函数 */void delayms(uint z)uint i,j;for(i=z;i0;i-)for(j=110;j0;j-);/*/* 写入命令函数 */*/void WriteCommand(unsigned char c) delayms(5);/操作前短暂延时,保证信号稳定 e=0; rs=0; _nop_(); e=1; Data=c; e=0;/*/* 写入数据函数 */*/void WriteData(unsigned char c) delayms(5); /操作前短暂延时,保证信号稳定 e=0; rs=1; _nop_(); e=1; Data=c; e=0; rs=0;/*/* 写入字节函数 */*/void ShowChar(unsigned char pos,unsigned char c) unsigned char p; if (pos=0x10) p=pos+0xb0; /是第二行则命令代码高4位为0xc else p=pos+0x80; /是第二行则

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号