版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上目 录1 设计软件基础知识1.1 C编译器Keil介绍 Keil C51是Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。 Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 KeilSoftware公司推出的uVision4是一款可
2、用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。uVision4提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。1.2 51单片机相关知识51单片机是对目前所有
3、兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片内集成了CPU、RAM、ROM、定时器计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机内包含以下几个部件:一个8位CPU;一个片内振荡器及时钟电路;4KB的ROM程序存储器;一个128B的RAM数据存储器;寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;32条可编程的I/O口线;两个16位定时计数器;一个可编程全双工串行口;5个中断源、两个优先级嵌套中断结构。1.3
4、 ADC0809简介ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。(1)主要特性: 1)8路输入通道,8位A/D转换器,即分辨率为8位。 2)具有转换起停控制端。 3)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时)。 4)单个+5V电源供电 。 5)模拟输入电压范围0+5V,不需零点和满刻度校准。 6)工作温度范围为-40+85摄氏度 。 7)低功耗,约15mW。 (2)内部结构ADC0809是CMOS单片型逐次逼近式A/
5、D转换器,内部结构如图1.1所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。 图1.1 ADC0809(3)工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 A/D转换后得到的
6、数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 1)定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。 3)
7、中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。2 多通道数据采集系统设计 2.1 单片机电路单片机最小系统如下图所示,各个引脚都已经标出。图2.1 单片机最小系统其中,振荡电路以及复位电路均由单片机系统自带。2.2 ADC采样电路由于ADC0809是带地址锁存的模数转换器件,ADDA、ADDB、ADDC为模拟通道选择,编码为000111分别选中IN0IN7。ALE为地址锁存信号,其上升沿锁存ADDA、
8、ADDB、ADDC的信号,译码后控制模拟开关,接通八路模拟输入中相应的一路。CLK为输入时钟,为AD转换器提供转换的时钟信号,典型工作频率为640KHz。START为AD转换启动信号,正脉冲启动ADDAADDC选中的一路模拟信号开始转换。OE为输出允许信号,高电平时候打开三态输出缓存器,使转换后的数字量从D0D7输出。EOC为转换结束信号,启动转换后EOC变为低电平,转换完成后EOC变成高电平。图2.2 ADC模数转换2.3显示模块以下是1602液晶引脚的接线图,中间没有接线的为数据控制端口。 1602字符型通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线 VCC(15脚)
9、和地线GND(16脚),其控制原理与14脚的LCD完全一样: 图2.3 LCD1602模块2.4总原理图图2.4 多通道数据采集总原理图3 软件设计3.1 系统总流程图此次设计的多通道数据采集系统设置了8路模拟电压输入通道。仿真中为了便于调节输入的模拟电压,在输入模拟信号时采用电阻分压,最终的采样输入电压便可根据测试需要调节,如下为系统总流程图:开始初始化ADC模数转换液晶显示结束图3.1 系统流程图3.2 程序代码#include<reg52.h>#define uchar unsigned char#define uint unsigned int/*定义LCD1602接口信息
10、*/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
11、 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;x>0;x-)for(y=110;y>0;y-);void delayl(uchar ltime)uchar i;for(i=ltime;i>0;i-)delay(255);/*写命令函数*/void write_com(uchar com)lcdrs=0;P0=com;delay(10);l
12、cden=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);wr
13、ite_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
14、;/A/D转换启动信号,正脉冲启动选中的模拟信号开始转换ADA=ADDA;ADB=ADDB;ADC=ADDC;delay(5);while(EOC=0);/启动转换后EOC变为L,转换结束后变为HOE=1;getdata=P1;temp=getdata*1.0/255*50;OE=0;if(channel<4)tab4*channel=temp/10+0x30;tab4*channel+2=temp%10+0x30;if(channel>=4)channel=channel-4;tab14*channel=temp/10+0x30;tab14*channel+2=temp%10+0
15、x30;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
16、 using 0 TH1=(65536-200)/256; TL1=(65536-200)%256; CLK=CLK;4 实验记录与结果分析4.1 仿真基本流程在Keil软件中编写好C语言程序,编译生成.hex文件。图4.1 Keil软件图在Protues软件中画好电路元件图,并将连线接好,见图2.4。添加仿真文件。单击右键AT89C52,点击属性编辑,出现文件浏览对话框,加入对应的nengliyuozhan.hex文件,点击确定,见下图4.2。图4.2 单片机属性编辑框点击仿真按键,LCD1602便可显示8路电压采集信号,见图4.3及图4.4。4.2 仿真结果图4.3 电压设置值图4.4 采
17、集显示值如图14所示,8路模拟通道电压值分别设置为0、0.5V、1.0V、1.5V、2.0V、3.0V、4.0V、5.0V。经过系统处理,LCD1602显示的采集值分别为0、0.5V、1.0V、1.5V、2.0V、3.0V、4.0V、5.0V。系统误差为0。改变8路输入信号的电压值,数据可及时在LCD1602上显示。4.3 结果分析通过用protues软件的仿真发现此次设计的系统原理图能够实现电压的正确测量,而且电压的误差较小,1602液晶屏能够正确显示出8路电压测量结果。整个作品能较好的实现基本功能和扩展功能。5 心得体会通过与同学的讨论与认真计算设计分析所完成的,课程设计的任务是设计一个多
18、通道数据采集系统。需要我们综合运用单片机等课程的知识,通过查阅资料、方案论证与选定;设计和选取电路和元器件;分析指标及讨论,完成设计任务。在这次课程设计中,我学会了怎样去根据课题的要求去设计电路和调试电路。动手能力得到很大的提高。从中我发现自己并不能很好的熟练去使用我所学到的高频电路知识。在以后学习中我要加强对使用电路的设计和选用能力。但由于电路比较简单、定型,而不是真实的生产、科研任务,所以我们基本上能有章可循,完成起来并不困难。把过去熟悉的定型分析、定量计算逐步,元器件选择等手段结合起来,掌握工程设计的步骤和方法,了解科学实验的程序和实施方法。这对今后从事技术工作无疑是个很好的训练。通过这种综合训练,我们可以掌握电路设计的基本方法,提高动手组织实验的基本技能,培养分析解决电路问题的实际本领,为以后毕业设计和从事电子实验实际工作打下基础。同时也让我充分认识到自己的空想与实践的差别,认识莫眼高手低,莫闭门造车,知识都在不断更新和流动之中,而扎实的基础是一切创造的源泉,只有从本质上理解了原理,才能更好的于疑途寻求柳暗花明,实现在科学界的美好畅游和寻得创造的快乐。还有就是每次在组团做试验都会感
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡镇卫生应急方案
- 汽修专业职业规划指南
- 护理工作沟通策略与技巧
- 护理不良事件预防的药物管理
- 班前会安全风险告知交底规范
- 企业安全生产事故应急指挥体系
- 西瓜嫁接换根栽培技术指引
- 蔬菜霜霉病药剂交替使用规范
- 血压测量操作规范
- 农产品电子商务销售服务规范
- 2026年山东省济南槐荫区九年级中考物理二模考试试题(含答案)
- 铁路专用线维护保养方案
- 2026中国移动通信集团海南有限公司第一期社会招聘3人笔试备考试题及答案解析
- 【《自动避障扫地机器人设计》11000字(论文)】
- 模拟CMOS集成电路设计课程设计实验报告(二级放大器的设计)
- 儿童感觉统合能力发展评定量表(含原始分与标准分转换表)988
- GB/T 18570.3-2005涂覆涂料前钢材表面处理表面清洁度的评定试验第3部分:涂覆涂料前钢材表面的灰尘评定(压敏粘带法)
- 肝衰竭机制及治疗进展课件
- 回转窑基础知识培训课件
- (名师整理)最新中考语文《非连续性文本阅读》专题复习精品课件
- STAR CCM+培训基础 课件
评论
0/150
提交评论