关闭

关闭

关闭

封号提示

内容

首页 基于8051+ADC0809设计数字电压表的汇编实现.doc

基于8051+ADC0809设计数字电压表的汇编实现.doc

基于8051+ADC0809设计数字电压表的汇编实现.doc

巴黎不快乐么 2017-10-19 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报

简介:本文档为《基于8051+ADC0809设计数字电压表的汇编实现doc》,可适用于IT/计算机领域,主题内容包含基于ADC设计数字电压表的汇编实现作者:HeChaoyang日期:年月日说明:本文仅讨论“基于ADC设计的数字电压表”的软件实现部分硬件连接较简单可符等。

基于ADC设计数字电压表的汇编实现作者:HeChaoyang日期:年月日说明:本文仅讨论“基于ADC设计的数字电压表”的软件实现部分硬件连接较简单可参阅单片机基础教材或实验指导教材。对单片机初学者的学习有一定的参考价值和指导意义。题目如下:用ADCLED数码管等器件自行设计一数字电压表(精确到)电压值在LED上显示效果如下图:即为用位AD采样V电压(AD的参考电压为V)并要在单片机中直接显示相应的电压值显示值为十进制两位小数。经过各方面资料的搜集和与Lammy同学的讨论我整理出了两套实现方案。方案一:将扩大倍即这样要两个字节存储这个参考电压值再用得到的采样值(一字节)乘以得到一个字节的值(调用一个字节乘字节的子程序实现)再除以阶数值即得到实际信号电压扩大倍后的整数值再转换成BCD码形式显示时将其第一位显示小数点即可。小数点问题的解决办法:()做两张表一张带小数点一张不带小数点。()只有一张不带小数点的表第一位显示小数点之前将字型的值补上与带小数点的差值(减去H)再送显示。源代码编写中需要调用到“三字节二进制无符号数除以单字节二进制数”和“调用字节乘字节的子程序”的子程序我自己试着编写这两个程序其中乘法子程序我比较熟悉老师上课也有讲到。但除法一点思路也没有上网搜索了下发现了这样一份相当实用的资料《,,,,,,单片机实用子程序库(,,年版)》周航慈其中包括非常多的工程实践中需要用到的汇编子程序工程实践中可以直接调用。方案二:根据要显示的电压值计算式V=A*扩大倍后直接计算出的数值为首先要考虑是选择还是还是与A相乘。如果以与A相乘当A为时A=与相差太远误差较大如果选择=同样有太大误差为了避免太大的误差可以考虑选择作为参数(=)。以与A相乘最大的结果为=可以用两个字节表示结果故需要调用“一个字节与一个字节相乘结果为两个字节的程序”然后根据得到的两个字节的结果进行十进制转换。双字节进制转换为BCD码可以参考资料《,,,,,,单片机实用子程序库(,,年版)》周航慈。最后根据BCD数的倒数第二位以四舍五入的原则去掉后两位数据将前三位送显示。以上两个方案是我对这个问题的分析可能有更好的实现方案欢迎有着丰富单片机编程经验的牛人指导。源代码会在实验调试成功后附上。

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评分:

/2
0下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料