全自动豆浆机全自动豆浆机
一、题义分析与解决方案
1(1 题义与需求分析
1)设计并开发能检测温度信号;
2)能判断所检测的温度值是否越界;
3)若温度值越界则停止加热;
4)若温度达到合适温度,则电机能够转动,并且转4次停4次;
5)能够通过按键模拟水位的溢出和合适
6)能够检测到模拟水位的溢出并做相应的处理;
说明:界限值是自行设定的,合适温度 18?C,其所对应的数字量为0120H;上限35?C,其所对应的数字量为0230H;
1(2 解决问题的方法与思路
1(2(1 硬件部分
温度传感器DS18B20用于检...
全自动豆浆机
一、题义分析与解决
1(1 题义与需求分析
1)设计并开发能检测温度信号;
2)能判断所检测的温度值是否越界;
3)若温度值越界则停止加热;
4)若温度达到合适温度,则电机能够转动,并且转4次停4次;
5)能够通过按键模拟水位的溢出和合适
6)能够检测到模拟水位的溢出并做相应的处理;
说明:界限值是自行设定的,合适温度 18?C,其所对应的数字量为0120H;上限35?C,其所对应的数字量为0230H;
1(2 解决问题的方法与思路
1(2(1 硬件部分
温度传感器DS18B20用于检测温度值,可编程并行接口芯片8255一片,七段LED显示器,芯片8279,继电器,DAC0832
1(2(2 软件部分(汇编语言编写程序)
1)首先要对8255进行初始化设计,设置8255的工作方式并确定8255的端口地址;
2)检测水位是否合适,通过按键模拟
3)水位合适则加热,并与合适温度进行比较,如果合适开始打浆,否则继续加热;
4) 启动DS18B20,发出温度检测命令,将温度值在LED上显示出来;
5)打浆四次,停四次
6)检测水位是否溢出,如果溢出停止加热,否则继续加热;
二、硬件设计
2(1 选择芯片可编程并行接口芯片8255A
(1 8255A的作用 2(1
利用8255A将界限值和温度值通过LED显示出来,同时8255A的PC0与DS18B20相连,向其发出温度检测命令及接受温度数据,PC5和蜂鸣器及发光二极管相连,用于声光报警。
2(1(2 8255A的功能分析及技术参数
微机原理课程设计
8255A是可编程并行接口,8255A的 D6 D5 D4 D3
D2 D1 D0
1: C口高4位输入 C口低4位输入
图2-1-2 8255A的方式控制字表
? 方式0的工作特点:
是这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出。
? 通道的功能为:
两个8位通道:通道A和B。两个四位通道:通道C高4位和低四位,任何一个通道可以作输入/输出,输入是不锁存的,输出是锁存的,在方式0时各个通道的输入/ - 1 -
微机原理课程设计
输出可有16种不同的组合。
D7 D6 D5 D4 D3 D2 D1 D0
D0-D7 000-111 1写入1
图2-1-2 8255A的置位/控制字表
图表2-1 8255A的技术参数表
其中PER为peripheral port的缩写
参数说明:
输入最低电压:min,-0.5V,max,0.8 V 输入最高电压:2.0 V 输出最低电压:0.45 V 输出最高电压:2.4 V
2(2(选择芯片DS18B20温度传感器
- 2 -
微机原理课程设计
2(2(1 DS18B20温度传感器的作用
利用温度传感器检测温度,并转换为数字量和设定的界限值比较。
2(2(2 DS18B20的功能特点
DS18B20可编程温度传感器有三个管脚。GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与CPU相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.0—5.5V。本系统中使用外部电源供电。
其主要特点为:
? 用户可以自行设定报警上下限温度值;
? 不需要外部组件,能测量-55—+125?C范围内的温度;
? 在-10—+85?C范围内的测温准确度为?0.5?C;
? 通过编程可以实现9—12位的数字读数方式,可在至多750MS内将温度转换成12位数字,测温分辨率可达到0.0625?C;
? 独特的单总线接口方式,与微处理器连接时仅需要一条线既可实现和微处理器的
双向通讯。
图2-2-2 DS18B20 内部结构图
图2-2-1 DS18B20
DS18B20的内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56
位 - 3 -
微机原理课程设计
的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
2(2(3 DS18B20的测温原理和技术参数
DS18B20的测温原理:
图2-2-3 DS18B20的测温原理图
DS18B20的测温原理如图所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ?所对应的基数分别置入
减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 ? 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生
表2-2-1 DS18B20温度值格式表
的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正
测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭 - 4 -
微机原理课程设计
就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩
展的二进制补码读数形式提供,以0.0625?/LSB形式表达,其中S为符号位。
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中
的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于
0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再
乘于0.0625即可得到实际温度。
DS18B20的存储器:
DS18B20温度传感器的分辨率表
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发
送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉
- 5 -
微机原理课程设计
500微秒,然后释放,DS18B20收到信号后等待16,60微秒左右,后发出60,240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
2.3 选择芯片8279的相关参数
8279的内部结构框图如下所示: (1)数据缓冲器
它连接内、外总线,暂时CPU与8279芯片之间传送的命令、数据或状态。 (2)I/O控制
它用于控制信息的流向及区分信息的特征。CS=1时,由RO或WR控制从8279读出或向8279写入;A0=0时,选中数据寄存器,输入/输出均为数据。A0=1时,选中命令、状态寄存器,输入时位命令,输出时位状态。
(3)控制与定时寄存器
它用来寄存键盘和显示的工作方式,以及由CPU编程的其他操作方式,并通过译码产生 相应的控制信号,完成规定的控制功能。
图2_1:8279的内部结构框图
(4)定时控制
它对外部时钟信号CLK分频至内部所需要的100kHz时钟。 (5)扫描计数器
它可根据编程命令按编码或译码方式工作。
编码方式:4位计数器按二进制计数,计数状态从扫描线SL0~SL3输出,经外部译码器译码后,为键盘和显示器提供16个扫描信号。
译码方式:扫描计数器最低两位被译码后从SL0~SL3输出,可直接作为键盘和显示器扫描
- 6 -
微机原理课程设计
信号。此时键盘矩阵为4×8,显示字符为4位。
(6)键盘去抖与控制
键盘去抖电路:在键盘扫描方式中,当有键闭合时,按命令指定方式去抖动后读入键值。 控制电路:按命令指定方式控制去抖电路的工作过程,以及对返回信号进行处理。
(7)返回缓冲器
它锁存来自RL0~RL7的回复信号,在键盘扫描方式中,返回线与键盘矩阵列线相连,在逐行扫描时搜寻一行中闭合键所在的列。当有键闭合时,经去抖动后经行、列编码和附近的移位、控制状态一起形成键盘数据送至FIFO存储器,供CPU读取。
表2_1:键盘数据格式
D7 D6 D5 D4 D3 D2 D1 D0
为按下键的行编码,来自扫描计数器的低3位;R2 R1 R0是根据返回信号确定的列编码。
(8)FIFO RAM
它是一个8×8RAM,在键盘输入方式时遵循先入先出(FIFO)原则。
(9)FIFO RAM的状态寄存器
它用来存放FIFO RAM的状态,例如RAM空、满等。当工作在键盘方式FIFO存储器不空时,将产生IRQ,1信号向CPU申请中断。
(10) 显示RAM、显示地址寄存器
显示RAM用来存储显示数据。容量为168位。在显示过程中,存储的显示数据轮流从显示寄存器输出。显示寄存器分别为A、B两组,OUTA0~3和OUTB0~3可以单独送数,也可以组成一个8位的字。显示寄存器的输出与显示扫描配合,不断从显示RAM中读出显示
数据,同时轮流驱动被选中的显示器件,以达到多路复用的目的,使显示器件呈现稳定的显示状态。
显示地址寄存器用来寄存由CPU进行读/写显示RAM的地址,它可以由命令设定,也可以设置成每次读写或写入之后自动递减。
(11)显示寄存器
它存放显示D0~D7(数据总线):双向、三态总线,和系统数据总线相连;用于CPU和8279间的数据/命令传递。
A0:地址线,进行片- 7 -
微机原理课程设计
RD、WR(读、写信号):输入线。低电平有效,来自CPU的控制信号,控制8279的读、写操作。
CLK:系统时钟,为8279芯片提供 D6 D5 D4 D3 D2 D1
D0
- 8 -
微机原理课程设计
D7、D6、D5=000方式设置命令特征位。
DD(D4、D3):来设定显示方式,其定义如下:
00:8个字符显示,左入口
01:16个字符显示,左入口
10:8个字符显示,右入口
11:16个字符显示,右入口
所谓左入口,即显示位置从最左一位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列; 所谓右入口,即显示位置从最右一位(最低位)开始,以后逐次输入的显示字符时,已有的显示字符逐个向左顺序移动。
KKK(D2、 D1、 D0):用来设定七种键盘、显示工作方式:
000 编码扫描键盘,双键锁定
001 译码扫描键盘,双键锁定
010 编码扫描键盘,N键轮回
011 译码扫描键盘,N键轮回
100 编码扫描传感器矩阵
101 译码扫描传感器矩阵
110 选通输入,编码显示扫描
111 选通输入,译码显示扫描
双键锁定与N键轮回是多键按下时的两种不同的保护方式。双键锁定为两键同时按下提供的保护方法。再消颤周期里,如果有两键同时按下,则只有其中一个键弹起,而另一个键保持在按下位置时,才被认可。N键轮回为N键同时按下的保护方法。当有若干键按下时,键盘扫描能够根据发现他们的顺序,依次将它们的状态送入FIFO RAM中。
(2) 设置程序时钟命令
表2_3:命令格式
D7 D6 D5 D4 D3 D2 D1 D0
D2、D1、D0)用来设定外部输入CLK端的时钟进行分频的分频数N。N取值为2~31。例如外部时钟频率为2MHZ,PPPPP被置为10100(N=20),则对输入的外部时钟20分频,以获得8279 D6 D5 D4 D3 D2 D1 D0
在CPU读传感器RAM之前,必须使用这条命令来设定传感器RAM中的8个地址(每个地址一个字节)。
- 9 -
微机原理课程设计
AAA(D2、D1、D0)为传感器RAM中的八个字节地址。
AI(D4)为自动增量特征位。当AI=1时,每次读出传感器RAM后地址自动加1使地址指针指向下一个存储单元。这样,下一个数据便从下一个地址读出,而不必重新设置读FIFO/传感器RAM命令。在键盘工作方式中,由于读出操做严格按照先入先出顺序,因此,不需使用此命令。
(4) 读显示RAM命令
表2_5:命令格式
D7 D6 D5 D4 D3 D2 D1 D0
RAM地址。AAAA(D3、D2、D1、D0)用来寻址显示RAM命令字的特征位。由位显示RAM中有16个字节单元故需要4位寻址。AI(D4)为自动增量特征位。当AI=1时,每次读出后地址自动加1指向下一地址。
(5) 写显示RAM命令
表2_6:命令格式
D7 D6 D5 D4 D3 D2 D1 D0
RAM之前用该命令用来设定将要写入的显示RAM地址。AAAA(D3、D2、D1、D0)为将要写入的存储单元地址,AI(D4)为自动增量特征位。当AI=1时,每次写入后地址自动加1指向下一次写入地址。
(6) 显示禁止写入/消隐命令特征位
表2_7:命令格式
D7 D6 D5 D4 D3 D2 D1 D0
(D3、D2)为A、B组显示RAM写入屏蔽位。由于显示寄存器分成A、B两组,可以单独送数,故用两位来分别屏蔽。当A组的屏蔽位D3=1时,A组的显示RAM禁止写入。因此,从CPU写入显示器RAM数据时,不会影响A的显示。这种情况通常在采用双4位显示器时使用。因为两个双四位显示器是相互独立的。为了给其中一个双四位显示器输入数据而又不影响另一个四位显示器,因此必须对另一组的输入实行屏蔽。IWC、IWD(D1、D0)为消隐显示位。用于对两组显示输出消隐。若BL=1时,对应组的显示输出被消隐。当BL=0时,则恢复显示。
(7) 清除命令
表2_8: 命令格式
D7 D6 D5 D4 D3 D2 D1 D0
D7D6D5 =110清除命令特征位。
CDCDCD(D4D3D2)用来设定清除显示RAM方式。共有四种消除方式,见表6-10-1。
CF(D1)用来置空FIFO存储器,当=1时,执行清除命令后,FIFO RAM被置空,使中断输 - 10 -
微机原理课程设计
出线复位。同时,传感器RAM的读出地址也被置0。
CA(D0)为总清的特征位。它兼有CD和CF的联合效能。在CD=1时,对显示的清除方式由D3、D2的编码决定。
清除显示RAM约需160S。在此期间FIFO状态时的最高位DU=1,表示显示无效。CPU不能向显示RAM写入数据。
(8) 结束中断/错误方式设置命令
表2_9:命令格式
D7 D6 D5 D4 D3 D2 D1 D0
D7D6D5 =111为该命令的特征位。此命令有两种不同的作用:
?作为结束中断命令。在传感器工作方式中使用。每当传感器状态出现变化时,扫描检测电路将其状态写入传感器RAM,并启动中断逻辑,使IRQ变高,向CPU请求中断,并且禁止写入传感器RAM。此时,若传感器RAM读出地址的自动递增特征没有置位(AI=0),则中断请求IRQ在CPU第一次从传感器RAM读出数据时就被清除。若自动递增特征已置位(AI=1),则CPU对传感器RAM的读出并不能清除IRQ,而必须通过给8279写入结束中断/错误方式设置命令才能使IRQ变低。因此在传感器工作方式中,此命令用来结束传感器RAM的中断请求。
?作为特定错误方式设置命令。在8279已被设定为键盘扫描N键轮回方式以后,如果CPU给8279又写入结束中断/错误方式设置命令(E=1),则8279将以一种特定的错误方式工作。这种方式的特点是:在8279的消颤周期 D6 D5 D4 D3 D2 D1
D0
DU( D7)为显示无效特征位。当DU=1表示显示无效。当显示RAM由于清除显示或全清命令尚未完成时,DU=1。
D6(S/E):在键盘工作方式中为特殊错误方式标志位。S/E=1表示出现多键同时按下的错误。 D5(0):超出标志位,当向已满的FIFO RAM中写入,致使FIFO RAM中的字符个数n>8而产生重叠时,0被置为1。
D4(U):“空”标志位,当FIFO RAM中的字符个数n=0时,U被置为1。
D3(F):“满”标志位,当FIFO RAM中的字符个数n=8时,F被置为1。
D2D1D0(NNN):表示FIFO RAM中有n个字符待取走。
- 11 -
微机原理课程设计
2(4 选择七段LED显示器
2(4(1 七段LED显示器的作用
本次设计需要用到LED显示器显示预设的温度界限值以及测定的温度值。
2(4(2 七段LED显示器功能分析
七段LED显示器可以控制在哪几个数位上,哪几个发光二极管亮,从而显示数字。其工作原理:如果发光二极管共阳极,则输入为0时亮,为1时不亮,反之如果发光共阴极,则输入1时亮,0时不亮。发光二极管时一种外加电压超过额定电压时发生击穿,并因此能产生可发光的器件,数码显示器通常由多个发光二极管来组成七段或八段笔画显示器,当段组合发光时,便会显示某一个数码管或字符,七段代码的各位用作a—g和DP的输入
2(4(3 七段LED显示器技术参数
表2-5-1 LED显示的技术参数
2(4(4 七段LED显示器内部结构
- 12 -
本文档为【全自动豆浆机】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。