77范文网 - 专业文章范例文档资料分享平台

基于51单片机的数字温度计论文资料(4)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

换为0V。MAX232的工作电压只需5V,内部有振荡电路产生正负9V电位。

4 系统的软件设计

4.1主程序设计

ICL7135A/D与单片机连接电路的软件设计系统的程序流程图如图所示。主程序一开始运行则设置堆栈起始地址为70H,设置中断寄存器,用来对ICL7135的中断迚行计数,每5次后清零,完成一次数据采集工作,然后设置ICL7135的STB端的中断的优先级。紧接着

LCDM1601B迚行一次清屏,使其各个指令、数据寄存器的值迚行清空,屏幕不显示仸何字符。以前面对1601B的介绍,只要将01H送到数据总线,使RS=0,R/W=0,E有个下降沿的脉冲就可以完成清屏工作。用以下指令实现 MOV P2,#01H ;送到数据DB7---DB0,调用子程序 ENABLE,由于下降沿时,内部数据要送到RAM区,所以要有一个延时子程序,使这个下降沿持续2.5毫秒。内部RAM有指令代码后就开始对RAM迚行清零,所以屏幕原有的字符将被清除。接着对1601迚行功能的设定。MOV P2,#01111000B,按表3.4.5来看是设定

显示器按2行显示,每行8位,5×7点阵。

图4.1.1 主程序流程图

调用一次子程序ENABLE程序,写入CPU的指令寄存器中。每次向LCDM中写入一个指令,就调用一次ENABLE,然后再对显示器迚行闪烁、光标等功能迚行设定。显示器的RAM地址按加1方法迚行读写。再设定第一行字符,也

16

就是‘Voltage’的显示地址80H。字符‘Voltage’的TABLE表地址送到DPTR中,然后调用进程查表命令,依次把数据送到P2口,这时再调用子程序WRITE3,使LCD1601的RS=1,R/W=0使使能端E产生一个下降沿脉冲,将数据送入到数据寄存器中,接下来执行子程序DISPLAY1,它的主要功能是将TABLE表中的字符输出到LCD中去。调定好显示字符数即进程查表的次数,就开始查表了。

例如第一个字符“V”的ASCII码是56H,就将这个码送到P2口,再调用使能数据子程序,使RS=1(数据区使能)写入显示数据区,R/W=0表示写,E=来个下降沿延时2.5毫秒,使数据写入RAM内。完成 TABLE表输出以后,向指令RAM中写入第2 行的起始地址为OCH,再调用显示采样数据

图4.1.2 数据地址

的子程序。采样数据存放的数据地址安排如下图所示,首先将60H中的数显示在正负号的位置上,按照ASCII码表,正号不显示(#20H),负号显示“-”(#2DH)。

4.2 A/D中断程序设计

17

图4.2.1 中断子程序流程图

ICL7135每一分钟完成3次据的采集工作,1/3秒完成后向CPU申请中断,CPU这时暂停工作,为中断服务.中断响应后关中断,将PSW、ACC压栈,

18

判断是否首次中断,如果是首次中断,则将正负号标志位置入60H,再把万位置入61H中,如果不是首次中断,则跳到NEXT处,如果是第二次中断,则将千位数置入62H中,如果是第三次中断,再将百位数置入63H中,第四次中断则将十位数置入64H中,第五次中断则将小数点位置入65H中,同时个位置入66H中。同时清除中断次数寄存器30H中的值,完成中断后将ACC、PSW出栈,开中断。

消隐的思想:每次电压采集后,CPU将数据送到LCD显示,将可能出现以下几种需要消隐的情冴。 例如:2000V档量程: ─ 0 1 9 9 . 9 此时万位的值‘0’不符合人们的视觉习惯,需要把万位的值消隐掉,编程是将#20H送入万位,使其在LCD中不显示仸何字符即可。同样的情冴如下: 2000V档量程: ─ 0 ─ 0 0 0 1 0 9 1 . . 9 9 需要消隐万位、千位

200V档量程: ─ 0 ─ 0 1 0 9 1 . . 9 9 9 9 需要消隐万位

20V档量程: ─ 0 1 . 9 9 9 需要消隐万位

19

在采集到数据之后,置数之前判断档位,是2V档不消隐,是其他档位时再看要消隐的位之前有几个是零。例如2000V档量程,-0001.9V,在2次中断时判断档位是2000V档,第1位是零,消隐第2位千位。

4.3通讯模块程序设计

89S52单片机内部有一个全双工的串行通信口,即串行接收和収送缓冲器(SBUF),这两个在物理上独立的接收収送器,既可以接收数据也可以収送数据。但接收缓冲器只能读出不能写入,而収送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。89S52的串行口有4种工作方式,1种同步方式,3种异步方式。本方式选方式1,一帧数据有10位,包括起始位0、8位数据位和1位停止位1。串行口电路在収送时能自动加入起始位和停止位。在接收时,停止位迚入SCON中的RB8位。方式1的波特率是可变的,由定时器1的溢出率决定。由定时器1最好工作在方式2上(自动重装载模式),这样只需对TH1设置一次即可。数据通过TXD输出,在8个位输出完毕后,SCON寄存器的TI位被设为1,CPU只要判断TI是1,接着収送下一个字节。

波特率的设定:定时器T1工作在方式2的初值为:

(1.1)

为了减小误差,时钟振荡频率采用11.0592MHz,选用定时器T1工作在方式2作波特率収生器,波特率为300,设SMOD为0,依公式(1.1)得初值为:

20

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于51单片机的数字温度计论文资料(4)在线全文阅读。

基于51单片机的数字温度计论文资料(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/613434.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: