第一部分:温度的显示与控制系统设计摘要:本设计通过51单片机控制DS18B20芯片采集温度,并对采集温度进行分析,随后51单片机对不同温度范围进行判断并做出相应的措施,以此实现了一个温度检测与控制系统,本设计的一个创新就是可以通过矩阵键盘对所需正常温度进行自由设置,增加本设计系统的灵活性。
此外,本设计都是采用C语言编写的。
仿真软件PROTEUS与Keil µVision2开发环境介绍1.1、PR0TEUS软件介绍(一)、该软件的特点:1、全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
2、具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
3、目前支持的单片机类型有:68000 系列、8051 系列、A VR 系列、PIC12 系列、PIC16 系列、PIC18系列、Z80 系列、HC11 系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
总之,该软件是一款集单片机和SPICE 分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。
(二)、ISIS智能原理图输入系统ISIS是Preoteus系统的中心,具有控制原理图画图的超强的设计环境。
ISIS有以下特性:1、出版质量的原理图ISIS提供给用户图形外观,包括线宽、填充类型、字符等的全部控制,使用尸能够生成如杂志上看到的精美的原理图,画完图可以以图形文件输出,画图的外形由风格模板定义。
2、良好的用户界面IsIs有一个无连线方式,用户只需单击元件的引脚或者先前布好的线,就能实现布线此外,摆放、编辑、移动和删除操作能够直接用鼠标实现.无需去单击菜单或图标。
3.自动走线只要单击想要连接的两个引脚,就能简单地实现走线。
在特殊的位置需要布线时,使用者只需在中间的角落单击。
自动走线也能在元件移动的时候操作,自动解决相应连线。
节点能够自动布置和移除。
既节约了时间,又避免了其他可能的错误。
4.层次设计ISIS支持层次图设计,模块可画成标准元件,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次,模块可画成标准元件,在使用中可放置和删除端口的子电路模块。
5、总线支持ISIS提供的不仅是一根总线,还能用总线引脚定义元件和子电路。
因此,一个连线在处理器和存储器之间的32位的处理器总线可以用单一的线表示,节省绘图的时间和空间。
6.元件库ISIS的元件库包含8000个元件,有标准符号、三极管、二极管、热离子管、TTL CMOS、ECL、微处理器,以及存储器元件、PLD、模拟Ic和运算放大器。
7.可视封装工具原理图和PCB库元件的匹配是由封装工具简化的。
在原理图部分的引脚旁边将显示PCB的封装,并允许每个引脚名对应文本和图形的引脚号码。
8.复合元件ISIS的元件库表达方式有很多种,无论是单个元件、同态复合元件、异态复合元件,还是连接器,都可以在原理图上以独立引脚来表达,不用所有线都连到一个独立元件上。
9、元件特性设计中的每个元件都有一定数日的属性或特性。
某些特性控制软件的特定功能(如PCB封装或仿真)用户也可以添加自己的特性。
一旦库建立,就能提供默认值及特性定义。
特性定义提供大量的特性描述,当修改元件时,将显示在编辑区域内。
10、报告ISIS支持许多第三方网表格式,因此能为其他软件所使使用.设置元件清单后可以添加用户所需的元件属性,也可设置属性列以挑选一定数目的属性。
ERC报告可列出可能的连线错误,如末连接的输入、矛盾的输出及未标注的网络标号。
(三)、Proteus 6 Professional 界面简介安装完Proteus 后,运行ISIS 6 Professional,会出现以下窗口界面:1.原理图编辑窗口(The Editing Window):顾名思义,它是用来绘制原理图的。
蓝色方框内为可编辑区,元件要放到它里面。
注意,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。
2.预览窗口(The Overview Window):它可显示两个内容,一个是:当你在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容,因此,你可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。
3.模型选择工具栏(Mode Selector Toolbar):主要模型(Main Modes):1* 选择元件(ponents)(默认选择的)2* 放置连接点3* 放置标签(用总线时会用到)4* 放置文本5* 用于绘制总线6* 用于放置子电路7* 用于即时编辑元件参数(先单击该图标再单击要修改的元件配件(Gadgets):1* 终端接口(terminals):有VCC、地、输出、输入等接口2* 器件引脚:用于绘制各种引脚3* 仿真图表(graph):用于各种分析,如Noise Analysis4* 录音机5* 信号发生器(generators)6* 电压探针:使用仿真图表时要用到7* 电流探针:使用仿真图表时要用到8* 虚拟仪表:有示波器等2D 图形(2D Graphics):1* 画各种直线2* 画各种方框3* 画各种圆4* 画各种圆弧5* 画各种多边形6* 画各种文本7* 画符号8* 画原点等4.元件列表(The Object Selector):用于挑选元件(ponents)、终端接口(terminals)、信号发生器(generators )、仿真图表(graph )等。
举例,当你选择“元件(ponents)”,单击“P”按钮会打开挑选元件对话框,选择了一个元件后(单击了“OK”后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。
5.方向工具栏(Orientation Toolbar):旋转:旋转角度只能是90的整数倍。
翻转:完成水平翻转和垂直翻转。
使用方法:先右键单击元件,再点击(左击)相应的旋转图标6.仿真工具栏仿真控制按钮1* 运行2* 单步运行3* 暂停4* 停止(四)、操作简介1、绘制原理图:绘制原理图要在原理图编辑窗口中的蓝色方框内完成。
原理图编辑窗口的操作是不同于常用的WINDOWS 应用程序的,正确的操作是:用左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件;先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键,删除用右键;改连接线:先右击连线,再左键拖动;中键放缩原理图。
2、定制自己的元件:有三个个实现途径,一是用PROTEUS VSM SDK 开发仿真模型,并制作元件;另一个是在已有的元件基础上进行改造,比如把元件改为bus 接口的;还有一个是利用已制作好(别人的)的元件,我们可以到网上下载一些新元件并把它们添加到自己的元件库里面。
由于我没有PROTEUS VSMSDK,所以我只介绍后两个。
3、Sub-Circuits 应用:用一个子电路可以把部分电路封装起来,这样可以节省原理图窗口的空间。
1.2、Keil µVision2软件介绍Keil软件是目前最流行开发MCS-51系列单片机的软件。
Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境µVisiion2将这些部分组合在一起。
Keil uVision2是Keil Software公司出品的51系列兼容C语言软件开发系统,使用接近于传统的语法来开发,与相比,在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。
KEILC51标准C为8051微控制器的提供了C语言环境,同时保留了代码高效,快速的特点。
C51的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision2的中,这个集成开发环境包含:,,,,调试器。
uVision2 IDE可为它们提供单一而灵活的开发环境。
Keil C51软件提供丰富的和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keil c51来开发您的应用程序。
另外重要的一点,只要看一下编译后生成的代码,就能体会到Keil C51生成的效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
二、设计基本原理本设计通过51单片机对DS18B20和LCD1602两款外设芯片进行驱动与控制,以此来实现系统功能。
、51单片机原理及管教功能1、简介89C51是一种带4K字节闪烁可编程可擦除(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位,俗称。
的可擦除可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。
89C单片机为很多提供了一种灵活性高且价廉的方案。
2、结构特点8位CPU;片内振荡器和;32根I/O线;外部存贮器寻址范围ROM、RAM64K;2个16位的/计数器;5个,两个;全双工;布尔处理器;3、管脚说明VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为输入。
P0能够用于外部程序数据,它可以被定义为数据/89C51引脚图地址的低八位。
在FIASH编程时,P0 口作为输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。