ADC0808数模转换与显示--课程设计.doc
- 文档编号:243889
- 上传时间:2022-10-07
- 格式:DOC
- 页数:4
- 大小:355.40KB
ADC0808数模转换与显示--课程设计.doc
《ADC0808数模转换与显示--课程设计.doc》由会员分享,可在线阅读,更多相关《ADC0808数模转换与显示--课程设计.doc(4页珍藏版)》请在冰豆网上搜索。
ADC0808数模转换与显示__课程设计
图3-1-3ADC0808的接线图图3-1-4ADC0808的时钟电路设置
图3-2-1设计原理电路图
IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给六位LED,同时它还通过其六位I/O口P0.0、P0.1、P0.2、P0.3、P0.4、P0.5产生位选信号控制数码管的亮灭。
此外,ADC0808的CLOCK用DCLOCK激励源,当激励源发出正脉冲时启动A/D转换,P3.5检测A/D转换是否完成,无论转换成功,均从P1口读取结果送给LED显示出来。
[2]
硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。
3.3程序设计
根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图3-3-1所示。
[3]
A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图3-3-2所示。
[3]
开始
初始化
调用A/D转换子程序
调用显示子程序
结束
图3-3-1主程序框图图3-3-2A/D转换流程图
3.4仿真结果与分析
1.当IN0口输入电压值为0V时,显示结果如图所示,测量误差为0V。
图3-4-1输入电压为0V时,LED的显示结果
4.00
3.984
0.40
附录
AT89C51单片机程序
#include
#include
#include"timer.h"
#define_nop{}
unsignedcharshuma[]={0xC0,0xF9,0xA4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f};
sbitN1=P0^0;sbitN2=P0^1;sbitN3=P0^2;sbitN4=P0^3;sbitN5=P0^4;sbitN6=P0^5;
sbitPoint=P2^7;intV=0;
voidDelay_nms(unsignedcharn)
{
unsignedchara;
for(;n>0;n--)
{
for(a=0;a<100;a++)
{_nop;_nop;_nop;_nop;}}}
voiddisplay(intvolt)
{unsignedchardis[6];
inti,a,j=0,cn=0;for(i=0;i<6;i++)
{dis[i]=0;}
a=volt;if(a==0)
{dis[0]=0;cn=1;}
else{j=0;while(a>0){if(j>=6)break;dis[cn]=a%10;
j++;cn++;a=a/10;}}
//dis[1]=9;for(i=0;i<6;i++)
{N1=0;N2=0;N3=0;N4=0;N5=0;N6=0;
P2=shuma[dis[i]];
if(i==0)N6=1;}
elseif(i==1){N5=1;if(cn==2){Point=0;}}
elseif(i==2){N4=1;if(cn==3)
{Point=0;}}
elseif(i==3)
{ N3=1;if(cn==4){ Point=0;} }
elseif(i==4)
{N2=1;if(cn==5) {Point=0;}}
elseif(i==5){N1=1; if(cn==6)
{Point=0;}}
Delay_nms(5);}}
voidmain()
{
unsignedcharkey,i;
IniTimer(25000);
StartTimer();
V=48367;
while
(1)
{
display(V);
}
}
3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADC0808 数模 转换 显示 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)