重庆大学本科学生毕业设计(论文) 3 硬件电路原理及设计
触发器TH和TL、配置寄存器。其管脚有三个,其中DQ为数字信号端,GND为电源地,VDD为电源输入端。驱动电路原理图如图3.8所示。
图3.8 DS18B20驱动电路原理图
3.5.3 DS18B20的时序控制
由于DS18B20采用的单线接口方式,DS18B20在与微处理器连接时仅需要一
条口线即可实现微处理器与DS18B20的双向通讯。想要实现温度的读取,必须在先完成ROM设定,否则记忆和控制功能将无法使用,主要操作有: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳过ROM, 5 )报警检查。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。综上,复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。实验组将FPGA的55引脚与DS18B20的单数据总线进行对接以进行通信。时序图如图3.9所示。
图3.9 DS18B20时序控制图
15
重庆大学本科学生毕业设计(论文) 3 硬件电路原理及设计
3.6 数码管显示电路
led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字
型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。七段数码管显示电路如图所示,数码管是共阳极的,当位码驱动信号为 0 时,对应的数码管即可以被操作;当段码驱动信号为0时,对应的段码点亮。位码由于电流较大,采用了三极管驱动。段码部分采用电阻值相对较小的限流电阻,限流电阻阻值不宜过大,否则将影响数码管亮度。图3.10为数码管显示电路原理图。
图3.10 数码管显示电路原理图
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。本设计中采用动态扫描显示,两种显示方式的具体内容如下。 静态显示:
静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道FPGA的可用的I/O端口是极其有限的,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂
16
重庆大学本科学生毕业设计(论文) 3 硬件电路原理及设计
性。 动态显示:
LED数码管动态显示是应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,CPU对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉“暂留”现象及发光二极管的“余辉效应”,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
3.7独立按键及蜂蜜器
3.7.1独立按键
设计中的输入由按键产生,实现模式选择与档位选择。对于独立按键电路部
分,如果输出低电平,则表示按键按下。电路中上拉电阻起到保护 作用,原理图如图3.11所示。
图3.11 独立按键电路原理图
3.7.2 蜂蜜器
蜂鸣器主要是用于提示按键成功,便于使用者操作。蜂鸣器使用PNP三极管
驱动控制,如果在BEEP输入一定频率脉冲时,蜂鸣器会响,通过FPGA编程可
17
重庆大学本科学生毕业设计(论文) 3 硬件电路原理及设计
以改变输入频率从而改变蜂鸣器的响声,可以使蜂鸣器奏出美妙的音乐,原理图如图3.12所示。
图3.12 蜂鸣器电路原理图
18
重庆大学本科学生毕业设计(论文) 4 软件设计与仿真
4 软件设计与仿真
4.1整体工作流程图
程序的设计采用自顶向下的方法进行设计,这样讲大大减少工作量,并且不易出错,同时也便于系统的调试,这样更将方便以后程序的升级或者移植。程序的整体流程图如图4.1所示。
打开电源检测并显示当前温度是否有按键按下?是否蜂鸣器提醒按键成功显示所选模式或者档位是否选择自动模式?是否按自动模式调节风扇转速按手动模式调节风扇转速 图4.1 程序整体流程图
如图,打开电源后,温度传感器开始实时监测周围环境温度,并通过数码管将其显示出来;然后不断判断看是否有按键输入按下,若没有继续等待判断,若有,则蜂鸣器进行按键成功提示;然后进一步判断所选择的模式,若选择的是自动模式,则风扇将根据环境温度进行自动调速,并点亮相应的档位提示灯,若选择的是手动模式,则根据所选择的档位进行风扇调速,并点亮相应的档位提示灯;最后将所选择的模式或者档位信息送数码管进行显示。需要注意的是,当风扇工作在自动模式时,若环境温度低于系统预设温度时,风扇将进入休眠状态,待环境温度再次高于系统预设温度时,风扇可被唤醒。
19