课程设计二说明书.docx_第1页
课程设计二说明书.docx_第2页
课程设计二说明书.docx_第3页
课程设计二说明书.docx_第4页
课程设计二说明书.docx_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

课程设计二说明书一、引言1、设计目的本设计是一综合课程设计,它集“传感器原理与应用”、“模拟与数字电子技术”、“单片微型计算机原理与应用”、“电机与驱动技术”等课程内容,其目的要求综合应用这几门课程内容,掌握常见机械自动化控制系统的应用技术。通过设计了解微机控制系统的总体设计过程、机械自动化控制方案的比较、传感器与驱动的选择、硬件电路的设计与绘制、控制软件的编制,培养学生综合应用各门课程的能力,同时锻炼和培养学生的独立工作、调查研究、分析问题、解决问题的工作能力。2、本课程设计的设计工作内容与要求1进行设计目标、基本功能、技术参数的分析和制定。2进行总体控制方案设计,完成微机接口芯片、传感器、执行机构驱动形式、信号调理电路、供电电源等核心部件的选择和分析。3完成控制系统的硬件电路设计和绘制。4完成控制系统的功能实施程序的编制。5完成“传感信号的采集”、“键盘输入”、“数值显示”等关键程序的软件仿真调试与实验验证。6撰写设计说明书。3、成员任务分配以斜体标注于目录旁二、具体内容及基本要求库房室温监测报警仪1设计任务利用温度传感器和单片机技术设计一套库房室温监测报警仪,报警温度可设定输入,温度测量误差为1C,温度监测报警仪具有日期、时钟显示功能。2设计目的1、了解有关温度传感器的工作原理、加工工艺的相关知识。2、综合运用其他先修课程的理论和实践知识,制定设计方案,确定温度传感器的型号的参数,掌握温度的检测方法。3、掌握模拟信号获取、传输、处理及检测的一般方法。4、掌握由微型计算机实现数字输入和显示功能的技术。5、学会应用温度传感器组建一个简单的测量系统,提高解决实际工程问题的设计能力。6、通过计算、分析、绘图,能运用标准、规范、手册并学会查阅有关资料,培养仪器设计的基本技能,为毕业设计等奠定良好的基础。3设计要求1、详细了解所选用的温度传感器的工作原理、工作特性、技术参数、应用电路等。2、设计合理的信号调理电路。3、用单片微型计算机和A/D芯片进行信号的采样等相关处理电路。4、设计合理的单片微型计算机的显示和键盘输入接口电路。5、设计合理的系统供电电路。6、用计算机绘图软件绘制硬件电路原理图,用C51或汇编语言编设计编制相关程序,并用Keil仿真软件或仿真实验箱对“传感信号的采集”、“键盘输入”、“数值显示”等关键程序进行仿真调试和实验验证。7、列出制作该系统的元件清单。8、撰写详细的设计说明书一份。三、课程设计设计过程1设计任务、要求和目标分析本课程设计的任务为利用温度传感器和单片机技术设计一套库房室温监测报警仪。要求该报警温度可由用户输入,温度测量误差为1C。同时温度监测报警仪具有日期、时钟显示功能。要求通过本次课程设计能够完成一个能在实际工业现场中运用的温度监测系统。该系统的输入设备为4x4行列式键盘,温度设定操作简易,用户界面良好。通过编译程序可以控制继电器的开闭,从而控制外部设备的运行,通过对温度报警的设置可以进行定时对设备进行自动化控制,体现了产品的智能化。系统的工作原理为:温度传感器单片机键盘控制复位电路显示电路报警电路电源电路2控制系统要处理的输入信号以及元器件的选用a)现场温度信号:由温度传感器DS18B20从现场读入温度值,并由温度传感器的中集成的A/D转换器将其转化为电信号。b)实时时间信号:由PCF8563时钟芯片记录当地时间。c)温度设置信号:由4x4行列式键盘输入用户给定温度对这些信号进行处理后:a)时间信号和温度信号,通过8279显示器/键盘接口电路由LED数码显示器(七段数码管)显示输出。b)现场温度与设定的温度比较后输出信号确定报警系统的启动与否。3实施方案的设计与分析据所选择的元器件,系统原理图可细化如下图所示4温度采集模块设计根据调查,目前市面上可用的温度传感器有:热敏电阻,DS18B20,DS1621。 热敏电阻器是敏感元件的一类,其典型特点是温度敏感,不同的温度下表现出不同的电阻值。;热敏电阻的工作温度范围宽,常温器件适用于-55315,高温器件适用温度高于315(目前最高可达到2000),低温器件适用于-27355;热敏电阻体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;热敏电阻使用方便,电阻值可在0.1100k间任意选择;热敏电阻易加工成复杂的形状,可大批量生产;热敏电阻的稳定性好、过载能力强。DS1621是一种功能较强的数字式温度传感器和恒温控制器。接口与I2C总线兼容,且可以使用一条I2C总线控制多达8片的DS1621。其数字温度输出达9位,精度为0.5。通过读取内部的计数值和用于温度补偿的每摄氏度计数值,利用公式计算还可提高温度值的精度。DS1621可工作在最低2.7V电压下,适用于低功耗应用系统。DS18B20为可编程分辨率的单总线数字温度计。采用独特的单线接口,仅需要一个端口引脚进行通讯。在其内部存储器中有64位的序列号。可以通过数据线为DS18B20供电,供电范围为3.0v到5.5v。测温范围为-55至+125摄氏度。最多在750ms内将温度转换为12位的数字。对三款元件进行分析比较,得出以下结论:名称成本精度占用I/O数量速度总线热敏电阻中较差多慢无DS18B20低良好1720ms单线DS1621高精确21sI2C最终,根据实际的使用环境、精度要求以及成本考虑,选择的温度传感器元件为DS18B20,其主要原因主要有以下几方面:(1)系统的特性:测温范围为-55+125 ,测温精度为士0.5;温度转换精度912位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;12位精度转换的最大时间为750ms;可以通过数据线供电,具有超低功耗工作方式。(2)系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。一支DS18B20的体积与普通三极管相差无几,价格只有十元人民币左右。(3)系统复杂度:由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。(4)系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。DS18B20温度传感器只有三根外引线:单线数据传输总线端口DQ ,外供电源线VDD,共用地线GND。DS18B20有两种供电方式:一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接,其接口电路如图4所示。图4 温度传感器接口4.1 硬件电路设计本温度报警器采用美国DALLAS公司生产的单线数字温度传感器DS18B20如图3.1,可以把温度信号直接转换成串行数字信号工微机处理,是模数转换器件,而且读DS18B20信息或写DS18B20信息仅需要单线接口,使用非常方便;其测温范围55125,在-10+85时精度为0.5,可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;同时DS18B20在使用中不需要任何外围元件(仅需一个4.7K的上拉电阻),全部传感元件及转换电路集成在形如一只三极管的集成电路内,硬件电路十分简单。DS18B20测温原理如下图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。DS18B20测温原理DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.0-5.5;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图所示。存储和控制逻辑高速暂存器温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC生成器64位ROM和一线端口供电方式DS18B20内部结构框图64位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。DS18B20功能命令如表所示:表1 DS18B20功能命令表命令功能描述代码CONVERT启动温度转换44HREAD SCRATCHPAD读取温度寄存器BEHREAD ROM读DS18B20的序列号33HWRITE SCRATPAD将数据写入暂存器的第2、3字节中4EHMATCH ROM匹配ROM55HSEARCH ROM搜索ROMF0HALARM SEARCH报警搜索ECHSKIP ROM跳过读序列号的操作CCHREAD POWER SUPPLY读电源供给方式,0寄生,1外部电源B4H由于DS18B20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。4.2 软件设计DSl8B20必须严格按照单总线通信协议,以保证数据的完整性。该协议定义了几种时隙类型:初始化、应答、写1、写0、读1、读0。除了应答时隙所有这些时隙都是有主机发出。总线上所传输的所有命令和数据都是字节的低位在前。(1)初始化时隙复位时隙和应答时隙。在初始化过程中,主机发送复位脉冲(最短为480s的低电平信号)接着,释放总线并进入接收状态。当总线被释放后上拉电阻将总线拉高。DSl8B20在检测到总线的上升沿之后等待15-60us接着发出应答脉冲(低电平持续60-240 s)。(2)读和写时隙在写时隙期间,主机向DS18B20写入数据;而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。存在两种写时隙,即写1和写0。主机在写1时隙向DS18B20写入逻辑1。而在写0时隙向DS18B20写入逻辑0。所有写时隙至少需要60S,而且两次写l时隙之间至少需要lS的恢复时间。两种写时隙均以主机拉低总线开始。产生写1时隙:主机拉低总线后,必须在15uS内释放总线。然后由上拉电阻将总线拉至高电平。产生写0时隙:主机拉低总线后,必须在整个时隙期间保持低电平(至少60S)。在写时隙开始后的1 560 S期间,DSl8B20采样总线的状态。如果总线为高电,则逻辑1被写入DSl8B20;如果总线为低电平,则0逻辑被写入DSl8B20。读时隙:DSl8B20只能在主机发出读时隙时才能向主机传送数据。所以主机在发出读数据命令后,必须马上产生读时隙,以便DSl8B20能够传送数据。所有读时隙至少60s,且在两次独立的读时隙之间至少需要1S的恢复时间。每次读时隙由主机发起,拉低总线至少1S。在主机发起读时隙之后,DSl8B20开始在总线上传送1或0。若DS18B20发送1,则保持总线为高电平;若发送O,则拉低总线。当传送0时,DSl8B20在该时隙结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。DS18B20发出的数据在读时隙下降沿起始后的1 5uS内有效,因此主机必须在读时隙开始后的15S内释放总线,并且采样总线状态,根据实际的系统设计要求,其程序流程图如下图所示:之后,根据以上流程图进一步编写系统汇编语言或C语言代码,并通过Keil软件进行仿真模拟,通过后进一步进行接线调试,具体程序见附录。5实时时钟模块设计根据资料的查找,目前市面上可用的时钟电路有DS1302、 DS1307、PCF8485、PCF8563,其中使用比较多,也是我们主要查找比较的是DS1302和PCF8563。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。PCF8563 是PHILIPS 公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。PCF8563 的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。而在本题实际使用中,由于DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。综合考虑之后,我们决定选用PCF8563时钟电路作为实时时钟模块在本系统中使用。5.1 硬件电路设计本系统实时时钟模块选用PCF8563时钟电,PCF8563是一款低功耗的CMOS实时时钟日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动增加,其实验原理图如下图:PCF8563特性为:低工作电流:典型值为0.25A(VDD=3.0V,Tamb=25 时);世纪标志;大工作电压范围:1.05.5V;低休眠电流;典型值为0.25A (VDD=3.0V, Tamb=25 );400KHz 的I2C总线接口(VDD=1.85.5V 时);可编程时钟输出频率为:32.768KHz,1024Hz,32Hz,1Hz;报警和定时器;掉电检测器;内部集成的振荡器电容片内电源复位功能掉电检测器;片内电源复位功能;I2C总线从地址:读:0A3H;写:0A2H;开漏中断引脚。PCF8563参考数据如下表所示:符号参数条件最小值最大值单位VDD工作电压I2C总线无效Tamb=251.05.5VI2C总线有效Fscl = 400KHzTamb: -40801.85.5V工作电流(定时器和时钟输出无效)Fscl = 400KHz800uAFscl = 100KHz200uAFscl = 0KHz; Tamb=25VDD = 5 V550nAVDD = 2 V450nATamb工作环境温度-4085Tstg储存温度-65150PCF8563内有16个8位的地址递增寄存器,一个32.768 kHz片上集成电容振荡器,一个实时时钟源(RTC)的分频器,可编程的时钟输出,一个定时器,报警器,一个低压检测器和400KHz的I2C接口。所有16个寄存器被设计成可寻址的8位并行寄存器,虽然不是所有的位都有效。前两个寄存器(内存地址00H和01H),用于控制与/或状态寄存器。内存地址02H至08H是时钟功能的计数器,用于(秒、分、时、日、月、年计数器)。内存地址09H至0CH包含定义报警的条件的报警寄存器。内存地址0DH控制CLKOUT的输出频率。0EH和0FH分别是定时控制器和定时器。秒、分钟、小时、天、月、年、以及每分钟报警、小时报警、日报警寄存器都以BCD格式编码。平日和星期报警寄存器不以BCD格式编码。当一个RTC寄存器被读取,所有的寄存器的内容被冻结。因此可以避免在读指令跳转期间,读取时钟/日历时发生错误。PCF8563具有报警功能模式、定时器模式、CLKOUT输出、复位低电压检测器和时钟监视器、低电压检测器和时钟监视器等多种不同的功能,在本系统中,主要将其作为实时时钟模块利用其时钟功能通过8279显示器/键盘接口电路来显示实时时间,便于工作人员实时了解库房温度情况。其方框原理图如下图所示:为了更好的利用PCF8563芯片,我们还必须了解其管脚功能、动静太参数等数据,如图表所示为PCF8563管脚配置及描述:PCF8563静态特性为:PCF8563动态特性为:5.2 软件设计根据上图的PCF8563应用信息,我们拟通过两线式I2C串行接口方式接收各种命令并读写时钟数据。两线式串行I2C接口方式描述如下:(1) 开始条件当SCL 处于高电平时,SDA 由高电平变成低电平时构成一个开始条件,对PCF8563的所有操作均必须由开始条件开始。(2) 停止条件当SCL 处于高电平时,SDA 由低电平变成高电平时构成一个停止条件,此时PCF8563的所有操作均停止,系统进入待机状态。(3) 数据传输当SCL 为低电平,且SDA 线电平变化时,则数据由CPU 传输给PCF8563 (高位在前、低位在后,下同);当SCL为高电平,且SDA 线电平不变时,则CPU 读取PCF8563发送来的数据;当SCL 为高电平,且SDA 电平变化时,PCF8563收到一个开始或停止条件。(4) 确认数据传输以8 位序列进行。PCF8563在第九个时钟周期时将SDA 置位为低电平,即送出一个确认信号(Acknowledge bit,以下简称“ACK”),表明数据已经被其收到。根据PCF8563的实际参数,管脚配置以及以上内容和实际的使用要求,其程序流程图如下图所示:开始设置时间初值写入时钟芯片读实时时钟调显示子程序数据转换,把显示的值送入显示缓冲区是否有脉冲?N时、分数据转换,把显示的值送入显示缓冲区调显示子程序是否有脉冲?YNY时钟流程图之后,根据以上流程图进一步编写系统汇编语言或C语言代码,并通过Keil软件进行仿真模拟,通过后进一步进行接线调试,具体程序见附录。6键盘扫描模块设计6.1软件设计利用8279可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定、程序简单、不会出现误动作等优点。程序框图:开始8279初始化显示器初始化送显示缓冲区显示有键按下吗?计算键值查字型代码YN程序实现见附录。6.2 芯片8279使用介绍8279采用单5V电源供电,40脚封装。DB0DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。CLK:时钟输入线,用以产生内部定时的时钟脉冲。RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。WR:写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。RL2- 1 40 -VCCRL3- 2 39 -RL 1CLK- 3 38 -RL 0IRQ- 4 37 -CNTL/STBRL4- 5 36 -SHIFTRL5- 6 35 -SL 3RL6- 7 34 -SL 2RL7- 8 33 -SL 1RESRT- 9 32 -SL 0RD- 10 31 -OUT B0WR- 11 30 -OUT B1DB0- 12 29 -OUT B2DB1- 13 28 -OUT B3DB2- 14 27 -OUT A0DB3- 15 26 -OUT A1DB4- 16 25 -OUT A2DB5- 17 24 -OUT A3DB6- 18 23 -BDDB7- 19 22 -CSVSS- 20 21 -A0IRQ:中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/传感器RAM中有数据时,此中断线变为高电平,在FIFO/传感器RAM每次读出时,中断线就下降为低电平,若在RAM中还有信息,则此线重又变为高电平。在传感器工作方式中,每当探测到传感器信号变化时,中断线就变为高电平。SL0SL3:扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可被编程或被译码。RL0RL7:回送线,经过按键或传感器开关与扫描线联接,这些回送线内部设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,均保持高电平。SHIFT:换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT开关时,SHIFT输入端保持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。CNTL/STB:当CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平,对于键盘输入方式,此线用作控制输入端,当键被按下时,按键位置就和控制输入状态一起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFO RAM中。OUTA3OUTA0及OUTB3OUTB0:显示输出A口及B口,这两个口是164切换的数字显示。这两个端口可被独立控制,也可看成一个8位端口。BD:空格显示,此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示空格字符。VCC:+5V电源输入线。VSS:地线输入线。7.系统输入模块设计7.1硬件设计输入采用4x4按键键盘,由8279辅助控制。详细内容如下:键盘接口原理:a.键盘输入的特点:键盘是一组按键开关的集合。行线电压信号通过键盘开关机械触电的断开、闭合,输出波形如下图:b.按键的确认方法:检测行线电平: 高电平断开,低电平闭合。键盘接口的工作原理:无键按下,该行线为高电平,当有键按下时,行线电平由列线的电平来决定。由于行、列线为多键共用,各按键彼此将相互发生影响,必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。c.按键的识别方法:采用线反转法第一步:列线输出为全低电平,则行线中电平有高变低的所在行为按键所在行。第二步:行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。综合上述两步,可确定按键所在行和列。d.键盘的工作方式:键盘的工作方式为中断工作方式。只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,单片机将不理睬键盘。接下来,为了进一步在实验中对8279进行合理的使用,必须了解其管脚配置及功能,才能根据其功能进行编译与硬件的设置:7.2软件设计:8279键盘扫描的程序流程图如下图所示:具体的程序实现见附录。8.系统显示模块设计8.1 硬件设计同时,根据系统的显示要求,采用七段数码管显示。图4.9-1共阴极接法共阳极接法如图4.9-1所示,LED数码管由7个发光二极管组成,此外,还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。LED数码管中的发光二极管共有两种连接方法:1) 共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。实验中使用的LED显示器为共阴极接法2) 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED显示器的字形代码正好一个字节。若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则用共阴极LED数码管显示十六进制数时所需的字形代码如表4.9-1所示。表4.9-1 共阴极LED数码管字形代码字型共阴极字形代码字型共阴极字形代码字型共阴极字形代码03FH67DHC39H106H707Hd5EH25BH87FHE79H34FH96FHF71H466HA77H灭00H56DHb7CH本设计采用共阴极接线方法。8.2 软件设计其程序流程图如下图所示:之后,根据以上流程图进一步编写系统汇编语言或C语言代码,并通过Keil软件进行仿真模拟,通过后进一步进行接线调试,具体程序见附录9.系统主程序设计采用模块化设计方法,是各个程序间的不良影响降低,相对独立的工作,是本设计的一大优点:具体流程图如下:具体程序实现见附录。10单片机功能设计与总结10.1 主控单片机功能及原理介绍本课题设计的温度控制系统主控制芯片选型为STC89C52单片机。1单片机简介51系列单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。STC89C52单片机是深圳宏晶科技有限公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个512K的片内数据存储器RAM;4K片内程序存储器;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHZ。以上各个部分通过内部总线相连接。2.STC89C52单片机时序 STC89C52单片机的一个执器周期由6个状态(s1s6)组成,每个状态又持续2个震荡周期,分为P1和P2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12MHz的晶体振荡器,则每个机器周期为1us,每个状态周期为16us;在一数情况下,算术和逻辑操作发生在N期间,而内部寄存器到寄存器的传输发生在P2期间。对于单周期指令,当指令操作码读人指令寄存器时,使从S1P2开始执行指令。如果是双字节指令,则在同一机器周期的s4读人第二字节。若为单字节指令,则在51期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加1。在加结束时完成指令操作。多数STC89C52指令周期为12个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。 对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读人两个字节,但Movx指令例外,Movx指令是访问外部数据存储器的单字节双机器周期指令,在执行Movx指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。3.STC89C52单片机引脚介绍STC89C52单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。下面按引脚功能分为4个部分叙述个引脚的功能。(1)电源引脚Vcc和VssVcc(40脚):接+5V电源正端;Vss(20脚):接+5V电源正端。(2)外接晶振引脚XTAL1和XTAL2XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接。(3)控制信号或与其它电源复用引脚 控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。(A)RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。(B)ALE/ P (30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低(C)PSEN(29脚):片外程序存储器读选通输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PESN信号将不出现。(D)EA/Vpp(31脚):EA为访问外部程序储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器4KB(MS52子系列为8KB)。若超出该范围时,自动转去执行外部程序存储器的程序。当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。 (4)输入/输出(I/O)引脚P0口、P1口、P2口及P3口(A).P0口(39脚22脚):P0.0P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。(B).P1口(1脚8脚):P1.0P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。(C).P2口(21脚28脚):P2.0P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。(D).P3口(10脚17脚):P3.0P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。P3口的第2功能见下表 表单片机P3.0管脚含义引脚第2功能P3.0RXD(串行口输入端0)P3.1TXD(串行口输出端)P3.2INT0(部中断0请求输入端,低电平有效)P3.3INT1(中断1请求输入端,低电平有效)P3.4T0(时器/计数器0计数脉冲端)P3.5T1(时器/计数器1数脉冲端)P3.6WR(部数据存储器写选通信号输出端,低电平有效)P3.7RD(部数据存储器读选通信号输出端,低电平有效)综上所述,MCS51系列单片机的引脚作用可归纳为以下两点:1).单片机功能多,引脚数少,因而许多引脚具有第2功能;2).单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。10.2系统硬件电路设计单片机最小系统电路库房温度控制系统设计中,控制核心是STC89C52单片机,该单片机为51系列增强型8位单片机,它有32个I/O口,片内含4K FLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1S。使用该单片机完全可以完成设计任务,其最小系统主要包括:复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择),电路如下图2所示:图、单片机最小系统本系统采用STC89C52单片机作为核心控制体。该单片机属于DIP封装的PDI40口管脚。具有4个输入输出端口,分别为PORT0,PORT1,PORT2,PORT3,其中P0口是一组8位漏极开路型双向I0口,校验时,要求接上拉电阻。其他三个内部有30K的电阻,所以不用再外接电阻。此单片机具有6个中断,为全双工通信口。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。 相比较其他芯片来说价格适中,适合学生使用,故采用此单片机作为核心控制芯片。单片机I/O设置及外围电路如下图所示:单片机采用I2C总线接口技术。I2C总线的数据传送协议如下:(a) 总线必须由主设备控制。主设备提供串行时钟,控制数据传送方向,并产生起始和结束信号。无论是主设备还是从设备,接收一个字节必须发出一个确认信号ACK。(b) I2C的时钟线SCL和数据线SDA都是双向的。总线空闲时,SCL和SDA都必须保持高电平。(c) 在时钟线保持高电平期间,数据线出现的由高到低的跳变定义为起始信号(S),启动I2C总线操作;数据线上出现的由低到高的跳变定义为停止信号(P),终止总线的数据传送。(d) I2C总线的数据传送格式为:起始信号S后,主设备送出8位的地址字节,以选择从设备并指定数据的传送方向,其后传送数据。I2C总线上传送的每一个数据均为8位,数据个数没有限制。每传送一个字节后,接受设备都必须发一位应答信号ACK,发送设备确认后,再发送下一个字节数据。每一字节数据都是由最高有效位依次到最低位。在全部数据发送结束后,主设备发送终止信号P。4.2.2 I2C总线接口的软件实现 对I2C总线接口器件的所有操作,都必须符合I2C总线协议。对于没有I2C控制器的51系列单片机,可用软件完成这项任务。图(a)所示为AT24C16的字节写操作时序。可以看出,主设备首先要启动I2C操作,发出启动信号S,随后是器件地址,然后是一个0,表示写操作。下一个时钟周期,从主设备发回应答信号A,主设备再发送器件内部单元8位地址,从设备又发回应答信号,主设备讲欲写入的数据发出,设备应答后,主设备发出停止信号P,写操作时序结束,AT24C16启动内部的写周期将数据永久保存。所有的地址或者数据都是高位在前,低位在后传送。图(b)为AT24C16的随机读操作时序。前半部分与字节写相同,只是在设备第二次发回应答信号后,主设备再次发出启动信号S,然后是从设备器件地址,随后是一个1,表示读操作。从设备发回应答信号,后续字节是从设备发出的存储单元内容。最后,主设备发送一个非应答信号NA(1)和一个停止信号P,从而完成读操作。综上所述,确定单片机后即可确定系统整体硬件电路,系统硬件电路连线图(硬件原理图)如下图所示:8279提供的8位7段数码管及4X4矩阵键盘连线:时钟电路连线:DS18B20电路连线:蜂鸣器(低电平有效)输入端连至单片机P3.3口。10.3系统所需器件总结蜂鸣器(低电平有效), DS18B20温控元件、8051单片机、8279键盘显示器(包括芯片与八位七段译码器一起4x4按键键盘)、LED显示灯(8位7段数码管)、PCF8563时钟电路芯片,导线若干等。10.4 系统软件设计总结用户通过4x4行列式键盘输入环境允许的最高温度T1和最低温度T2以及本地时间。温度传感器DS18B20

温馨提示

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

评论

0/150

提交评论