毕业设计--基于单片机的数字温度计(2)

2019-03-29 10:55

信号分别输出一个正脉冲信号,脉冲宽度为200个时钟周期,其中D5对应万位选通,以下依次为千、百、十、个位。在正常输入情况下,D5--D1输出连续脉冲。当输入电压过量程时,D5--D1在AZ阶段开始时只分别输出一个脉冲,然后都处于低电平,直至DE阶段开始时才输出连续脉冲。利用这个特性,可使得显示器件在过程时产生一亮一暗的直观现象。

⑧B8、B4、B2、B1(16、15、14、13脚)该四端为转换结果BCD码输出,采用动态扫描输出方式,即当位选信号D5=“1”时,该四端的信号为万位数的内容,D4=“1”时为千位数内容,其余依次类推。在个、十、百、千四位数的内容输出时,BCD码范围为0000--1001,对于万位数只有0和1两种状态,所以其输出的BCD码为“0000”和“0001”。当输入电压过量程时,各位数输出全部为零,这一点在使用时应注意。

最后还要说明一点,由于数字部分以DGNG端作为接地端,所以所有输出端输出电平以DGNG作为相对参考点。基准电压,基准电压的输入必须对于模拟公共端COM是正电压。

㈢与单片机系统的串行连接

在ICL7135与单片机系统进行连接时,使用并行采集方式,要连接BCD码数据输出线,可以将ICL7135的/STB信号接至AT89C52的P3.2(INT0)。

ICL7135需要外部的时钟信号,本设计采用CD4060来对4M信号进行32分频得到125KHz的时钟信号。CD4060计数为14级2进制计数器,在数字集成电路中可实现的分频次数最高,而且CD4060还包含振荡电路所需的非门,使用更为方便。

图3.2.1.3 ICL7135与系统的连接图 图3.2.1.4 CD4060时钟发生电路

6

3.3单片机部分

单片机选用的是ATMEL公司新推出的AT89S52,如图 3.2.1.1所示。该芯片具有低功耗、高性能的特点,是采用CMOS工艺的8位单片机,与AT89C51完全兼容。AT89S52还有以下主要特点:

①采用了ATMEL公司的高密度、非易失性存储器(NV-SRAM)技术; ②其片内具有256字节RAM,8KB的可在线编程(ISP)FLASH存储器; ③有2种低功耗节电工作方式:空闲模式和掉电模式

④片内含有一个看门狗定时器(WDT),WDT包含一个14位计数器和看门狗定时器复位寄存器(WDTRST),只要对WDTRST按顺序先写入01EH,后写入0E1H,WDT便启动,当CPU由于扰动而使程序陷入死循环或“跑飞”状态时,WDT即可有效地使系统复位,提高了系统的抗干扰性能。

3.4液晶显示部分

显示接口用来显示系统的状态,命令或采集的电压数据。本系统显示部分用的是LCD液晶模块,采用一个16×1的字符型液晶显示模块,

图 3.2.1.1 89S52引脚图点阵图形式液晶由 M 行×N 列个显示单元组成,假设 LCD 显示屏有64行, 每行有 128列,每 8列对应 1 个字节的 8 个位,即每行由 16 字节,共 16×8=128个点组成,屏上 64×16 个显示单元和显示 RAM 区 1024 个字节相对应,每一字节的内容和屏上相应位置的亮暗对应。一个字符由 6×8 或 8×8点阵组成,即要找到和屏上某几个位置对应的显示 RAM区的 8 个字节,并且要使每个字节的不同的位为‘1’,其它的为‘0’,为‘1’的点亮,为‘0’的点暗,这样一来就组成某个字符。但对于内带字符发生器的控制器来说,显示字符就比较简单了,可让控制器工作在文本方式,根据

在LCD 上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。 3.4.1 1601使用说明

7

图3.4.1.1 1601引脚图

表3.4.1.1 LCD1601液晶模块的引脚

引脚 1 2 3 4 5 6 7 续表3.4.1.1 LCD1601液晶模块的引脚 8 9 10 11 12 13 14 DB1 DB2 DB3 DB4 DB5 DB6 DB7 高4位三态、双向数据总线 另外DB7也是一个Busy flag 符号 GND Vcc VL RS R/W E DB0 功能说明 接地 +5V 驱动LCD,一般将此脚接地 寄存器选择 0:指令寄存器(WRITE)Busy flag,位址计数器(READ) 1:数据寄存器(WRITE,READ) READ/WRITE选择 1:READ 0:WTITE 读写使能(下降沿使能) 低4位三态、双向数据总线 寄存器选择,如表所示:

8

表3.4.1.3 寄存器选择控制线操作

RS 0 0 1 1 R/W 0 1 0 1 操作说明 写入指令寄存器(清除屏幕?等) 读Busy flag(DB7),以及读取位址计数器(DB0~DB6)值 写入数据寄存器(显示各字型等) 从数据寄存器读取数据 Busy flag(DB7):在此位未被清除为“0”时,LCD将无法再处理其他指令要求。

(1)显示地址:内部地址计数器的计数地址:SB7=0(DB0~DB6)第一行00、01、02? ?等,第二行40、41、42? ?等,可配合检测DB7=1 (RS=0,R/W=1)读取目前显示字的地址,判断是否需要换行。

表3.4.1.4 LCD1601 16×1 显示字的地址

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00 01 02 03 04 05 06 07 40 41 42 43 44 45 46 47 (2)外部地址:DB7=1,亦即80H+内部计数地址,可以用此方式将字显示在某一位置。

LCD各地址列举如下表:

表3.4.1.5 LCD1601 16×1 显示字的外部地址

16×1 16字1行 1601 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 80 81 82 83 84 85 86 87 C0 C1 C2 C3 C4 C5 C6 C7

表3.4.1.6 LCD1601 的指令组

指 令 说 明 清除显示幕 光标回到原点 进入模式设定 显示幕ON/OFF 移位

设置码 RS R/W 0 0 0 0 0 0 0 0 0 0 D7 0 0 0 0 0 D6 0 0 0 0 0 D5 0 0 0 0 0 D4 0 0 0 0 1 D3 0 0 0 1 D2 0 0 1 D D1 0 1 I/D C * D0 * * S B * 9

S/C R/L 功能设定 字发生器地址设定 设置显示地址 忙碌标志位BF 显示数据 读取数据 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 DL N AGC F * * ADD BF 写入数据 读取数据 I/D I/D=1 表示加1, I/D=0 表示减1 S S=1 表示显示幕ON S=0表示OFF D D=1 表示显示屏幕ON D=0表示显示屏幕OFF C C=1 表示光标ON C=0表示光标OFF B B=1 表示闪烁ON B=0表示显示闪烁OFF S/C S/C=1表示显示屏幕移位 S/C=0光标移位 R/L R/L=1表示右移 R/L=0表示左移 DL DL=1表示8位 DL=0表示4位 F F=1表示5×10点矩阵 F=0表示5×7点矩阵 N N=1表示2行显示行 N=0表示1行显示行 BF BF=1:内部正在动作 BF=0:可接收指令或数据码 3.4.2 液晶显示部分与89S52的接口

10


毕业设计--基于单片机的数字温度计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:茶艺师中级理论知识试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: