单片机数字钟与应用课程设计.docx
《单片机数字钟与应用课程设计.docx》由会员分享,可在线阅读,更多相关《单片机数字钟与应用课程设计.docx(9页珍藏版)》请在冰点文库上搜索。
单片机数字钟与应用课程设计
单片机数字钟与应用课程设计
单片机数字钟与应用课程设计吉林建筑大学电气与电子信息工程学院单片机原理与应用设计课程设计报告设计题目:
多功能数字电子钟设计专业班级:
信工111学生姓名:
张森学号:
10211123指导教师:
许亮张玉红设计时间:
2014.03.03-2014.03.14教师评语:
成绩评阅教师日期
(一)内容摘要20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透到社会的各个领域,有力地推动了社会生产力的发展和社会信息化的提高,同时也是现在电子产品性能得到进一步提高,产品更新换代的节奏也越来越快。
单片机模块中最常见的是数字钟,与机械时钟相比具有更高的准确性和直观性,却无机械装置,具有更长的使用寿命,因此得到广泛的应用。
本次课程设计要求设计一个多功能数字钟,基本要求为多功能数字钟的时间周期为24小时,数字钟显示年、月、日、时、分、秒,数字钟的时间基准一秒对应现实生活中的时钟的一秒。
。
(二)设计内容及要求1)设计内容1、在显示屏上显示时间。
时间格式:
LED为“时、分”;LCD为“时、分、秒”。
2、可显示“年、月、日、周”等消息。
3、可对时钟的“年、月、日、周、时、分、秒”进行更改。
4、增加COM接口程序,实现用计算机软件程序调节时钟及其附加功能。
5、扩张定时控制功能,可实现30个计时记录。
6、扩张定时器控制功能。
7、自定义的扩张功能。
2)设计要求多功能数字钟是一种用单片机技术实现年、月、日、时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,节省了电能。
因此得到广泛应用。
多功能数字钟是一种典型的数字电路。
本设计要求设计一个小型多功能数字钟系统,要求能够计时,并准确显示秒、分、时、日、月、年。
具有调节时间的功能,当时间不准确时能通过按钮调整时间。
将秒、分、时、日、月、年共用一个显示屏正确显示。
具有校准功能,当时间跳动过快或过慢时能够校准。
(3)电路工作原理单片机控制的数字钟的硬件结构和软件设计,给出汇编语言源程序。
此数字钟是一个将“年”、“月”、“日”、“时”、“分”、“秒”显示于人的视觉器官的计时装置。
显示器件选用LCD12864显示屏,即可在LCD屏幕上显示“年、月、日、周”。
又可对“年、月、日、周、时、分、秒”进行调试更改。
以一定间隔穿插显示日期值,并可通过按钮开关的操控切换显示内容,通过键盘设置参数,在单片机实验板上模拟调试实现及自定义扩展功能在译码显示电路的驱动下,显示出清晰的、直观的数字符号。
(4)硬件系统框图系统框图如图单片机IAP15F2K61S2复位电路键盘晶振电路显示电路
(1)单片机:
此次课程设计采用的是STC公司最新生产的AP15F2K61S2芯片。
该单片机主要有以下几个特色功能:
①ISP/IAP,在系统可编程/在应用可编程,无需编程器,无需仿真器。
②可当仿真器使用,具有增强型8051CPU,1T,单时钟/机器周期,速度比普通8051快8-12倍。
③61K字节片内片内Flash程序存储器,擦写次数10万次以上。
④片内大容量2048字节的SRAM。
⑤具有大容量片内EEPROM,擦写次数10万次数以上⑥共3通道捕获/比较单元(CCP/PWM/PCA)。
⑦内部高可靠复位,8级可选复位门槛电压,彻底省掉外部复位电路,而且其内部高精度R/C时钟。
⑧内部时钟从5MHz~35MHz可选,相当于普通8051的60MHz~420MHz。
⑨两组高速异步串行通信端口(可同时使用),可在5组管脚之间进行切换,分时复用可当5组串口使用。
⑩一组高速异步串行通信端口SPI。
⑪各种接口扩展齐全。
⑫一根优质USB线实现系统供电、程序下载、通信功能。
(2)LCD12864液晶显示屏①基本特性:
1.低电源电压(VDD:
+3.0--+5.5V)2.显示分辨率:
128×64点3.内置汉字字库,提供8192个16×16点阵。
4.显示方式:
STN、半透、正显5.驱动方式:
1/32DUTY,1/5BIAS6.视角方向:
6点7.背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/108.通讯方式:
串行、并口可选9.内置DC-DC转换电路,无需外加负压10.无需片选信号,简化软件设计11.具有大容量片内EEPROM,擦写次数10万次数以上。
12.片内大容量2048字节的SRAM。
13.一根优质USB线实现系统供电、程序下载、通信功能。
②显示:
LCD12864液晶显示屏每屏可显示4行8列共32个16×16点阵的字,每个显示RAM可显示1个中文字符或2个16×8点,阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符FYD12864-0402B内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。
根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。
三种不同字符/字型的选择编码范围为:
0000~0006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。
③特点:
12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内不含有国际一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128*64,内置8192个16*16点汉子,和128个16*8点ASCII字符集。
利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
点阵的汉字也可完成图形显示低电压低功耗是其又一显著特点。
。
(3)控制器接口信号说明:
1、RS,R/W的配合选择决定控制界面的4种模式RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标准(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器HHMPU从数据暂存器(DR)中读出数据2、E信号E状态执行状态结果高---->低I/O缓冲---->DR配合/w进行写数据或指令高DR---->I/O缓冲配合R进行读数据或指令低/低---->高无动作3.用带中文字库的128X64显示模块时应注意以下几点:
1)欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
2)显示ASCII字符过程与显示中文字符过程相同。
不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。
3)模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。
如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。
指令执行的时间请参考指令表中的指令执行时间说明。
4)BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.利用STATUSRD指令,可以将BF读到DB7总线,从而检验模块之工作状态。
5)模块提供硬体光标及闪烁控制电路,地址计数器的值来指定DDRAM中光标或闪烁的位置。
先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。
5.带中文字库的128X64-0402B每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。
带中文字库的128X64-0402B内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。
(5)完整的电路图图见附录一开始(六)系统软件设计框图内存单元清空T0T1为16位计数器允许T0中断调用显示子程序P2.7=0?
N调时程序开始(七)各部分程序的详细设计步骤保护现场1s到否NY秒单位加1N60s到NY秒清零,分加1NN60minnN分清零,时加1Y24h到?
NNY时清零恢复现场中断返回开始T0中断初始化保护现场显示程序改变定时初值正点到1s时间到N加1sYY报时N恢复现场程序流程图中断返回秒计时程序流程图(八)参考文献1.《单片微机原理及应用》;张毅刚编,西安电子科技大学出版社,1994年2.《单片机应用技术选编》;何立民编,北京航空航天大学出版社,1993年3.《智能仪器与数据采集系统中的新器件及应用》;杨振江编,西安电子科技大学出版社,2001年4.《单片机原理及其接口技术》;胡汉才编,清华大学出版社,1996年5.《单片机应用系统设计与实践》;陈粤初编,北京航空航天大学出版社,1991年(九)设计中的问题及解决方法课程设计使我意识到知识和实际联系起来的重要性,同时通过本次电路的设计,不但巩固了所学知识,也使我们把理论与实践从真正意义上结合起来,增强了学习的兴趣,考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力。
在此次的数字钟设计过程中,使我对数字电子技术的理论知识的理解更加深刻,对组合逻辑电路和时序电路的设计步骤也更加熟悉。
本次课程设计对单片机技术有了更进一步的熟悉,实际操作和课本上的知识有很大联系,但又高于课本,一个看似很简单的电路,要动手把它设计出来就比较困难了,因为是设计要求我们在以后的学习中注意这一点。
后来在电路,没有问题的情况下又出现的一系列的小问题,比如不进位,显示器反接等等,经过多次改过之后,终于成功了。
通过这次课程设计,让我也更加深入的了解这些是我在课本上没有了解清楚的知识,更加明白了理论与实践并不是完全符合的,是存在着不同的,就像我在最初调试中,电路的时针不是24进制的,而是10进制的,分针和秒针不是60进制的,而是4进制的,月份的进制不分单月与双月,一律是30进制,与原理相差很远,经过分析才知道,原来是校时开关与计数器之间的电路连线存在着错误,才会导致电路不能正常工作,经过重新连接,故障排除,得到与原理所说的相同的工作状态。
在焊接这个单片机板子之前,看了一下我们的板子跟原理图,但是发现这两个都不怎么衔接,最典型的一个就是键盘的8个300Ω电阻的问题,原理图中,这8个300Ω电阻是放一起的,但是在板子上,根本就找不着有8个300Ω电阻一起的地方,板子上面还没有写全了,很多封装之后都没有标上到底是焊电阻呢还是电容或者其他的。
然后就是在焊接的时候,我们焊接技太差,很多根本就焊不上去锡,估计焊锡也有问题,刚被电烙铁烫化就被氧化了,起了个球,这我没办法啊。
软件设计这上面,遇着的问题是最多的,因为我们上学期才学的单片机这门课,书本里面用的是汇编的语言,但是我感觉那个太复杂语句太多还不易理解,然后通过查相关资料学习C语言单片机编程,从流水灯小程序开始慢慢摸索,然后学习LCD12864,学到很多东西,感觉C语言比汇编好理解多了。
虽然这程序不是很麻烦,但是对于我来说也是很难的。
设计里面用的是12864液晶显示屏,这个显示屏得通过特定的程序才能达到想要显示的目的,然后就只有先查看资料,找了很多12864的资料,里面一个很重要的东西就是它的接线跟时序图什么的,时序图实在看不懂,最后只有看看例程,相关视频之后稍微能理解点。
然后在程序中写出来之后屏幕终于能显示了。
本次课程设计比较仓促,只是完成了设计的基本功能,而且也没有设计相应的闹钟、报时的功能,其拓展功能没有精力去深究,等到以后有时间再逐步完善该电路的拓展功能。
虽然我还有许多的不明白的地方,但此次的课程设计让我学会了许多许多,不仅仅锻炼了我的动手能力,更让我明白了一个道理,那就是实践出真知,如果只是光看书本上的理论知识,了解的只是一个抽象的概念,只有亲自动手去操作,才会将知识变成本领,这样更能使我记住我所学的知识,所以,实践才是检验真理的唯一标准,只有亲自去做,才会收获成功和喜悦。
(十)总结通过此次课程设计,总体来说,收获颇丰,无论是在培养自己的实验动手能力还是培养自己的性情方面。
在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法.在连接六进制,十进制,六十进制的进位及二十四进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了.在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,因此仿真图和电路连接图还是有一定区别的,所以在连接线路是就要求非常认真,要清楚了解各个连接点之间的关系,这样才能在实际焊接过程中得心应手,取得事半功倍的效果.在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的焊点所引起的.在焊接过程中,进度相当快,虽然在其中几个焊接中遇到几点非常困难的地方,但是还是被我解决了。
在开始的设计和最后的调试过程是漫长的,有时我为了一个问题要找很长时间,甚至要熬夜、顾不上吃饭等,我既要在计算机前收集资料,又要在实验室验证,这个过程非常辛苦,但是也非常快乐。
最后我们通过两个星期的艰苦奋斗,终于完成了数字表和直流稳压电源的制作,并调试成功,从中我学到了如何熟悉集成电路的引脚安排及掌握各芯片的逻辑功能及使用方法,电路板的结构及接线方法,了解数字钟的组成及工作原理,掌握了组合逻辑电路、时序逻辑电路及数字电路系统的设计、安装和测试方法,从进一步巩固理论知识,提高运用所学知识分析和解决问题的能力。
提高了电路的布局、布线及检查和排除故障能力。