基于单片机的的多路数据采集系统设计(共20页).doc
《基于单片机的的多路数据采集系统设计(共20页).doc》由会员分享,可在线阅读,更多相关《基于单片机的的多路数据采集系统设计(共20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上引言近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。单片机作为微型计算机的一个重要分支,应用广泛,对人类社会产生了巨大的影响。Intel公司生产的51系列单片机,由于具有集成度高、处理功能强、可靠性好、系统结构简单、价格低廉、易于使用等优点。在我国已经得到了广泛的应用。特别是在智能仪器仪表、工业检测控制等一些领域取得了令人瞩目的成就。基于单片机的数据采集系统完全能够满足各种测控系统需要,实时性好,应用前景广阔。对于本设计而言,其主要任务就是将05V的直流电压进行测量并送到数码管去显示。基于功能与价格的考虑,
2、在这里选用了比较常见的逼近型ADC0809芯片,其在精度、速度和价格上都适中,可以满足我们在这个设计的要求。考虑到本系统是由单片机供电,选用了低功耗的数码管,以满足显示结果的要求。软件设计方面,采用了功能模块化的设计思想;键盘模数转换控制采用了单片机外部中断0与外部中断1结合的方式来实现,大大提高了单片机的效率,实时处理能力。由于对汇编语言较为了解,所以采用汇编语言来编程。1 设计任务及总体设计方案 在本次课程设计中,要求设计一个基于单片机的的多路数据采集系统,这个课题和我们所学的课程联系紧密、息息相关,涉及到很多的知识,是对我们所学知识的一次考察,利于我们对学过的知识复习一遍,加深理解。1.
3、1 设计任务与要求 在本次设计中要求我们达到以下三点要求: (1)单片机控制A/D转换器检测多路电压 (2)检测的结果送单片机处理并显示 (3)数码管轮流显示各路电压或显示指定的通道电压1.2 总体设计方案 (1)选择89S52作为主芯片,ISP下载线编程、方便灵活、功能强大,完全可以满足本设计的性能要求,而且89S52是51系列中比较常用的芯片,好用 (2)选择ADC0809作为模数转换器,就本设计的要求而言,ADC0809性价比相当的高,而且在很多的课程都学习过,比如:智能仪器、单片机等课程,对它的性能、结构都比较了解。 (3)选择74LS74作为分频器,从单片机的ALE输出2MHZ的频率
4、,经过74LS74的4分频作用,最终产生一个500KHZ的时钟频率给ADC0809,使ADC0809正常工作。 (4)还有一些外围电路,比如:ISP下载电路、单片机复位电路、数码管显示电路等,这样才能组成一个完整的多路数据采集系统。其系统框图如图1-2-1所示74LS74分频器ALE 89S52单片机 数码管显示CLKADC0809 图1-2-1 系统框图2 硬件设计 数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。在该系统中需要将模拟量转换为数据量,而 A/D是将模拟量转换为数字量的器件,需要考虑的指标有:分辨率、转换时间
5、、转换误差等等。而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。 数据采集系统一般由信号调理电路,多路切换电路,采样保持电路,A/D,单片机等组成。但是在本设计中直接就对输入电压进行A/D转换,着重在模数转换器的选择和使用上。2.1 单片机的选择 单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(I/O口),还有可能包括定时/计数器、串行通信口、显示驱动电路(LCD和LED驱动电路)、脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个
6、最小但完善的计算机任务。单片机要使用特定的组译和编译软件编译程序,在用keiluvision4把程序下载到单片机内。而本设计选用的是AT89S52. AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器,使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。其结构图如下图2-1-1所示图 2-1-1 89S52结构2.2
7、模数转换器的选择A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。位数越高其分辨率就越高,价格也就越贵。A/D转换器型号很多,而其转换时间和转换误差也各不相同。(1)逐渐逼近式A/D转换器:它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。(2)双积分A/D转换器:它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。(3)并行式A/D转换器:它又被称为flash(快速)型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很
8、贵,只适用于视频A/D转换器等数度特别高的领域。鉴于上面三种方案,在价格、转换速度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器ADC0809.2.3 显示部分 LED数码显示管是一种由LED发光二极管组合显示字符的显示器件。它使用了8个LED显示管,其中7个用于显示字符,1个用来显示小数点,故通常称之为八段发光二极管数码显示器。对LED数码显示器的控制可以采用按时间向它提供具有一定驱动能力的位选和段选信号。LED数码显示有动态扫描显示法和静态显示。在单片机中,为了节省硬件资源,多采用动态扫描显示法 。为了布线和做板的简单,采用一个4位的共阴数码管。2.4 按键部分 为实现显示指定的
9、通道电压,需要用到单片机的外部中断0和外部中断1来实现跳转,其原理图如下图2-4-1所示,Q11接到外部中断0(P3.2),Q12接到外部中断1(P3.3)。当按下按键S3时,给P3.2低电平,启动外部中断0;当按下按键S3时,给P3.3低电平,启动外部中断1,编写相应的中断服务程序就可以实现功能。 图 2-4-1按键原理图3 软件设计3.1 主程序设计 主程序的设计的思路是:当没有中断的时候,就按顺序从1通道轮流显示到8通道。在外部中断0(INTER0)的中断服务程序中对寄存器R2加1,即进入外部中断0时,R2就加1;在外部中断1(INTER1)的中断服务程序中对寄存器R0加1,即进入外部中
10、断0时,R0就加1。在主程序中对R2进行比较,当R2=1时就停止轮流显示,即当外部中断0第一次响应后,停止轮流显示;当R2=2是将R0的值赋给R3,(R3是通道轮流显示的条件寄存器)然后调用显示子程序。其程序流程图如下图3-1-1所示开始P3.7=0?初始化 N开中断Y 调用通道选择子程序LPINC R3MOV R3,#01HR3=9?YR2=1?NYR2=2?NN将R0的值赋给R3Y 图3-1-1 程序流程图3.2 子程序设计 子程序有4个,分别是通道选择子程序LP,显示子程序DISPLAY,延迟子程序D10ms,数据处理子程序CAI。 (1)通道选择子程序LP: LP: CJNE R3,#
11、01H,LP1 ;根据R3来选择通道 CLR P2.7 ;开通道 CLR P2.6 CLR P2.5 AJMP QID LP1: . ;有8个通道,格式一样的, . LP7: SETB P2.7 ;8通道 SETB P2.6 SETB P2.5 QID:CLR P2.0 ;启动ADC0809,给P2.0输入一个正脉冲 NOP NOP NOP SETB P2.0NOP NOPNOPCLR P2.0JB P2.1,$ ;判断是否开始转换JNB P2.1,$ ;判断转换是否结束 ACALL D10ms1MOV 44H,P0;将P0口的给44HACALL CAI;调用数据处理子程序 YAN1:ACAL
12、L DISPLAY1 ;显示通道数ACALL DISPLAY ;显示转换结果 DJNZ R4,YAN1 ;延迟 RET 这个子程序的作用是根据R3的值来选择通道,实现8路数据顺序采集、轮流显示,当这个子程序调用结束后,就会返回主程序,实行INC R3操作,并将R3与#09H比较。 (2)显示子程序DISPLAY: DISPLAY: ;数码显示子程序 MOV DPTR,#TAB MOV A,40H MOVC A,A+DPTR CLR P2.2 SETB P2.3 CLR P2.4 ADD A,#80H MOV P1,A ACALL D10ms1 MOV DPTR,#TAB MOV A,41H M
13、OVC A,A+DPTR CLR P2.2 CLR P2.3 SETB P2.4 MOV P1,A ACALL D10ms1 RET DISPLAY1: MOV DPTR,#TAB MOV A,R3 MOVC A,A+DPTR SETB P2.2 CLR P2.4 CLR P2.3 MOV P1,A ACALL D10ms1 RET 这个子程序的作用是:根据P2.2、P2.3、P2.4的不同赋值来选择数码管显示,显示的段码分别存储在40H,41H,而通道数段码存储在R3。 (3)延迟子程序D10ms: D10ms: MOV R5,#14H DL: MOV R6,#0FFH DL0: DJNZ
14、R6,DL0 DJNZ R5,DL RET 这个子程序起到延迟的作用,因为在显示的时候可能要用到延迟才能够让数码管上的值显示的清晰明了,这个是必不可少的。(4)数据处理子程序CAI: CAI:MOV A,44H;数据处理子程序 MOV B,#51 DIV AB ;B为余数 MOV 40H,A ;整数存入40H MOV A,B ;余数大于19H(25)时F0为1 CLR F0 SUBB A,#1AH;判断余数是否大于19(25)? MOV F0,C;判断溢出 MOV A,#10 MUL AB;余数扩大10倍 MOV B,#51 DIV AB JB F0,LOOP7 ADD A,#5 ;余数大于1
15、9H(25)时,结果加5LOOP7: MOV 41H,A MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,LOOP8 ADD A,#5 LOOP8: MOV 42H,A RET 因为A/D转换输出为2位16进制数,电压显示方式为十进制数,所以应进行数据转换,所以需要调用这个数据处理子程序CAI,其转换公式为: VCCA/D转换输出(十六进制) FF(十六进制) X(转换后显示为十进制值) 5V(最大电压值)4 硬件制作与调试 当硬件制作完成后,在检测没有发生短路和断路的情况下,就可以编写程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 路数 采集 系统 设计 20
限制150内