首页 > 微机单片机 >单片机制作 > 温度、时钟显示仪

温度、时钟显示仪

来源:互联网发布者:消失的歌 关键词: 显示仪 单片机 更新时间: 2024/09/30

本文介绍一种用AT89S52单片机构成的“温度、时钟显示仪”,该电路硬件结构简单,程序简练,成本低廉,使用灵活,非常适合对产品增加辅助功能。

  1.电路的主要功能和特点

  (1)测试室内温度和显示当前时间。

  (2)时钟芯片和模数转换芯片都采用串行接口方式,占用MCL,端口较少。

  (3)作为工业上的辅助功能,程序占用单片机的内部资源较少。

  (4)采用专用时钟芯片,并且合理的电源设计使得电路具有较强的抗干扰能力。

  (5)程序均采用模块化方式编写,方便后期维护更新。

2.电路硬件

(1)电源电路(见图1)。工业控制中的干扰在所难免,此电源电路采用常见的7805作为稳压,笔者作了简单改进一在电路中加了共模扼流圈,利用共模扼流圈的漏电感产生适量的差模电感,起到对差模电流的抑制作用。读者在设计时要注意控制共模扼流圈的寄生电容,否则对高频干扰的隔离效果很差。共模扼流圈的匝数越多,寄生电容越大,高频隔离的效果越差。
  (2)功能电路(见图2)

  AT89S52单片机芯片U1作为本电路的MCU,上电自动复位以及时钟电路均采用简易装置。

  ①液晶显示12232:是表示显示122列32行,由两片0713作为点阵驱动器(一片0713芯片,驱动61列32行),故引脚端有片选信号CS1和片选信号CS2。第8个引脚(A0),是数据/指令选择端,高电平时把数据DO~D7(9~16脚)送入显示RAM,低电平时把数据DO~D7送入指令执行器。

  ②时钟芯片BL5372:部分手机电路就是利用BL5372作为时钟模块,该芯片采用I2C接口协议,最高传输速率是400kbit/s,在成功完成读写信号后内嵌的字地址寄存器地址会自动增加。要注意的是FC接口的SCL、SDA引脚往往都是开漏电路,所以在功能实现时要接上10k的上拉电阻。该时钟芯片有自动闰年调节功能,功耗电流400NA/3.6V,其应用范围较广,相当多的电池耗电设备都采用该电路,其中时钟芯片BL5372与PCF8563有异曲同工之处(只需更改器件地址和时间寄存器地址)。

  ③AD转换芯片ADC0832:工控设备在室内温度测量时,对A/D的转换速率、转换精度要求并不高,同时对MCU的端口使用尽量要少,故选择串行输出且性价比合理的ADC0832作为转换模块,硬件电路采用A/D转换的典型接法,利用热敏电阻的阻值变化,分压后获得不同模拟量,引脚D1是输入模拟通道IN0、IN1的选通引脚(D1为0选通IN01通道、Dl为1选通IN1通道),转换后的数字量伴随着8个CLK脉冲的下降沿,在DO引脚串行输出8位的数据。

  ④温度传感器:采用MF系列的PTC热敏电阻。

    (3)程序介绍

    本程序使用C语言编写,编写的总体思路是:在液晶显示器的固定位置显示特定文字,同时把转换后的时钟、温度数据经过查表显示在相应的位置,这样程序可分为液晶显示、时钟显示、温度显示3大模块,具有调用灵活、后期修改方便等特点。主程序的流程如图3所示。开机上电复位后,程序对89S52(MCU)、12232(LCD)初始化后,期间是一个不断读取BL5372(时钟芯片)和ADC0832(模数转换)的过程,编制程序均采用模块化调用方式,笔者在程序中已经对各个模块化程序标注详细注释,其中子程序LCD_Show_tAB的作用是预先定义显示文字的内容表,方便后期显示文字的更改。

  编写时钟程序时,BL5 372的I2C接口有三种读数据方式,笔者采取的读数据模式如下:
 
  其中:

  写驱动器模式的目的是使单片机选中该时钟芯片,BL5372的器件地址是0l10010+R/W(R时为1,W时为0),由于我们当前是写指令,所以送驱动器地址0x64。

  读驱动器模式的目的是读取时钟芯片的内容后,经单片机处理,送液晶显示器。BL5372的I2C协议规定,高四位为内部寄存器地址,低四位为传输模式(读状态时,定义传输模式为“0100”),由于秒的内部地址是(OH),所以在读秒地址的时候应写入0x04H。

  应答信号:在I2C接口协议中规定主器件收发每个字节后产生一个时钟应答脉冲,由于BL5372内部已嵌入I2C接口电路,所以当该时钟芯片接受从单片机发送来的一个字节信号时,自动产生ACK应答信号,但由于80C51MCU并没有I2C接口,所以当完成读取时钟芯片内一个字节时,BL5372会把SDA状态保持为高电平,这时我们需要提供一个ACK应答信号,具体做法是接收完一个字节后,人为产生一个SDA的低电平。

提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

推荐帖子 最新更新时间:2024-11-13 08:49

《电子懒人的基础硬件电路图讲解》68例
《电子懒人的基础硬件电路图讲解》68例 包含了简单的,基础的单元电路图。积累这些基础的电路图,对分析一个复杂的电路很有帮助。因为一个复杂的电路图可以按照功能来划分成不同的模块,再对模块进行分解成不同的单元电路。 模拟电路和数字电路中的基础电路一般包括这些:直流稳压电源电路;
 jieke6下载中心专版
求助:建立一个窗口 并建三个按钮 为什么按钮不显示?
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow) { static TCHAR szAppName =TEXT( test );
 heima3041嵌入式系统
构建可由电池供电运行数十年的楼宇自动化系统
凭借业界领先的低功耗MSP微控制器,德州仪器(TI)一直致力于帮助工程师解决开发和构建 楼宇自动化应用 的各种难题。TI的MSP MCU不仅拥有极低的功耗,还具备实现小型化的高度模拟集成,同时包含了参考软件和行业标准通信协议。那么,这些优势和特性对于楼宇自动化的设计究竟意味着什
 maylove微控制器 MCU
avr studio4 寄存器问题
请问定义的变量a,在avr studio4中怎样能看到a中的数据呢?很着急,希望好心人帮忙。先谢谢啦! avr studio4 寄存器问题
 jiayidan6Microchip MCU
常见的过电压保护器件
对于 电路保护 ,有多种过电压保护元件可用,包括陶瓷气体放电管 (GDT)、 半导体 放电管 ( TSS )和瞬态电压抑制(TVS)二极管。
 langtuodianzi分立器件
AD15中多层板layer stack manage设置?
以前画多层板的时候打开layer stack manage是这样的 直接可以在上图出标记蓝色的地方改电气特性,而现在打开是这样的 这么设置呢?比如我想让我的GND网络连接到我的gnd内电层?这么设置呢? AD15中多层板layer stack manage设置? @soso
 logitech66PCB设计

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD 电路图 站点相关: 下载中心 Datasheet 参考设计

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved