实验七 直流数字电压表设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生姓名:学号:班级:时间:

课程名称:单片机原理及应用总学时:48 教师成绩:

实验名称:实验七——直流数字电压表设计

实验目的:掌握LED动态显示和A/D转换接口设计方法。

实验内容:

根据如下电路原理图,编程实现查询法A/D转换和转换结果的十进制动态显示功能。

编程原理:

LED显示器和ADC0808均采用通用IO口方式与单片机接口。

LED动态显示编程原理:将待显示数据拆解为3位十进制数,并分时地将其在相应LED位上进行显示。1次完整的输出过程为:最低位位码清零→最低位数据送P0口→最低位位码置1→软件延时→中间位位码清零→中间位数据送P0口→中间位位码置1→软件延时→最高位位码清零→最高位数据送P0口→最高位位码置1→软件延时。如此无限循环可实现动态显示。

ADC0808编程原理:被测模拟量由0#通道输入(ADDA,ADDB,ADDC均接地可选通0通道);转换启动信号(START和ALE)可由软件方式产生P2.5正脉冲;转换结束信号(EOC)可通过查询P2.6的电平变化获得;输出使能信号(OE)可由软件方式产生P2.7正脉冲。

实验要求:

1、虚拟时钟信号发生器用法可参阅P262阅读材料,C51程序编写可参考以下程序模板;

————————————————

#include

______________ //定义ADC启动位变量,_st

______________ //定义ADC结束位变量,_eoc

______________ //定义ADC锁存位变量,_oe

______________ //定义数码管最低位位变量,led0

______________ //定义数码管第二位位变量,led1

______________ //定义数码管第三位位变量,led2

______________ //定义AD转换结果存放变量,ad_result

______________ //定义显示字模数组并赋初值,table

//0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f

void delay(unsigned int time){ //延时函数

unsigned int j = 0;

for(;time>0;time--)

for(j=0;j<125;j++);

}

void disp(void){ //动态显示函数

___________________ // led0清0

P0= _______________ //输出最低位数据的字模

___________________ //延时10ms

___________________ // led0置1

___________________ // led1清0

P0= _______________ //输出中间位数据的字模

___________________ //延时10ms

___________________ // led1置1

___________________ // led2清0

P0= _______________ //输出最高位数据的字模

___________________ //延时10ms

___________________ // led2置1

}

void main(void){

while(1){

___________ //模仿_st正脉冲(低_高_低)

___________

___________

___________ //查询_eoc,若_eoc =0,原地循环

___________ //若_eoc =1,_oe置1

___________ //读取AD转换结果

___________ //_oe清0

___________ //动态显示函数调用

}

}

2、提交实验报告:包括电路原理图,虚拟时钟信号发生器设置、C51源程序,运行效果图、讨论软件延时长短对动态显示效果的影响、实验小结。

相关文档
最新文档