您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 基于ADC0809芯片的简单采集系统设计
单片机课程设计11第一章概述在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的信号波形发生器。随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器。用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。信号发生器是一种常用的信号源,广泛用于电子电路、自动控制系统和教学实验等领域,目前使用的信号发生器大部分是模拟电路组成的,体积大、可靠性差、准确度低、并且用于低频时,其RC要很大,大电阻,大电容在制造上有困难,参数准确度难以保证,漏电损耗大。本文介绍一种利用AT89C51单片机构成的信号发生器,可产生方波、三角波、锯齿波、正弦波和脉冲信号等多种波形,其频率可用程序改变,并可根据需要选择单极性或双极性输出。此信号发生器电路,结构紧凑,价格低廉,性能优越。本文介绍其硬件系统和软件系统的设计方法。第二章硬件电路设计本设计是简易低频信号发生器,它能输出锯齿波、方波、三角波及正弦波等四种基本波形。输出的每一种波形有四种可选频率,或频率可调。由AT89C51、DAC0832芯片、运算放大器和外接少量的元件制作一个简易但是优质的波形发生器,8位的AT89C51单片机作为主控制已经完全可以满足这次设计的要求。这个方案的优点是这些芯片都是我们学习过的知识,当然除了学已即用外更加关键的是这样的设计性能稳定、价格低、性能高、体积小、耗电少,在低频范围内稳定性好、操作方便等特点。图2.1硬件电路框图AT89C51单片机DAC0832电源供电键盘按键运算放大器单片机课程设计22.1MCS-51单片机的内部结构典型的MCS-51单片机芯片集成了以下几个基本组成部分。1一个8位的CPU2128B或256B单元内数据存储器(RAM)34KB或8KB片内程序存储器(ROM或EPROM)44个8位并行I/O接口P0~P3。5两个定时/计数器。65个中断源的中断管理控制系统。7一个全双工串行I/O口UART(通用异步接收、发送器)8一个片内振荡器和时钟产生电路。123456ABCD654321DCBATitleNumberRevisionSizeBDate:7-Mar-2012SheetofFile:F:\学校\课程设计\单片机\MyDesign1.ddbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U1MCS8051图2.2单片机引脚2.2时钟电路和复位电路单片机的时钟信号用来提供单片机内各种微操作的时间基准;复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。2.2.1时钟电路单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。单片机课程设计3123456ABCD654321DCBATitleNumberRevisionSizeBDate:7-Mar-2012SheetofFile:F:\学校\课程设计\单片机\MyDesign1.ddbDrawnBy:C1C2Y1图2.3时钟部分电路图在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。晶振通常选用6MHZ、12MHZ、或24MHZ。单片机的时序单位振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此一个状态周期包含2个振荡周期。机器周期:1个机器周期由6个状态周期12个振荡周期组成,是计算机执行一种基本操作的时间单位。指令周期:执行一条指令所需的时间。一个指令周期由1-4个机器周期组成,依据指令不同而不同。2.2.2单片机的复位状态当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。单片机课程设计4123456ABCD654321DCBATitleNumberRevisionSizeBDate:7-Mar-2012SheetofFile:F:\学校\课程设计\单片机\MyDesign1.ddbDrawnBy:+C3R1S1VCCRST图2.4复位电路单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,至于内部RAM内部的数据则不变。2.3DAC0832的引脚及功能2.3.1DAC0832芯片:DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。2.3.2DAC0832的主要特性参数如下:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;单片机课程设计5只需在满量程下调整其线性度;单一电源供电(+5V~+15V);低功耗,200mW。2.3.3DAC0832结构:D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;IOUT2:电流输出端2,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的范围为+5V~+15V;VREF:基准电压输入线,VREF的范围为-10V~+10V;AGND:模拟信号地DGND:数字信号地2.3.4DAC0832的工作方式:根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式单片机课程设计6123456ABCD654321DCBATitleNumberRevisionSizeBDate:7-Mar-2012SheetofFile:F:\学校\课程设计\单片机\MyDesign1.ddbDrawnBy:GND3GND10Vcc20Iout111lsbDI07Iout212DI16DI25Rfb9DI34DI416Vref8DI515DI614msbDI713ILE19WR218CS1WR12Xfer17U2DAC0832图2.5DAC0832的引脚信号第三章软件原理3.1主程序设计主程序流程图如图3.1所示:图3.1主程序流程图代码为:voidmain(void)开始是否有按键波形判断波形输出YN单片机课程设计7{inint();while(1){switch(size){case1:fangbo();break;//方波case2:sanjiao();break;//三角波case3:sin();break;//正弦波default:fangbo();break;}}}3.2键扫描子函数键扫描子函数的任务是检查3个按键中是否有键按下,若有键按下,则执行相应的功能。这里3个按键分别用于频率增加、频率减小和正弦波与三角波的选择功能。其程序流程图如图3.2所示:单片机课程设计8图3.2查键子函数程序流程图3.3波形数据产生子函数波形数据产生函数是定时器T1的中断程序。当定时器计数益出时,发生一次中断。当发生中断时,单片机按次序将波形数据表中的波形数据一一送入DAC0832,DAC0832根据输入的数据大小输出对应电压。波形数据产生子函数程序流程图如图3.3所示:返回查键号,按键值执行功能定时值加1定时值减1波形选择有键按下?查键开始单片机课程设计9图3.3波形数据产生子函数程序流程图部分程序代码为:voiddelay(uchart)///////////延时函数///////////////////////{ucharm;uinti;for(i=t;i0;i--)for(m=28;m0;m--);}voidsin()//正弦波{uchara;for(a=0;a255;a++){P2=sin_tab[a];delay(ff1);}}关中断、关定时、重装初值、开定时功能标志=1?方波输出输出三角波数据输出正弦波数据查表指针加1开中断、中断返回中断开始单片机课程设计10int0()interrupt0//外部中断0子{size++;//中断一次加1if(size3)size=1;}int1()interrupt2//外部中断1子函数{ff1++;//中断一次加1if(ff13)ff1=1;}总结此次课程设计主要阐述了高精度数字式函数信号发生器的软、硬件设计。由于采用了单片机,使所设计的信号源具有较大的灵活性。利用单片机80C51,以DAC0832作为D/A转换器等部件,此函数信号发生器调节灵活方便,输出波形精度高且波形较为稳定。课程设计是相当综合培养一个人的能力,不仅对硬件加深了理解,如对DAC0832以及LM324等芯片应用更加熟悉。通过编程,对C语言的使用也更加熟练。同时对程序的调试及仿真,也熟悉了KEIL与PROTUS等软件。通过实践,我发现单片机的功能相当强大。如果要用模电的方法实现相同的功能,那需要相当的工程。而单片机却能极其方便精确的实现。单片机课程设计11参考文献[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;[2]单片机原理及应用,张毅刚编著,高等教育出版社;[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;单片机课
本文标题:基于ADC0809芯片的简单采集系统设计
链接地址:https://www.777doc.com/doc-2568042 .html