欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机的简易数字电流表设计文档格式.docx

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

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

    基于单片机的简易数字电流表设计文档格式.docx

    1、 关键词:数字电流表,电流采样,ADC0804,单片机1 .概述 1.1设计意义 通过课程设计,掌握电子设计的一般步骤和方法,锻炼分析问题解决问题的能力,学会如何查找所需资料,同时复习以前所学知识并加深记忆,为毕业设计打好基础,也为以后工作作准备。通过对选题的分析设计,学习数字电流表的工作原理、组成和特性;掌握数字电流表的校准方法和使用方法;学会分流电路的连接和计算;了解过压过流保护电路的功用。1.2系统主要功能A、利用AD转换芯片和精密电阻测量0200mA电流 B、系统工作符合一般数字电流表要求2 .硬件电路设计方案及描述 2.1设计方案如下图; 2.2硬件电路描述 先从题目本生分析,首先想

    2、到要求所用到的单片机,出于合理选取及实例分解,根据单片机的特点,选取了AT89S52作为设计用单片机。主要考虑到AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89

    3、S52在众多嵌入式控制应用系统中得到广泛应用。 其次,电流测量中,电流是模拟量,而单片机只负责处理数字信号,所以要用到A/D转换芯片,通过筛选,选取了ADC0804作为设计用A/D转换芯片。 A/D转换概念:即模数转换(Analog to Digital Conversion),输入模拟量(比如电压信号),输出一个与模拟量相对应的数字量(常为二进制形式)。例如参考电压VREF为5V,采用8位的模数转换器时,当输入电压为0V时,输出的数字量为0000 0000,当输入的电压为5V时,输出的数字量为1111 1111。当输入的电压从从0V到5V变化时,输出的数字量从0000 0000到1111 1

    4、111变化。这样每个输入电压值对应一个输出数字量,即实现了模数转换。ADC0804引脚功能:CS:芯片片选信号,低电平有效。即=0时,该芯片才能正常工作,高电平时芯片不工作。在外接多个ADC0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的ADC0804芯片,从而可以实现多个ADC通道的分时复用。WR:启动ADC0804进行ADC采样,该信号低电平有效,即信号由低电平变成高电平时,触发一次ADC转换。RD:低电平有效,即=0时,DAC0804把转换完成的数据加载到DB口,可以通过数据端口DB0DB7读出本次的采样结果。VIN(+)和VIN(-):模拟电压输入端,单边输入时

    5、模拟电压输入接VIN(+)端,VIN(-)端接地。双边输入时VIN(+)、VIN(-)分别接模拟电压信号的正端和负端。当输入的模拟电压信号存在“零点漂移电压”时,可在VIN(-)接一等值的零点补偿电压,变换时将自动从VIN(+)中减去这一电压。VREF/2:参考电压接入引脚,本次设计运用了TL431稳压管构成的一个稳压电路,为的是给该端口提供稳定的直流电压,提高转换精度。CLK IN和CLK R:外接RC振荡电路产生模数转换器所需的时钟信号,时钟频率CLK = 1/1.1RC,一般要求频率范围100KHz1460KHz。AGND和DGND:分别接模拟地和数字地。 INTR :转换结束输出信号,

    6、低电平有效,当一次A/D转换完成后,将引起=0,实际应用时,该引脚应与微处理器的外部中断输入引脚相连(如51单片机的,脚),当产生信号有效时,还需等待=0才能正确读出A/D转换结果,若ADC0804单独使用,则可以将引脚悬空。 DB0DB7:输出A/D转换后的8位二进制结果。 另外ADC0804片内有时钟电路,只要在外部“CLK IN(引脚4)”和“CLKR(引脚19)”两端外接一对电阻电容即可产生A/D转换所要求的时钟,其振荡频率为fCLK1/1.1RC。其典型应用参数为:R=10K,C=150PF,fCLK640KHz,转换速度为100。 另外就是采样电流信号的采样电路,参考了相关的资料,

    7、设计的电路主要由两个OP07运算放大器组成的差分放大电路,放大倍数约为一百倍,为了减少运放的失真,还专门设计了有MC34063构成的一个反向电路,用来给运放提供-5V电压,然后就是利用的一个0.1欧姆的水泥采样电阻来把电流信号转换成电压信号,输入到运放中,因为ADC0804只能输入电压信号。 最后电路显示部分采用的LCD1602液晶显示。3.电路工作原理整个电路正常工作时,电流信号首先流过采样电阻,转换成电压信号经过100倍差分放大电路放大后,进入ADC0804芯片,经过A/D转换后,单片机P2端口接收到0804转换出来的数字信号,经过单片机内部的处理后再将电压值在LCD上显示出来,因为前面电

    8、压信号进过了放大,所以程序中需要除以相关的值(本次为10)还原电流值,才能送到lcd显示出来。其中须判断电流值是否超过200毫安,若超过应该亮红灯,正常时亮红灯。由于是8位ADC,当单端输出时,数字输出D的范围是0-255,这时的公式应为:D=V/VREF*256,参考电压VREF设置的是2.56V,假设采样的电流为bA,实际显示应该为1000b毫安经过采样电阻后转换成0.1bV,,经过100倍放大后变成10bV,再根据ADC0804的量化公式D=V/VREF*256,D的值便为1000bV,刚好与要显示的毫安级别的电流值相等,就不需要在程序中再次进行数值处理和还原了。4.电路图 A/D转换和

    9、显示电路反向电压产生电路采样电路AD转换器参考电压稳压电路5.元器件清单元件清单名 称型 号封装形式数量单片机 AT89S52 DIP-401个A/D转换器ADC0804 DIP-20液晶显示器LCD1602 DIP-16晶 振 12M XTAL-1电阻排10k X8SIP-9滑动变阻器1KVR-5电 阻 100KAXIAL-0.42个按 键 SWANJIAN 1K采样电阻 0.1欧姆电解电 容470ufRAD-0.2电 容 470pF 10K4个运算放大器0P07CPDIP-8电阻330欧姆反向电路芯片MC34063DIP-20限流电阻0.22欧姆电感线圈33uh XIAL0.3稳压管TL4

    10、31 SIP3发光二极管led SIP2220欧姆电容150pf电解电容10uf3个30pf6.程序流程图 NO YES7.源程序代码主程序:#includeintrins.h#includeLCD1602.hsbit _RD=P37;sbit _WR=P36;sbit _INTR=P33;sbit LED1=P13;sbit LED2=P14;unsigned char ADC_Datshow16=current :000 Ma;unsigned char ADC_Dat=0;unsigned char Get_Adc0804(void) /A/D转换函数,内部自动量化 unsigned c

    11、har dat=0; /定义一个字符变量 _WR=0; /拉低写端口 _nop_(); /延时两个机器周期 _WR=1; /在拉高写端口,启动A/D转换 while(_INTR=1); /等待A/D转换完成 _RD=0; dat=P2; _RD=1; return dat;void main(void) LCD_Int(); LCD_WriteStr(0,1,Digital Ammeter);/第一行显示数字电流表 LCD_WriteStr(0,2,ADC_Datshow); /显示初始电流值 while(1) ADC_Dat=Get_Adc0804(); LCD_WriteCom(0xc0+

    12、9); LCD_WriteDat(ADC_Dat/100)+0x30); /显示电流值第一位 LCD_WriteDat(ADC_Dat%100/10)+0x30); /显示电流值第二位 LCD_WriteDat(ADC_Dat%10)+0x30); /显示电流值第三位 if(ADC_Dat200) LED1=0; LED2=1; else LED1=1; LED2=0; delay_ms(100); LCD驱动程序: /包含_nop_()函数定义的头文件void delay_us(unsigned int z) while(z-) _nop_();void delay_ms(unsigned

    13、int z) unsigned char i=0; while(z-) for(i=112;i0;i-); /*函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate*/void LCD_WriteCom(unsigned char dictate) Rs=0; /根据规定,RS和R/W同时为低电平时,可以写入指令 delay_us(5); Rw=0; En=0; /E置低电平(根据表8-6,写指令时,E为高脉冲, / 就是让E从0到1发生正跳变,所以应先置0 LCD_Dat=dictate; /将数据送入P0口,即写入指令或地址 delay_ms(2); En=1; /E置高

    14、电平 /当E由高电平跳变成低电平时,液晶模块开始执行命令指定字符显示的实际地址x void LCD_WriteAdr(unsigned char x,unsigned char y) switch(y) case 1:LCD_WriteCom(x|0x80);break; /显示位置的确定方法规定为80H+地址码x case 2:LCD_WriteCom(x|0xc0); default : break; 将数据(字符的标准ASCII码)写入液晶模块y(为字符常量) void LCD_WriteDat(unsigned char dat) Rs=1; /RS为高电平,RW为低电平时,可以写入数

    15、据 /E置低电平(根据表8-6,写指令时,E为高脉冲, LCD_Dat=dat; /将数据送入P0口,即将数据写入液晶模块void LCD_WriteStr(unsigned char x,unsigned char y,unsigned char *s)40H+地址码x while(*s!=0) LCD_WriteDat(*s); s+;对LCD的显示模式进行初始化设置void LCD_Int(void) delay_ms(5); /延时15ms,首次写指令时应给LCD一段较长的反应时间 LCD_WriteCom(0x38); /显示模式设置:162显示,57点阵,8位数据接口 delay_

    16、ms(5); /延时5ms LCD_WriteCom(0x38); /3次写 设置模式 LCD_WriteCom(0x0c);显示开,有光标,光标闪烁 LCD_WriteCom(0x06);光标右移,字符不移 LCD_WriteCom(0x01); /清屏幕指令,将以前的显示内容清除8.调试 利用实验室的直流稳压源电压输出端和一个36欧姆的电阻以及设计的电流表连成一个回路,电流表的其它元件单独供电,调节稳压源输出电压,观察液晶显示的电流值与稳压源上的电流值相比较,并调节参考电压的滑动变阻器,这时电流显示值发生变化,调节到与稳压源上电流值一样,但是始终有一定的误差。改变稳压源输出电压,观察液晶显

    17、示的电流值,变化基本正常。9.总结这次的单片机设计,是把硬件和软件结合起来的设计,这也是我们第一次做这样的硬软件结合的设计。在这次设计中,其硬件电路是比复杂的,需要足够的耐心加细心,同时也需要一定的硬件知识基础。只有这样才能保证电路的成功。而且在这次设计中硬件是基础,只有把基础打好才会有更高的设计。硬件工作完成了就是解决程序设计的问题,程序设计是一个很灵活的东西,它反映了我们解决问题的逻辑思维和创新能力,它是一个设计的灵魂所在。要设计一个成功的电路,必须要有耐心,要有坚持的毅力。在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,如在多种方案的选择中,我们仔细比较分析

    18、其原理以及可行的原因。这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。通过这次实训,我在书本理论知识的基础上又有了更深层次的理解。此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅。参考文献1 康华光主编.数字电子技术基础(第五版).高等教育出版社,2006年2 万文略主编.单片机原理及应用技术.重庆大学出版社,2004年3 康华光主编.模拟电子技术基础(第五版).高等教育出版社,2006年4 实用电子电路手册(数字电路分册)5 XX搜索:简易数字电压表设计6 纪纲主编.C程序设计实用教程.中国铁道出版社,2009年


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开