欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的数字电压表设计报告.doc

    • 资源ID:63965837       资源大小:219KB        全文页数:8页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的数字电压表设计报告.doc

    单片机原理及系统课程设计评语:考勤(10)守纪(10)过程(40)设计报告(30)答辩(10)总成绩(100)专 业: 电气工程及其自动化 班 级: 姓 名: 学 号: 指导教师: 兰州交通大学自动化与电气工程学院2010 年 3 月 7 日基于单片机的数字电压表设计摘 要本文是基于单片机的数字电压表的设计,用单片机AT89S52作为主控单元,ADC0809作模数转换芯片,测量05V直流电压,其测量最小误差为0.02V。本设计主要分为硬件电路及软件程序两部分。硬件电路可分为A/D转换电路、LED显示电路。程序的设计使用C语言编程。关键词:AT89S52;数字电压表;ADC0809AbstractThe design of this article is based on single chip microcomputer digital voltmeter, AT89S52 MCU as the main control unit, the ADC0809 modulus conversion chip, measurement of 0 5 V dc voltage, the minimum error of measurement is 0.02 V. This design is mainly divided into two parts, hardware circuit and software program. Hardware circuit can be divided into A/D conversion circuit, LED display circuit. Program design using C language programming.Key Words: AT89S52, Digital Voltmeter, ADC08091.引言随着电子时代的来临,人们对各种数字仪表的精度要求更高,以前的指针仪表已经不能满足人们的需要,所以就出现了数字电压表这种更精确的测量仪器。本次课程设计的主要任务是完成模拟量电压转换成数字量电压,然后通过数码管显示出来。主要包括两大模块:转换模块,显示模块,结合硬件和软件,使误差最小。2.系统总体方案设计 2.1 总体设计方案 根据系统设计的要求和功能,将系统分为主控模块,A/D转换模块,LED显示模块,复位电路,时钟电路几个模块,系统框图如图1所示,主控模块采用AT89S52单片机,A/D转换模块采用ADC0809芯片,用于A/D转换,显示模块采用4位七段共阳LED数码管,用于显示电压值。2.2系统组成框图时钟及复位电路单片机显示电路输入电路图2.2系统组成框图3.硬件设计 3.1系统硬件设计原理通过变量设置选择八路通道中的第三路,将该路模拟电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将ADC0809转换后的数字量存到片内RAM。系统调出数据处理子程序,将测量结果转化为0.005.00V,最后通过查表将每一位数据输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。单片机的P0.0P0.7作为4位动态数码显示管的段显示控制。P2.1P2.3作为4位动态显示管的位显示控制。3.2硬件设计原理图在Proteus仿真环境下所搭建的系统硬件电路图如图3.2所示。 图3.2系统原理图4软件设计4.1软件设计方案主程序包含初始化部分,调用A/D转换子程序和延时部分。A/D转换程序由开始设定的ST的变化开始(产生下跳沿 使ADC0809的START开始运转)然后当转换结束(EOC=1)时,开始传输数据到P1(OE=1输出允许信号置1)至传输结束时OE置0,将获得的电压量转换成所对应的16进制数据并寄存,再通过取模的方式把各位数字逐个提取,最后通过查询代码表得到相应的BCD码,最后显示即可结束。ADC0809转换之后输出的结果是8位二进制数。当ADC0809输出为()时,输入电压值VI=5.00V;当ADC0809输出为()时,输入电压值为VI=0.00V;当ADC0809输出为()时,输入电压值VI=2.50V。由于单片机进行数学运算时结果只取整数部分,因此当输出为()时计算出的电压值VI=2.00V,很不准确。为了提高精确度,必须把小数部分保留,具体方法是:如果小数点后保留两位,在运算的时候分子乘以100,保留三位就乘以1000。本设计是在小数点后保留两位,运算方式如公式VI=Dout/255×5×100=Dout×100/51。4.2主程序流程图图4.2为程序软件设计流程图,其中(a)为主程序流程图, (b)为A/D转换子程序流程图。 开始开始图4.2 程序流程图开始模数转换初始化N(a)主程序流程图(a)主程序流程图转换是否完成?调用A/D转换程序Y(a)主程序流程图(a)主程序流程图调用显示子程序取得模数转换结果兵转化为数字量调用延时程序显示转化结果结束结束 (a)主程序流程图 (b)AD转换流程图5. 系统调试及仿真结果6.总结两周的课程设计结束了,在这过程中,我学到了很多东西。首先,我学会了单片机设计的基本过程有哪些,每一过程有哪些基本的步骤,怎样通过查资料去完成这每一步。其次我巩固了上学期所学的一些单片机知识,从而加深了对ADC0809芯片的功能的了解。在编程过程中,遇到了许多困难,通过与同学之间的交流和咨询,最后解决了这些困难。所谓实践出真知,学到的东西只有运用到实践当中,才能真正体会到知识的力量。最后,通过这次课程设计,让我明白了想法和实践还是有差距的,当你真正去做一件事的时候,你会发现你的想法可能不适用,随时都需要调整,另外扎实的理论知识也是完成设计任何设计必不可少的要素,一切想法离开了理论知识都是空想。参考文献1 彭为,黄科,雷道仲.单片机典型系统设计实例精讲M.电子工业出版社.2009:22-54.2 谭浩强.C程序设计(第三版)M.清华大学出版社.2009:32-46.3 王思明,张金敏,张鑫等.单片机原理及应用系统设计(第一版)M.科学出版社.2012:70-292.附录A 源程序代码#include<reg52.h>#include<intrins.h>#define uchar unsigned charsbit p21=P21;sbit p22=P22;sbit p23=P23;sbit EOC=P31;sbit OE=P30;sbit ST=P32;sbit p34=P34;sbit p35=P35;sbit p36=P36;uchar code tab=0x40,0x79,0x24,0x30,0x19,0x12;uchar code led=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;uchar code led_=0xC0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;void delay(uchar n)uchar i,j;for(i=0;i<n;i+)for(j=0;j<125;j+);void convert(uchar volt_data)unsigned int temp;temp=100*volt_data/51; P0=ledtemp/100; /个位上的数字显示 p21=1; /选通个位 delay(3); /延时 p21=0; /不选通个位 P0=led_temp%100/10; / 十分位的数字显示p22=1; /选通十分位 delay(3); /延时 p22=0; /不选通十分位 P0=led_temp%10; /百分位的数字显示 p23=1; /选通百分位 delay(3); /延时 p23=0; /不选通百分位void main()uchar volt_data;p34=1;p35=1;p36=0; /选通ADC0808的IN3通道 while(1)ST=0;_nop_();ST=1;_nop_();ST=0; /开始转换if(EOC=0) /如果EOC为0,则继续转换delay(100);while(EOC=0); /当EOC为1时,转换完毕OE=1; /数据允许输出标志volt_data=P1; /讲P1口的数据送volt_dataOE=0;convert(volt_data);

    注意事项

    本文(基于单片机的数字电压表设计报告.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开