




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州航空工业管理学院毕 业 论 文(设 计) 2012 届 电气工程及其自动化 专业 0806072 班级题 目 基于单片机和霍尔传感器的电流检测装置软件开发姓 名 学号 指导教师 职称 二一 二 年 五 月 五 日内 容 提 要本论文以霍尔传感器和AT89C51单片机为核心,设计了一个利用霍尔效应实现电流检测的装置。该装置在片外扩展A/D转换接口,系统选用ADC0804转换器,电流检测元件采用ACS712霍尔传感器。 在上述硬件基础上,实现了对ADC0804芯片的启动与读写操作,完成对来自ACS712的直流电流信号的A/D转换工作,当A/D转换结束后,ADC0804向CPU发出一个信号,CPU对转换后的数字量进行处理,并将结果通过数码管实时显示出来,达到检测电流的目的。关 键 词单片机;霍尔传感器;AT89C51;ADC0804;数码管AbstractIn this thesis, the Hall sensor and the AT89C51 microcontroller as the core design of a Hall effect current sensing device. The device to extend the A / D converter interface chip,the system selects the ADC0804 converter current sensing element using the ACS712 Hall sensor.The hardware based on the start of the ADC0804 chip and read and write operations to complete the A / D converter of the DC current signal from the ACS712, after the end of the A / D converters, the ADC0804 to send a signal to the CPU, the CPUdigital conversion processing, and real-time display results through digital tube, to achieve the purpose of testing current.Key word Single-Chip Microcomputer ; Holzer sensor, AT89C51;ADC0804目 录内容提要2Abstract31绪论51.1 概述51.2 霍尔传感器的发展趋势51.3设计思路62硬件设计简述82.1单片机原理解析8 2.1.1 AT89C51简述82.2 A/D转换电路92.2.1 ADC0804简述92.2.2 ADC0804外围电路10 2.3数码管显示电路122.3.1 MC14522BCP管脚与工作原理122.3.2 七段数码管引脚与工作原理13 2.4 系统整体电路原理图143软件设计163.1单片机开发及调试工具163.2 程序流程图163.3系统程序设计17 3.3.1定时器计数程序17 3.3.2外部中断程序18 3.3.3初始化MCU程序19 3.3.4 ADC0804启动、读取转换程序20 3.3.5 ACS712的计算函数程序22 3.3.6七段数码管显示程序22 3.3.7主程序244软件系统仿真25 4.1仿真软件介绍25 4.2系统仿真过程26结论30致谢31参考文献32基于单片机和霍尔的电流检测装置软件设计1 绪论1.1 概述近几年来,单片机已逐步深入应用到工农业生产各部门及人们生活的各个方面。各种类型的单片机也根据社会的需求而开发出来。单片机是器件级计算机系统,实际上它是一个微控制器或微处理器。由于它功能齐全,体积小,成本低,因此它可以应用到所有电子系统中。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.2霍尔传感器的发展趋势 传感器产业分类众多,其中霍尔传感器市场是第三大的传感器产品市场。在汽车业、电脑、手机以及新兴消费电子领域都得到了广泛应用。未来几年,随着越来越多的汽车电子和工业设计企业转移到中国,霍尔传感器在中国市场的年销售额将保持20%到30%的高速增长。与此同时,霍尔传感器的相关技术仍在不断完善中,可编程霍尔传感器、智能化霍尔传感器以及微型霍尔传感器将有更好的市场前景。 在我们的日常生活中,霍尔传感器被广泛应用。例如,在翻盖或是滑盖的手机中,用来检测手机盖翻开或是滑动的器件就是霍尔传感器;再比如,在电脑键盘上,实现光标移动的滚动键就是由霍尔传感器组成的;还有,在汽车变速箱、电动门窗等需要电机的部件中也有霍尔传感器应用。可以说,我们在每天的生活中都在与霍尔传感器打交道。 “由于需要采用霍尔传感器的应用领域,如汽车、电机、手机和电脑都已经采用了该器件,而且这些市场在未来几年的增长较为稳定,而其他一些新的应用市场又不足以与上述几个市场相比,因此霍尔传感器在全球总的市场容量是较为稳定的,每年的增长率保持在5%到10%之间。 霍尔传感器应用的领域不同,因此各个市场对它的要求也不尽相同。“手机市场对霍尔传感器的主要要求包括尺寸、功耗和可调节的阈值。在工业和汽车应用方面,霍尔传感器首先要满足工业或汽车认证对器件的要求,例如安全性、稳定性和温度范围要达到相应的级别。1.3设计思路由于AT89C51片内没有AD转换,根据系统设计要求,需要在片外扩展AD转换接口。系统选用ADC0804转换器,如图 12 所示,ADC0804的DB0DB7分别接单片机的P00PO7,AGND、DGND、CS、VIN- 端接地,RD、WR端分别接单片机的RD、WR端,中断请求端INTR接单片机的P20口,VIN+ 端接采集信号输入。调整变阻器HAUBLAN20K,使辅助参考端VREF脚得到256 V标准参考电压。在CLKIN、CLKOUT端设计RC振荡电路,由于ADC0804频率限制在1001 460 kHz,通过对频率公式F=1(11RC)的计算,选择电阻R=20 k,电容C=200 pF,即可得到符合设计要求的频率。数码显示模块主要显示单片机的输出数据、状态等。系统显示部分采用共阴极8段数码管,选用CMOSBCD七段字符显示译MCl4511BCP作为它的驱动器件,并在译码器和数码管之间接入分压电阻保护数码管,防止电压过高烧坏数码管。数玛显示部分采用动态扫描显示方法,4个MCl4511BCP译码器共用4条数据线。其中LE端为片选端,置低电压时译码器被选中可以读取数据,置高电压时来被选中,译码器暂存,保持所显示数据值不变.A、B、C、D为数据值输入端,分别接单片机的P1OP1。3口;4个片选端分别接单片机的P14P1。7口。AD采样处理模块主要是对从ADC0804采集来的数据进行处理,完成对二进制数据BCD码的转换,并且通过Pl口输出显示,Pl口的低4位输出BCD码,高4位为数码管的片选信号。ADC0804与AT89C51的连接采用循环扫描的方式。当AD转换结束后,ADC0804向CPU发出一个信号,CPU对转换后的数字量进行处理,使数码管显示当前的电流值。2硬件设计简述2.1单片机原理简介单片机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(Central Processing Unit)、随机存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output)接口电路。定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机从而实现微型计算机的基本功能。2.1.1 AT89C51简述:AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT89C51管脚图如下:图1 AT89C51引脚排列2.2 A/D转换电路2.2.1 ADC0804简述ADC0804是一个早期的A/D转换器,因其价格低廉而在要求不高的场合得到广泛应用。ADC0804是一个8位、单通道、低价格A/D转换器,主要特点是:模数转换时间大约100us;方便的TTL或CMOS标准接口;可以满足差分电压输入;具有参考电压出入端;内含时钟发生器;单电源工作时(0V-5V)输入信号电压范围是0V-5V;不需要调零等等。ADC0804管脚图如下:图2 ADC0804管脚图2.2.2 ADC0804外围电路以及与单片机的的链接图图3 ADC0804外围电路图调整变阻器HAUBLAN20K,使辅助参考端VREF脚得到25 V标准参考电压。在CLKIN、CLKOUT端设计RC振荡电路,由于ADC0804频率限制在1001460 kHz,通过对频率公式F=1(1.1RC)的计算,选择电阻R=20k,电容C=200pF,即可得到符合设计要求的频率。图4 ADC0804与单片机的的链接图2.3数码管显示电路2.3.1 MC14522BCP管脚与工作原理本设计选用MC14511BCP作为驱动芯片,以七段数码管管作为显示器件的显示模块最为系统的输出.为了数码管的保险器件.我们在数码管与驱动芯片之间加1K 欧姆的电阻作为限流电阻,保证驱动芯片以及数码管的安全运行.MC14511BCP管脚图如下:图5 MC14511BCP引脚图2.3.2七段数码管引脚与工作原理在单排年级应用系统和智能化仪器仪表中广泛使用各种显示器来显示数据文字或者是图形画面,其中最常用的显示器是LED(发光二级管显示器),因为它具有驱动电路简单,配置灵活方便,功耗低响应速度快,可靠性高以及易于实现而且价格低廉等优点。LED 显示实际上是由若干发光二级管构成的,当发光管导通时,相应的一个点或者是一个笔画发光,控制不同组合的二极管导通,就能显示出各种字符。图6 发光管接入电路的具体接法2.4系统整体电路原理图基于单片机的霍尔电流电流检测系统的原理图如图7所示,系统由一个主控系统和一个检测模块组成。被测电流通过ACS712芯片时,该芯片利用霍尔效应,将被测电流转换成05V DC模拟信号,该模拟量经A/D装换变成数字量。AD采样处理模块主要是对从ADC0804采集来的数据进行处理,完成对二进制数据BCD码的转换,并且通过Pl口输出显示,Pl口的低4位输出BCD码,高4位为数码管的片选信号。ADC0804与AT89C51的连接采用循环扫描的方式。当AD转换结束后,ADC0804向CPU发出一个信号,CPU对转换后的数字量进行处理,使数码管显示当前的电流值。图7 系统原理图3软件设计3.1单片机开发及调试工具本系统的软件编程使用的是美国Keil Software公司出品的Keil 4,是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。 Keil 4软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,Keil 4生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能 体现高级语言的优势。 3.2电流检测装置软件程序流程图开始初始化MCU,包括定时器,外部中断初始化ADC0804启动ADC0804转换等待ADC转换完毕否 读取ADC转换结果是 根据转换结果,计算得电流值电流值扩大100倍,便于显示16进制码转换成BCD码驱动4511显示电流值结束3.3系统程序设计3.3.1定时器计数程序T1和T0是两个独立的定时器/计数器,相互之间不会影响。至于定时和计数功能,则由写入TMOD(定时器/计数器方式控制寄存器)的值,来确定当前定时器是定时功能还是计数功能。因此在程序中,可以设置标志位TR0和TMOD配合,当TR0是1时,定时器就执行计数功能,开始计数。定时器需要计数16位数,因此选择定时器为模式1,即设置TMOD=0x01。程序如下:#include Public.hu8 Cnt100ms;u8 Cnt1s; void Timer0ISR(void) interrupt 1TL0 = (u8)(IntervalOneMs);TH0 = (u8)(IntervalOneMs 8);ADC0804Start();/ 启动ADC转换void Timer0Initial(void)TMOD |= 0x01;/ 设置定时器0为模式1TL0 = (u8)IntervalOneMs;/ 初始化低8位 TH0 = (u8)(IntervalOneMs 8);/ 初始化高8位ET0 = 1;/ 允许定时器0中断TR0 = 1;/ 启动定时器0,开始计数3.3.2外部中断程序中断能使处理器在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行处理器原来的工作。系统对ADC0804转换结果执行外部中断,当系统未能读取转换结果时继续返回ADC0804等待转换完毕。中断程序如下:#include Public.hextern u8 ADCResult;void INT0ISR(void) interrupt 0 /外部中断0服务函数ADCResult = ADC0804ReadADResult();/ 取得ADC转换结果void INT0Initial(void)IT0 = 1; /指定外部中断0下降沿触发,INT0 (P3.2) EX0 = 1; /使能外部中断3.3.3初始化MCU程序根据系统要求,单片机要有外部中断、定时器计数,因此初始化单片机时要初始化外部中断以及定时器来实现上述功能。初始化MCU程序如下:#include Public.hvoid MCUInitial(void)GlobalInterruptDisable();/ 禁止全局中断INT0Initial();/ 初始化外部中断Timer0Initial();/ 初始化Tmer0GlobalInterruptEnable();/ 允许全局中断3.3.4 ADC0804启动、读取转换程序ADC0804的启动:ADC0804中的A/D转换转换器在满足一定条件是开始一个转换过程,这个条件就是:在实现片选WR=0的前提下,引脚上出现一个上升沿。实现A/D转换的时序如图8,实现WR=0后,使用一个上升沿信号就可以启动转换过程。图中TR2是时间延迟,时间TR3是转换时间。图8 ADC0804的A/D转换时序ADC0804转换结果的读取:在A/D转换结束以后,ADC0804的RD引脚将给出一个低脉冲,如果把这个引脚直接连接到单片机的外部中断引脚,这个低脉冲将引起单片机中断,单片机可以在中断处理程序中读取ADC0804的转换结果。ADC0804转换器的工作时序如图9.图9 ADC0804转换器的工作时序ADC0804启动、读取程序如下:#include Public.hvoid ADC0804Start(void)iADC0804WR = 0;iADC0804WR = 1;/ 上升沿启动ADC0804转换void ADC0804Initial(void)iADC0804WR = 1;iADC0804RD = 1;/ 初始状态为WR,RD均为高电平u8 ADC0804ReadADResult(void)u8 ADTemp;iADC0804RD = 0;/ 低电平为读数状态ADTemp = iADC0804DATA;/ 读取数据口iADC0804RD = 1;return ADTemp;/ 返回ADC转换结果3.3.5霍尔传感器ACS712的计算函数程序查找ACS712数据手册可得到计算函数为如下#include Public.hfloat ACS712ReadCurrent(u8 ADCValue)return (float)30*(ADCValue-127) / 101;3.3.6七段数码管显示程序系统选用4个共阴极数码管来分别显示检测电流的十位、个位、小数点后一位、小数点后俩位,再将计算结果转换成BCD码并在数码管中显示出来。7段数码管显示程序:#include Public.hu8 DisplayBCD4;u8 code SelectTable=0x70,0xB0,0xD0,0xE0;void HEXTOBCD(u16 Hex)DisplayBCD3 = Hex/1000;/ 千位DisplayBCD2 = Hex%1000/100;/ 百位DisplayBCD1 = Hex%100/10;/ 十位DisplayBCD0 = Hex%10;/ 个位void DisplaySevenSegment(u16 DisplayData)static u8 Sel;u8 P0Temp;HEXTOBCD(DisplayData);/ 转换成BCD码P0Temp = P0;P0Temp &= 0xF0;P0Temp |= DisplayBCDSel;/ 要显示的BCD码P0Temp &= 0x0F;P0Temp |= SelectTableSel;/ 选中一只数码管P0 = P0Temp;if (+Sel 3)/ 四个数码管轮流显示Sel = 0;3.3.7主程序主程序用来调用上述子程序,包括初始化单片机、初始化ADC0804等等#include Public.hu8 ADCResult;float Current;u16 CurInt;void PowerOnInitial(void)ADC0804Initial();/ 初始化ADC0804void main(void)MCUInitial();/ 初始化MCUPowerOnInitial();/ 初始化上电默认状态while(1)Current = ACS712ReadCurrent(ADCResult);/ 根据ADC的转换结果计算出电流值CurInt = Current*100;/ 电流值*100以便显示DisplaySevenSegment(CurInt);/ 显示电流值4软件系统仿真4.1仿真软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。功能特点:Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1原理布图 ;2PCB自动或人工布线;3SPICE电路仿真。革命性的特点:1互动的电路仿真,用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2仿真处理器及其外围电路,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。4.2系统仿真过程1、在Proteus中绘制系统原理图,如下图:为了能够多次取值仿真,便于更准确测设系统的稳定性,将原电路图中的电源电路改为了一个模拟电流源直接与ACS712连接。 2、双击原理图中的单片机,调入已编译好的目标代码文件:*.HEX,3、点击确定以后就可以对系统进行仿真。例如:我们将模拟电流源电流大小调整为4,测试通过系统检测后得到并显示的结果是否一致。4、点击开始按钮开始系统测试5系统正常运行,数码管显示出检测结果为4.15,在系统误差允许的范围内,检测结果与电流源给定值基本相等,符合设计要求。结 论通过此次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外知识,开拓了视野,认识了将来电子的发展方向,使自己在专业知识方面和动手能力方面有了质的飞跃。毕业设计是我作为一名学生即将完成学业的最后一次作业,他既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,毕业设计是我对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;是我在校期间向学校所交的最后一份综和性作业,从老师的角度来说,指导做毕业设计是老师对学生所做的最后一次执手训练。其次,毕业设计的指导是老师检验其教学效果,改进教学方法,提高教学质量的绝好机会。毕业的时间一天一天的临近,毕业设计也接近了尾声。在不断的努力下我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8《世说新语》二则 咏雪 第1课时 课件 -语文五四制七年级上册
- 文化创意产品开发合伙协议范本与市场推广策略
- 离婚协议书范本:财产分割与债务承担协议
- 科技园区租赁合同担保与创新创业项目合作协议
- 物业管理公司员工安全责任与应急救援服务合同
- 生态农业示范区空置土地租赁与农业科技推广合作合同
- 班组长安全知识培训课件
- 班组新员工安全培训课件
- 2025年妇科产科护士妇科产房护理技能模拟测试答案及解析
- 徽州美术绘画课件
- 2024年人教版九年级英语单词默写单(微调版)
- 2024年东南亚解热镇痛类原料药市场深度研究及预测报告
- 2020年新人教版必修三《Unit 2 Morals and Virtues》单元教案(附导学案)
- 《民航客舱设备操作与管理》课件-项目四 飞机舱门及撤离滑梯
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 2023年10月自考02207电气传动与可编程控制器PLC试题及答案含解析
- 网络自动化运维教程-课程标准
- 项目及其策划方案
- 《食品质量检验分析技术》
- 百家争鸣详解课件
- 肠内营养并发症预防与处理指南
评论
0/150
提交评论