- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七直流数字电压表设计.
实验七 直流数字电压表设计
实验目的:
掌握LED动态显示和A/D 转换接口设计方法。
实验原理:
实验电路原理图如图A..94所示。图中显示器采用4位共阴极数码管,并按动态显示方式接线。A/D转换结束标志采用查询法检查,启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生,频率为5kHz。电位器的输出电压送到A/D转换器中转换,转换结果以十进制形式显示在数码管上。调节电位器可使数码管的显示值发生相应变化。
图A.94 实验7的电路原理图
三、实验内容:
(1)、学习使用Proteus软件,掌握原理图绘图方法;
(2)、学习使用Keil C软件,掌握C51程序编写与调试方法;
(3)、理解动态显示与A/D转换工作原理,完成单片机电压采集与显示程序的编写与调试。
四、实验步骤:
(1)、在Proteus中绘制电路原理图,按照表A.9将元件添加到编辑环境中;
(2)、在Keil中编写C51程序,并使之编译通过;
(3)、在Proteus中加载程序,观察仿真结果。
五、实验要求:
提交的实验报告中应包括电路原理图、含注释内容的源程序及实验结果分析。
表A.9 实验7的元器件清单
Category Reference Value Microprocessor ICs U1 80C51 Data Converter U3 ADC0808 Miscellaneous X1 CRYSTAL Capacitors C1、C2 CAP Capacitors C3 CAP-ELEC Resistors R1~R8 RES Resistors R9 RES Resistors RV1 POT-HG Optoelectronics 7SEG-MPX4-BLUE (1)、源程序如下:
#include reg51.h // 头文件
#include absacc.h
unsigned int tmp; //定义一个整形中间变量
sbit START=P2^5; //定义ADC0808启动位
sbit ad_busy=P2^6; //定义ADC0808转换结束标志位
sbit OE=P2^7; //定义ADC0808输出使能标志位
sbit P2_0=P2^0; //定义四个数码管
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
char led_mod[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //LED字模
void delay( unsigned int time) //延时函数
{
unsigned int j=0;
for(;time0;time--)
for(j=0;j125;j++) ;
}
void show () // 数码管动态显示函数
{
unsigned i,j;
P2_0=0;
j=tmp/1000;i=j%1000;P0=led_mod[i]; delay(10); // 显示千位
P2_0=1;
P2_1=0;
j=tmp/100;i=j%100;P0=led_mod[i]; delay(10); // 显示百位
P2_1=1;
P2_2=0;
j=tmp/10;i=j%10;P0=led_mod[i]; delay(10); // 显示十位
P2_2=1;
P2_3=0;
i=tmp%10; P0=led_mod[i]; delay(10); // 显示个位
P2_3=1;
}
void main() // 主函数
{
while(1){
START=0;
START=1; // 启动A/D转换
START=0;
while(ad_busy==1); //等待A/D转换结束
OE=1; // 转换结果输出
tmp=P1; // 转换结果赋给中间变量
OE=0;
show(); // 输出转换数据
}
}
(2)、仿真结果:
实验结果分析:本实验是使用A/D转换器将模拟信号(电位器输出电压)转换为数字信号, A/D转换器与80C51接在一起,转换结果通过80C51以十进制形式动态显示在四个共阴极数码管上,通过改变模拟信号大小可以显示0~255之间任意数据。其中A/D转换器启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生。
六、
您可能关注的文档
最近下载
- 电力行业电网运行维护员岗面试真题题库参考答案和答题要点.docx VIP
- 健康照护师复习资料试题附答案(500题).docx
- 2型糖尿病医学演示课件.ppt VIP
- 2024新沪教版英语(五·四学制)七年级上单词表 (英译汉).docx VIP
- (2025年版)基孔肯雅热诊疗方案全文PPT课件.ppt
- 浙江绍兴市12345政务热线招录工作人员6人笔试备考题库带答案详解.docx VIP
- 化学丨河北省石家庄市2024届高三下学期3月联考(一模)化学试卷及答案.pdf VIP
- SHT35212007石油化工仪表工程施工技术规程.pdf VIP
- 心力衰竭课件PPT.pptx VIP
- NFPA 72-2022 国家火灾报警和信号代码(中文翻译版).pdf VIP
文档评论(0)