图4-4 A/D转换测量电路
说明:0808芯片的IN0-IN7分别接8个电位器,OUT1-OUT8接单片机P0口并与74373的D0-D7连接。74373的OE接地,LE接单片机P3.2管脚,用程序控制其锁存地址。0808芯片的CLK接P3.3用程序给其初始化脉冲。ST和ALE接P2.4,OE、EOC分别接P2.6、P2.5,编程控制以控制0808芯片。
10
第5章 软件设计与说明
5.1系统软件设计(流程图)
图5.1为程序软件设计流程图 其中(a)为主程序流程图,(b)为A/D转换子程序流程图。
开始 开始 初始化 开始模数转换 调用A/D转换子程序 转换是否完成 调用显示子程序 取得模数转换结果并转化为工程量 调用延时程序 显示转化结果 结束 (a)主程序流程图
(b)A/D转换子程序流程图
其中A/D转换子程序是将0808转化后的数字量,需通过转化子程序转化成工程量并通过查表送到P1口送给LED显示。
11
5.2 程序设计
(1)初始化程序 给ADC0808时钟脉冲信号,并指向0808的0通道启动A/D转换,通过延时等待8路采集完毕。 (2)数据读入 控制0808芯片的ALE、START、EOC和OE,STRT为正脉冲时转换开始,EOC为低电平时A/D转化结束,OE为高电平时转换结果送到数据线并被单片机读入,ALE为上升沿信号地址锁存允许 CLR P2.4 SETB P2.4 CLR P2.4 JNB P2.5,$ SETB P2.6 MOVX A,@DPTR MOV ADC,A CLR P2.6 (3)消抖 防抖动的时间是10ms。 (4)通道转换 当判断有按键按下后P3.2口置位即允许74373地址锁存,DPTR加1指向下一通道。
12
第6章 使用说明与调试结果
该数字电压表可以同时测量8路直流数据,电压表测量范围为0.00~5.00V,测量最小分辨率为19.5mv。
整个系统由一个按钮控制,最左边个LED显示器是指向当前通道,即电位器编号。用Proteus仿真中点PLAY电压表默认显示第8通道即第8个电位器RV8的测量值。
第一次按下按钮后,改变测量通道即第1通道RV1的值,第2下为第2通道,依次循环测量8个电位器的电压值。
选择其中任意电位器并拨动其位置能改变其值,最大值为5V,最小值为0V,在中间时为2.49V,单片机能读出并正确显示。
经调试后该系统能达到目标要求。
13
总结
这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。
在一个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多! 发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
14