基于DS18B20的温度系统
•  实验目的
了解 DS1820数字温度传感器特性
掌握单片机基本功能的运用、简单接口电路如键盘、 LED显示电路或LCD显示电路设计及其相应驱动软件的编制软、硬件系统的调试
•  实验任务
设计一个具有基于DS1820数字温度传感器的温度检测及显示的系统。要求系统具有以下功能:
•  两路温度检测;
•  具有显示功能;
•  具有用户输入功能;
•  可通过输入补偿温度设定校准;
 
•  实验原理
   原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议,单片机获取指定传感器的数字温度信息,并显示到显示设备上。通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越限检测等。基于DS1820数字温度传感器的温度检测及显示的系统原理图如图1
1 基于DS1820的温度检测系统框图
•  硬件设计
电路设计--单片机基本系统电路:
2 单片机基本系统电路原理图
电路说明:
    综合考虑系统使用到的单片机内部存储资源、系统处理信号的种类、处理数据的速度、系统的 I/O口开销,以及系统的可扩展性能,本系统选用了ATMEL公司的8位低功耗,高性能CMOS单片机,芯片内集成有通用8位中央处理器(兼容标准MCS -51指令系统及80C51引脚结构)和4K/8K Bytes ISP Flash存储单元(可实现在系统编程)。复位电路采用上电复位加按键复位的方式。采用无源晶体提供正弦振荡信号为系统提供时钟,其硬件原理图如图 2所示。
温度检测电路:
   由于采用数字传感器,电路不用考虑A/D转换,只需设计指定某个I/O口作为与数字传感器相连,电路原理图如图示。“1-线协议
3 温度检测电路原理图
电路说明:
    DS18B20的数字温度输出通过一线总线( 1-Wire是被MAXIM公司收购的DALLAS公司新拥有的一种独特的数字信号总线协议,它将独特的 电源线和信号线复合在一起,仅使用一条口线;每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线)这种独特的方式,使多个 DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。
    DS18B20可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但由此带来的缺点是完成温度测量的时间较长;而采取外部供电方式则多用一根导线,但测量速度较快。本设计采用一总线2路温度测量使用外部供电,如图3所示。
键盘控制电路:
4 键盘控制电路原理图
电路说明:
    为了节约系统硬件开销,设计方案中键盘模块没有采用ZLG7289或者ZLG7290等专用的键盘控制芯片。使用普通的行列扫描键盘的优点是没有更多的外围电路,缺点是如果软件调试不当可能引起按键连击,为系统的运行带来不稳定。系统使用键盘电路为四行四列16个按键的行列扫描式键盘,其电路原理图如图4所示。    从图中的硬件连接看来,键盘接口并没有增加任何其他的附加驱动电路,而是直接和单片机的引脚相连。操作时直接用程序设置单片机相应的端口驱动按键。
显示电路:
5 LED显示电路原理图
电路说明:
    采用四位共阴极动态LED显示单元。LED动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应LED后,即在显示字段上得到显示的字型码。这种方式不但能够提高数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。
    动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。其接口电路是把所有显示器的 8个笔画段adp同名端并联在一起,而每一个显示器的公共极COM是各自独立地受I/O控制的。MPU向字段输出口送出字型码时,所有显示器由于同名端并联连接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端,而这一端是通过MPUI/O编程控制的,所以就可以自行决定何时那一位显示器被点亮了。这儿所说的动态就是在基于COM端选择,可编程的基础上,采用分时的方流控制各个显示器的COM端,使各个显示器轮流点亮。
    在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的 (1ms),由于人眼的视觉暂留现象及发光二极管的速度足够快,给人的视觉误差就是一组稳定的显示数据,如果做的足够好是不会有闪烁感。
    与液晶显示器相比,动态 LED显示单元具有软件编写简单的优点。但是其功耗比LCD显示大,为了达到最佳的显示效果,硬件连接必须考虑段和位驱动的电路的设计;其次LED在显示刷新率,显示稳定性方面也不及LCD显示。
    在如图 5的本设计方案中,使用的是四位共阴极LED显示器。典型的硬件设计是使用74HC245提供段adp(图中为PB1PB8)的驱动,74LS139提供位COM1COM4(图中为LED1LED4)的驱动。
    使用双向总线驱动器 74HC245c语言编程软件是系统软件吗作为段驱动,由于HC电路输出电阻较大,外部可直接驱动而不需要限流电阻。位驱动使用24译码器,具有四个OC门输出,输出低电平有效,直接用来驱动四位公共阴极COM1COM4

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。