EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机课程设计 —— 数字电压表设计
: q* U; X" x. L) k
7 H/ O( \: V( H# x- Y1 y, Q- b
5 O1 ?: W; `2 p) p; n* g一、课程设计目的 - 培养学生文献检索的能力,如何利用Internet检索需要的文献资料。
- 培养学生综合分析问题、发现问题和解决问题的能力。
- 培养学生综合运用知识的能力和工程设计的能力。
- 培养学生理论联系实际的能力。
- 提高学生课程设计报告撰写水平。
# T" X% X& L9 z' |5 K" p. N) t
/ u: w- y% {1 H' B
二、设计内容和设计要求 1、设计内容 利用51单片机与ADC0808或ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示或LM1602液晶显示,但要求使用的元器件数目最少。 (1)使用ADC0808或ADC0809芯片做为电压输入的AD模块; (2)使用外部按键控制方式读取电压信号; (3) 使用4位共阴极动态LED数码管或LM1602液晶显示屏作为输出显示部分; (4)软件可用C语言或汇编语言,硬件可用实验箱或Protues仿真软件实现功完整的能演示。
/ M$ C4 W) e: C! S, J
2、设计要求 (1)设计单片机最小系统(包括复位按钮、晶振电路等); (2)共阴极LED数码管或LM1602液晶显示。 (3)用定时器中断方式定时刷新或按键控制读取方式显示,使用按键控制时要求使用外部中断方式。 (4)绘制实现本设计内容的硬件电路(原理图),系统的组成框图。 (5)给出ADC0808或ADC0809的功能说明与使用方法; (6)编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。 $ g: [; F3 Y+ A" Y4 y; J% [
模数转换原理: 试验中,我们选用ADC0809作为模数转换的芯片,其为逐次逼近式AD转换式芯片,其工作时需要一个稳定的时钟输入,根据查找资料,得到ADC0809的时钟频率在10khz~1200khz,我们选择典型值640khz。课题要求测量电压范围是0到5V,又ADC0809的要求:Vref+<=Vcc,Vref->=GND,故我们取Vref+=+5V,Vref-=0V。由于ADC0809有8个输入通道可供选择,我们选择IN6通道,直接使ADC0809的A接地,B、C接高电平可以了,在当ADC0809启动时ALE引脚电平正跳变时变可以锁存A、B、C上的地址信息。ADC0809可以将从IN6得到的模拟数据转换为相应的二进制数,由于ADC0809输出为8位的二进制数,转换时将0到5V分为255等分,所以我们可以得到转换公式为x/255*5化简为:x/51,x为得到的模拟数据量,也就是直接得到的电压量。在AD转换完成后,ADC0809将在EOC引脚上产生一个8倍于自身时钟周期的正脉冲,以此来作为转换结束的标志。然后当OE引脚上产生高电平时,ADC0809将允许转换完的二进制数据输出。 数据处理原理: 由ADC0809的转换原理可以知道我们从其得到数据还只是二进制数据,我们还需要进一步处理来的到x的十进制数,并且对其进行精度处理,也就是课题要求的的精确到小数点后两位,在这里我们用51单片机对数据进行处理。我们处理数据的思路是:首先将得到的二进制数直接除以十进制数51,然后取整为x的整数部分,然后就是将得到的余数乘以10,然后再除以51,再取整为x的十分位,最后将得到的余数除以5得到x的百分位。 - S# V8 f9 z& _- L3 c3 Y
$ A a& A3 O9 m) ]) b7 e/ M. P" @ 2 V& B5 y5 U1 ` \5 k8 e
|