单片机课程设计报告 一个数字温度的控制检测的电路板产品设计

上传人:仙*** 文档编号:28158236 上传时间:2021-08-23 格式:DOC 页数:35 大小:667.51KB
返回 下载 相关 举报
单片机课程设计报告 一个数字温度的控制检测的电路板产品设计_第1页
第1页 / 共35页
单片机课程设计报告 一个数字温度的控制检测的电路板产品设计_第2页
第2页 / 共35页
单片机课程设计报告 一个数字温度的控制检测的电路板产品设计_第3页
第3页 / 共35页
点击查看更多>>
资源描述
第一章: 概 述1第二章: 课程设计功能描述2第三章: 课程设计分析设计33.1. 温度采集系统33.2. DS18B20单线数字温度传感器33.2.1.DS18B20的管脚43.2.2.DS18B20存储器53.2.3.DS18B20高速暂存存储器53.2.4.DS18B20有4个主要的数据部件63.2.5.DS18B20和电源的接线方式73.3. DS18B20的工作原理83.3.1.DS18B20的初始化83.3.2.对DS18B20写和读93.3.3.DS18B20在应用中应注意的事项123.4. AT89S52单片机简介133.4.1. AT89S52主要功能列举如下133.4.2. AT89S52各引脚功能介绍13第四章:绘制硬件电路图并对硬件电路图进行说明164.1.PROTUEL软件简介164.2.PROTUEL软件特色17第五章:绘制软件流程图和对软件流程图的介绍19第六章:上机调试及运行结果216.1.对proteus的简介216.2.proteus功能特点216.3.电路仿真226.4.调试遇到的问题分析226.5. PRTEUS原理图22总结23参考文献24附录25第一章: 概 述大学本科学生动手能力的培养和提高是大学本科教育的一个重要内容。如何让学生在学好基础知识的同时,迅速掌握应用技术,实验与课程设计环节起着非常重要的作用。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。基于单片机的强大功能和重要作用,也为了提高我们的动手能力,使我们能把理论学习和实践操作结合起来,加深对理论学习的理解。我们在1011学年的下半学期第十四、十五和十六周进行了单片机应用这样的课程设计。课设的具体内容是通过DS18B20这个一总线数字传感器,用C52控制实现对温度的实时监测,并且超过设定的最高或最低温度时可以自动报警,这个最高和最低温度可以通过对单片机的控制来随意设置。第二章: 课程设计功能描述本次单片机应用的课程设计要求是运用AT89S52,DS18B20和四个开关以及若干导线、电阻、三极管设计并制作一个数字温度的控制检测的电路板产品其具体实现的功能如下:1.能过实现运用DS18B20这一温度传感器可以实时准确的检测出当前的温度,并将检测的温度清楚准确的显示在四位集成数码管上。2.能够运用AT89S52可以控制DS18B20的检测的过程,在数码管上可以初始化显示。3.能够设置最高温度和最低温度,并且通过开关控制AT89S52可以把最高温度和最高温度可以显示在数码管上。4.能够通过开关控制AT89S52,可以调整最高温度和最低温度。5.能过实现当检测的实际温度高于最高温度或低于最低温度时都能够报警提示。第三章: 课程设计分析设计3.1. 温度采集系统如图3.1所示为温度采集报警系统框图。该课程设计将以单片机控制的温度采集系统为主,利用单片机完成对温度的检测,实现安全温度内正常显示温度值,超出设定温度则进行报警。系统在温度采集时主要应用DS18B20芯片,该器件经过初始化后单片机首先进行ROM匹配,当收到测温器件发回的信号时证明该器件正常工作,接着单片机发出温度转换命令进行温度采集,测温的精确度很高,设计中用三极管进行数码管显示驱动。图3.1 系统图框3.2. DS18B20单线数字温度传感器DS18B20、 DS1822 “一线总线”数字化温度传感器是DALLAS最新单线数字温度传感器, 同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 图3.2 DS18B20内部结构图3.2.1.DS18B20的管脚DS18B20内部结构主要有四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下:DQ为数字信号输入/输出端GND为电源地VDD为外接电源输入端图3.3 DS18B203.2.2.DS18B20存储器DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。存储器能完整的确定一线端口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些数字。当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中。当修改过寄存器中的数时,这个过程能确保数字的完整性。 高速暂存器RAM是由8个字节的存储器组成;第一和第二个字节是温度的显示位。第三和第四个字节是复制TH和TL,同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新;六、七、八三个字节是计算机自身使用。用读寄存器的命令能读出第九个字节,这个字节是对前面的八个字节进行校验。3.2.3.DS18B20高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在 高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算: 当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表3.1是对应的一部分温度值。第九个字节是 冗余检验字节。表3.1 DS18B20暂存寄存器分布根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行 复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后 释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。3.2.4.DS18B20有4个主要的数据部件光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位 (28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用 是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625/LSB形式表达,其中S为符号位。图3.4 DS18B20测温原理框图3.2.5.DS18B20和电源的接线方式DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源。当VDD端口接3.0V5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。图3.5 DS18B20寄生电源供电方式此次课设我们用的是外部电源供电方式,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的GND引脚不能悬空 ,否则不能转换温度,读取的温度总是85。图3.6 DS18B20外接电源供电方式3.3. DS18B20的工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如图3.4所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 3.3.1.DS18B20的初始化主机首先发出一个480960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。 做为从器件的DS18B20在一上电后就一直在检测总线上是否有480960微秒的低电平出现,如果有,在总线转为高电平后等待1560微秒后将总线电平拉低60240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。 图3.7初始化时序图3.3.2.对DS18B20写和读接下来就是主机发出各种操作命令,但各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。因此首先要搞清主机是如何进行写0、写1、读0和读1的。写周期最少为60微秒,最长不超过120微秒。写周期一开始做为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。图3.8写操作的时序图对于读数据操作时序也分为读0时序和读1时序两个过程。读时隙是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。采样期内总线为高电平则确认为1。完成一个读时序过程,至少需要60us才能完成图3.9读操作的时序图DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,如果出现序列混乱, 1-WIRE 器件将不响应主机,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。根据 DS18B20 的协议规定,微控制器控制 DS18B20 完成温度的转换必须经过以下 3个步骤 :(1)每次读写前对 DS18B20 进行复位初始化。复位要求主 CPU 将数据线下拉 500us ,然后释放, DS18B20 收到信号后等待 16us60us 左右,然后发出60us240us 的存在低脉冲,主 CPU 收到此信号后表示复位成功。(2)发送一条 ROM 指令(3)发送存储器指令表3.2 DS18B20的ROM指令集表3.3 DS18B20的RAM指令集现在我们要做的是让DS18B20进行一次温度的转换,那具体的操作就是:1、主机先作个复位操作,2、主机再写跳过ROM的操作(CCH)命令,3、然后主机接着写个转换温度的操作命令,后面释放总线至少一秒,让DS18B20完成转换的操作。在这里要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制为11001100,在写到总线上时要从低位开始写,写的顺序是“零、零、壹、壹、零、零、壹、壹”。读取RAM内的温度数据。同样,这个操作也要接照三个步骤。1、主机发出复位操作并接收DS18B20的应答(存在)脉冲。2、主机发出跳过对ROM操作的命令(CCH)。3、主机发出读取RAM的命令(BEH),随后主机依次读取DS18B20发出的从第0一第8,共九个字节的数据。如果只想读取温度数据,那在读完第0和第1个数据后就不再理会后面DS18B20发出的数据即可。同样读取数据也是低位在前的。在这里说明一下,第二步跳过对ROM操作的命令是在总线上只有一个器件时,为节省时间而简化的操作,若总线上不止一个器件,那么跳过ROM操作命令将会使几器件同时响应,这样就会出现数据冲突。3.3.3.DS18B20在应用中应注意的事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1. 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此 ,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对 DS1820操作部分最好采用汇编语言实现。2. 在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个 DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时 要加以注意。3. 连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的 测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正 常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考 虑总线分布电容和阻抗匹配问题。4. 在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦 某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予 一定的重视。 测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地3.4. AT89S52单片机简介AT89S52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。3.4.1. AT89S52主要功能列举如下1、拥有灵巧的8位CPU和在系统可编程Flash2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3、内部程序存储器(ROM)为 8KB4、内部数据存储器(RAM)为 256字节5、32 个可编程I/O 口线6、8 个中断向量源7、三个 16 位定时器/计数器8、三级加密程序存储器9、全双工UART串行通道3.4.2. AT89S52各引脚功能介绍VCC:AT89S52电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为Program Store Enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0(P0.0P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0A7,再配合端口2所送出的A8A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。第四章:绘制硬件电路图并对硬件电路图进行说明4.1.PROTUEL软件简介早期的PROTEL主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的PROTEL已发展到PROTEL99(网络上可下载到它的测试板),是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100布通率。在国内PROTEL软件较易买到,有关PROTEL软件和使用说明的书也有很多,这为它的普及提供了基础。想更多地了解PROTEL的软件功能或者下载PROTEL99的试用版,可以在INTERNET上。4.2.PROTUEL软件特色Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。 以下介绍一些Protel99SE的部分最新功能:1,可生成30多种格式的电气连接网络表; 2,强大的全局编辑功能; 3,在原理图中选择一级器件,PCB中同样的器件也将被选中; 4,同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络 5,既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性; 6,满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便易用的数模混合仿真(兼容SPICE 3f5); , 7,方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果; 8,独特的3D显示可以在制板之前看到装配事物的效果; 9,强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等; 在原理图部分,新增加“灵巧粘帖”可以将一些不同的对象拷贝到原理图当中,比如一些网络标号, 一页图纸的BOM表,都可以拷贝粘帖到原理图当中。原理图文件切片,多个器件集体操作,文本筐的直接编辑,箭头的添加,器件精确移动,总线走线,自动网标选择等! 强大的前端将多层次、多通道的原理图输入、VHDL开发和功能仿真、布线前后的信号完整性分析功能。在信号仿真部分,提供完善的混合信号仿真,在对XSPICE 标准的支持之外,还支持对Pspice模型和电路的仿真。对FPGA设计提供了丰富的IP内核,包括各种处理器、存储器、外设、接口、以及虚拟仪器 。在PCB部分,除了Protel2004中的多通道复制;实时的、阻抗控制布线功能;SitusTM自动布线器等新功能以外,Altium Designer 6.0还着重在:差分对布线,FPGA器件差分对管脚的动态分配, PCB和FPGA之间的全面集成,从而实现了自动引脚优化和非凡的布线效果。还有PCB文件切片,PCB多个器件集体操作,在PCB文件中支持多国语言(中文、英文、德文、法文、日文),任意字体和大小的汉字字符输入,光标跟随在线信息显示功能,光标点可选器件列表,复杂BGA器件的多层自动扇出,提供了对高密度封装(如BGA)的交互布线功能, 总线布线功能,器件精确移动,快速铺铜等功能。图4.1 PROTEL原理图图4.2 PCB板第五章:绘制软件流程图和对软件流程图的介绍首先启动系统,然后初始化DS18B20,初始化的目的是检测单片机的外部连接的DS18B20和单片机的连接状态是否良好并且检测DS18B20是否处于正常工作状态。DS18B20处于正常工作的状态并且单片机得到DS18B20的应答,那么接这就跳过ROM,跳过对ROM操作的命令是在总线上只有一个器件时,为节省时间而简化的操作,若总线上不止一个器件,那么跳过ROM操作命令将会使几器件同时响应,这样就会出现数据冲突。 接着单片机发出温度转换命令,DS18B20开始进行温度的检测和转换,将检测的结果显示在数码管上,这时单片机根据DS18B20传来的数据进行判断,如果检测的温度大于设定的最高温度或低于设定的最低温度,此时进行报警,报警后返回初始化。如果没有超过设定温度直接返回初始化。图5.1 流程图第六章:上机调试及运行结果6.1.对proteus的简介软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器6.2.proteus功能特点原理布图 自动或人工布线 SPICE电路仿真革命性的特点(1)互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。6.3.电路仿真在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。6.4.调试遇到的问题分析我们在调试的过程中遇到了很多问题,整个调试的过程实际上就是解决这些问题的过程。首先我们仿真的时候我们发现数码管根本不会显示,我们很失望,后来经过分析发现三极管接反了,本来是三极管的发射极与集成数码管的位相连接,集电极接电源,而我们正好接反了,后来改正后数码管可以显示了。接着我们遇到的问题就是我们的数码管显示错误,我们认真的检查后发现我们的程序和所用的数码管不一致,我们程序是共阳极的,但是我们在选器件的时候选成了共阴极,后来我们改正了错误。改完后发现数码管的四位数字显示的顺序正好相反,我们分析后觉得是单片机和集成数码管的位连接的时候位接反了。我们在调试的过程中是把改我们的原理图和改程序结合者进行调试的最终达到了我们的期望得到的结果。6.5. PRTEUS原理图图6.1 PROTEUS仿真图图6.2 焊接产品总结本次课程设计的写作是在老师的指导下进行的。针对在写作过程中遇到许多的难题老师都给以认真的解释,为此,向老师表示最衷心的谢意。我在这次课程设计中,学会了怎么去发现问题,解决问题。遇到不明白的问题都会积极的去询问老师,或者去找寻相关的资料。从中学到了很多知识。这次课程设计使我们有机会把我们的课堂理论知识运用到实际生活中,贴近生活,实现我们的人生价值。并且通过对知识的综合利用,加入个人的分析和比较,加深了了我们对理论知识的理解和运用。参考文献【1】倪晓军 单片机原理与接口技术 北京:清华大学大学出版社 2009.9【2】 廖常初 PLC 编程及应用 北京:机械工业出版社 2010.1【3】 胡学林 可编程控制器教程 北京:电子工业出版社 2008.6附录#include #define uint unsigned int#define uchar unsigned char /宏定义sbit p34=P24;sbit p35=P25;sbit p36=P26;sbit dp=P07;sbit p37=P27;sbit DQ=P22; /定义DS18B20总线I/Osbit SET=P31; /定义选择报调整警温度上限和下限(1为上限,0为下限)/*P3.2和P3.3为调整温度报警增加键和减少键*/sbit LING=P20; /定义响铃signed char m; /温度值全局变量bit sign=0; /外部中断状态标志signed char shangxian=38; /上限报警温度,默认值为38signed char xiaxian=6; /下限报警温度,默认值为5uchar code LEDData=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;/*延时子程序*/void Delay(uint i) while( i- );/*初始化DS18B20*/void Init_DS18B20(void) unsigned char x=0; DQ=1; Delay(8); /稍做延时 DQ=0; /单片机将DQ拉低 Delay(80); /精确延时,大于480us DQ=1; /拉高总线 Delay(14); x=DQ; /稍做延时后,如果x=0则初始化成功,x=1则初始化失败 Delay(20);/*读一个字节*/unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for (i=8;i0;i-) DQ=0; / 给脉冲信号 dat=1; DQ=1; / 给脉冲信号 if(DQ) dat|=0x80; Delay(4); return(dat);/*写一个字节*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ=0; DQ=dat&0x01; Delay(5); DQ=1; dat=1; void Tmpchange(void) /发送温度转换命令 Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0x44); /启动温度转换/*读取温度*/unsigned int ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Tmpchange(); Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0xBE); /读取温度寄存器 a=ReadOneChar(); /读低8位 b=ReadOneChar(); /读高8位 t=b; tshangxian | mxiaxian) LING=1; /温度不在范围内报警 else LING=0;p34=0;p35=0;p36=0;p37=0; P0 =LEDDatad; /显示小数点后两位 p34=1;p35=0;p36=0;p37=0; Delay(300);p34=0;p35=0;p36=0;p37=0; P0 =LEDDatac; /显示小数点后一位p34=0;p35=1;p36=0;p37=0; Delay(300);p34=0;p35=0;p36=0;p37=0; P0 =LEDDatab; /显示个位dp=0;p34=0;p35=0;p36=1;p37=0; Delay(300);p34=0;p35=0;p36=0;p37=0; P0 =LEDDataa; /显示十位p34=0;p35=0;p36=0;p37=1; Delay(300);p34=0;p35=0;p36=0;p37=0; /关闭显示disptiaozheng() uchar f,g,j,k; f=shangxian/10; g=shangxian%10; j=xiaxian/10; k=xiaxian%10;p34=0;p35=0;p36=0;p37=0; P0 =0xc0; /显示0p34=1;p35=0;p36=0;p37=0; Delay(200);p34=0;p35=0;p36=0;p37=0; P0 =0xc0; /显示0p34=0;p35=1;p36=0;p37=0; Delay(200);p34=0;p35=0;p36=0;p37=0; if(SET=1) P0 =LEDDatag; dp=0; /显示上限温度个位 else P0 =LEDDatak; dp=0; p34=0;p35=0;p36=1;p37=0; Delay(200);p34=0;p35=0;p36=0;p37=0; if(SET=1) P0 =LEDDataf; /显示上限温度十位 else if(f=0) P0=0x00; /不显示下限温度十位 else P0 =LEDDataj; /显示下限温度十位 p34=0;p35=0;p36=0;p37=1; Delay(200);p34=0;p35=0;p36=0;p37=0; /关闭显示 Delay(20); /*外部中断0服务程序*/void int0(void) interrupt 0 EX0=0; /关外部中断0 sign=1; if(SET=1) shangxian+; else xiaxian+; Delay(500); EX0=1; /*外部中断1服务程序*/void int1(void) interrupt 2 EX1=0; /关外部中断0 sign=1; if(SET=1) shangxian-; else xiaxian-; Delay(500); EX1=1; /*主函数*/void main(void) uint z; IT0=1; IT1=1; EX0=1; EX1=1; EA=1; ReadTemperature(); LING=0; for(z=0;z100;z+) Disp_init(); while(1) Disp_Temperature(); if(sign=1) for(z=0;z300;z+) disptiaozheng(); sign=0; 参考文献【1】倪晓军 单片机原理与接口技术 北京:清华大学大学出版社 2009.9【2】 霍孟友 王爱群 单片机原理与应用学习概要及题解 机械工业出版社 2005.3【3】 贾好来 MCS-51单片机原理及应用 机械工业出版社 2007.634
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!