




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及应用课程设计说明书pcb图,仿真 语言程序 原理图等全套设计,联系153893706课程设计说明书课 程 名 称: 微机原理及应用课程设计 课 程 代 码: 题 目: 高温天气报警器 年级/专业/班:2009级/车辆工程/西华理(1) 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 07 月 02 日完 成 时 间: 2012 年 07 月 06 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录摘要31 引言41.1 背景及意义41.2 任务与分析42 系统方案设计53 系统硬件介绍63.1 89c52单片机63.2 ds18b20介绍83.3 1602lcd 介绍144 系统软件设计184.1 proteus软件环境介绍184.2 protel软件环境介绍194.3 keil软件环境介绍205 硬件电路设计205.1 温度采集单元电路205.2 1602lcd显示单元电路205.3 超温报警单元电路215.4 单片机最小系统的设计215.5 温度采集电路的设计226 程序流程图237 系统调试过程26结 论29致 谢30参考文献31 摘 要本设计是基于89c52单片机为控制核心的高温报警系统设计。详细描述了利用ds18b20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了分析,对各部分的电路也进行了介绍。该系统可以方便的实现温度的采集和报警。ds18b20与89c52实现最简温度报警系统,可以用在天气示警领域,系统简单地实现了对正常天气温度,高温橙色报警与高温红色报警。关键词: 89c51单片机 ds18b20温度传感器芯片 lcd显示器 led灯1 引 言 1.1 背景及意义 温度是民用和工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,。随着科学技术的发展,要求温度测量的范围向深度和广度发展,以满足工业生产和科学技术的要求。基于89c52单片机提高了系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度报警器,具有安全可靠、操作简单方便、智能控制等优点。本温度报警器以89c52单片机为控制核心,由一数字温度传感器ds18b20测量被控温度,结合液晶显示屏组合而成。当被测量值超出预设范围则发出警报,且精度高,适用于大多数工业生产以及教育教学领域。温度是一种最基本的环境参数,它是与人类的生活、工作关系最密切的物理量,也是各门学科与工程研究设计中经常遇到和必须精确测量的物理量。从工业炉温、环境气温到人体温度;从空间、海洋到家用电器,各个技术领域都离不开测温和控温。因此,研究温度的测量和控制方法具有重要的意义。1.2任务与分析 本次设计的系统的控制中心是89c52单片机。首先,在protel软件环境中进行硬件电路图的设计。然后在8052软件环境中进行系统的软件编程,并进行程序源文件的编译和调试,最后生成.hex文件。此.hex文件是硬件电路运行实现的源代码来源。把.hex文件加载到89c52单片机芯片,然后在proteus软件环境中运行硬件电路,高温天气报警就可以正常运行了。 本设计的系统主要由:89c52为中央处理芯片,用于数据处理,初值设定。温度传感器ds1820是本例的核心模块,lcd显示,用c语言进行编程。2系统方案设计89c52单片机数字温度传感器三段温度报警lcd显示电路 图2-1 系统总体框图 当程序启动后,程序进入初始化阶段。单片机将从ds18b20中读出并转化温度信息。送入lcd进行显示。当温度在35摄氏度以下时,处于适宜天气状态,绿灯亮。 当温度升高到35以上时,可认为进入高温天气。这时蜂鸣器发出响声作为警告。温度在35-39度时,气象应为橙色预警,由于仿真元件缺少,故用黄色led代替。这时绿灯灭,黄灯亮。 当温度上升至40度时,天气极为炎热,报警等级提升为红色。这时绿色及黄色的led均灭,红色led示警。3 系统硬件介绍3.1 89c52单片机 89c52是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos 8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图3-1 89c52单片机引脚图 89c52单片机与早期intel的8051/8751/8031芯片的外部引脚和指令系统完全兼容,只不过用flash rom 替代了rom/eprom而已。89c51单片机内部结构如图所示。图3-2 89c52单片机内部结构示意图各引脚的功能如下:vcc:供电电压。 gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高3。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr 8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。 /ea:当/ea保持低电平时,则在此期间cpu只访问外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,则执行内部程序存储器中的程序。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。3.2 ds18b20介绍ds18b20是dallas公司继ds1820后推出的一种改进型智能数字温度传感器,与传统的热敏电阻相比,只需一根线就能直接读出被测温度值,并可根据实际需求来编程实现9-12位数字值的读数方式。 图3-3 ds18b20封装形式和引脚功能如图3-3所示,ds18b20的外形如一只三极管,引脚名称及作用如下:gnd:接地端。dq:数据输入/输出脚,与ttl电平兼容。vdd:可接电源,也可接地。因为每只ds18b20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采用数据总线供电方式时vdd接地,可以节省一根传输线,但完成数据测量的时间较长;采用外部供电方式则vdd接+5v,多用一根导线,但测量速度较快。ds18b20内部结构64位rom和单线接口存储和控制逻辑 高速缓存器温度传感器高温触发器th低温触发器tl匹配寄存器8位crc发生器电源检 测cdqvdd内部电源vdd图3-4 ds18b20内部结构图2.2中出示了ds18b20 的主要内部部件,下面对ds18b20内部部分进行简单的描述:(1)64位rom。64位rom是由厂家使用激光刻录的一个64位二进制rom代码,是该芯片的标识号,如表3-1所示: 表3-1 64位rom标识8位循环冗余检验48位序列号8位分类编号(10h)msb lsbmsb lsbmsb lsb 第1个8位表示产品分类编号,ds18b20的分类号为10h;接着为48位序列号。它是一个大于281*1012的十进制编码,作为该芯片的唯一标示代码;最后8位为前56位的crc循环冗余校验码,由于每个芯片的64位rom代码不同,因此在单总线上能够并接多个ds18b20进行多点温度实习检验。(2)温度传感器。温度传感器是ds18b20的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55125范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为0.5、0.25、0.125、0.0625,即最高分辨率为0.0625。芯片出厂时默认为12位的转换精度。当接收到温度转换命令(44h)后,开始转换,转换完成后的温度以16位带符号扩展的的二进制补码形式表示,存储在高速缓存器ram的第0,1字节中,二进制数的前5位是符号位。如果测得的温度大于0,这5位为0,只要将测得的数值乘上0.0625即可得到实际温度;如果温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。(3)高速缓存器。ds18b20内部的高速缓存器包括一个高速暂存器ram和一个非易失性可电擦除的eeprom。非易失性可点擦除eeprom用来存放高温触发器th、低温触发器tl和配置寄存器中的信息。(4)配置寄存器。配置寄存器的内容用于确定温度值的数字转换率。ds18b20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节,该字节定义如表3-2所示: 表3-2 匹配寄存器tmr0r111111tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式,在ds18b20出厂时该位被设置为0,用户不要去改动;r1和r0用来设置分辨率;其余5位均固定为1。ds18b20分辨率的设置如表3-3所示: 表3-3 ds18b20分辨率的设置r1r0分辨率最大转换时间 /ms009位93.750110位187.51011位3751112位750ds18b20依靠一个单线端口通讯。在单线端口条件下,必须先建立rom 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个rom 操作命令之一:1)读rom;2)匹配rom;3)搜索rom;4)跳过rom;5)报警搜索。这些命令对每个器件的激光rom 部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条rom 操作序列后,即可进行存储器和控制操作,控制器可以提供6 条存储器和控制操作指令中的任一条。一条控制操作命令指示ds18b20完成一次温度测量。测量结果放在ds18b20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器th 和tl 各由一个eeprom字节构成。如果没有对ds18b20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对th 和tl 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。 ds18b20供电方式ds18b20可以采用外部电源供电和寄生电源供电两种模式。外部电源供电模式是将ds18b20的gnd直接接地,dq与但单总线相连作为信号线,vdd与外部电源正极相连,ds18b20的dq端口通过接入一个4.7k的上拉电阻到vcc,从而实现外部电源供电方式。寄生电源供电模式中,ds18b20的gnd和vdd均直接接地,dq与单总线相连,单片机其中一个i/o口与ds18b20的dq端相连。 ds18b20的测温原理ds18b20的测温原理如图2.5所示, 其主要由斜率累加器、温度系数振荡器、减法计数器、温度存储器等功能部件组成。 图3-5 ds18b20的测温原理ds1820 是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。ds18b20内部对此计算的结果可提供0.5的分辨率。温度以16bit带符号位扩展的二进制补码形式读出,表2.4 给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。ds18b20测温范围-55+125,以0.5递增。 表3-4 温度数据关系温度数据输出(二进制)数据输出(十六进制)+12500000000 1111101000fa+2500000000 001100100032+0.500000000 000000010001000000000 000000000000-0.511111111 11111111ffff-2511111111 11001110ffce-5511111111 10010010ff92s18b20遵循单总线协议,每次测温时都必须有4个过程: 初始化; 传送rom 操作命令; 传送rom操作命令; 数据交换;ds18b20的rom命令read rom(读rom).命令代码为33h,允许主设备读出ds18b20的64位二进制rom代码。该命令只适用于总线上存在单个ds18b20.match rom(匹配rom)。命令代码为55h,若总线上有多个从设备时,适用该命令可选中某一指定的ds18b20,即只有和64位二进制rom代码完全匹配的ds18b20才能响应其操作。skip rom(跳过rom)。命令代码为cch,在启动所有ds18b20转换之前或系统只有一个ds18b20时,该命令将允许主设备不提供64位二进制rom代码就适用存储器操作命令。search rom(搜索rom)。命令代码为f0h,当系统初次启动时,主设备可能不知纵向上有多少个从设备或者它们的rom代码,适用该命令可确定系统中的从设备个数及其ron代码。alarm rom(报警搜索rom)。命令代码为ech,该命令用于鉴别和定位系统中超出程序设定的报警温度值。write scratchpad(写暂存器)。命令代码为4eh,允许主设备向ds18b20的暂存器写入两个字节的数据,其中第一个字节写入th中,第二个字节写入tl中。可以在任何时刻发出复位命令终止数据的写入。read scratchpad(读暂存器)。命令代码为beh,允许主设备读取暂存器中的内容。从第一个字节开始直到读完第九个字节crc读完。也可以在任何时刻发出复位命令中止数据的读取操作。copy scratchpad(复制暂存器)。命令代码为48h,将温度报警触发器th和tl中的字节复制到非易失性eeprom。若主机在该命令之后又发出读操作,而ds18b20又忙于将暂存器中的内容复制到eeprom时,ds18b20就会输出一个“0”,若复制结束,则ds18b20输出一个“1”。convert t(温度转换)。命令代码为44h,启动一次温度转换,若主机在该命令之后又发出其它操作,而ds18b20又忙于温度转换,ds18b20就会输出一个“0”,若转换结束,则ds18b20输出一个“1”。recall e2(拷回暂存器)。命令代码为b8h。将温度报警触发器th和tl中的字节从eeprom中拷回到暂存器中。该操作是在ds18b20上电时自动执行,若执行该命令后又发出读操作,ds18b20会输出温度转换忙标识:0为忙,1完成。read power supply(读电源使用模式)。命令代码为b4h。主设备将该命令发给ds18b20后发出读操作,ds18b20会返回它的电源使用模式:0为寄生电源,1为外部电源。3.3 1602lcd 介绍 液晶介绍液晶显示器作为显示器件具有体积小、重量轻、功耗低等优点,所以 lcd日渐成为各种便携式电子产品的理想显示器,如计算器,电子表,汽车电子仪表等。根据 lcd 的显示内容划分,可以分为段式 lcd、字符式 lcd 和点阵式 lcd 3 种。1602 字符型 lcd 实物如图3-6所示:图3-6 1602 字符型 lcd 实物图 字符型lcd简介字符型lcd专门用于显示数字、字母、图形符号以及少量自定义符号。这类显示器把lcd控制器、点阵驱动器、字符存储器等做在一块板上,再与液晶屏一起组成一个显示模块,就是上图那样的液晶显示器。目前字符型 lcd 常用的有 16 字 x1 行、16 字 x2 行、20 字 x2 行、20 字 x4 行等液晶模块,型号通常用 xxx1602、xxx1604、xxx2002、xxx2004等其中xxx为厂家商标名称 16代表液晶每行可以显示 16 个字符;02 代表共有 2 行,也就是说这个液晶一共可以显示 32字符。 显示的原理液晶显示的原理是利用液晶的物理特性,通过电压对显示区域进行控制,只要输入所需的控制电压,就可以显示出字符。lcd能够现实字符的关键在于其控制器,目前大部分点阵型 lcd 都使用日立公司的 hd44780 集成电路做为控制器。hd44780 是集驱动器与控制器于一体,专用于字符显示的液晶显示控制驱动集成电路,它的特点如下:(1)显示缓冲区及用户定义区的字符发生器全部内藏在片内。(2)接口数据传输有 8 位和 4 位两种传输模式。(3)具有简单而功能很强的指令集,可以实现字符的移动、闪烁灯功能。hd44780 的工作原理较为复杂,但它的应用却非常简单。只要将待显字符的标准 ascii 码放入内部数据显示存储器(dd ram),内部控制线路就会自动将字符传送到显示器上。例如,要 lcd 显示字符“a”,则只需将 a 的 ascii 码 41h 存入 dd ram,控制线路就会通过 hd44780 的另一个部件字符产生器(cg roma)将 a 的字型点阵数据找出来显示在 lcd 上。 1602 型 lcd 的主要技术参数1. 1602 型 lcd 的主要技术参数如下:显示容量:16x2 个字符芯片工作电压:4.5v5.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.95x4.35(wxh)mm2.引脚功能说明1602lcd 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表3-5表3-5 1062lcd引脚功能编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极+5v10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极其中:第 3 脚:vl 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10k 的电位器调整对比度。第 4 脚:rs 为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。第 5 脚:r/w 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 rs 和 r/w 共同为低电平时可以写入指令或者显示地址,当 rs 为低电平 r/w 为高电平时可以读忙信号,当 rs 为高电平 r/w 为低电平时可以写入数据。第 6 脚:e 端为使能端,当 e 端由高电平跳变成低电平时,液晶模块执命令。 1602 型 lcd 显示字符的过程要用 1602 型 lcd 显示字符必须解决 3 个问题:(1)待显示字符 ascii 标准码产生;(2)液晶显示模式的设置;(3)字符显示位置的指定。其中:(1)字符 ascii 标准码的产生常用字符的标准ascii码,在程序中定义字符常量或字符串常量时,c语言在编译后会自动产生其标准 ascii 码。只要将生成的标准 ascii 码通过单片机的i/o口送入数据显示用存储器(ddram),内部控制线路就会自动将字符传送到显示器上。(2)液晶显示模式的设置包括要让液晶显示字符,必须对有无光标、光标的移动方向、光标是否闪烁及字符的移动方向等进行设置,才能获得所需的显示效果。1602液晶显示模式的设置是通过控制指令对内部的控制器控制而实现的,常用的控制指令见表3-6。 表3-6 常用控制指令表指令指令码说明指令周期fosc=250khzrsr/wdb7db6db5db4db3db2db1db0清屏0000000001清除屏幕,置ac为0,光标回位1.64ms光标返回000000001ddram地址为0,显示回原位,ddram内容不变1.64ms设置输入方式000000011/ds设置光标移动方向并指定显示是否移动40us显示开关0000001dcb设置显示开关d、光标开关c、光标所在字符闪烁b40us移位000001s/cr/l移动光标及整体显示,同内容时不改变ddram40us功能设置00001dlnf设置接口数据位数dl、显示行数l、字符字体f40uscgram地址设置0001acc设置cgram地址,设置后发送接收数据40usddram地址设置001add设置ddram地址,设置后发送接收数据40us 1602 型 lcd 的读写操作lcd 是一个慢显示器件,所以在写每条指令前一定要先读 lcd 的忙碌状态。如果 lcd 正忙于处理其他指令,就等待;如果不忙,再执行写指令。为此,1602 型 lcd 设了一个忙碌标志位 bf,该位链接在 8 位双向数据线的 db7 位上。如果 bf 为低电平“0”,表示 lcd不忙;如果 bf 为高电平“1”,则表示 lcd 处于忙碌状态,需要等待。假定 1602 型 lcd的 8 位双向数据线(db0db7)是通过单片机的 p0 口进行数据传递的,那么只要检测 p0口的 p0.7 引脚电平(db 连 p0.7)就可以知道忙碌标志位 bf 的状态。4 系统软件设计4.1 proteus软件环境介绍本系统的硬件设计首先是在proteus软件环境中仿真实现的。proteus软件是来自英国labcenter electronics公司的eda工具软件,proteus软件有十多年的历史,在全球广泛使用,除了具有和其它eda工具一样的原理布图、pcb自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的。针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。如果有显示及输出,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,还能看到运行后输入输出的效果。proteus建立了完备的电子设计开发环境,尤其重要的是proteus lite可以完全免费,也可以花微不足道的费用注册达到更好的效果。proteus是目前最好的模拟单片机外围器件的工具。可以仿真51系列、avr、pic等常用的mcu及其外围电路(如lcd,ram,rom,键盘,马达,led,ad/da,部分spi器件,部分iic器件.)。其实proteus 与 multisim比较类似,只不过它可以仿真mcu,当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是初学者拥有它们的可能性比较小。当然,硬件实践还是必不可少的。在没有硬件的情况下,proteus能像pspice 仿真模拟/数字电路那样仿真mcu及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也是很有必要的。proteus软件主要具有以下几个方面的特点:1、设计和仿真软件proteus 是一个很有用的工具,它可以帮助学生和专业人士提高他们的模拟和数字电路的设计能力。2、它允许对电路设计采用图形环境,在这种环境中,可以使用一个特定符号来代替元器件,并完成不会对真实电路造成任何损害的电路仿真操作。3、它可以仿真仪表以及可描述在仿真过程中所获得的信号的图表。4、它可以仿真目前流行的单片机,如pics, atmel-avr, motorola, 8051 等。5、在设计综合性方案中,还可以利用ares开发印制电路板。4.2 protel软件环境介绍protel印制板设计软件包是澳大利亚protel technology公司与1990年推出的电子cad产品,具有方便、易学、实用、快速以及高速度、高步通率的特点。它采用了分层次下拉窗口菜单结构形式,用户基本上不需要记背太多的键盘命令,用鼠标点击菜单命令就能操作,protel有着很高的自动布线布通率。布通率是电子产cad产品的一项重要指标,它反映电子元件在电路图中连接关系有多少能在印刷版图中实现。在设计常用的单、双面印制板时只要选择适当的元件布局和布线策略方法,protel就可以轻易的达到98%-100%的布通率。对于极少数不能布通的定方,protel可以用飞线指示出来,引导用户用手工方法连通。另外,protel有强大的宏命令设置功能,利用宏命令功能多定义的热键可以大大提高操作速度。 protel对微机的软硬件配置要求很低:cpu在8088以上,dos2.0以上版本,内存640kb以上,双软件(或一个软件一个硬盘),单色显示器(多层板设计时最好用彩色),各种兼容打印机。也能在windows9x平台的模拟dos下运行。protel已成为印制板设计加工方面的工业标准。据初步统计protel在cad的市场占有率达 95%,成为电子产品制造业界的首选cad软件。4.3 keil软件环境介绍 keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部分组合在一起。运行keil软件需要win98、nt、win2000、winxp等操作系统。如果你使用c语言编程,那么keil几乎就是你的不二之选,即使不使用c语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 2009年2月发布keil vision4,keil vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的arm芯片,还添加了一些其他新功能。 2011年3月arm公司发布最新集成开发环境realview mdk开发工具中集成了最新版本的keil uvision4,其编译器、调试工具实现与arm器件的最完美匹配。5 硬件电路设计5.1 温度采集单元电路图5-15.2 1602lcd显示单元电路图5-25.3 超温报警单元电路温度采集装置收集到的温度超过系统预设的温度,单片机p1.1和p1.0脚、p1.2脚输出信号电平使led灯点亮,从而显示出报警。其单元电路如图3.4所示:图5-3 报警电路5.4 单片机最小系统的设计 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。本次课程设计中选用at89c52式单片机,其最小系统主要由电复位、振荡电路组成。单片机的最小系统如图5-4所示。 单片机的复位电路原理是在单片机的复位引脚rst上电阻和电容,实现上电复位。当复位电平持续两个时钟周期以上时复位有效。复位电路由按键复位和上电复位两部分组成,上电复位是在复位引脚上连接一个电容到vcc,再连接一个电阻到gnd;按键复位是在复位电容上并联一个开关,当开关按下时电容被放电、rst也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。 at89c52单片机使用12mhz的晶振最为振荡源,由于单片机内部有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容一般在15pf至50pf之间。外部晶振结合单片机内部电路产生单片机所需的时钟频率。图5-4 单片机最小系统5.5 温度采集电路的设计温度采集电路部分,采用数字温度传感器ds18b20进行温度采集。ds18b20是dallas公司生产的一线式数字温度传感器,具有3个引脚;温度侧量范围为-55+125,测量精度为0.5;被测温度用符号扩展的16位数字量方式串行输出;cpu只需用一个端口线就可以与ds18b20通信。温度采集电路如图5-5所示。图5-5 温度采集电路发ds18b20复位命令6 程序流程图1.主程序流程图:39结束 图6-1 主程序主要是单片机对温度传感器发来的信息进行转化,对温度传感器传来的天气温度进行判断,三种情况分别进行,最后进行温度显示步骤。2.读出温度子程序:发跳过rom命令 发读取温度命令读取操作,crc校验ny9字节完?crc校验正?yn移入温度暂存器。结 束图6-2读出温度子程序的主要功能是读出 ram 中的 9 字节,在读出时需进行 crc 校验,校验有错时不进行温度数据的改写。3.计算与显示温度子程序: 计算温度子程序将 ram 中读取值进行 bcd 码的转换运算,并进行温度值正负的判定,其程序流程图如图 6-3所示。 显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为 1时将符号显示位移入第一位。程序流程图如图 6-4。7 系统调试过程通过上面的硬件设计和软件设计过程,设计的工作已经基本完成,接下来的工作就是对所设计好的应用系统进行调试。通过调试可以检查出系统出现的一些错误,从而进行下一步的修改。(1)在protel 99 se中,对硬件电路图进行erc电气规则检查,并生成pcb. 图 7-1 protel原理图图7-2 erc电气规则检查结果 图7.3 pcb版示意图 (2) 程序调试程序经过调试显示“0错误,0警告”。表示程序调试通过。图7-4 程序调试通过示意图(3) protues调试图7-5 protues仿真图结 论本设计是以温度采集及控制过程设计为总目标,以89c52单片机最小应用系统为总控制中心,辅助设计有温度采样电路、a/d转换接口、lcd显示器等。本设计的重点、难点是:(1) 要掌握温度传感器的原理、结构、应用等;(2) 考虑从非电量信号到电量信号的电路实现原理以及与单片机的接口;(3) 熟悉mcs-51编程的技术,实现单片机对温度的调节控制;(4) 整体电路的仿真调试。本次设计优点:采用的单片机89c52 性价比高;热敏电阻温度传感器转化温度的方法非常简洁且精度高、测试范围较广。由于时间及精力所限,对温度控制系统做了整体设计,具体实现了其中的温度报警部分设计,即温度控制系统的采集、显示及报警模块。致 谢在课程设计即将结束之际,首先要感谢陈飞老师的指导,我还要特别感谢各位同学给予了我无私的帮助,他们帮我解决了很多设计中遇到的难题,并帮我测试程序。我们将在以后的日子里更加努力的学习,不断的丰富本次设计是自己人生历程上的又一升华,从选题到定稿,再仿真,既是一次知识技能上的挑战,又是一次加快我理解知识,运用知识的成功实践,更重要的是看见自己设计的高温天气报警系统仿真成功,感觉不错。 由于本人学识有限,加之时间仓促,文中不免有错误和待改进之处,真诚欢迎各位师长、同学提出宝贵意见。参考文献1protel99se eda 技术及应用徐峥颖编著,北京:机械工业出版社,20052单片机系统的protues设计与仿真张靖武编著,北京:电子工业出版社,20073单片机原理及接口技术李朝青编著,北京:北京航空航天大学出版社,20054mcs-51单片机应用开发实用子程序边春远编著,北京:人民邮电出版社,2005附:程序代码#include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件unsigned char code digit10=0123456789; /定义字符数组显示数字unsigned char code str= xihua college; /显示西华大学汉语拼音字母unsigned char code error=error!check!; /说明没有检测到ds18b20unsigned char code temp=temp:; /说明显示的是温度unsigned char code cent=c swm; /温度单位c 制作者swmunsigned char j,k,l;unsigned char tn; /储存温度的整数部分sbit rs=p27; /寄存器选择位,将rs位定义为p2.7引脚sbit rw=p26; /读写选择位,将rw位定义为p2.6引脚sbit e=p25; /使能信号位,将e位定义为p2.5引脚sbit bf=p07; /忙碌标志位,将bf位定义为p0.7引脚sbit beep=p35;sbit y=p12;void delay1ms()unsigned char i,j;for(i=0;i4;i+)for(j=0;j33;j+); void delaynms(unsigned char n) unsigned char i;for(i=0;in;i+) delay1ms(); bit busytest(void) bit result;rs=0; /根据规定,rs为低电平,rw为高电平时,可以读状态 rw=1; e=1; /e=1,才允许读写 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 result=bf; /将忙碌标志电平赋给result e=0; /将e恢复低电平 return result; void writeinstruction (unsigned char dictate) while(busytest()=1); /如果忙就等待rs=0; /根据规定,rs和r/w同时为低电平时,可以写入指令rw=0; e=0; /e置低电平(写指令时,e为高脉冲,就是让e从0到1发生正跳变,所以应先置0_nop_();_nop_()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 7健康看电视(教学设计)-2024-2025学年统编版道德与法治四年级上册
- 乡村建筑摄影构图方案设计
- 1.2.3土壤中分解尿素的细菌的分离与计数(教学设计)-2023-2024学年高二下学期生物人教版(2019)选择性必修3
- 硅片研磨工基础考核试卷及答案
- 聚酯薄膜拉幅工质量管控考核试卷及答案
- 2026教师招聘考试题库及答案
- 酒店复工安全管理八大重点
- 羽绒羽毛充填处理工成本预算考核试卷及答案
- 乐山酒店方通施工方案
- 公司满减活动策划方案
- 用绝对值的几何意义来解题市公开课一等奖省赛课微课金奖课件
- 第4课《用联系的观点看问题》第2框《在和谐共处中实现人生发展》-【中职专用】《哲学与人生》同步课堂课件
- 人工智能在个性化健康风险评估中的应用
- 计量安全防护
- DB35T 2054-2022 智慧消防 信息平台通用技术要求
- 食品生物技术原理课件
- 制药工程专业导论
- 北京印刷学院《思想道德与法治》课教育教学情况管理类附有答案
- 初中团员培训课件
- 马克思主义基本原理概论全部-课件
- 【上海旺旺食品集团公司固定资产管理问题及优化研究案例报告(数据图表论文)7400字】
评论
0/150
提交评论