基于8051单片机的数字电压表课程设计内容摘要:

A/D 转换器,当 START 信号有效时,就开始 对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到 8 位三态锁存器,同时通过引脚送出转换结束信号。 ( 4) 三态输出锁存器保存当前模拟通道转换得到的数字量,当 OE信号有效时,把转换的结果送出。 ADC0808 的工作流程为: ( 1) 输入 3位地址,并使 ALE=1,将地址存入地址锁存器中,经地址译码器从 8路模拟通道中选通 1路模拟量送给比较器。 ( 2) 送 START 一高脉冲, START 的上升沿使逐次寄存器复位,下降沿启动 A/D转换,并使 EOC 信号为低电平。 ( 3) 当转换结束时,转换的结果送入到输出三态锁存器中,并使 EOC 信号回到高电平,通知 CPU 已转换结束。 ( 4) 当 CPU 执行一读数据指令时,使 OE 为高电平,则从输出端 D0D7 读出数据。 显示电路的设计 接口分配设计如图 1所示: RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 由单 片机 , R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS和 R/W共同为低电平时可以写入指令或者显示地址,当 RS为低电平 R/W为高电平时可以读忙信号,当 RS为高电平 R/W为低电平时可以写入数据。 由单片机 , E端为使能端,当 E端由高电平跳变成低电平时,液晶模块执行命令。 由单片机 , D0~ D7为 8位双向数据线。 单片机 P0口输入,经过阻值为 1KΏ的上拉电阻连接。 报警电路的设计 主要是将采样值和预设值进行比较,如果大于预设值,则会启动报警,硬件部分 表现为灯亮,如图 5所示为 5V量程时,所测电压大于。 图 4 报警仿真电路 程序设计总方案 根据模块的划分原则,将该程序划分初始化模块, A/D 转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,主程序开始后进行初始化,LCD 间接控制下的初始化,定时器的初始化,然后调用 A/D 转化子程序,再调用显示子程序。 系统子程序设计 初始化程序 所谓初始化,是对将要用到的 MCS_51 系列单片机内部部件或扩展 芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。 A/D 转换子程序 A/D 转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图 5 示。 图 5 A/D 转化流程图 部分程序源代码 ( 1) 0809 启动程序 BT0: PUSH ACC MOV DPTR,0F6FFH。 0809 地址 MOV A,00 MOVX @DPTR,A。 启动 0809 LOOP: JB ,LOOP MOVX A,@DPTR。 取 0809所选通道的转换结果判断 读的的大小 相等则向下执行 不等则跳转 ( 2)量程选择程序 TURN: LCALL LCXZ。 量程的选择 MOV A,5 MUL AB。 乘 5 后值小于 255 则 B 中为 0 A 中为所的值 MOV B,R3 DIV AB。 除以 51 后 则 A 中放商 B 中放余数 MOV 42H,A。 将商放在 42H 中 MOV 41H,B。 余数放在 41H 中。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。