欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机原理及应用期末课程设计.docx

    • 资源ID:15715335       资源大小:592.11KB        全文页数:31页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理及应用期末课程设计.docx

    1、单片机原理及应用期末课程设计 数理与信息工程学院单片机原理及应用期末课程设计 题 目: 基于单片机的便携远程多路数据采集系统 专 业: 电子信息工程 班 级: 电子信息工程061 姓 名: 冯 珊 珊 学 号: 06220302 指导老师: 余 水 宝 成 绩: ( )第1节 引 言3多路数据采集系统的概述 3 本设计任务和主要内容4第2节 系统主要硬件电路的设计5 单片机采集系统原理5 单片机主机系统电路 52.2.1 单片机总系统原理路 6 2.2.2 CPU处理核心模块 6 2.2.3 时钟电路92.2.4 复位电路9 数据采集处理电路92.4 A/D转换器10 超限报警电路 10 液晶

    2、显示电路设计 11方法论证和比较 13 2.7.1方案一132.7.2方案二14第3节 系统软件设计 15系统主程序设计153.1.1单路采集程序 15 3.1.2 循环采集程序163.1.3 A/D 转换程序18 数据处理18 3.2.1调整电路设计18 3.2.2 标度变换19 3.2.3 BCD转换 21第4节 结束语 23 参考文献24基于单片机的便携远程多路数据采集系统数理与信息工程学院 06电子信息工程 冯珊珊指导教师:余水宝 第1节 引 言尽管是科技高度发达的今天,在很多地方,即使是实现了磁卡登记用电情况的地区,仍无法缺少电表登记人员定时前往各户,进行用电度数的统计和偷电、漏电的

    3、定期查看,虽然这种措施在一定程度上起到了敦促作用,但仍无法及时获知并处理类似情况。为了实现农村家庭用电及时登记,减轻查表人员的工作负担,特设计开发了可进行多路远程数据采集的便携式远程多路数据采集系统。本远(近)程数据采集系统,结构紧凑,采用了AT89C52单片机作为中心控制单元,以12位高精度并行AD转换芯片AD574和8通道故障保护模拟开关MAX354实现8路数据采集;利用RS-485串行通讯进行数据传输,传输距离可达1.2km;接收端再将信号转换为RS-232电平,使用便携式手提电脑的串口接收数据,将采样数据存储在PC机中,便于数据的实时处理和分析。 多路数据采集系统原理简述数据采集(DA

    4、Q),是指从传感器和其它待测设备等模拟和数字被测单元中自动采非电量或者电量信号,送到上位机中进行分析、处理。数据采集卡,即实现数据采集(DAQ)功能的计算机扩展卡,可以通过USB、PXI、PCI、PCI Express、火线(1394)、PCMCIA、ISA、Compact Flash等总线接入个人计算机。数据采集系统是结合基于计算机或者其他专用测试平台的测量软硬件产品来实现灵活的、用户自定义的测量系统。通常,必须在数据采集设备采集之前调制传感器信号,包括对其进行增益或衰减和隔离,放大,滤波等.对待某些传感器,还需要提供激励信号。1.2本设计任务和主要内容本设计主要研究单片机控制的多路数据采集

    5、系统,分别对系统采集的家用电数据和人工采集之间误差关系的分析、数据采集控制技术及系统设备的软、硬件各个部分进行了初步研究。主要内容如下:根据农村家庭分布远近不一,呈中心辐射状的特点,进行家用电表数据采集系统的整体研究与设计。针对家庭用电情况和偷电、漏电等现象不定期抽查,提高安全系数,保障用电的规范性。LED显示同一用户在采集期的用电度数,在采集期间可以倒计时的方式显示采集剩余时间,提醒工作人员注意,时间以单位“天”计。 当用户平均用电低于设定的最低值时,系统可自动报警,告知统计人员,并同时通过短信询问用户。 第2节 系统主要硬件电路设计 2.1单片机采集系统原理整个采集系统分为数据采集发送端和

    6、数据接收端。数据采集发送端主要由AT89C52单片机、AD574A A/D采样芯片、MAX354故障保护模拟开关和MAX485芯片构成,完成多路信号的采集和串行数据的发送功能。数据接收端由一个RS-485电平转RS-232C电平的电路,以及一台便携式手提电脑构成。数据采集端和发送端通过一条屏蔽的双绞线电缆连接。22单片机主机系统电路221单片机总电路原理图数据采集系统的主要分为以下几个模块:数据采集转换模块、数据存储模块、键盘控制模块、时钟模块、液晶显示模块、串口通信模块。其中数据采集模块包括AD电压信号量采集和系统工作温度采集。图2-2系统总原理图2 CPU处理核心模块AT89C52是一个低

    7、功耗,高性能CMOS 8位单片机,片内含8k Bytes的可反复擦写1000次的Flash只读程序存储器。器件采用ATMEL公司的高密度、非易失性存储技术制造。AT89C52有128 bytes的On-Chip随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,1个6向量两级中断结构,3个16位可编程定时计数器,1个全双工串行通信口,片内时钟振荡器。此外,AT89C52还设计和配置了振荡频率可为0Hz并可通过软件设置的省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件

    8、复位。因此,AT89C52构成的单片机系统是具有结构简单、效率高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。图2-3 89C52芯片内部原理图引脚说明:VCC:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。当对0端口写入1时,可以作为高阻抗输入端使用。当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下,P0口具有内部上拉电阻。在Flash编程时,P0口接收指令字节,同时输出指令字节在程序校验时。程序校验时需要外接上拉电阻。P1口

    9、:P1口是一带有内部上拉电阻的8位双向I/O口。P1口的输出缓冲能接受或输出4个TTL逻辑门电路。当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。P2口:P2是一带有内部上拉电阻的8位双向的I/O端口。P2口的输出缓冲能驱动4个TTL逻辑门电路。当向P2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX DPTR)

    10、时,P2口送出高8位地址数据。在这种情况下,P2口使用强大的内部上拉电阻功能当输出1时。当利用8位地址线访问外部数据存储器时(例MOVX R1),P2口输出特殊功能寄存器的内容。当Flash编程或校验时,P2口同时接收高8位地址和一些控制信号。P3口:P3是一带有内部上拉电阻的8位双向的I/O端口。P3口的输出缓冲能驱动4个TTL逻辑门电路。当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。P3口同时具有AT89C51的多种特殊功能,具体如下表2-1所示。表2-1 P3口的第二功能端口引脚第二

    11、功能RXD (串行输入口)TXD(串行输出口) (外部中断0)(外部中断1)T0(定时器0)T1(定时器1)(外部数据存储器写选通)(外部数据存储器都选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。ALE/:当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址低8位字节。当在Flash编程时还可以作为编程脉冲输出()。一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。:程序存储允许时外部程序存储器的读选通信号。当AT89C52执行外部程序存储器的指令时,每个机器周期两

    12、次有效,除了当访问外部数据存储器时,将跳过两个信号。/VPP:外部访问允许。为了使单片机能够有效的传送外部数据存储器从0000H到FFFH单元的指令,必须同GND相连接。需要主要的是,如果加密位1被编程,复位时EA端会自动内部锁存。当执行内部编程指令时,应该接到VCC端。XTAL1:振荡器反相放大器以及内部时钟电路的输入端。XTAL2:振荡器反相放大器的输出端。本系统中,采用AT89C52作为CPU处理器,充分利用其硬件资源,结合74ls373锁存器,7404 、7402、74138等数字处理芯片,连接了各个硬件模块。地址分配如下:AD574是美国模拟数字公司(Analog)推出的单片高速12

    13、位逐次比较型A/D转换器,内置双极性电路构成的混合集成转换芯片,具有外接元件少,功耗低,精度高等特点,并具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器,其模拟电压输人范围有四种:0-10V、0-20V,05V、0-10V,数据输出格式为12位和8位可选,本设计采用12位数据格式,这样可以提高数据的精度。图2-4 AD574A芯片内部原理图 MAX485接口芯片是MAXIM公司的一种RS-485芯片,它完成将TTL电平转换为RS-485电平的功能。采用单一电源+5V工作,额定电流为300A,采用半双工通讯方式,数据传输率高达。在一条RS-485总线上可以挂接最

    14、多32个MAX485收发器。这样可以通过编程利用一台手提电脑通过RS-485总线同时对多套该系统进行数据采集。表2-1 RS232引脚功能引脚序号信号名称符号流向功能2发送数据TXDDTEDCEDTE发送串行数据3接收数据RXDDTEDCEDTE接收串行数据4请求发送RTSDTEDCEDTE线路切到发送方式5允许发送CTSDTEDCEDCE线路已通可发送数据6数据设备准备好DSRDTEDCEDCE准备好7信号地信号GND公共地8载波检测DCDDTEDCEDCE接到远程载波20数据终端准备好DTRDTEDCEDE准备好22振铃指示RIDTEDCEDCE线路通,现振铃2.2.3时钟电路 单片机的时

    15、钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选6MHz 。2.2.4复位电路 为了初始化单片机内部的某些特殊功能寄存器,必须采用复位

    16、的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。数据采集处理电路 采样电路由AD574和MAX354组成,在一个采样周期内,连

    17、续对8路输入数据按顺序进行一轮采样,采样电路与单片机的连接如图2-5所示。图2-5数据采集原理图 AD574内部具有三态数据锁存器,可以和89C52单片机的P0数据口直接相连,它内部具有参考电压和时钟电路,因此无需任何元器件即可独立完成AD转换。AD转换结束后,AD574向89C52的中断INT0发出中断申请,然后系统对转换后的数据进行处理。AD574的128端子固定接地,A0端口与89C52的地址线A7相连,这样在地址线A7的控制下分两次通过8位数据总线来读取l2位的转换结果。2.4 A/D转换器在微机化测控系统中,经A/D转换器接口送入微机的数据,是对被测量进行测量得到的原始数据。这些原始

    18、数据送入微机后通常要先进行一定的处理,然后才能输出作为显示器的显示数据。例如当用户用电为100KWH,经热电偶转换成热电势,再经放大和A/D转换得到的数字是1,这个A/D转换结果1虽然与100KWH是对应的,但数字上并不是相等的。因此,不能当作电压读数去显示或打印,必须把A/D转换结果1变换成供显示或打印的电压度数100,这个变换就是数字显示的标度变换。 图2-6 线性关系 在该系统中,湿度传感器和A/D相连,A/D转换器和单片机相连,其中不包括任何非线性的数字化测量通道,因此被测量的值N,与A/D转换结果D,存在如图3-2所示线性关系。在该系统中,农村用户用电测量范围100%对应的输出电压范

    19、围为0-5V,ADC0809为8位A./D转换器,转换输出的数码为0255。即根据上面公式,DL=0lD H =255,NL=0, NH=100. 超限报警电路为了在某些紧急状态或反常状态下,能使操作人员不致忽视,以便及时处理,往往需要有某种更能引起人们注意提起警觉的报警信号产生,这种报警信号通常有三种类型:闪光报警、鸣音报警、语音报警,本系统采用简单易行的声光报警电路。如图2-8所示报警电路,报警设备选用压电式蜂鸣器,它约需要10mA的驱动电流,只需在其两条引线上加3一15V的直流电压,即可产生3KHz左右的蜂鸣声音,图中蜂鸣器的一端接在高电平+SV,另一端接,在初态始终输出高电平1,当需要

    20、报警时,程序对其端口清零即可,声音的长短可用延时程序控制实现。图中接入的发光二极管LED为超高线报警器,当端输出为低电平“0”时,二极管通,灯亮发出报警信号。图2-7 报警电路26液晶显示电路设计本系统的显示部分采用RT1602c字符显示模块,与采用数码管相比,硬件连接和软件调试上都由优势。只要把要显示的内容放进液晶模块的显示存储器里面就可以直观的显示出指定的内容,操作方便。1602采用标准的14脚接口,其中:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号

    21、线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:空脚1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表3-3所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显

    22、示出来,就能看到字母“A” 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平),指令表见表2-3。表2-3 1602字符模块指令表 指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令

    23、5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 指令7:字符发生器RAM地址设置 指令8:DDRAM地址设置 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据 图2-8 液晶显示原理图该模块的硬件原理图如图2-8所示。 1602C的数据口接单片机的P0口,使能端E接,液晶的RS端接,读写端RW接。2

    24、7方案论证和比较2.7.1方案一它能完成所要求的功能,但是存在不足之处是:编程不方便,主要是A/D接口和RS485接口编程不方便。 2.7.2 方案二将方案一中的主CPU变成89C52并增加报警电路和区域网等连接,增加整形电路。此方案可以免去外接扩展电路,使编程容易、简单,但本电路在经济上,可能耗费较多,本电路设计的实用性在一定程度上可以体现物有所值的概念。第3节系统的软件设计软件设计包括两方面:笔记本电脑的主机程序和单片机数据采集和发送的固件程序。其中,主机程序的编写可以利用VB语言编写,串口通信是通过 MicrosoftVisualBasic的通信编程控件MSComm实现的。在读取完串口数

    25、据后,需要将每通道10次采集的数据进行数学平均计算,这样可以在一定程度上减小干扰数据的影响。89C52的串行通讯采用工作方式1,波特率是9600bit/s,发送数据采用定时查询方式,可以根据需要适当调节发送数据的时间,定时周期性地读取存储的采样数据,以串行方式通过RS-485接口发送到上位机。程序采用可读性较强的C51语言编写,程序流程图见固件流程图-4。在编写89C52的程序时,需要对采样数据进行处理。由于采集的油温、油压、井口压力等数据与信号电压是线性关系,通过给定标准信号电压测量一个最大值和一个最小值,就能得出各种数据的信号电压与测量数据之间的比例关系。数据处理程序是根据线性比例关系,先

    26、将A/D转换器AD574 采集到的12位二进制数据转换成实际测量值,并将此值按照ANSI/IEEE标准转换成32位浮点数,保存在设定的存储区,总共有8组数据,需要32字节的空间来存储采样数据。一个标准浮点数占用一个双字(32位)。最高位(第31位)位浮点数的符号位,最高位为“0”是为正数,位“1”时为负数;8位指数占23-30位;因为规定尾数的正数部分总是为“1”,只保留的尾数的小数部分(022位)。浮点数的优点是利用很小的存储空间(4B)可以表示出精确度很高的非常大和非常小的数,在进行数据处理和运算时提高了精确度。系统软件程序设计主要包括:主程序设计,采样子程序设计,数据处理程序,显示子程序

    27、,串口通信程序等。各芯片地址编码为:RAM6116: OFOOOH-OF7FFH 81551/0口:7FF8H - 7FFDHADC0809: OBFF8H-OBFFFH31 系统主程序设计 3.1.1 单路采集程序:MOV DPTR,#0F8FFHMOV R0,#00H ;将存储器的首地址存在R0,R1两个寄存器中MOV R1,#00HMOV R2,#200D ;设置循环MOV R3,#4MOV R4,#8DMAIN:CLR ;选中ADC0809PUSH DPL ;DPTR入栈PUSH DPHMOVX DPTR,A ;启动AD转换ACALL DELAY ;延时5ms 保证采集数据频率为200

    28、HZMOVX A,DPTR ;读数据SETB ;选中存储器MOV DPL,R0 ;将存储器的地址给DPTRMOV DPH,R1MOVX DPTR,A ;存数据INC DPTR ;指向下一存储单元MOV R0,DPL ;将该单元地址重新存入寄存器中MOV R1,DPHPOP DPH ;DPTR出栈POP DPLDJNZ R2,MAINDJNZ R3,MAINDJNZ R4,MAINSJMP $DELAY: ;延时程序 延时5msMOV R5,#100DMOV R6,#24DLA:DJNZ R5,$DJNZ R6,LARET END 3.1.2循环采集程序:MOV 30H,#00H ;将存储器首地址分存在30-3F存储单元MOV 31H,#00H


    注意事项

    本文(单片机原理及应用期末课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开