




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘要21 设计软件基础知识31.1 C编译器Keil介绍31.2 Proteus软件简介32 总体设计52.2系统框图52.3 51单片机简介52.4 ADC0809简介62.4.1 ADC0809内部结构62.3.2 ADC0809的工作过程73.1 功能简介93.2 总原理图93.2.1 单片机电路93.2.2 ADC采样电路103.2.3显示模块113.3 系统流程图124 程序代码135 仿真结果与分析196 心得体会20摘要A/D转换是将连续的模拟量通过取样转换成离散的数字量。A/D转换包括采样、保持、量化和编码四个过程。在某些特定的时刻对这种模拟信号进行测量叫做采样,量化噪声及接收机噪声等因素的影响,采样速率一般取fs=2.5fmax。通常采样脉冲的宽度tw很短,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题是量化误差。假设噪声信号在量化电平中是均匀分布的,则量化噪声均方值与量化间隔和模数转换器的输入阻抗值有关。编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的。 本次课程设计的要求是:基于A/D转换模块的单片机实验和C语言开发,设计一种多路模拟信号采集模块,从多个通道轮流采集数据一次,并将采集的结果存放在数组中。要求进行电路实验或仿真,并使用C语言进行程序的开发。1 设计软件基础知识1.1 C编译器Keil介绍 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。 Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。KeilSoftware公司推出的uVision4是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。uVision4提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。1.2 Proteus软件简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 其功能特点如下: Proteus软件具有其它EDA工具软件(例:multisim)的功能。其功能模块:个易用而又功能强大的ISIS 原理布图工具;PROSPICE 混合模型SPICE 仿真; ARESPCB 设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED 甚至LCD 显示CPU 模型。 Protues 主要特征: 1)支持许多通用的微控制器,如 ARM,PIC,AVR,以及8051. 2)交互的装置模型包括:LED 和LCD 显示,RS232 终端,通用键盘 3) 强大的调试工具,包括寄存器和存储器,断点和单步模式 4) IAR C-SPY 和 Keil uVision4 等开发工具的源层调试 革命性的特点: 1)互动的电路仿真 用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 2)仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。2 总体设计2.2系统框图 此次设计的多通道数据采集系统设置了4路模拟电压输入通道。仿真中为了便于调节输入的模拟电压,在输入模拟信号时采用电阻分压,最终的采样输入电压便可根据测试需要调节。 系统框图如图2.1所示模拟信号AD转换芯片采集数据单片机处理数据,输出数字量数码管 显示 图2.1 系统框图2.3 51单片机简介 单片微型计算机(Single-Chip Microcomputer),简称单片机。就是将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算机。本次课程设计选用的是MCS-51系列单片机中的89C51。MCS-51单片机包含中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行I/O接口、串行I/O接口和中断系统等几大单元。 其内部结构框图如图2.2所示。 图2.2 51内部系统结构2.4 ADC0809简介 ADC0809是8位逐次逼近式/转换器。其内部有一个8通道多路模拟开关,片内带有三态输出缓冲器,可直接与单片机的数据总线相连接。它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。2.4.1 ADC0809内部结构 ADC0809的内部结构如图2.3所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 图2.3 ADC0809内部结构各部分功能及作用: IN0IN7:8路模拟通道信号输入,通过模拟开关实现8路模拟输入信号分时选通。 ADDC,ADDB和ADDA:模拟通道选择,编码000111分别选中IN0IN7。 ALE:地址锁存信号,其上升沿锁存ADDC,ADDB,ADDA信号,译码后控制模拟开关,接通8路模拟信号中相应的一路。 CLK:输入时钟,为A/D转换器提供转换的时钟信号,典型工作频率640HZ。 START:A/D转换启动信号,正脉冲启动ADDCADDA选中的一路模拟信号开始转换。 OE:输出允许信号,高电平时打开三态输出缓存器,使转换后的数字量从D0D7脚输出。 EOC:转换结束信号,启动转换后,EOC变为低电平,转换完成后变为高电平。根据读入转换结果的方式,此信号可有三种方式和单片机相连。 1)延时方式:EOC悬空,启动转换后,延时100us后读入转换结果。 2)查询方式:EOC接单片机端口线,查得EOC变高,读入转换结果,作为查询信号。 3)中断方式:EOC经非门接单片机的中断请求端,转换结果作为中断请求信号向单片机提出中断申请,在中断服务中读入转换结果。 Vref(+)和Vref(-):基准电压输入,用于决定模拟电压的范围。允许Vref(+)和Vref(-)是差动的或不共地的电压信号,多数情况下,Vref(+)接+5V,Vref(-)接GND,此时输入量程为05V。当转换精度要求不高或电源电压Vcc较稳定和准确时,Vref(+)可以接Vcc,否则应单独提供基准电源。2.3.2 ADC0809的工作过程 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 1)定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。 3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。3 多路模拟信号采集模块设计 3.1 功能简介使用ADC0809型号的A/D转换器对多路模拟信号进行数据采集,同时与单片机进行通信,将测量的模拟信号量传递给89C51单片机,由单片机进行运算,输出对应的数字量,然后在数码管上显示出来。设计中采用开关来选择输入不同通道的模拟信号。 3.2 总原理图 图 3.1 多通道数据采集总原理图 3.2.1 单片机电路单片机最小系统如下图所示,各个引脚都已经标出。 图3.2 单片机最小系统 其中,振荡电路以及复位电路均由单片机系统自带。3.2.2 ADC采样电路 图3.3 ADC模数转换3.2.3显示模块 本次设计采用数码管来显示数据。 图3.4 数码管3.3 系统流程图开始初始化采集数据数模转换检测是否转换完毕单片机存储LED显示地址增加NY图3.5 系统流程图4 程序代码#include#define uchar unsigned char#define uint unsigned int/*定义LCD1602接口信息*/sbit lcdrs=P30;/数据命令选择位sbit lcden=P31;/使能位sbit lcdrw=P32;/LCD1602数据线接P0口/*定义ADC0808接口信息*/sbit ADA=P20;sbit ADB=P21;sbit ADC=P22;sbit EOC=P23;sbit CLK=P24;sbit START=P25;sbit OE=P26;/*定义数据*/uchar string1=Xuzhiqiang AD Sp; /初始化数据uchar string2=Chan from 1 to 8;uchar tab=0.0 0.0 0.0 0.0 ; /存放AD采集数据uchar tab1=0.0 0.0 0.0 0.0 ;uchar num,getdata=0;uint temp=0;/*延时函数*/void delay(uchar t) uchar x,y; for(x=t;x0;x-) for(y=110;y0;y-);void delayl(uchar ltime) uchar i; for(i=ltime;i0;i-) delay(255);/*写命令函数*/void write_com(uchar com) lcdrs=0; P0=com; delay(10); lcden=1; delay(10); lcden=0;/*写数据函数*/void write_data(uchar date) lcdrs=1; P0=date; delay(10); lcden=1; delay(10); lcden=0;void disp(uchar h,l,uchar *p) write_com(0x80+h*0x40+l); while(*p!=0) write_data(*p); p+; /*初始化函数*/void LcdInit() lcdrw=0; delay(5); lcden=0;/使能位置低电平 write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); disp(0,0,&string10); disp(1,0,&string20); delayl(20);void TimeInit() TMOD=0x10;/定时器1工作于方式1,16位不重装初值 TH1=(65536-200)/256; /定时200us(5KHz) TL1=(65536-200)%256; EA=1; ET1=1; TR1=1;void AdTr(bit ADDA,ADDB,ADDC,uchar channel) START=0; OE=0; START=1; START=0;/A/D转换启动信号,正脉冲启动选中的模拟信号开始转换 ADA=ADDA; ADB=ADDB; ADC=ADDC; delay(5); while(EOC=0);/启动转换后EOC变为L,转换结束后变为H OE=1; getdata=P1; temp=getdata*1.0/255*50; OE=0; if(channel=4) channel=channel-4; tab14*channel=temp/10+0x30; tab14*channel+2=temp%10+0x30; void main() LcdInit(); TimeInit(); while(1) AdTr(0,0,0,0); delay(5); AdTr(0,0,1,1); delay(5); AdTr(0,1,0,2); delay(5); AdTr(0,1,1,3); delay(5); AdTr(1,0,0,4); delay(5); AdTr(1,0,1,5); delay(5); AdTr(1,1,0,6); delay(5); AdTr(1,1,1,7); delay(5); disp(0,0,tab); disp(1,0,tab1); void t1(void) interrupt 3 using 0 TH1=(65536-200)/256; TL1=(65536-200)%256; CLK=CLK;5 仿真结果与分析 图5.1 图5.2 图5.3 图5.4通过调节电阻来控制模拟信号的输入,由上图可以看出,采集的模拟量经过A/D转换后的数字量分别为:51、168、130、204。6 心得体会这次课程设计的题目是基于A/D转换模块的单片机实验和C语言开发,任务是设计一种多路模拟信号采集模块,从多个通道轮流采集数据一次,并将采集的结果存放在数组中。要求进行电路实验或仿真,并使用C语言进行程序的开发。这需要我们综合运用单片机等课程的知识,通过查阅资料、方案论证与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新冠防控考试题目及答案
- 护士考试神经外科护理学选择题试题及答案
- 心理生理学考试题及答案
- 校车司机考试题库及答案
- 小米小店考试题库及答案
- 消化内科考试题库及答案
- 数学核心素养下的翻转课堂实践心得体会
- 参加信息技术与教学融合创新培训会心得体会
- 教师职业规划与黄大年精神心得体会
- 质检部门原材料检验职责及岗位职责
- 2025西藏日喀则市高级技工学校招聘专业实训指导教师和后勤保障人员20人备考练习题库及答案解析
- GB/T 14491-2025工业用环氧丙烷
- 第2课 原始农业与史前社会 课件(内嵌视频)人教统编2024年版七年级历史上册
- 兵团职工考试试题及答案大全
- 2025年秋季开学第一次全体教师大会上校长精彩讲话:做细一件小事就是做实整个教育
- 开学第一课(课件)-人教PEP版英语三年级上册
- 湘教版五年级科学上册全册教案
- 六年级上册《小学综合实践活动》教案
- 通用机场建设审批程序
- 城市雕塑工程工程量清单计价定额
- 道路保通专项方案
评论
0/150
提交评论