资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
电子信息工程单片机课程设计研究报告基于单片机的信号采集及控制系统设计学生姓名:王国栋学生学号:20124075103指导教师:田芳明 所在学院:信息技术学院专业班级:电子12中国大庆2015年6月信息技术学院课 程 设 计 任 务 书 信息 院 电子信息工程 专业 2012 级,学号 20124075103姓名 王国栋 一、课程设计课题:基于单片机的信号采集及控制系统设计二、课程设计工作日自 2015年6月18日至 2015 年 7月 3 日三、课程设计进行地点:信息馆320四、 程设计任务要求: 1.课题来源:老师下发2.目的意义:提高学生的动手能力,锻炼专业技能。增强动手解决问题的能力。3.基本要求:采用单片机实现8路模拟量传感器信号检测,模拟量传感器采集的物理参数可自行选择,在LCD中实时循环显示采集的物理参数,精度达到1 ,根据精度自选A/D转换芯片或内置A/D的单片机,具有8路开关量继电器输出。直流稳压电源自行设计。,辅助电路及元器件自选。课程设计评审表指导教师评语:成绩: 签字: 日期: 目录1设计任务要求12方案比较13单元电路设计14元件选择55整体电路106.说明电路的工作原理127困难问题及解决措施128总结与体会139致谢1310参考资料1311 程序131设计任务要求 1. 要求o 采用单片机实现8路模拟量传感器信号检测(420MA信号)。o 模拟量传感器采集的物理参数可自行选择。o 在LCD中实时循环显示采集的物理参数(如、温度、湿度、光照等)。 o 精度达到1 。o 根据精度自选A/D转换芯片或内置A/D的单片机。 o 具有8路开关量继电器输出。o 直流稳压电源自行设计。 o 辅助电路及元器件自选。 2. 规定: o 设计硬件线路,用protel画图。 o 按单元电路详细说明硬件线路设计思路,元件参数,选取根据。附详细的元件清单。 o 软件设计。设计物理参数采集,转换和LCD显示、开关量输出控制程序。 o 有完整的程序流程图,包括总流程图和模块流程图。对程序设计思想做详细说明。 o 有完整的程序清单,并加注释。 o 总结设计过程和设计体会。 2方案比较3单元电路设计3.1稳压电源电路图1稳压电路3.2单片机电路3.2.1 主控芯片图2 51单片机芯片引脚3.2.2 晶振电路图3 晶振电路3.2.3复位电路图4复位电路3.3 LCD显示模块图5 LCD显示模块3.4 AD采集电路图6 ADC0809连接图3.5待检测的电路图7 待检测的8路信号3.6 继电器控制输出电路图8 继电器输出4元件选择4.1STC89C51STC89C51 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作直到下一个中断或硬件复位为止。8 位微控制器 8K字节在系统可编程节。图9 单片机引脚图4.2 ADC08094.2.1ADC0809的内部结构图10 ADC0809内部逻辑结构 图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表1为通道选择表。表1通道选择表4.2.1ADC0809的内部结构ADC0809八位逐次逼近式AD转换器是一种单片CMOS器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。8路转换开关能直接连通8个单端模拟信号中的任何一个。图11 ADC0809引脚图ADC0809芯片为28引脚为双列直插式封装对ADC0809主要信号引脚的功能说明如下:IN7IN0模拟量输入通道ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持 低电平。本信号有时简写为ST.A、B、C地址线。 通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表1。CLK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。D7D0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。4.3 LCD16024.3.1器件介绍图12 LCD1602引脚图1602共16个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号);以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。以下具体阐述这三个管脚:RS为寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器。R/W为读写选择,高电平进行读操作,低电平进行写操作。E端为使能端,后面和时序联系在一起。 除此外,D0D7分别为8位双向数据线。4.3.2 操作时序表2操作时序表从D0D7读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0.读取状态字时,注意D7位,D7=1,禁止读写操作;D7=0,允许读写操作;所以对控制器每次进行读写操作前,必须进行读写检测。(即后面的读忙子程序) 4.3.3指令集1. LCD_1602 初始化指令小结:2. 0x38 设置16*2显示,5*7点阵,8位数据接口3. 0x01 清屏4. 0x0F 开显示,显示光标,光标闪烁5. 0x08 只开显示6. 0x0e 开显示,显示光标,光标不闪烁7. 0x0c 开显示,不显示光标8. 0x06 地址加1,当写入数据的时候光标右移9. 0x02 地址计数器AC=0;(此时地址为0x80) 光标归原点,但是DDRAM中断内容变10. 0x18 光标和显示一起向左移动4.4 元器件清单表3元器件清单5整体电路图13 总体电路图6.说明电路的工作原理开始系统初始化A/D数模转换有键按下?Y依次切换通道LCD1602显示并控制N图14 系统流程图本系统使用STC89C51作为主控制器,ADC0809作为AD采集8路信号的芯片,采集8路模拟信号的信息,然后根据按键依次循环显示在LCD1602上。上电后首先1602初始化,ADC0809初始化,默认显示第一路采集信号,按下一个按键后显示下一路,依次循环显示。7困难问题及解决措施再设计过程中,对AD转化的原理认识不清楚,ADC0809不熟悉。不知道如何使用这个芯片,编写程序的时候时序没有认识正确,无法完成采集。电源模块电压不稳定, 难点一就是AD0809芯片的使用。 难点二就是将AD0809产生的0256的数字换算成05.000的精确度,而又不至于溢出出错。程序流程设计不合理。LCD1602没有想到背光的调节,显示不清楚有背影。后来仔细阅读芯片手册,理清时序的先后顺序,编写程序,完成测试,优化显示流程,完成设计任务要求。8总结与体会单片机具有体积小,功耗低,功能强,通用性好,性价比高易组装成机电仪一体化的各种智能控制设备和仪器,仪表。面向在线应用,能针对各类控制任务的简繁灵活配置,因而能获得最佳的费效比。易于实现规划设计,避免不必要的二次开发过程,减少系统的研发费用,产品升级周期短。易于多机使用主从分布式的集散控制,提高控制系统的效率。抗干扰能力强,适应温度范围广,能在各种恶劣环境下可靠地工作。指令精简,实用,系统设计灵活易于推广运用。9致谢感谢老师让我做这次课程设计,通过这次课程设计使我更加清晰的认识了自己能力的不足和对专业知识掌握的不扎实,尤其是数字电路和模拟电路,还有对硬件电路的设计缺少相应的思维和解决方法。芯片掌握的不到位,不熟悉。对C语言的编程能力还不够,不能够没有障碍的阅读芯片手册,对芯片的时序的编程实现也掌握不到位。在以后的学习和工作中,我一定要以认真严谨的态度去学习,锻炼自己的技能。10参考资料1 李朝青.单片机原理及接口技术 .北京:北京航空航天大学出版社,19982 李广弟.单片机基础.北京:北京航空航天大学出版社,19923 何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 19944 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,19905 谭浩强.单片机课程设计. 北京:清华大学出版社,198911 程序#include #define uchar unsigned char#define uint unsigned int void result(uchar);uchar value=0; #includeadc0809.h#includelcd1602.huchar str5 ;uchar volt7;uchar a=0+0x30;uchar str111=tanxiaopin;sbit CLK=P07;uint n;void main() /uint i;ADC0809_init();lcd_init(); int i=0;while(1)lcd_zifu(str1,0x01);value=AD(i);/ str0=value/10
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号