具有串口传送功能的电子时钟
学生姓名 学号
学生专业 自动化 班级09自动化1
学院机电工程学院 指导教师 王桂荣
中国计量学院
带串口、定时闹钟、时钟计时器的显示屏设计
摘要:本次课程设计主要采用基于STC89C52单片机系统的万年历设计,实现了以下功能:时间显示并且可调,日期、星期显示,闹铃,串口通信,可移动字幕显示。其中串口通信采用MX232来实现,显示屏采用12864液晶屏,为计时准确,采用DS1302时钟芯片来实现时间计时模块。采用STC89C52单片机内部定时器0中断实现时间显示和闹钟扫描,定时器1中断实现5S按键无操作退出返回主显示界面,定时器2实现串口波特率发生器。
通过这次课程设计,让我们掌握了如何设计一个具有完整功能的单片机系统,同时也让我们学习了keil开发软件和proteus仿真软件的使用,而且还让我们更好地学会了组内分工合作,共同完成一项任务的配合精神。
0.1智能仪表课程设计概要
0.2设计任务与要求
0.2.1设计目的
1、掌握数字电子钟的设计方法;
2、掌握常用数字集成电路的功能和使用;
3、掌握小型单片机系统的开发。
0.2.1设计要求
基本功能要求
1、可动态左右、上下显示“中国计量学院欢迎您”;
2、在5秒按钮无操作则以24h(小时)计时方式显示时、分、秒;
3、使用按键开关可实现时分调整;
4、具有闹钟功能,声光提示。
扩展功能
1、显示日期与星期;
2、可232通讯显示计算机传送字符;
1.1系统整体设计思路
按照系统的设计功能要求,本时钟系统的设计必须采用单片机软件系统实现,用STC89C52单片机的自动控制能力配合时钟芯片DS1302来控制时钟调整显示,并可实现闹钟及串口通信功能,单片机对其进行一系列的处理,最后通过液晶LCD12864显示出来。
1.2系统方案论证
1.2.1 时钟系统方案选择
方案1:
通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;
方案2:
用专门的时钟芯片实现时钟的计时,再把时间数据送入单片机,由单片机控制显示。
因为单片机的定时中断资源宝贵,所以我们采用DS1302时钟芯片来进行计时功能,将定时中断用作其他用处。
1.2.2单片机的选择
实现对于单片机的选择,如果用8031 系列,由于它没有内部RAM,系统又需要大量内存存储数据,因而不可用;51 系列单片机的ROM 为4K,对于我们设计的系统可能有点小;52 系列单片机与51 系列的结构一样,而ROM 扩大为8K,对我们设计系统提供充足的空间进行功能的扩展。再有51 系列单片机与52系列的单片机价格差不多。因此,我们选择52系列的单片机。
1.2.3显示系统的方案比较
方案1:用数码管或点阵LED 显示。
方案2:用液晶1602 显示。
方案3:用液晶12864 显示。
时钟和温度的显示可以用数码管或LED,而且价格便宜。但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。因为有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用1602 液晶显示数据有限,1602不能够显示指针时钟,只能够显示一些基本的西文字符,显示数据的可读性不好,用可以显示汉字的12864液晶显示器还可以增加显示信息的可读性,用12864的绘图功能即可绘制出指针时钟的框架,让人看起来会很方便。虽然它们在价格上差距很大,但是1602不能够实现我们的要求,所以我们选择LCD12864显示屏。
1.2.4串口通信方案选择
方案1:RS485,传输距离远,抗干扰能力强,但只普遍用于工业现场,在普遍民用中很少使用。
方案2:RS232,传输范围有限,比较容易受干扰,但普遍民用计算机都设有该接口,所以相对普及且易操作。
经过比较选择方案2以能满足该实验要求。
2.1硬件总体结构简介
带串口、时钟计时器,万年历的显示屏设计设计硬件结构图如下所示:
图1-1系统总体硬件连接图
此系统包括单片机主控模块、时钟芯片模块、12864显示模块、按钮设置模块、串口通信模块、蜂鸣器模块共6大部分。
2.2 单片机选择
2.2.1 单片机概述
单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机。它把中央处理器、存储器、输入/输出接口电路以及定时器叶数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。正是由于这一原因,国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用“单片机”这一名称。
1、单片机的主要特点有:
(1) 具有优异的性能价格比。
(2) 集成度高、体积小、可靠性高。
(3) 控制功能强。
(4) 低电压,低功耗。
2、单片机的主要应用领域:
(1) 工业控制
(2) 仪器仪表
(3) 电信技术
(4) 办公自动化和计算机外部设备
(5) 汽车和节能
(6) 制导和导航
(7) 商用产品
(8) 家用电器
因此,在本课题设计的温湿度测控系统中,采用单片机来实现。在单片机选用方面,由于STC89系列单片机与MCS-51系列单片机兼容,所以,本系统中选用STC89C52单片机。
2.2.2 STC89C52单片机的引脚说明
图1-2 STC89C52单片机引脚图
芯片引脚如图1-2所示:
VCC : 电源。
GND: 地。
P0口:P0口是一个8位漏极开路的双向I/O口。
P1口: 是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。
P2口:P2口是一个具有内部上拉电阻的8 位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。
P3口:P3口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。
RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。
PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
EA/VPP:访问外部程序存储器控制信号。
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:振荡器反相放大器的输出端。
程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89C54,如果EA 接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。
数据存储器:STC89C52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。
定时器2:定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。
2.2.3 STC89C52单片机最小系统
图1-3 晶振电路
图1-4 复位电路
如图1-3、图1-4所示,复位电路和时钟电路是维持单片机最小系统运行的基本模块。单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。
2.3显示模块的选择
2.3.1 LCD12864概述
图1-5 LCD1602实物图
2.3.2 LCD12864基本参数及引脚功能
编号 | 符号 | 方向 | 引脚说明 |
1 | VSS | - | 模块的电源地 |
2 | VDD | - | 模块的电源正端 |
3 | V0 | - | LCD驱动电压输入端 |
4 | RS(CS) | H/L | 并行的指令/数据选择信号;串行的片选信号 |
5 | R/W(SID) | H/L | 并行的读写选择信号;串行的数据口 |
6 | E(CLK) | H/L | 并行的使能信号;串行的同步时钟 |
7 | DB0 | H/L | 数据0 |
8 | DB1 | H/L | 数据1 |
9 | DB2 | H/L | 数据2 |
10 | DB3 | H/L | 数据3 |
11 | DB4 | H/L | 数据4 |
12 | DB5 | H/L | 数据5 |
13 | DB6 | H/L | 数据6 |
14 | DB7 | H/L | 数据7 |
15 | PSB | H/L | 并/串行接口选择:H-并行;L-串行 |
16 | NC | 空脚 | |
17 | /RET | H/L | 复位低电平有效 |
18 | NC | 空脚 | |
19 | LED_A | - | 背光源正极(LED+5V) |
20 | LED_K | - | 背光源正极(LED+5V) |
表1-1 LCD12864引脚功能
2.4时钟芯片的选择
功能特色:
时钟计数功能,可以对秒、分钟、小时、月、星期、年的计数。年计数可达到2100年。
有31*8位的额外数据暂存寄存器
最少I/O 引脚传输,通过三引脚控制
工作电压:2.0-5.5V
工作电流小于320 纳安(2.0V)
读写时钟寄存器或内部RAM(31*8位的额外数据暂存寄存)可以采用单字节模式和突发模式
8-pin DIP封装或8-pin SOICs
兼容TTL (5.0V)
可选的工业级别,工作温度-40 – 85摄氏度
兼容DS1202较DS1202增加的功能:
1. 可通过Vcc1进行涓流充电
2. 双重电源补给
3. 备用电源可采用电池或者超级电容(0.1F以上),可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 μF 就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。
2.5硬件线路设计分析
2.5.1 单片机最小系统
2.5.2 LCD12864连线图
2.5.3 按键连线图
2.5.4 蜂鸣器驱动
2.5.5 串口通信模块
2.5.6 电源模块
4.个人心得
通过这次课程设计使我对课堂上的理论知识有了进一步的了解,并增强了对单片机领域的兴趣。同时也发现自对数电知识和电子设计软件掌握得不够。
这次设计仿真我们用到了仿真软件Proteus7.8和编译软件keil4.0,从网上查阅资料学到了很多课堂之外的专业知识。这次的设计最主要是单片机的应用,从控制到接口。这个技术是一个多学科的综合,要做到灵活应用需要自我学习各种辅助技术的应用。
本次课程设计最大的体会就是软件编程的辛苦。如果硬件是系统的骨架,那么软件就是系统的灵魂,当我们把系统的原理图弄好,硬件做好以后发现在编程的时候,其实有很多细节的东西都没有安排好,比如按键的设计时,在编程的时候发现原理的按键安排其实很没有逻辑,做完以后的用户体验其实很差,按键操作起来感觉不符合原来想的。软件编程的过程中是一个很费脑力的过程,由于一开始我对系统整体的逻辑安排不够清晰,所以在编程的过程中出现很多次编完的程序可以实现单独的某一模块功能,但是却不符合整个系统的布局。这是我第一次完整的编一个比较长的程序,这次过程让我深深地体会到编程工作需要严谨的逻辑,编程切记要一步一步,思维不能有太大的跳跃,而且在程序出现错误的时候要有很强的耐心能静下心来一步步检查错误的原因。
这次设计中我明显体会到自己知识的匮乏,以及动手能的不足,这激励我不仅要学好基础知识,同时还要拓展知识面增加自己的动手实践能力。
[1] 易幼
[2] 万福君,潘松峰,刘芳,MCS-51单片机原理、系统设计与应用,清华大学出版社
[3] 潘旭华,陈刚,姜书浩,赵玉刚,大学C语言实用教程,清华大学出版社
[4] 陆蓓,楼永坚,汪志勤,C语言程序设计,科学出版社
附录A:电路原理图
附录图1 电路总图
附录B: 实物图
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |