带串口、定时闹钟、时钟计时器的显示屏设计
摘要:本次课程设计主要采用基于STC89C52单片机系统的万年历设计,实现了以下功能:时间显示并且可调,日期、星期显示,闹铃,串口通信,可移动字幕显示。其中串口通信采用MX232来实现,显示屏采用12864液晶屏,为计时准确,采用DS1302时钟芯片来实现时间计时模块。采用STC89C52单片机内部定时器0中断实现时间显示和闹钟扫描,定时器1中断实现5S按键无操作退出返回主显示界面,定时器2实现串口波特率发生器。
通过这次课程设计,让我们掌握了如何设计一个具有完整功能的单片机系统,同时也让我们学习了keil开发软件和proteus仿真软件的使用,而且还让我们更好地学会了组内分工合作,共同完成一项任务的配合精神。
目 录
0.引言
0.1智能仪表课程设计概要 2
0.2设计任务与要求
0.2.1设计目的
0.2.1设计要求
基本功能要求
扩展功能 2
1. 方案设计及方案论证
1.1系统整体设计思路
1.2系统方案论证
1.2.1 时钟系统方案选择
1.2.2单片机的选择
1.2.3显示系统的方案比较
1.2.4时钟系统方案选择
1.2.5串口通信方案选择
2.硬件设计 4
2.1硬件总体结构简介
2.2 单片机选择
2.2.1 单片机概述
2.2.2 STC89C52单片机的引脚说明
2.2.3 STC89C52单片机最小系统
2.3显示模块的选择
2.3.1 LCD12864概述
2.3.2 LCD12864基本参数及引脚功能
2.4时钟芯片器的选择
2.5硬件线路设计分析
2.5.1 单片机最小系统
2.5.2 LCD12864连线图
2.5.3 按键连线图
2.5.4 蜂鸣器驱动
2.5.5 串口通信模块
2.5.6 电源模块
3.系统工作流程图
4.个人心得
参考文献
附录A:电路原理图 14
附录B: 实物图
附录C: 源程序
0.引言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计是数据采集及处理,显示系统与单片机有效结合,本设计是通过在“单片机原理及应用”课堂上学习的知识的综合应用,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。
0.1智能仪表课程设计概要
0.1.1智能仪表课程设计的方法和步骤
在设计一个智能仪表系统时,首先必须明确系统的设计任务,根据任务进行方案选择,然后对方案中的各部分进行单元电路的设计、参数计算和器件选择,最后将各部分连接在一起,画出一个符合设计要求的系统电路图,再按照电路图在实际的PCB板上做出实物并进行调试。
一、明确系统的设计任务要求
对系统的设计任务进行具体分析,充分了解系统的性能、指标、内容及要求,以便明确系统应完成的任务。
二、方案选择
把系统要完成的任务分解为若干个单元电路,并画出一个能表示各单元功能的整机原理框图。
方案选择的重要任务是根据掌握的知识和资料,针对系统提出的任务、要求和条件,完成系统的功能设计。在此过程中要敢于探索,勇于创新,争取方案的设计合理、可靠、经济、功能齐全、技术先进。并且对方案要不断进行可行性和优缺点的分析,最后设计出一个完整框图。
三、单元电路的设计、参数计算和器件选择
根据系统的指标和功能框图,明确各部分任务,进行各单元电路设计、参数计算和器件选择。
1、单元电路的设计
单元电路是整机的一部分,只有把单元电路设计好才能提高整机设计水平。每个单元电路设计前都需明确本单元电路的任务,详细拟订出单元电路的性能指标,与前后级之间的联系,分析电路的组成形式。具体设计时,可以模仿成熟的先进的电路,也可以创新或改进,但都必须保证性能要求。而且,不仅单元电路本身要求设计合理,各单元电路间也要互相配合,注意各部分的输入、输出信号和控制信号的关系。
2、参数计算
为保证单元电路达到功能指标要求,就需要用电子技术知识对参数进行计算,例如放大电路中各电阻值、放大倍数;振荡器中电阻、电容、振荡频率等参数。只有很好地理解电路的工作原理,正确利用计算公式,计算的参数才能满足设计要求。计算参数时,同一个电路可能有几组数据,注意选择一组能完成电路设计功能、在实践中真正可行的参数。
3、器件选择
集成电路的选择根据电路功能、性能指标选择集成电路。注意集成电路的功耗、电源电压、工作速度是否满足设计要求。通过查阅有关设计手册,进行元器件的选择。
4、电路图的绘制
电路图通常是在系统框图、单元电路设计、参数计算和器件选择的基础上绘制的,它是电路组装、调试和维修的依据。绘制电路图时,注意以下几点:
(1) 元器件布局合理、排列均匀、图面清晰、便于阅读。
(2) 注意信号流向。一般从输入端或信号源开始,由左至右或上至下按信号的流向依次画出各单元电路,而反馈通路的信号流向则与此相反。
(3) 图形符号标准,适当标注。
(4) 连线应为直线,尽量少交叉和折弯。
四、实物的制作
在制作实物的过程中,特别要注意PCB板的布线,将各模块有次序地焊到电路板上。
0.2设计任务与要求
0.2.1设计目的
1、掌握数字电子钟的设计方法;
2、掌握常用数字集成电路的功能和使用;
3、掌握小型单片机系统的开发。
0.2.1设计要求
基本功能要求
1、可动态左右、上下显示“中国计量学院欢迎您”;
2、在5秒按钮无操作则以24h(小时)计时方式显示时、分、秒;
3、使用按键开关可实现时分调整;
4、具有闹钟功能,声光提示。
扩展功能
1、显示日期与星期;
2、可232通讯显示计算机传送字符;
1. 方案设计及方案论证
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.硬件设计
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概述
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16 点汉字,和128个16*8 点ASCII 字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点阵的汉字,也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
图形液晶模块。
图1-5 LCD1602实物图
2.3.2 LCD12864基本参数及引脚功能
引脚功能如表1-1所示:
表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 单片机最小系统
CPU 为STC89 系列增强型8 位单片机,频率高达80MHz,可工作于6Clock,32 I/O,3 定时器,内置 WDT、EEPROM。支持ISP,ESD。晶振采用12M/11.0592M(可更换)。
2.5.2 LCD12864连线图
第1 脚:VSS 为地电源
第 2 脚:VCC 接5V 正电源
第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对
比度过高时会产生重影,使用时可以通过一个10K 的电位器调整对比度。
第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和RW 共同为低电平时可以写入指令或者显示地址,当RS 为低电平RW为高电平时可以读忙信号,当RS为高电平RW 为低电平时可以写入数据。
第 6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。
第 7~14 脚:D0~D7 为8 位双向数据线。
第15脚:PSB 并/串行接口选择:H-并行;L-串行。
第19脚:背光源正极(LED+5V)由P24脚接三极管放大后驱动背光,可实现由单片机管脚控制背光亮灭。
第20脚:背光源负极(LED-0V)。
2.5.3 按键连线图
5个独立按键接P11~P15口,并由LED灯指示。实现时钟的增、确认、返回和闹钟设置等功能。
2.5.4 蜂鸣器驱动
蜂鸣器由P2.0控制并通过三极管放大驱动。
2.5.5 串口通信模块
RS232 接口是制定用于串行通讯的标准。该标准规定采用一个25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25 的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25 针很少看到了,代替他的是DB9 的接口,DB9 所用到的管脚比DB25 有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232 接口叫做DB9。
2.5.6 电源模块
直流电源通过USB插座接入,由开关控制其开关,通过电容滤波,并有LED灯指示。
3.系统工作流程图
4.个人心得
通过这次课程设计使我对课堂上的理论知识有了进一步的了解,并增强了对单片机领域的兴趣。同时也发现自对数电知识和电子设计软件掌握得不够。
这次设计仿真我们用到了仿真软件Proteus7.8和编译软件keil4.0,从网上查阅资料学到了很多课堂之外的专业知识。这次的设计最主要是单片机的应用,从控制到接口。这个技术是一个多学科的综合,要做到灵活应用需要自我学习各种辅助技术的应用。
本次课程设计最大的体会就是软件编程的辛苦。如果硬件是系统的骨架,那么软件就是系统的灵魂,当我们把系统的原理图弄好,硬件做好以后发现在编程的时候,其实有很多细节的东西都没有安排好,比如按键的设计时,在编程的时候发现原理的按键安排其实很没有逻辑,做完以后的用户体验其实很差,按键操作起来感觉不符合原来想的。软件编程的过程中是一个很费脑力的过程,由于一开始我对系统整体的逻辑安排不够清晰,所以在编程的过程中出现很多次编完的程序可以实现单独的某一模块功能,但是却不符合整个系统的布局。这是我第一次完整的编一个比较长的程序,这次过程让我深深地体会到编程工作需要严谨的逻辑,编程切记要一步一步,思维不能有太大的跳跃,而且在程序出现错误的时候要有很强的耐心能静下心来一步步检查错误的原因。
这次设计中我明显体会到自己知识的匮乏,以及动手能的不足,这激励我不仅要学好基础知识,同时还要拓展知识面增加自己的动手实践能力。
参考文献
[1] 易幼
[2] 万福君,潘松峰,刘芳,MCS-51单片机原理、系统设计与应用,清华大学出版社
[3] 潘旭华,陈刚,姜书浩,赵玉刚,大学C语言实用教程,清华大学出版社
[4] 陆蓓,楼永坚,汪志勤,C语言程序设计,科学出版社
附录A:电路原理图
附录图1 电路总图
附录B: 实物图
附录图2 动画界面
附录图:3主界面
附录图4 串口通讯界面
完整的Word格式文档51黑下载地址(含源码):
电子时钟报告(万年历)-0e22aa95daef5ef7ba0d3cdd.doc
(2.25 MB, 下载次数: 78)