EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机课程设计 —— 数字电压表设计: g; G) H7 s! Y0 e% F
+ L; _5 m/ O" K: B S6 }9 K+ F
, U: J4 B% h& Q* n# N5 d一、课程设计目的 - 培养学生文献检索的能力,如何利用Internet检索需要的文献资料。
- 培养学生综合分析问题、发现问题和解决问题的能力。
- 培养学生综合运用知识的能力和工程设计的能力。
- 培养学生理论联系实际的能力。
- 提高学生课程设计报告撰写水平。# E+ v( S! T0 L" l$ `9 t
$ ^7 A$ }8 z! S* j' v
二、设计内容和设计要求 1、设计内容 利用51单片机与ADC0808或ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示或LM1602液晶显示,但要求使用的元器件数目最少。 (1)使用ADC0808或ADC0809芯片做为电压输入的AD模块; (2)使用外部按键控制方式读取电压信号; (3) 使用4位共阴极动态LED数码管或LM1602液晶显示屏作为输出显示部分; (4)软件可用C语言或汇编语言,硬件可用实验箱或Protues仿真软件实现功完整的能演示。
0 o1 n. R( R7 M6 W, ~# s& u0 c
2、设计要求 (1)设计单片机最小系统(包括复位按钮、晶振电路等); (2)共阴极LED数码管或LM1602液晶显示。 (3)用定时器中断方式定时刷新或按键控制读取方式显示,使用按键控制时要求使用外部中断方式。 (4)绘制实现本设计内容的硬件电路(原理图),系统的组成框图。 (5)给出ADC0808或ADC0809的功能说明与使用方法; (6)编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。 7 [7 r3 Q3 h4 _& D5 k
模数转换原理: 试验中,我们选用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的百分位。
5 x+ w4 d+ r5 B2 i4 z9 H. \
V! Q8 O- q0 G8 y5 {
! Z: N/ [- k4 B+ P' a+ J |