智能仪器课程设计--基于AT89C52的多路数据采集系统.doc_第1页
智能仪器课程设计--基于AT89C52的多路数据采集系统.doc_第2页
智能仪器课程设计--基于AT89C52的多路数据采集系统.doc_第3页
智能仪器课程设计--基于AT89C52的多路数据采集系统.doc_第4页
智能仪器课程设计--基于AT89C52的多路数据采集系统.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告课程名称: 智能仪器课程设计 题 目: 基于AT89C52的多路数据采集系统 学 院: 环境与化学工程 系:过程装备与测控工程 专 业: 测控技术与仪器 班 级: 测仪093 学 号: 5801209094(组员:5801209092) 学生姓名: 邱发生(组员:马号) 起讫日期: 2011-12-192011-12-26 指导教师: 杨大勇、杨俊清、熊剑 摘要 智能仪器设计技术课程是一门集多种技术于一体,实践性要求很高的课程。本次课程设计以单片机为核心,结合所学的智能仪器、数字电子技术、模拟电子技术及有关电路相关的知识,使用AT89C52、AD0832(AD08090)、LED数码管(共阴或共阳)和矩阵键盘设计一个多路数据采集系统,将采集的数据用05V电压显示。通过这次课程设计,进一步巩固所学的的知识,进一步深入掌握单片机,同时初步接触智能化,为找工作奠定一定的基础。这次设计的多路数据采集系统,通过键盘来选择数据采集通道,ADC数据采集后,通过AD转换后转换成0256的数字量,之后采集数据八次,采用平均滤波的方法消除随机干扰,最后将数字量通过标度变换转化成05V电压通过数码管显示出来。改变滑动变阻器可以再数码管上显示出电压05V之间的变化。在信息技术的告诉发展和人工智能应用的推先,智能仪器必将有更大发展。测试仪器的智能化已是现代仪器发展的主流方向。因此,学习智能仪器的工作原理、掌握新技术和设计方法无疑使十分重要的。关键词:多种技术 智能化 标度变换 随机干扰 AD转换21 目录 一、设计任务、要求3二、方案总体设计与论证4三、软件设计13四、系统仿真与调试16五、设计总结、心得体会17六、参考文献19附录1、 课程设计的要求和内容1、设计任务:设计一个基于51单片机的智能多路数据采集系统。2、设计要求:1) 具有多路数据采集功能,至少两路以上;2) 4位数据显示功能,利用电位器分压方式,通过调节电位器,能够改变输入,同时在数码管中进行显示;3) 具有至少2x2的矩阵键盘,通过按键可以设置不同的采集通道,或不同的采集方式;4) 具有简单的数据处理功能,如中值滤波、平均滤波等等;5) 系统具有较好的模块化,功能分块合理。备注:同时可考虑以下扩展功能:具有数据存储功能,如扩展外部FLASH存储器等;具有可编程程控放大功能。3. 创新部分: 键盘四个按键键值均可以正常显示,而且都正常工作。二、方案总体设计 以单片机为核心,结合AD转换、四位七段数码管、22键盘1、 盘方案一 采用AD0832、四位七段共阳极数码管、AT89C52、22键盘、若干电阻、若干电容以及若干导线。2、 方案二 采用AD0809、四位七段共阳极数码管、AT89C52、22键盘、电阻若干、电容若干、晶振一个、导线若干。3、 我采用了方案一4、 总体设计: 设计原理:数据采集 A/D转换 平均滤波 标度变换 显示3、 软件设计 返回 程序流程图: 总流程图 滤波程序 原理图:源程序:ORG 0000HLJMP MAINORG 0030HMAIN:LCALL KEY ;调用键盘LCALL ADC ;调用AD转换、滤波、标度变换程序LCALL DISLAY ;调用显示子程序KEY:LCALL KS ;调用判断键盘按下否的子程序JZ YY ;判断是否有键按下,无键按下退出LCALL T10ms ;有键按下,延时10msLCALL KS ;调用判断键盘按下否的子程序JZ YY ;判断真的是有键按下吗MOV R2,#0FEH ;有键按下,将首行扫描字保存在R4中MOV R4,#00H ;存第一行行号LK1:MOV P1,R2 ;行扫描字送给P1口MOV A,P1 ;存取读键状态JB ACC.2,ONE ;判断第0列是否为0,无键按下转第1列MOV A,#00H ;存列号LJMP KP ;跳转求键号ONE: JB ACC.3,NEXT ;一列无键按下,转下行MOV A,#02H ;一列有键按下,键号#02H 送AKP: ADD A,R4 ;行号加列号PUSH ACC ;键号保护LK: LCALL KS ;等待JNZ LK ;判断键是否释放POP ACC ;入栈保护键值MOV 10H,A ;键值保存在10H单元RET NEXT: INC R4 ;行号加一MOV A,R2 ;判断两行扫描完了吗JNB ACC.1,YY ;两行扫描完,返回RL A ;未扫描完,扫描字左移一位MOV R2,A ;扫描字入R2AJMP LK1 ;转扫下一行KS: MOV P1,#0FCH ;P1.0和P1.1送低电平 P1.2和P1.3送高电平MOV A,P1 ;读键CPL A ;取反ANL A,#0CH ;高电平表示有键按下RETT10ms: MOV R7,10H ;延时10ms子程序TS1: MOV R6,#0FFHTS2: DJNZ R6,TS2DJNZ R7,TS1RETYY: RETADC:MOV R3,#00HMOV R2,#00H ;初始化MOV R5,#08 ;设置循环次数HE: LCALL ADCONV ;数据采集ADD A,R3 MOV R3,A CLR AADDC A,R2MOV R2,ADJNZ R5,HE ;判断数据是否采集完毕,如果完毕进行滤波 CLR C ;累加器清零MOV A,R2 ;平均滤波RRC AMOV R2,AMOV A,R3RRC A MOV R3,AMOV A,R2RRC AMOV R2,AMOV A,R3RRC AMOV R3,AMOV A,R2RRC AMOV R2,AMOV A,R3RRC AMOV R3,AMOV A,R3MOV B,#05H ;标度变换MUL AB MOV 11H,B ;变换后整数部分保存在11H单元中 MOV B,#0AH MUL AB MOV 12H,B ;小数部分保存在12H单元中 RET ADCONV: ;数据采集MOV A,10H ;ADD A,#02HMOV B,ACLR P3.4NOPNOPCLR P3.5NOPNOPSETB P3.3NOPNOPSETB P3.4NOPNOPCLR P3.4MOV A,BMOV C,ACC.1MOV P3.3,CNOPNOPSETB P3.4NOPNOPCLR P3.4MOV A,BMOV C,ACC.0MOV P3.3,CNOPNOPSETB P3.4NOPNOPCLR P3.4SETB P3.3NOPNOPMOV R7,#8AD_1:MOV C,P3.3MOV ACC.0,CRL ASETB P3.4NOPNOPCLR P3.4NOPNOPDJNZ R7,AD_1MOV C,P3.3MOV ACC.0,CMOV B,AMOV R7,#8AD_13:MOV C,P3.3MOV ACC.0,CRR ASETB P3.4NOPNOPCLR P3.4NOPNOPDJNZ R7,AD_13CJNE A,B,ADCONVSETB P3.5CLR P3.4SETB P3.3RETDISPLY: ;显示子程序MOV DPTR,#TAB ;查表首地址MOV P2,#00H ;位选置零MOV A,10H ;键值送AMOVC A,A+DPTR ;查表显示键值MOV P0,A SETB P2.0 ;端口置一LCALL DELAY1 ;延时CLR P2.0 ;端口清零MOV A,11H ;电压的整数部分送AMOVC A,A+DPTR ;查表显示ANL A,#7FHMOV P0,A SETB P2.1LCALL DELAY1 ;延时CLR P2.1MOV A,12H ;小数部分送A MOVC A,A+DPTR ;查表显示MOV P0,ASETB P2.2LCALL DELAY1 ;显示CLR P2.2MOV A,#0C1H ;最后一位显示U字表示电压VMOV P0,ASETB P2.3LCALL DELAY1 ;延时CLR P2.3RETDELAY1: ;延时R510MOV R6,#50DELAY2: MOV R4,#10DJNZ R4,$DJNZ R6,DELAY2RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H, 80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH,0FFHEND四、系统仿真与调试1、 仿真软件keil简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。调试过程图: 0通道 1通道 2通道 3通道 五、心得体会 经过两周的课程设计,心情也是彼起彼伏,编程仿真时的焦头烂额,到仿真成功的面露微笑。焊接出来啥现象都没有的心灰意冷和暴跳如雷,到最终圆满成功时欣喜若狂。心情经过四次的跌宕起伏,或许课程设计就是如此,科研也是如此,人生亦如此。围绕单片机为核心的课程设计,这是第二次,觉得两次心得是决然不同。 上一次是混混噩噩,纯属酱油男。这一次靠着队友的持续给力,加上自己潜心钻研,老师严格要求,同学细心指导,最终我们取得胜利。上一次老师要求也不高,只要调试仿真成功就行,这一次老师的要求是必须做出实物图,并且要实物图可以运行。听到这句话时,我们身上的压力顿时倍增。从课程设计至今到现在都没悠闲过,开始时看书,学编程,由于自己基础薄弱,花了大概两天时间来复习单片机这们课程。后来试着自己编程,请教同学,大约花了三天的时间不断的编程和调试,最后我们终于成功了。仿真成功队友半天时间久把洞洞板画好了。接下来,我们开始查询清理器件,查询数码管、AT89C52、0832等器件的引脚图。这些工作做完后,队友就正式开始焊接。队友进度很快,一天就焊好了。我们将程序烧进CPU后,上电那刻,我们心情激动带着紧张,激动时自己可以差不多收工了,紧张是如果没有成功,那留给我们将是无穷无尽的麻烦,真希望不会出现糟糕的那一幕。可是最终不想发生事情还是发生了,上电后啥现象都没有,那一刻失望至极。看着其它组员都成功了,心理很是着急。我们就开始全面检查,用万用表检查是否短路和虚焊,这些检查都没有问题,我们导入显示子程序,还是没有用。最后,队友在和别人讨论中,发现了一些问题,有些电源的正负极没有接。检查数码管时发现数码管引脚图接返了。修改完后,上电后,数码管亮了,显示比较稳定移动滑动变阻器,电压按照我们预先的进行。我们成功了,为自己鼓掌,我们取得了胜利! 总的说来,这次课程设计很不容易。让我们明白:任何事情是在不断尝试,不断修改中取得成功。 六、 参考文献: 【1】51单片机应用设计与仿真-基于Keil C与Proteus 丁明亮、唐前辉 北京航空航天大学出版社 【2】智能仪器 第二版 程德福 机械工业出版社 【3】微机原理及接口技术 第三版 李朝青 北京航空航天大学出版社 【4】C+程序设计 杨长兴 中国铁道出版社 【5】C语言程序设计 谭浩强 清华大学出版社 【6】单片机初级教程 张迎新 北京航空航天大学出版社 【7】智能仪器技术及其应用 方彦军 化学工业出版社 【 8】数字电子技术基础 第五版 阎石 高等教育出版社 【9】模拟电子技术基础 康华光 高等教育出版社 【10】电路 第五版 邱关源 高等教育出版社附录 :硬件列表:智能仪器课程设计电子元器件器件型号数量备注万能板纤维板 9x15CM1单片机和ADC模块纤维板 5x7CM2键盘模块和数码管模块单片机STC89C52RC-DIP-40 1系统CPUADCADC0832(串口)/ADC0809(并口)1随机发放,只发一个数码管4位数码管 0.56英寸1共

温馨提示

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

评论

0/150

提交评论