1、电子万年历实训报告242020年4月19日文档仅供参考河南工程学院单片机实训报告学 院 电气信息工程学院 专 业 电气工程及其自动化 组员及学号 李 东 盼 50712138 高 辉 50712216 屈 海 兴 50712213 设计题目电子万年历的设计制作 指导教师 翁 嘉 民 内容:电子万年历能显示阳历年、月、日、星期、小时、分、秒和阴历月、日以及实时温度。实现的功能及要求基本要求A、 具有年、月、日、星期、时、分、秒等功能;B、 具有年、月、日、星期、时、分、秒校准功能C、 校准时具有闪烁功能。D、 具有实时温度显示功能。摘要本文经过一个基于单片机的能实现数字显示功能万年历的设计,从而
2、达到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89S52、时钟电路DS1302.、显示电路、按键电路和复位电路等各部分构成,能实现时钟日历显示功能,能进行时、分、秒的显示。关键词:单片机,农历查询,万年历AbstractBased 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
3、 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
4、-chip, lunar calendar demand, perpetual calendars 目录1 、绪 论52 、引 言62.1课题的背景、研究意义62.2实现的功能及要求6 2.3方案论证.6 3、系统硬件电路设计.73.1 单片机控制系统原理73.2 硬件的设计总框图83.3 各功能模块硬件设计及实现93.3.1、 AT89S5293.3.2、 DS1302实时时钟芯片143.3.3、 温度模块183.3.4、 1602液晶显示器203.4 电路总图:244、 系统程序设计254.1主程序流程图254.2 中断服务程序265、 心得体会276、参考文献287、 附录29第1节 系
5、统程序设计291、绪 论本设计主要分为硬件电路设计和软件实现两大部分。硬件电路设计采用模块设计:中央处理电路、时钟电路、温度测量电路三大部分;软件采用C语言编程实现,设计采用按功能模块划分,包括:主程序、显示程序、温度测量程序、时钟程序等。在中央处理器上我们采用MCS-51单片机,该单片机是集CPU ,RAM ,ROM ,计数和多种接口于一体的微控制器。自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。在时间功能上主要依靠实时时钟芯片DS1302来完
6、成大部分功能,DS1302是具有涓细电流充电能力的低功耗实时时钟电路,它以其接口简单、价格低廉、使用方便,被广泛地采用。它的主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,而且能够关闭充电功能。采用普通32.768kHz晶振。因此用此款芯片来实现时间功能是完全能满足电路的要求。温度方面工作由数字式温度传感器DS18B20来完成,这款温度传感器是具有线路简单,体积小,方便易用等特点,温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。选用这个芯片使电路简化,提高了效率。本课题经过MCS-51单片机
7、来设计,采用Keil C语言进行编程,能够实现以下一些功能:小时、分、秒和年、月、日的显示,定时报警功能。本设计万年历由时钟电路,LCD显示电路,定时报警电路,按键调整电路四部分组成。51单片机经过软件编程,在LCD1602液晶屏上实现小时、分、秒和年、月、日的显示;利用时钟芯片DS1302来实现计时,定时功能;经过两个按键开关,一个用于时钟的调节,一个用于闹钟的调节,来实现参数设置和调节功能;到达设置的闹钟时间时,由蜂鸣器发声,起报警作用。本次设计的电子时钟,经过对比测试,发现实际计时的走时精度较高,可满足多种场合的应用需求。本文详细介绍了AT89S52单片机的基本原理,分析了AT89S52
8、各个管脚的功能及它在设计电路中的作用。本文论述了LCD1602液晶屏和时钟芯片DS1302的工作原理及其软件设计过程。2、引 言单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。它是一种集计数和多中接口于一体的微控制器,被广泛应用在智能产品和工业自动化上,而52单片机是个单片机中最为典型和最有代表性的一种。 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都
9、采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,万年历用集成电路计时时,译码代替机械式传动,用LCD显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还能够进行时和分的校对。2.1 课题的背景、研究意义 随着电子技术的迅速发展、时间的流逝,从观察太阳、摆钟到现在的电子钟,人类不断的研究、不断创新。现市场的电子钟具有低耗能的实时时钟电路,它们能够对年、月、日、周日、时、分、秒进行计时,还具有润年补偿等功能,且使用寿命长、误差小、使用方便,电子万年历的出现给人们的生活带来的诸多方便。当前,国际上的电子万年历正从模拟模式向数字式、由集成化向智能化
10、的方向飞速发展。 综上所述此万年历具有可取方便、显示直观。功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。2.2方案论证显示模块选择方案和论证: 方案一:采用LCD数码管动态扫描,LED数码管价格适中,对显示数字最合适,而且采用动态扫描法和单片机连接时,占用的单片机口线少,但这里显示为数多,所要求是数码管多,成本高。方案二:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,虽价格昂贵,但接口线多,因此在此设计中采用LED液晶显示屏。时钟芯片的选择和论证: 方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是
11、一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及润年补偿的年近计数,而且精度高,结果简单,因此采用DS1302时钟芯片。 方案二:直接采用单片机定时计数器提供秒信号,实用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,可是,实现的时间误差较大。且算法复杂,因此不采用此方案。 经论证本次设计采用AT89s52作为主控制系统,DS1302提供时钟,采用LED液晶作为显示。3、系统硬件设计3.1单片机控制系统原理方案一:采用 CPLD作为主控制器控制外围电路进行电压、频率测量,时钟控制、温度测量、键盘和LED控制、报警控制。此方案逻辑电路复杂,且灵活性
12、较低,不利于各种功能的扩展,在测电压时将经过A/D测得的数值转化为电压有效值时有一定的困难。 方案二:采用 AT89S52单片机来实现系统的控制。键盘四个独立按键控制,时钟芯片采用DS1302,温度传感器采用DS18B20。此系统硬件简洁,将复杂的硬件功能用软件实现,因此系统控制灵活,能很好地满足本题的基本要求和扩展要求。此方案基本原理框图如图1所示。 比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能完全达到设计要求,故采用第二种方案。3.2 硬件的设计总框图液晶显示部分DS18B20温度传感器部分AT89S52单片机DS1302实时时钟部分键盘输入部分 图1. 系统方框图 本次设计
13、的基于单片机控制的电子万年历,其具有年、月、日、星期、时、分、秒的显示功能;具体时间与阴、阳历能够自动关联;能够设置闹铃的功能。其具体实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给LCD显示信息。而且能够在键盘设置模块输入修改时间,设置闹铃等信息,当键盘设置时间、日期时,单片机主控制根据输入信息,经过串口通信此传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD模块上显示3.3 各种功能模块硬件设计及实现本设计以单片机AT89S52为控制核心,由实时时钟部分、显示部分、键盘输入部分、温度采集部分等部分组
14、成。其中实时时钟采用DS1302可实现年月日时分秒等时间信息的采集和闹钟功能。温度检测模块由DS18B20集成温度传感器对现场环境温度进行实时检测。键盘采集部分由四个独立按键组成,可实现时间显示、闹钟设置、环境温度测量等功能。硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现此设计基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性; 软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。 3.3.1 、AT89S52单片机AT89S52是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内8Kbytes的
15、可重复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89S52单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。主要性能参数: 与MCS-51产品指令系统的全兼容4k字节可重擦写Flash闪速存储器图2. 单片机引脚图 1000次可擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器 1288字节内部RAM 32个可编程I/O口线 2个16位定时/计数器 5个中断源 可编程串行UART通道
16、低功耗空闲和掉电模式 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口
17、,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输出输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P1口:P1口是一个内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,经过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流(I)。Flash编程和程序校验期间,P1口接收8位
18、地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输入缓冲极能够驱动(输入或输出电流)4个TTL逻辑门电路。对端口“1”,经过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或1位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口线的内容(也既特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高地址和其它控制信号。P3口:P3口是一组带
19、有内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能如表1所示: 表1 AT89S52端口:P3口还接收一些用于Flas 闪速存储器编程和程序校验的控制信号ALE/当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ALE仍时钟震荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每
20、次访问外部存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还要输入编程脉冲()。如有必要,可经过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令可激活。另外,此引脚会被微弱拉高,单片机执行外部程序时,应该置ALE无效RST:复位输出。当震荡器工作时,RST引脚出现两个机器周期以上高电平使机器复位。 :程序存入允许()输出的是外部程序存储器的读选通信号,当AT89S52由外部程序取指令(或数据)时,每个机器周期两次有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的信号不出。内部结构方框图EA/VP
21、P:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V的编程电压Vpp。XTAL1:震荡器反向放大器及内部时钟的输入端。XAAL2:震荡器反向放大器的输出端。时钟震荡器:AT89S52中有一个构成内部震荡器的高增益 图4 . 内部震荡电路图5 . 外部震荡电路由于外部时钟信号是经过一个2分频的触发器后作为内部时钟信号的因另外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低
22、电平持续的时间应符合产品技术条件的要求。表2 AT89S52寄存器寄存器内容寄存器内容PC0000HTMOD00HACC00HTCOM00HB00HTH000HPSW00HTLO00HSP07HTH100H0DPTR0000HTH100HP1P30FFHSCON00HIPxxx00000SBUF不定IE0xxx00000PCON0xxx00000 其中单片机最小系统的电路图如图6所示。图6. 单片机最小系统3.3.2、 DS1302实时时钟芯片DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,能够经过串行接口与单片机进行通信。实时时钟/日历电路提
23、供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可经过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主电源引脚图8.
24、 DS1302封装图DS1302的内部结构如图7所示,主要组成部分为:移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。虽然数据分成两种,可是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作DS1302含充电电路,能够对作为后备电源的可充电电池充电,并可选择充电使能和串入的二极管数目,以调节电池充电电压。不过对我们当前而言,最需要熟悉的是和时钟相关部分的功能,对于其它参数请参阅数据手册。DS1302的工作原理DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地
25、址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。DS1302的寄存器和控制命令对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。另外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。日历、时间寄存器及控制字如表3所示:寄存器名称765432101RAM/CKA4A3A2A
26、1A0RD/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/240AH
27、RHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR表4: DS1302内部寄存器列表DS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。我们现在已经知道了控制寄存器和RAM的逻辑地址,接着就需要知道如何经
28、过外部接口来访问这些资源。单片机是经过简单的同步串行通讯与DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向DS1302写入一个命令帧,这个帧的格式,最高位BIT7固定为1,BIT6决定操作是针对RAM还是时钟寄存器,接着的5个BIT是RAM或时钟寄存器在DS1302的内部地址,最后一个BIT表示这次操作是读操作抑或是写操作。物理上,DS1302的通讯接口由3个口线组成,即RST,SCLK,I/O。其中RST从低电平变成高电平启动一次数据传输过程,SCLK是时钟线,I/O是数据线。可是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且一般数据
29、写入有效是在上升沿,读出有效是在下降沿(DS1302正是如此的,可是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时SCLK保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在SCLK保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。DS1302的命令字结构图图9 DS1302的命令字结构图10 DS1302部分原理图 3.3.3、温度模块 本设计中我在温度模块中采用的是DS18B20温度传感器,DSl8B20是DALLAS公司生产的一线式数字温度传感器。它将地址线、数据线和控制线合为一根双向串行传输数据的信号线,允许在这根信号线上挂接多
30、个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内
31、部结构预置斜率累加器计数比较器预置温度寄存器减到0减法计数器2高温度系数振荡器减到0减法计数器1低温度系数振荡器停止增加图12 内部测温电路图DS18B20的测温原理如图12所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温
32、度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图12中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。使用DSl8B20时应注意以下事项: (1)由于DSl8B20的测温分辨力提
33、高到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
34、行16个字,即我们马上要学习的1602液晶模块。带背光的液晶模块TC1602EL,TC1602EL采用标准的16脚接口,其引脚功能如下:第1脚:VSS为电源地,接GND。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时能够经过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时能够写入指令或者显示地址,当RS为低电平RW为高电平时能够读忙信号,当RS为高电平
35、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),显示时模块把地
36、址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 表5: CGROM和CGRAM中字符代码与字符图形对应关系1602液晶模块内部的控制器共有11条控制指令,如表6所示。它的读写操作、屏幕和光标的操作都是经过指令编程来实现的。(说明:1为高电平、0为低电平) 表6: 1602液晶模块内部的控制器共有11条控制指令指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效指令4:显示开关控制。 D:控制整体显示的开
37、与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置指令8:DDRAM地址设置指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据指令11:读数据
38、下面是TC1602液晶模块的一些主要技术参数:1、逻辑工作电压(VDD):+4.5 +5.5V2、LCD驱动电压(VDD - VL):+4.5 +13.0V3、工作温度(Ta): 0 60C(常温)/-20 75 C(宽温)4、工作电流: 2.0mA5、屏幕视域尺寸: 62.5 16.1mm 【TC1602EL液晶模块应用编程】TC1602EL液晶显示模块能够和51系列单片机直接接口,下面就是S51增强型实验板的液晶接口电路 液晶显示模块是一个慢显示器件,因此在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字
39、符,表7是TC1602EL液晶模块的内部显示地址。 表7:1602液晶内部显示地址1602部分电路图图15 1602液晶显示部分电路原理图3.4、电路总图:图16 电路设计总图4、系统程序设计开始端口初始化读取DS1302时间和DS18B20的温度并显示延时重读DS18B20温度显示小时和分钟按键中断?N 中断Y4.1主程序流程图中断显示年设置?显示星期设置?显示月设置?显示日设置?显示小时设置?显示分钟设置?中断返回年设置程序星期设置程序月设置程序日设置程序小时设置程序分钟设置程序YNYNYNYNYNYN4.2中断服务程6、 参考文献1 徐爱卿. 单片机原理及应用M.北京:北京航空航天大学出
40、版社, .2 梁成升,杜素芳等.C语言程序设计基础M。北京:国防工业出版社M 。3 崔惠柳.串行实时时钟芯片DS1302及其应用J。广西:广西工学院学报1998年01期P53-60。4 张瑾.Protel 99se入门与提高M。北京:人民邮电出版社, 。5 刘天旺.Protel 99SE 电路设计应用教程M。上海:电子工业出版社, 。6 WANG Lin. Optimization of the Double Length Flying Shear in Continuous Rod Rolling Line M.Steel Rolling, .1.7 MOREG DC Master 6RA70 Series M.Siemens Electrical Drives Ltd. .8 武锋.单片机的开发应用技术M. 北京: 北京航空航天大学出版社, .9 马忠梅. 单片机典型模块设计实例导航M.北京: 求是科技出版社, .10李建忠. 单片机原理及应用,西安电子科技大学出版社, 11邱关源. 电路北京高等教育出版社 -212张志 单片机系统配置实践西安航空技术高等专科学校学报,199813徐得波 单片机动态可调电子时钟系统聊城师范学报,199414彭小军 用单片机实现电子时钟新余高等专科学报, 15 陈爱萍电子显示屏的单片机控制系统湖南纺织高等专科学报,
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100