单片机 实训报告电子万年历实训报告.doc_第1页
单片机 实训报告电子万年历实训报告.doc_第2页
单片机 实训报告电子万年历实训报告.doc_第3页
单片机 实训报告电子万年历实训报告.doc_第4页
单片机 实训报告电子万年历实训报告.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河河南南工工程程 学学院院 单单片片机机 实实训训报报告告 学 院 电 气 信 息工 程 学 院 专 业 电气工程及其自动化 组员及学号 李 东 盼 201250712138 高 辉 201250712216 屈 海 兴 201250712213 设计题目 电子万年历的设计制作电子万年历的设计制作 指导教师 翁 嘉 民 内容:内容: 电子万年历能显示阳历年、月、日、星期、小时、分、 秒和阴历月、日以及实时温度。 实现的功能及要求实现的功能及要求 基本要求 a、具有年、月、日、星期、时、分、秒等功能; b、具有年、月、日、星期、时、分、秒校准功能 c、校准时具有闪烁功能。 d、具有实时温度显示功能。 摘要摘要 本文通过一个基于单片机的能实现数字显示功能万年历的设计,从而 达到学习、了解单片机相关指令在各方面的应用。系统由主控制器 at89s52、时钟电路 ds1302.、显示电路、按键电路和复位电路等各部分构 成,能实现时钟日历显示功能,能进行时、分、秒的显示。 关键词:单片机,农历查询,万年历 abstractabstract based on a micro controller based on the will to achieve calendar of a multi-functional electronic clock design.thereby achieve studying and understanding the relevant directives scm in all aspects of the application. by main control at89c51、clock circuit ds1302、display circuit、key stroke circuit and in store circuit componented ,to achieve clock calendar display function can be carried out, hours seconds of the show and real-time temperature display. key words monolithic single-chip, lunar calendar demand, perpetual calendars 目录目录 1 、绪绪 论论5 2 、引引 言言6 2.1 课题的背景、研究意义6 2.2 实现的功能及要求6 2.3 方案论证.6 3、系统硬件电路设计. 7 3.1 单片机控制系统原理.7 3.2 硬件的设计总框图.8 3.3 各功能模块硬件设计及实现.9 3.3.1、 at89s52.9 3.3.2、 ds1302实时时钟芯片14 3.3.3、 温度模块.18 3.3.4、 1602液晶显示器20 3.4 电路总图:.24 4、 系统程序设计系统程序设计25 4.1 主程序流程图25 4.2 中断服务程序.26 5、 心得体会心得体会27 6、参考文献参考文献28 7、 附录附录29 第 1 节 系统程序设计29 1、绪、绪 论论 本设计主要分为硬件电路设计和软件实现两大部分。硬件电路设计 采用模块设计:中央处理电路、时钟电路、温度测量电路三大部分;软 件采用 c 语言编程实现,设计采用按功能模块划分,包括:主程序、显 示程序、温度测量程序、时钟程序等。 在中央处理器上我们采用 mcs-51 单片机,该单片机是集 cpu ,ram ,rom ,计数和多种接口于一体的微控制器。自 20 世纪 70 年代问世以来, 以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、 抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发 较为容易,广泛应用于智能生产和工业自动化上。 在时间功能上主要依靠实时时钟芯片 ds1302 来完成大部分功能, ds1302 是具有涓细电流充电能力的低功耗实时时钟电路,它以其接口简 单、价格低廉、使用方便,被广泛地采用。它的主要特点是采用串行数 据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电 功能。采用普通 32.768khz 晶振。所以用此款芯片来实现时间功能是完 全能满足电路的要求。 温度方面工作由数字式温度传感器 ds18b20 来完成,这款温度传感 器是具有线路简单,体积小,方便易用等特点,温度测量范围为 55125,可编程为 9 位12 位 a/d 转换精度,测温分辨率可达 0.0625,被测温度用符号扩展的 16 位数字量方式串行输出。选用这 个芯片使电路简化,提高了效率。 本课题通过 mcs-51 单片机来设计,采用 keil c 语言进行编程,可 以实现以下一些功能:小时、分、秒和年、月、日的显示,定时报警功 能。本设计万年历由时钟电路, lcd 显示电路,定时报警电路,按键调 整电路四部分组成。 51 单片机通过软件编程,在 lcd1602 液晶屏上实 现小时、分、秒和年、月、日的显示;利用时钟芯片ds1302 来实现计 时,定时功能;通过两个按键开关,一个用于时钟的调节,一个用于闹 钟的调节,来实现参数设置和调节功能;到达设置的闹钟时间时,由蜂 鸣器发声,起报警作用。本次设计的电子时钟,经过对比测试,发现实 际计时的走时精度较高,可满足多种场合的应用需求。 本文详细介绍了 at89s52 单片机的基本原理,分析了 at89s52 各个 管脚的功能及它在设计电路中的作用。本文论述了lcd1602 液晶屏和时 钟芯片 ds1302 的工作原理及其软件设计过程。 2、引、引 言言 单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器 (cpu) 、随机存取存储器( ram) 、只读存储器( rom) 、输入/输出端口 (i/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算 机。单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。 它是一种集计数和多中接口于一体的微控制器,被广泛应用在智能产品 和工业自动化上,而 52 单片机是个单片机中最为典型和最有代表性的 一种。 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子 钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好, 使用方便,不需要经常调试,万年历用集成电路计时时,译码代替机械 式传动,用 lcd 显示器代替指针显示进而显示时间,减小了计时误差, 这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对。 2.1 课题的背景、研究意义课题的背景、研究意义 随着电子技术的迅速发展、时间的流逝,从观察太阳、摆钟到现在的 电子钟,人类不断的研究、不断创新。现市场的电子钟具有低耗能的实时 时钟电路,它们可以对年、月、日、周日、时、分、秒进行计时,还具有 润年补偿等功能,且使用寿命长、误差小、使用方便,电子万年历的出现 给人们的生活带来的诸多方便。目前,国际上的电子万年历正从模拟模式 向数字式、由集成化向智能化的方向飞速发展。 综上所述此万年历具有可取方便、显示直观。功能多样、电路简洁、 成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前 景。 2.2 方案论证方案论证 显示模块选择方案和论证: 方案一:采用 lcd 数码管动态扫描,led 数码管价格适中,对显示数 字最合适, ,而且采用动态扫描法和单片机连接时,占用的单片机口线少, 但这里显示为数多,所要求是数码管多,成本高。 方案二:采用 lcd 液晶显示屏,液晶显示屏的显示功能强大,可显示 大量文字,图形,显示多样,清晰可见,虽价格昂贵,但接口线多,所以 在此设计中采用 led 液晶显示屏。 时钟芯片的选择和论证: 方案一:采用 ds1302 时钟芯片实现时钟,ds1302 芯片是一种高性 能的时钟芯片,可自动对秒、分、时、日、周、月、年以及润年补偿的年 近计数,而且精度高,结果简单,所以采用 ds1302 时钟芯片。 方案二:直接采用单片机定时计数器提供秒信号,实用程序实现年、 月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节 约成本,但是,实现的时间误差较大。且算法复杂,所以不采用此方案。 经论证本次设计采用 at89s52 作为主控制系统,ds1302 提供时钟, 采用 led 液晶作为显示。 3、系统硬件设计、系统硬件设计 3.1 单片机控制系统原理单片机控制系统原理 方方案案一一:采用 cpld 作为主控制器控制外围电路进行电压、频率测 量,时钟控制、温度测量、键盘和 led 控制、报警控制。此方案逻辑电 路复杂,且灵活性较低,不利于各种功能的扩展,在测电压时将通过 a/d 测得的数值转化为电压有效值时有一定的困难。 方案二:方案二:采用 at89s52 单片机来实现系统的控制。键盘四个独立按 键控制,时钟芯片采用 ds1302,温度传感器采用 ds18b20。此系统硬件 简洁,将复杂的硬件功能用软件实现,因此系统控制灵活,能很好地满足 本题的基本要求和扩展要求。此方案基本原理框图如图 1 所示。 比较以上 两种方案的优缺点,方案二简洁、灵活、可扩展性好,能完全达到设计要 求,故采用第二种方案。 3.2 硬件的设计总框图硬件的设计总框图 液晶显示 部分 ds18b20 温度传感器 部分 at89s52 单片机 ds1302 实时时钟部分 键盘输入部分 本本次次设设计计的的基基于于单单片片机机控控制制的的电电子子万万年年历历,其其具具有有年年、月月、日日、星星 期期、时时、分分、秒秒的的显显示示功功能能;具具体体时时间间与与阴阴、阳阳历历能能够够自自动动关关联联;可可以以 设设置置闹闹铃铃的的功功能能。其其具具体体实实现现过过程程就就是是由由主主控控制制发发送送信信息息给给d ds s1 13 30 02 2 时时 钟钟芯芯片片再再由由时时钟钟芯芯片片反反馈馈给给 l lc cd d 显显示示信信息息。并并且且可可以以在在键键盘盘设设置置模模块块输输 入入修修改改时时间间,设设置置闹闹铃铃等等信信息息,当当键键盘盘设设置置时时间间、日日期期时时,单单片片机机主主控控 制制根根据据输输入入信信息息,通通过过串串口口通通信信此此传传送送给给d ds s1 13 30 02 2 时时钟钟芯芯片片,d ds s1 13 30 02 2 芯芯 片片读读取取当当前前新新信信息息产产生生反反馈馈传传送送给给单单片片机机,然然后后单单片片机机根根据据控控制制最最后后输输 送送显显示示信信息息到到 l lc cd d 模模块块上上显显示示 3.3 各种功能模块硬件设计及实现各种功能模块硬件设计及实现 本设计以单片机 at89s52 为控制核心,由实时时钟部分、显示部分、 键盘输入部分、温度采集部分等部分组成。其中实时时钟采用ds1302 可实现年月日时分秒等时间信息的采集和闹钟功能。温度检测模块由 ds18b20 集成温度传感器对现场环境温度进行实时检测。键盘采集部分 由四个独立按键组成,可实现时间显示、闹钟设置、环境温度测量等功 能。 硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现此 设计基本功能以外,主要还要考虑如下几个因素: 系统稳定度; 器件的通用性或易选购性; 软件编程的易实现性; 系统其它功能 及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行 分析探讨。 3.3.1 、at89s52 单片机 at89s52 是美国 atmel 公司生产的低电压,高性能的 cmos8 位单片 机片内 8kbytes 的可反复擦写的只读程序 存储器(perom)和 128bytes 的随机存储器(ram) ,器件采用 atmel 公司的高密度、非易失存储技术 生产,兼容标准 mcs-51 指令系统,片内置通用 8 位中央处理器 (cpu)和 flash 存储单元,功能强大。at89s52 单片机可为你 提供许 多高性价的应用场合,可灵活的应 用于各种控制领域。 图 1. 系统方框图 主要性能参数: 与 mcs-51 产品指令系统的全 兼容 4k 字节可重擦写 flash 闪速存储 器 1000 次可擦写周期 全静态操作:0hz-24mhz 三级加密程序存储器 1288 字节内部 ram 32 个可编程 i/o 口线 2 个 16 位定时/计数器 5 个中断源 可编程串行 uart 通道 低功耗空闲和掉电模式 at89s52 功能特性描述: at89s52 提供以下标准功能: 4k 字节 flash 闪速存储器, 128 字节内部 ram,32 个 i/o 口线,两个 16 位定 时/计数器,一个 5 向量中断结构,一个全双工串行通信口, 片内震荡器及时钟电路。同时, at89s52 可降至 0hz 的静态逻辑操 作,并支持两种软件的可选的节电工作模式。空闲方式停止cpu 的工 作,但允许 ram,定时/计数器,窜行通信口及中断系统继续工作。掉电 方式保存 ram 中的内容,但震荡器停止工作并禁止所有部件工作直到下 一个硬件复位。 (1)at89s52 引脚功能说明: vcc:电源电压 gnd:地 p0 口:po 口是一组 8 位漏极开路行双向 i/o 口,也既地址 /数据 总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8 个 ttl 逻辑电路,对端口写 “1”可作为高阻抗输 出输入端用。在访问外 部数据存储器时,这组口线分时转换地址(低8 位)和数据总线复用。 在 flash 编程时,po 口接收指令字节,而在程序校验时,输出指令字节, 校验时,要求接上拉电阻。 p1 口:p1 口是一个内部上拉电阻的 8 位双向 i/o 口,p1 的输入 缓冲级可驱动(吸收或输出电流) 4 个 ttl 逻辑门电路。对端口写 “1” , 通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口时, 因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流 (i) 。flash 编程和程序校验期间, p1 口接收 8 位地址。 p2 口:p2 口是一个带有内部上拉电阻的 8 位双向 i/o 口,p2 的 输入缓冲极可以驱动(输入或输出电流) 4 个 ttl 逻辑门电路。对端口 图 2. 单片机引脚图 “1” ,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作 输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出 一个电流。在访问外部存储器或 1 位地址的外部数据存储器(例如执行 movxdptr 指令)时,p2 口送出高 8 位地址数据。在访问 8 位地址的 外部数据存储器(如执行 movxri 指令)时,p2 口线的内容(也既特 殊功能寄存器( sfr)区中 r2 寄存器的内容) ,在整个访问期间不改变。 flash 编程或校验时, p2 亦接收高地址和其他控制信号。 p3 口:p3 口是一组带有内部上拉电阻的 8 位双向 i/o 口,p1 的 输入缓冲级可驱动(吸收或输出电流) 4 个 ttl 逻辑门电路。对 p3 口 写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口 时,被外部拉低的 p3 口将用上拉电阻输出电流。 p3 口除可作为一般的 i/o 口线外,更重要的用途是它的第二功能如表1 所示: 表 1 at89s52 端口: p3 口还接收一些用于 flas 闪速存储器编程和程序校验的控制信号 ale/当访问外部程序存储器或数据存储器时, ale(地址锁存 prog 允许)输出脉冲用于锁存地址的低 8 位字节,即使不访问外部字节, ale 仍时钟震荡频率的 1/6 输出固定的正脉冲信号,因此它可对外输出 时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过 一个 ale 脉冲。对 flash 存储器编程期间,该引脚还要输入编程脉冲( ) 。如有必要,可通过对特殊功能寄存器( sfr)区中的 8eh 单元 prog 的 d0 位置位,可禁止 ale 操作。该位置位后,只有一条 movx 和 movc 指令可激活。 此外,此引脚会被微弱拉高,单片机执行外部程序时,应该置ale 无效 rst:复位输出。当震荡器工作时, rst 引脚出现两个机器周期 以上高电平使机器复位。 :程序存入允许()输出的是外部程序存储器的读选通 psenpsen 信号,当 at89s52 由外部程序取指令(或数据)时,每个机器周期两次 有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两 psen 次有效的信号不出。 psen 内部结构方框图 ea/vpp:外部访问允许。欲使 cpu 仅访问外部程序存储器(地址为 0000h-ffffh) ,ea 端必须保持低电平(接地)。要注意的是:如果加 密位 lb1 被编程,复位时内部会锁存 ea 端状态。flash 存储器编程时, 该引脚加上+12v 的编程允许电源 vpp,当然这必须是该器件是使用 12v 的编程电压 vpp。 xtal1:震荡器反向放大器及内部时钟的输入端。 xaal2:震荡器反向放大器的输出端。 时钟震荡器: at89s52 中有一个构成内部震荡器的高增益 由于外部时钟信号是通过一个 2 分频的触发器后作为内部时钟信号 的所以外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最 大低电平持续 的时间应符合产品技术条件的要求。 表 2 at89s52 寄存器 寄存器内容寄存器内容 pc0000htmod00h acc00htcom00h b00hth000h psw00htlo00h sp07hth100h0 dptr0000hth100h p1p30ffhscon00h ipxxx00000sbuf不定 ie0xxx00000pcon0xxx00000 其中单片机最小系统的电路图如图 6 所示。 图 5 . 外部震荡电路 图 4 . 内部震荡电路 图 6. 单片机最小系统 3.3.2、 ds1302 实时时钟芯片实时时钟芯片 ds1302 是 dallas 公司推出的涓流充电时钟芯片,内含一个实时时 钟/日历和 31 字节静态 ram,可以通过串行接口与单片机进行通信。实 时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的 天数和闰年的天数可自动调整,时钟操作可通过am/pm 标志位决定采用 24 或 12 小时时间格式。 ds1302 与单片机之间能简单地采用同步串行的 方式进行通信,仅需三根 i/o 线:复位(rst) 、i/o 数据线、串行时钟 (sclk) 。时钟/ram 的读/写数据以一字节或多达 31 字节的字符组方式 通信。ds1302 工作时功耗很低,保持数据和时钟信息时,功耗小于 1mw。 图 7. ds1302 的内部结构图 ds1302 的外部引脚功能说明如图 8 所示: x1,x232.768khz 晶振引脚 gnd地 rst复位 i/o数据输入/输出 sclk串行时钟 vcc1电池引脚 vcc2主电源引脚 ds1302 的内部结构如图 7 所示,主要组成部分为:移位寄存器、控 制逻辑、振荡器、实时时钟以及 ram。虽然数据分成两种,但是对单片 机的程序而言,其实是一样的,就是对特定的地址进行读写操作 ds1302 含充电电路,可以对作为后备电源的可充电电池充电,并可 选择充电使能和串入的 二极管数目,以调节电池充电电压。不过对我们 目前而言,最需要熟悉的是和时钟相关部分的功能,对于其它参数请参 阅数据手册。 ds1302ds1302 的工作原理的工作原理 ds1302 工作时为了对任何数据传送进行初始化,需要将复位脚 (rst)置为高电平且将 8 位地址和命令信息装入移位寄存器。数据在 时钟(sclk)的上升沿串行输入,前 8 位指定访问地址,命令字装入移 位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数 据。时钟脉冲的个数在单字节方式下为 8+8(8 位地址+8 位数据) ,在 多字节方式下为 8 加最多可达 248 的数据。 ds1302ds1302 的寄存器和控制命令的寄存器和控制命令 对 ds1302 的操作就是对其内部寄存器的操作, ds1302 内部共 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位 为 bcd 码形式。此外, ds1302 还有年份寄存器、控制寄存器、充电寄存 器、时钟突发寄存器及与 ram 相关的寄存器等。时钟突发寄存器可一次 性顺序读写除充电寄存器以外的寄存器。日历、时间寄存器及控制字如 表 3 所示: 图 8. ds1302 封装图 76543210 寄存器名称 1ram/cka4a3a2a1a0rd/w 秒寄存器1000000 分寄存器1000001 小时寄存器1000010 日寄存器1000011 月寄存器1000100 星期寄存器1000101 年寄存器1000110 写保护寄存器1000111 慢充电寄存器1001000 时钟突发寄存器1011111 表 3:日历、时钟寄存器与控制字对照表 最后一位 rd/w 为“0”时表示进行写操作,为 “1”时表示读操作。 ds1302 内部寄存器列表如表 4 所示: 命令字各位内容 寄存器名称 写读 取值范围 76543210 秒寄存器80h81h00-59ch10secsec 分寄存器82h83h00-59010minmin 小时寄存器84h85h01-12 或 00-2312/240ahrhr 日期寄存器86h87h01-28,29,30,310010datedate 月份寄存器88h89h01-1200010mmonth 周寄存器8ah8bh01-0700000day 年份寄存器8ch8dh00-9910yearyear ds1302 内部的 ram 分为两类,一类是单个 ram 单元,共 31 个,每 个单元为一个 8 位的字节,其命令控制字为 cohfdh,其中奇数为读操 作,偶数为写操作;再一类为突发方式下的ram,此方式下可一次性读 写所有的 ram 的 31 个字节,命令控制字为 feh(写) 、ffh(读) 。 我们现在已经知道了控制寄存器和 ram 的逻辑地址,接着就需要知 道如何通过外部接口来访问这些资源。单片机是通过简单的同步串行通 讯与 ds1302 通讯的,每次通讯都必须由单片机发起,无论是读还是写操 作,单片机都必须先向 ds1302 写入一个命令帧,这个帧的格式,最高 位 bit7 固定为 1,bit6 决定操作是针对 ram 还是时钟寄存器,接着的 5 个 bit 是 ram 或时钟寄存器在 ds1302 的内部地址,最后一个 bit 表 表 4: ds1302 内部寄存器列表 示这次操作是读操作抑或是写操作。 物理上,ds1302 的通讯接口由 3 个口线组成,即 rst,sclk,i/o。其中 rst 从低电平变成高电平启动一次数据传输过程, sclk 是时钟线,i/o 是数据线。但是请注意,无论是哪种同步通讯类型 的串行接口,都是对时钟信号敏感的,而且一般数据写入有效是在上升 沿,读出有效是在下降沿( ds1302 正是如此的,但是在芯片手册里没 有明确说明) ,如果不是特别确定,则把程序设计成这样:平时sclk 保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据 操作总是在 sclk 保持为低电平的时候,相邻的操作之间间隔有一个上 升沿和一个下降沿。 ds1302 的命令字结构图 图 9 ds1302 的命令字结构 图 10 ds1302 部分原理图 3.3.3、温度模块、温度模块 本设计中我在温度模块中采用的是 ds18b20 温度传感器, dsl8b20 是 dallas 公司生产的一线式数字温度传感器。它将地址线、数据线和控 制线合为一根双向串行传输数据的信号线,允许在这根信号线上挂接多 个 dsl8b20;因此,单片机只需通过一根 io 线就可以与多个 dsl8b20 通信。每个芯片内还有一个 64 位的 rom,其中存有各个器件自 身的序列号,作为器件独有的 id 号码。dsl8b20 简化了测温器件与计 算机的接口电路,使得电路简单,使用更加方便。 dsl8b20 的特性如下: (1)测温范围:一 55 至十 125; (2)转换精度: 9 至 12 位二进制数(包括符号 1 位),可编程确定转换 精度的位数; (3)测温分辨率: 9 位精度为 05,12 位精度为 0.0625; (4)转换时间: 9 位精度为 9375ms,10 位精度为 1875ms,12 位 精度为 750ms; (5)具有非易失性上、下限报警设定的功能。 图 11 ds18b20 内部结构 预置斜率累加器 计数比较器 预置 温度寄存器 减到 0减法计数器 2高温度系数振荡器 减到 0 减法计数器 1低温度系数振荡器 停止 增加 图 12 内部测温电路图 ds18b20 的测温原理如图 12 所示,图中低温度系数晶振的振荡频率 受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1, 高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减 法计数器 2 的脉冲输入,图中还隐含着计数门,当计数门打开时, ds18b20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成 温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前, 首先将-55 所对应的基数分别置入减法计数器 1 和温度寄存器中,减 法计数器 1 和温度寄存器被预置在 -55所对应的一个基数值。减法计 数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重 新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进 行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的 累加,此时温度寄存器中的数值即为所测温度。图12 中的斜率累加器 用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预 置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被 测温度值,这就是 ds18b20 的测温原理。 使用 dsl8b20 时应注意以下事项: (1)由于 dsl8b20 的测温分辨力提高到 12 位,因此它对时序及电特 性参数要求较高需严格按照 dsl8b20 的时序要求进行操作。 (2)dsl8b20 作三线制应用时,应将 udd、io、gnd 端焊接牢固; 作两线制应用时 ,应将 udd 与 gnd 连在一起焊牢。若 udd 端漏焊或者虚 焊,传感器就只能输出十 850的温度数据。 (3)测温电缆线可采用带屏蔽层的 4 芯双绞线,其中两根线分别接信号 线与地线,另两根线依次接 udd 和地线,屏蔽层在源端单点接地。 图 13 ds18b20 的电路原理 3.3.4、1602 液晶显示器 1602 字符型型液晶是一种用 57 点阵图形来显示字符的液晶显示 器,根据显示的容量可以分为 1 行 16 个字、2 行 16 个字、2 行 20 个 字等,最常用的为 2 行 16 个字,即我们马上要学习的 1602 液晶模块。 带背光的液晶模块 tc1602el,tc1602el 采用标准的 16 脚接口,其引脚 功能如下: 第 1 脚:vss 为电源地,接 gnd。 第 2 脚:vdd 接 5v 正电源。 第 3 脚:vl 为液晶显示器对比度调整端,接正电源时对比度最弱, 接地电源时对比度最高,对比度过高时会产生 “鬼影” ,使用时可以通 过一个 10k 的电位器调整对比度。 第 4 脚:rs 为寄存器选择,高电平时选择数据寄存器、低电平时选 择指令寄存器。 第 5 脚:rw 为读写信号线,高电平时进行读操作,低电平时进行写 操作。当 rs 和 rw 共同为低电平时可以写入指令或者显示地址,当rs 为低电平 rw 为高电平时可以读忙信号,当 rs 为高电平 rw 为低电平时 可以写入数据。 第 6 脚:e 端为使能端,当 e 端由高电平跳变成低电平时,液晶模 块执行命令。 第 714 脚:d0d7 为 8 位双向数据线。 第 15 脚:bla 背光电源正极 (+5v)输入引脚。 第 16 脚:blk 背光电源负极,接 gnd。 tc1602 液晶模块内带标准字库,内部的字符发生存储器( cgrom) 已经存储了 192 个 57 点阵字符,32 个 510 点阵字符。另外还有字 符生成 ram(cgram)512 字节,供用户自定义字符。如表 5 所示,这 些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名 等,每一个字符都有一个固定的代码,比如大写的英文字母 “a”的代 码是 01000001b(41h) ,显示时模块把地址 41h 中的点阵字符图形显示 出来,我们就能看到字母 “a” 。 表 5: cgrom 和 cgram 中字符代码与字符图形对应关系 1602 液晶模块内部的控制器共有 11 条控制指令,如表 6 所示。它 的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明: 1 为高电平、0 为低电平) 表 6: 1602 液晶模块内部的控制器共有 11 条控制指令 指令 1:清显示,指令码 01h,光标复位到地址 00h 位置 指令 2:光标复位,光标返回到地址 00h 指令 3:光标和显示模式设置 i/d:光标移动方向,高电平右移, 低电平左移 s:屏幕上所有文字是否左移或者右移。高电平表示有效, 低电平则无效 指令 4:显示开关控制。 d:控制整体显示的开与关,高电平表示 开显示,低电平表示关显示 c:控制光标的开与关,高电平表示有光标, 低电平表示无光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令 5:光标或显示移位 s/c:高电平时移动显示的文字,低电平 时移动光标 指令 6:功能设置命令 dl:高电平时为 4 位总线,低电平时为 8 位总线 n:低电平时为单行显示,高电平时双行显示 f: 低电平时显 示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。 指令 7:字符发生器 ram 地址设置 指令 8:ddram 地址设置 指令 9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此 时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据 指令 11:读数据 下面是 tc1602 液晶模块的一些主要技术参数: 1、逻辑工作电压( vdd):+4.5 +5.5v 2、lcd 驱动电压(vdd - vl):+4.5 +13.0v 3、工作温度( ta): 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论