收藏 分享(赏)

基于单片机的多功能液晶显示数字时(2).doc

上传人:dzzj200808 文档编号:2293050 上传时间:2018-09-09 格式:DOC 页数:91 大小:1.63MB
下载 相关 举报
基于单片机的多功能液晶显示数字时(2).doc_第1页
第1页 / 共91页
基于单片机的多功能液晶显示数字时(2).doc_第2页
第2页 / 共91页
基于单片机的多功能液晶显示数字时(2).doc_第3页
第3页 / 共91页
基于单片机的多功能液晶显示数字时(2).doc_第4页
第4页 / 共91页
基于单片机的多功能液晶显示数字时(2).doc_第5页
第5页 / 共91页
点击查看更多>>
资源描述

1、基于单片机的多功能液晶显示数字时钟设计摘 要计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能 IC 卡、电子宠物等,这些都离不开单片机。 单片计算机即单片微型计算机。是集 CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而 51 系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业

2、设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本文通过对一个基于单片机的能实现定时,秒表,闹钟等功能的多功能电子时钟的设计学习,详细介绍了单片机应用中的数据转换显示,液晶显示原理,键盘扫描原理。从而达到学习、了解单片机相关指令在各方面的应用。系统由AT89C51、温度检测芯片、时钟芯片、液晶显示器等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示和实时温度显示。也具有时钟、日历的校准,定时时间的设定和闹铃等功能。文章后附有电路原理图、PCB 板图和程序清单,以供读者参考。因水平有限,难免有疏落不足之处,敬请老师和同学能给与批评指正。关键字:AT89C51 定时 秒

3、表 闹钟唐山学院毕业设计Designs of LCD digital clock based on MCS-51AbstractComputers have accelerated the transformation of the worlds human pace, but it is after all bulky. SCM in this case was born. As of today, SCM application rapid development of technology, looking around us now in all spheres of life, fr

4、om missiles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is insepar

5、able from the microcontroller. Monolithic single-chip micro-computer or computer. That is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automatio

6、n. And 51 Series SCM SCM is the most typical and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities.Based on a microcontroller based on the will to achieve timing, stopwatch, alarm clocks, and ot

7、her functions of a multi-functional electronic clock design study, in detail, the computer application of data conversion, Principle LCD, keyboard scanning principle. Thereby achieve studying and understanding the relevant directives SCM in all aspects of the application. By AT89C51 system, temperat

8、ure detection chip, the clock chips, liquid crystal displays of components, to achieve clock calendar display function can be carried out, hours seconds of the show and real-time temperature display. Also calculated with the calendar and clock, calendar calibration, regular hours and set the alarm f

9、unction. The article attached circuit diagram, the PCB plans and procedures checklist for the reference of our readers. Due to limited, and it will inevitably be lighter inadequate, locations will give teachers and students correction and criticism. Key words: AT89C51; timing; stopwatch; alarm clock

10、s 唐山学院毕业设计目 录1 引言 12 总体方案介绍 22.1 系统设计思想 22.2 系统框架图 23 硬件仿真电路设计 33.1 Proteus33.1.1 Proteus 简介 .33.1.2 Proteus 的基本操作 .33.2 AT89C51 的电路设计 .53.2.1 AT89C51 简介 .53.2.2 AT89C51 的时钟电路设计 .73.2.3 AT89C51 的复位电路设计 .83.3 AT89C51 液晶显示模块的连接 .93.3.1 液晶显示器 LCD1602 简介 93.3.2 AT89C51 与 LCD1602 的连接 .133.4 AT89C51 与时钟芯片

11、的连接 .143.4.1 时钟芯片 DS1302 简介 .143.4.2 AT89C51 与时钟芯片 DS1302 的连接 163.5 AT89C51 与温度芯片的连接 .173.5.1 温度芯片 DS18B20 简介 173.5.2AT89C51 与温度芯片 DS18B20 的连接 173.6 AT89C51 与键盘的连接 .184 系统软件设计 .204.1Keil 简介 .204.2 程序设计 204.2.1 主程序模块设计 204.2.2 液晶显示器 LCD1602 模块 224.2.3 时钟芯片 DS1302 操作模块 .234.2.4 温度芯片 DS18B20 操作模块 254.2

12、.5 键盘操作模块 265 Proteus 与 Keil 连接调试 286 硬件实现 31唐山学院毕业设计6.1 Protel 简介 .316.2 Protel 的硬件电路设计 .316.2.1 创建项目文件 .316.2.2 原理图设计 .326.2.3 报表生成 .336.2.4 创建 PCB 文件 .336.2.5 PCB 布线 .356.2.6 3D 效果图 367 结论 37谢辞 .38参考文献 .39附录 .40外文资料 .7711 引言单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内

13、部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。目前单片机已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机

14、应用与智能化控制的科学家、工程师。本次设计的多功能数字时钟,以 AT89C51 芯片为核心,辅以必要的电路,通过液晶显示器能够准确显示数字时钟。它也是现代社会应用广泛的计时工具,在航天、电子等科研单位,工厂、医院、学校等企事业单位,各种体育赛事及至我们每个人的日常生活中都发挥着重要的作用。该系统同时具有硬件设计简单、工作稳定性高、价格低廉等优点。唐 山 学 院 毕 业 设 计12 总体方案介绍整个电子时钟系统电路可分为五大部分:中央处理单元(CPU) 、电源电路部分、显示部分、键盘输入部分、温度采集部分。2.1 系统设计思想本系统由控制时钟芯片 DS1302、温度芯片 DS18B20、AT89

15、C51 单片机和字符点阵型 LCD1602 液晶显示器等器件构成。用 DS1302 产生时钟信号,用温度芯片 DS18B20 产生温度信号,再由单片机负责接收并且对其进行控制,然后通过编写程序实现具体的功能,如年、月、日、星期、时、分、秒及温度的显示,以及时间的校准、闹钟的设置等。再通过编写液晶器件的驱动程序,使其信息显示在LCD1602 液晶显示器上。最后,将设计的硬件电路在 Proteus 仿真软件中进行仿真。2.2 系统框架图根据上述的系统设计总思想设计出如下总体框架图(图 2-1):图 2-1 系统总体框架图DS1302时钟芯片DS18B20温度芯片AT89C51单片机LCD1602液

16、晶显示器唐 山 学 院 毕 业 设 计23 硬件仿真电路设计在前面的章节给出了系统设计的粗略轮廓,在本章节中,将画出详细的电路仿真原理图,并按照要求仔细地在 Proteus 中完成硬件的仿真电路。总体上来说,本系统主要由显示电路, 功能控制电路、传感器电路三部分组成。吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了电子时钟的基本功能,而且还可以通过对程序的改变来实现其它方面的开发及学习。3.1 Proteus3.1.1 Proteus 简介Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于

17、Windows 操作系统上,可以仿真、分析(SPICE )各种模拟器件和集成电路,该软件的特点是:(1)实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、 PIC18 系列、Z80 系列、HC11系列以及各种外围芯片。(3)提供软件调试功能。在硬件仿真系统

18、中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如 Keil C51 uVision3 等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。3.1.2 Proteus 的基本操作双击桌面上的 ISIS 7 Professional 图标或者单击屏幕左下方的“开始”“程序”“Proteus 7 Professional” “ISIS 7 Professional” ,出现如图 3-1 所示屏幕,进入 Proteus IS

19、IS 集成环境。唐 山 学 院 毕 业 设 计3图 3-1 启动时的屏幕Proteus ISIS 的工作界面是一种标准的 Windows 界面,如图 3-2 所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图 3-2 Proteus ISIS 的工作界面进入 Proteus ISIS 的工作界面后,选择“对象选择器窗口”中的“对象选择按钮” ,选择所需的元器件,然后放置到“图形编辑窗口”中,以些类推将原理图中的元器件放置完毕,再用相应的线联接起来,绘图完毕后点击保存即可。如果想对本系统进行

20、仿真时,还要将编译过的源程序载下 AT89C51 中,操作过程为:在 AT89C51 芯片上单击右键选择“Edit Component”如图 3-3 ,在“Program File”框中选择编译好的源程序文件,选择“OK”键关闭“Edit Component”对话框。最后点击仿真进程控制按钮中的“开始”按钮即可进行仿真唐 山 学 院 毕 业 设 计4操作。图 3-3 Edit Component 对话框3.2 AT89C51 的电路设计3.2.1 AT89C51 简介AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPEROMFlash Programmable and Er

21、asable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图 3-4 所示:图 3-4

22、 AT89C51 唐 山 学 院 毕 业 设 计5管脚说明:VCC供电电压。GND接地。P0 口8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。P1 口带内部上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内

23、部上拉的缘故。在 FLASH 编程和校验时,P1口作为第八位地址接收。 P2 口带内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口带内

24、部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流( ILL)这是由于上拉的缘故。在编程 /校验时,P3口可接收某些控制信号。具体的 P3 口功能,如表 3-1 所示。表 3-1 P3 口的特殊功能引脚 替代功能 说明唐 山 学 院 毕 业 设 计6P3.0 RXD 串行数据接收P3.1 TXD 串行数据发送P3.2 INT0 外部中断 0 申请P3.3 INT1 外部中断 1 申请P3.4 T0 定时器 0 外部事件计数输入P3.5 T1 定时器 1 外部事件计数输入

25、P3.6 WR 外部 RAM 写选通P3.7 RD 外部 RAM 读选通RST复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才

26、起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP当/EA 保持低电平时,则在此期间外部程序存储器(0000HFFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTA

27、L2来自反向振荡器的输出。3.2.2 AT89C51 的时钟电路设计时钟电路是产生 CPU 校准时序,是单片机的控制核心。AT89C51 的时钟信号可通过内部振荡方式和外部振荡方式两种方式得到。本次设计使用的是片内振荡方式,通过外接 12MHz 的晶振来实现时钟电路的时序控制。在使用片内振荡器时,XTAL1 和 XTAL2 分别为反向放大器的输入端和输出端。外接晶体以及电容 C1和 C2 构成并联谐振电路,接在放大器的反馈回路中。当使用外部时钟驱动时,XTAL2 引脚应悬空,而由 XTAL1 引脚上的信号驱动,或者 XTAL1 引脚应悬空,唐 山 学 院 毕 业 设 计7而由 XTAL2 引脚

28、上的信号驱动。外部振荡器再通过一个 2 分频的触发器来形成内部时钟所需要的信号。在电容器 C1、C2 选择时方面,一般选择其值为 530pF。本系统中所用的电容值为 22pF,具体的电路接法如图 3-5 所示。图 3-5 晶振电路图3.2.3 AT89C51 的复位电路设计根据应用的要求,复位操作通常由上电复位和开关复位 2 种基本形式。本系统使用的复位电路是在基本复位电路的基础上所改进的一种混合方法,使其两种形式巧妙地糅合在一起,即做到了上电复位,又可以在发生预料之外的问题时,随时进行开关复位单片机。具体的电路连接接法如图 3-6 所示。图 3-6 复位电路单片机复位后的状态:单片机的复位操

29、作使单片机进入初始化过程,其中包括使程序计数器PC 0000H,P0P3 FFH,SP 07H,其他寄存器处于零。这表明程序从 0000H地址单元开始执行。单片机复位后不改变片内 RAM 区中的内容,21 个特殊功能寄存器复位后的状态如表 3-2 所示。表 3-2 8051 单片机复位后特殊功能寄存器的初始状态 1特殊功能寄存器 初始状态 特殊功能寄存器 初始状态唐 山 学 院 毕 业 设 计8A 00H TMOD 00H B 00H TCON 00H 表 3-2 续 8051 单片机复位后特殊功能寄存器的初始状态 1特殊功能寄存器 初始状态 特殊功能寄存器 初始状态PSW 00H TH0 0

30、0H SP 07H TL0 00H DPL 00H TH1 00H DPH 00H TL1 00H P0P3 FFH SBUF 不定 IP *00000B SCON 00H IE 0*00000B PCON 0*B 注:表中的符号*为随机状态需要指出的是,记住一些特殊功能寄存器复位后的状态,对于熟悉单片机操作,减短应用程序中的初始化部分是十分必要的。3.3 AT89C51 液晶显示模块的连接3.3.1 液晶显示器 LCD1602 简介液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本系统使用是是LCD1602 液晶显示器,它可

31、以显示两行,每行 16 个字符,采用单+5V 电源电,外围电路配置简单,价格便宜,具有很高的性价比。LCD1602 外观如图 3-7 所示。唐 山 学 院 毕 业 设 计9图 3-7 LCD1602 外观LCD1602采用标准的14脚接口,其中VSS为地电源,VDD接5V 正电源,VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个10K 的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者

32、显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。LCD1602液晶模块内部的控制器共有11条控制指令,具体的命令见表3-3所示。表 3-3 LCD1602 控制指令指 令 RS R/W D7 D6 D5 D4 D3 D2 D1 D01 清屏 0 0 0 0 0 0 0 0 0 12 光标复位 0 0 0 0 0 0 0 0 1 *3 光标和显示模式设置 0 0 0 0 0 0 0 1 I/D S4 显示开关控制 0 0 0 0 0 0 1 D C B5 光标或字

33、符移位 0 0 0 0 0 1 S/C R/L * *6 置功能 0 0 0 0 1 DL N F * *7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址(AGG)8 置数据存贮器地址 0 0 1 显示数据存贮器地址(ADD)9 读忙标志或地址 0 1 BF 计数器地址(AC)10 写入 CGRAM/DDRAM 1 0 要写的数11 读 CGRAM/ DDRAM 数 1 1 读出的数据1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(1)清屏指令 功能:1) 清除液晶显示器,即将 DDRAM 的内容全部填入“空白”的 ASCII 码20H;2)光标归位,即将

34、光标撤回液晶显示屏的左上方;3) 将地址计数器(AC)的值设为 0;2. 光标复位指令 功能:1) 把光标撤回到显示器的左上方;唐 山 学 院 毕 业 设 计102)把地址计数器(AC)的值设置为 0;3)保持 DDRAM 的内容不变;(3) 光标和显示模式设置指令 功能:设定每次定入 1 位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的情况表 3-4 所示。表 3-4 显示模式设置指令参数设定位名 设置I/D 0=写入新数据后光标左移1=写入新数据后光标右移S 0=写入新数据后显示屏不移动1=写入新数据后屏整体右移 1 个字符(4)显示开关控制指令功能:控制显示器开/关

35、、光标显示/关闭以及光标是否闪烁。参数设定的情况如表 3-5。表 3-5 显示开关控制指令参数设定位名 设置D 0=显示功能关1=显示功能开C 0=无光标1=有光标B 0=光标闪烁1=光标不闪烁(5)设定显示屏或光标移动方向指令功能:使光标移位或使整个显示屏幕移位。参数设定的情况如表 3-6。表 3-6 设定显示屏或光标移动方向指令参数设定S/C R/L 设定情况0 0 光标左移 1 格,且 AC 值减 1唐 山 学 院 毕 业 设 计110 1 光标右移 1 格,且 AC 值加 11 0 显示器上字符全部左移一格,但光标不动1 1 显示器上字符全部右移一格,但光标不动(6)功能设定指令功能:

36、设定数据总线位数、显示的行数及字型。参数设定的情况如表 3-7。表 3-7 功能设定指令参数设定位名 设置DL 0=数据总线为 4 位1=数据总线为 8 位N 0=显示 1 行1=显示 2 行F 0=57 点阵/每字符1=510 点阵/每字符(7)设定 CGRAM 地址指令功能:设定下一个要存入数据的 CGRAM 的地址。(8)设定 DDRAM 地址指令功能:设定下一个要存入数据的 CGRAM 的地址。(9)读取忙信号或 AC 地址指令功能:1) 读取忙碌信号 BF 的内容, BF=1 表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;当 BF=0 时,液晶显示器可以接收单片机送来的数据或

37、指令;2)读取地址计数器(AC)的内容。(10)数据写入 DDRAM 或 CGRAM 指令一览功能:1) 将字符码写入 DDRAM,以使液晶显示屏显示出相对应的字符;2)将使用者自己设计的图形存入 CGRAM;(11)从 CGRAM 或 DDRAM 读出数据的指令一览功能:读取 DDRAM 或 CGRAM 中的内容。唐 山 学 院 毕 业 设 计12表 3-8 基本操作时序命令名 输入 输出读状态 RS=L,RW=H,E=H DB0DB7= 状态字写指令 RS=L,RW=L,E=下降沿脉冲, DB0DB7= 指令码无读数据 RS=H,RW=H,E=H DB0DB7= 数据写数据 RS=H,RW

38、=L,E=下降沿脉冲,DB0DB7= 数据无液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图 3-8 是 1602 的内部显示地址。图 3-8 1602LCD 内部显示地址例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H)+10000000B( 80H)=11000000B(C0H ) 。在对液晶

39、模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和唐 山 学 院 毕 业 设 计13日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A ”的代码是 01000001B(41H) ,显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A”3.3.2 AT89C51 与 LCD1602 的连接在 LCD1602 液晶显示模块和单片机 A

40、T89C51 相连接时需要在液晶显示的数据口加上 10K 左右的上拉电阻,具体的接法为:将 VSS 接地,VDD 接高电平,VEE 接入一个电位器来调整 LCD1602 的对比度。将 RS 接到 P2.0 口,R/W 接到P2.1 口,E 接到 P2.2 口。 D0D7 接到 P0 口来控制命令输入及数据的输入/输出。具体的连接仿真电路可见图 3-9 所示。图 3-9 LCD1602 液晶显示模块和单片机 AT89C51 接口电路3.4 AT89C51 与时钟芯片的连接3.4.1 时钟芯片 DS1302 简介DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和

41、 31 字节静态 RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过 AM/PM 指示决定采用 24 或 12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线: RES 复位线、 I/O 数据线、SCLK 串行时钟。时钟/RAM 的读/ 写数据以一个字节或多达 31个字节的字符组方式通信。DS1302 工作时功耗很低保持数据和时钟信息时功率小于 1mW。DS1302 器件外观如图 3-10 所示,DS1302 管脚的功能描述可见表 3-9 所示。唐 山

42、学 院 毕 业 设 计14图 3-10 DS1302 器件表 3-9 DS1302 管脚的功能描述管脚名 功能说明X1,X2 32.768KHz 晶振管脚GND 地RST 复位脚I/O 数据输入/输出引脚SCLK 串行时钟Vcc1,Vcc2 电源供电管脚DS1302 的控制字如图 3-11 所示。控制字节的最高有效位(位 7)必须是逻辑1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开

43、始输出。 图 3-11 DS1302 的控制字在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式 ,其日历、时间寄存器及其控制字见表 3-10 所示。表 3-10 日历、时间寄存器及其控制字寄存器名称 写操作 读操作 取值范围 7 6 5 4 3 2 1秒寄存器 80H 81H 0059 CH 10SEC

44、SEC分寄存器 82H 83H 0059 0 10MIN MIN1 RAM/CK A4 A3 A2 A1 A0 RAM/K唐 山 学 院 毕 业 设 计15时寄存器 84H 85H 0023 12/24 10HR HR日寄存器 86H 87H 0131 0 10DATE DATE月寄存器 88H 89H 0112 0 0 10M MONTH周寄存器 8AH 8BH 0107 0 0 0 0 DAY年寄存器 8CH 8DH 0099 10YEAR YEARDS1302 的主要特性:(1)实时时钟具有能计算 2100 年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力(2)31*

45、 8 位暂存数据存储 RAM(3)串行 I/O 口方式使得管脚数量最少(4)宽范围工作电压:2.0 5.5V(5) 工作电流 2.0V 时,小于 300nA(6) 读/写时钟或 RAM 数据时,有两种传送方式:单字节传送和多字节传送(字符组方式)(7) 8 脚 DIP 封装或可选的 8 脚 SOIC 封装(根据表面装配)(8) 简单 3 线接口(9) 与 TTL 兼容(Vcc=5V)(10)可选工业级温度范围-40 +853.4.2 AT89C51 与时钟芯片 DS1302 的连接在使用 DS1302 时需加一个供其工作的晶振,一般选值为 32768Hz。最好再加一个后备电源使其在断电后断续工

46、作。其与 AT89C51 的连接如图 3-12 所示。实际上,在调试程序时可以不加电容器,只加一个 32768Hz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。要特别说明的是备用电源 BAT1,可以用电池或者超级电容器(0.1F 以上) 。虽然 DS1302 在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V 充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 F 就可以保证 1 小时的正常走时。 DS1302 在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。唐 山

47、 学 院 毕 业 设 计16图 3-12 AT89C51 与 DS1302 的连接3.5 AT89C51 与温度芯片的连接3.5.1 温度芯片 DS18B20 简介DS18B20 数字温度计是 DALLAS 公司生产的 1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。其实物图如图 3-13 所示,其引脚的功能描述可见表 3-11 所示。图 3-13 DS18B20表 3-11 DS18B20 的引脚功能描述引脚 功能说明GND 地DQ 数字输入输出引脚VDD 可选的 VDD 引脚DS18B20

48、的特点: (1)只要求一个端口即可实现通信。 (2)在 DS18B20 中的每个器件上都有独一无二的序列号。 (3)实际应用中不需要外部任何元器件即可实现测温。 (4)测量温度范围在55C 到125C 之间。 (5)数字温度计的分辨率用户可以从 9 位到 12 位选择。 (6)内部有温度上、下限告警设置。 3.5.2AT89C51 与温度芯片 DS18B20 的连接唐 山 学 院 毕 业 设 计17在仿真软件中,可以用 DS18B20 仿真器上的上、下键来调节温度的高低,以此来检测读、写温度程序是否成功。具体的 DS18B20 与 AT89C51 连接如图 3-14所示图 3-14 AT89C

49、51 与 DS18B20 的连接3.6 AT89C51 与键盘的连接键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。(1)编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比较复杂,对于主机任务比较繁重。(2)非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用 CPU 较多时间。键盘电路结构分为两类:独立式按键和矩阵式键盘。(1)独立式按键独立式按键就是各按键相互独立,每个按键单独占用一根 I/O 口线,每根 I/O口线的按键工作状态不会影响其他 I/O 口线上的工作状态。因此,通过检测输入线的电

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报