单片机课程设计基于MCS51的8路模拟数据采集系统_第1页
单片机课程设计基于MCS51的8路模拟数据采集系统_第2页
单片机课程设计基于MCS51的8路模拟数据采集系统_第3页
单片机课程设计基于MCS51的8路模拟数据采集系统_第4页
单片机课程设计基于MCS51的8路模拟数据采集系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于mcs51的8路模拟数据采集系统一、 项目要求1、该系统能够采集8路0 -5v的模拟信号,要采集哪路数据,受操作者控制;2、该系统可以保存采集到的数据,并且可以显示该路数据;3、该系统能够提供多种工作方式;即:连续工作方式和随机工作方式;二、项目分析1、要采集8路模拟信号,需要将模拟信号转化成数字信号,因此,设计需要a/d转换器,在此,我选用adc0809;2、由于mcs51单片机芯片的数据存储器很小,要保存采集到的数据就需要进行数据存储器的扩展,在此,我选用6264芯片;3、该系统包含多部分的程序设计,如:键盘输入部分,数码显示部分,保存部分,采集部分等。因此,也需要对程序存储器进行扩

2、展,在此,我选用27128芯片;4、该系统要对8路数据的采集进行控制及多种工作方式的选择,因此需要设计键盘。设计键盘要占用i/o,因此就要对i/o口进行扩展,在此,我选用8255a芯片;5、该系统要显示所采集的数据,需要设计数码显示电路;三、原理框图(2位)电源ram扩展i/o扩展80c32ad转换数码显示rom扩展 四、主要芯片简介1、adc0809概述1主要特性1)8路输入通道,8位a/d转换器,即分辨率为8位。 2)具有转换起停控制端。 2外部特性(引脚功能)adc0809芯片有28条引脚,采用双列直插式封装,如图1323所示。下面说明各引脚功能。 in0in7:8路模拟量输入端。 2-

3、12-8:8位数字量输出端。 adda、addb、addc:3位地址输入线,用于选通8路模拟输入中的一路 ale:地址锁存允许信号,输入,高电平有效。 start: a/d转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动a/d转换)。 eoc: a/d转换结束信号,输出,当a/d转换结束时,此端输出一个高电平(转换期间一直为低电平)。 oe:数据输出允许信号,输入,高电平有效。当a/d转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 clk:时钟脉冲输入端。要求时钟频率不高于640khz。 ref(+)、ref(-):基准电压

4、。 vcc:电源,单一+5v。 gnd:地。2、6264概述1外部特性(引脚功能)6264的容量为8kb,是28引脚双列直插式芯片,采用cmos工艺制造a12a0:地址线,可寻址8kb的存储空间。 d7d0:数据线,双向,三态。 oe:读出允许信号,输入,低电平有效。 we:写允许信号,输入,低电平有效。 cs1:片选信号1,输入,在读/写方式时为低电平。 cs2:片选信号2,输入,在读/写方式时为高电平。 vcc:+5v工作电压。 gnd:信号地。 2、 6264的操作方式intel 6264的操作方式由, cs1 , cs2的共同作用决定 写入:当和为低电平,且和cs2为高电平时,数据输入

5、缓冲器打开,数据由数据线d7d0写入被选中存储单元。 读出:当和为低电平,且和cs2为高电平时,数据输出缓冲器选通,被选中单元的数据送到数据线d7d0上。 保持:当为高电平,cs2为任意时,芯片未被选中,处于保持状态,数据线处于高阻状态。3、27128概述1主要特性是一种程序存储器rom,存储容量为16kba13a0: 为14条地址信号输入线,说明芯片容量为2的14次方,即16kbd7d0: 数据线,表示芯片的每个存储单元存放一个字节(8位二进制数),对芯片读数时,作为输出线,对芯片编程时,作为输入线。ce:为输入信号,低电平有效。(有称作片选信号)oe:为输出允许信号,低电平有效pgm:为编

6、程脉冲输入端,当对芯片编程时,由此端加入编程脉冲信号;读取数据时pmg的值为1vcc和vpp都是接电源的,正常工作时是+5v4、8255a概述8255a,具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路8255a在使用前要写入一个方式控制字,选择a、b、c三个端口各自的工作方式,共有三种; 方式0 :基本的输入输出方式,即无须联络就可以直接进行的 i/o方式。其中a、b、c口的高四位或低四位可分别设置成输入或输出。 方式1 :选通i/o,此时接口和外围设备需联络信号进行协调,只有a口和b口可以工作在方式1,此时c口的某些线被规定为a口或b口与外围设备的联络信号,余下的线只有基本的i

7、/o功能,即只工作在方式0. 方式2: 双向i/o方式,只有a口可以工作在这种方式,该i/o线即可输入又可输出,此时c口有5条线被规定为a口和外围设备的双向联络线,c口剩下的三条线可作为b口方式1的联络线,也可以和b口一起方式0的i/o线。 8255a是一个并行输入、输出器件,具有24个可编程设置的i/o口,包括3组8位的i/o为pa口、pb口、pc口,又可分为2组12位的i/o口:a组包括a口及c口高4位,b组包括b口及c组的低4位。6、74ls373概述74ls373为三态输出的八d透明锁存器,373 的输出端 o0o7 可直接与总线相连。 当三态允许控制端 oe 为低电平时,o0o7 为

8、正常逻辑状态,可用来驱动负载或总线。当 oe 为高电平时,o0o7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 le 为高电平时,o 随数据 d 而变。当 le 为低电平时,o 被锁存在已建立的数据电平。当 le 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mv。 引出端符号: d0d7: 数据输入端 oe: 三态允许控制端(低电平有效) le: 锁存允许端 o0o7: 输出端五、硬件设计方案1、rom扩展2、ram扩展3、i/o扩展4、数据采集5、键盘电路6、数码显示7、系统总电路六、地址分析1、片外roma15 a14 a

9、13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 起始地址: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0最大地址: 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1片外rom的地址范围:0000h3fffh2、片外rama15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 起始地址: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0最大地址: 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1片外ram的地址范围:4000h5fffh3、扩展

10、i/oa15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 起始地址: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 最大地址: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1a口:8000h b口:8001h c口:8002h 状态寄存器:8003h七、软件设计1、 键盘扫描程序org 0100hkeypro: acall kexam jz keypro acall d10ms acall kexam jz keypro key1: mov r2,#0feh mov r3,#00h mov r4,#00h

11、key2: mov dptr , #8000h mov a, r2 movx dptr ,a mov dptr, #8001h movx a, dptr cpl a anl a, #0ffh jnz key3 mov a, r4 add a, 04h mov r4,a mov a,r2 mov r2,ajb acc.4, key2ajmp keyprokey3: cpl akey4: inc r3 rrc ajc key4key5: acall d10ms acall kexam jnz key5 mov a, r4 add a, r3 mov buff, a ajmp keyadrd10ms

12、: mov r5, #14hdl: mov r6, #10ffhdl0: djnz r6, dl0 djnz r5, dl retbuff equ 30hkexam: mov dptr, 8000h mov a, #00h mov dptr, a mov dptr, # 8001h mov a, dptr cpl a anl a, #0ffh ret org 0500hkeyadr: mov a, buff cjne a, #07h, kyadr1 ajmp digprokyadr1: jc digprokeytbl: mov dptr,#jmptbl clr c subb a,#08h rl

13、 a jmp a+dptrbuff equ 30hjmptbl: ajmp sui ajmp lian ajmp bg-in ajmp e-nd sjmp startdigpro: mov a, buff inc a mov p0, a sjmp start sui: setb cmov p1.0, c jb p1.2, suisui0: jb p1.2,e-nd sjmp a000lian: setb cmov p1.0, cjb p1.2, nextacall startsjmp liannext: clr c mov p1.0, c acall start mov r7, #0ffhlo

14、op1: nop nop djnz r7, loop1 jb p1.1, e-nd sjmp lianbg-in: setb c, mov p1.1,ce-nd: clr c mov p1.1, csjmp $2、 数据采集程序org 1000hstart: mov r0, #00h mov p2,#40h mov r3,#00h mov r4,#00h mov r6,#08hagain0: mov dptr, #2000hagain: movx dptr, aloop2: jb p1.2, loop2loop3: jnb p1.2, loop3 movx a, dptr movx r0,a

15、push dph push dhl mov dph, p2 mov dpl,r0 acall disply pop dpl pop dph inc dptr inc p2 djnz r6,again djnz r3,done retdone: inc r4 mov p2, #0a0h mov a,r4 mov r0, a mov r6,#08h ajmp again0 ret3、 数码显示程序org 1500hdisply: movx a, dptr anl a, #0fh swap a mov b, a inc dptr mov a, dptr anl a, #0fh add a, b mo

16、vx 8002h, a ret八、设计总结虽然我做的系统是很小个,但圆满的完成整个系统也花了不少时间,最主要是是前期的准备阶段,刚接到课程设计题目时,我并没有马上就动手做设计,一开始我就复习新编单片机原理教材的单片机mcs51的ram、rom及i/o的扩展,接着就看刚发的微型计算机控制技术,学习里面的键盘设计,数码显示设计,及采集的部分设计,了解了该系统的设计原理和思想,在大脑中有了初步的设计构思,我想把系统设计好,于是就通过查资料、写程序学习了很多知识。在设计系统硬件连接图的时候,也让我学会了proteus软件的使用。通过这次设计让我体会到学习其实也是一种享受的过程,当投入到知识海洋的时候,有一种思维的逻辑递归的过程,我总是用联想的办法把刚要接触的知识,用已学过知识框架去学习,把刚学的知识跟学过的知识搭成一座桥梁,形成一个框架,而且我喜欢各科的知识点联系起来。通过这次设计我也领悟到了书本知识和具体操作实践是完全不同的,书本知识知识基础,合理应用才是目的。现在很多人都在倡导实践,而我觉得理论知识还是占主导地位,只是老师教给我们的东西我们不懂得学以致用而已,如果能把每个老师教的知识串通起来,加上你愿意花功夫学,相信没有什么可以难倒你的,通过做了这个系统之后我让我感触最深的是一定要细

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论