电子信息工程技术毕业设计(论文)基于单片机数字时钟设计.doc
《电子信息工程技术毕业设计(论文)基于单片机数字时钟设计.doc》由会员分享,可在线阅读,更多相关《电子信息工程技术毕业设计(论文)基于单片机数字时钟设计.doc(24页珍藏版)》请在三一办公上搜索。
1、 江西渝州科技学院 电子技术专业专科毕业论文 题 目:基于单片机数字时钟设计 作者姓名: 学 号: 专 业: 电子信息工程技术 指导教师: 2011年 12月 摘 要本设计以数字集成电路技术为基础、单片机技术为核心。软件设计模块化结构、C语言编程。系统通过带字库的LCD12864显示数据,通过4*4矩阵键盘控制显示文字、公历日期(年、月、日、星期)、时间(时、分、秒) 文字反白、自定义字符、图片显示,可以通过键盘调整时间、日期,温度,同时按下键盘时,七段数码管显示相应键位的键位标识。在内容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的功能;其次,详细阐述了程序的各个模
2、块和实现过程。关键词:单片机;数字温度日历表设计AbstractThe design is based on digital integrated circuit.microcontroller technology is the core of the system,The software design uses module structure,C programming language. System by taking the fonts LCD12864 display data, through 4 * 4 matrix keyboard control displays te
3、xt, calendar dates (year, month, day, week), time (hour, minutes and seconds), word against white, customize characters, photos. Can via keyboard adjust time, date, and press the keyboard, 7 segment digital pipe display corresponding cryogenically keys logo. First the arrangement of the content of t
4、he system hardware principle are introduced, and the hardware interface technology and the function of each interface module, Secondly, this paper expounds the program modules and realization process.Key word:MCU; Keyboard display the simulation system;LCD12864;The clock 目 录引言- 4 -1 设计要求- 3 -1.1 基本要
5、求- 3 -1.2 发挥部分- 4 -2 方案设计与论证- 4 -2.1 控制部分方案论证- 4 -2.2 显示部分方案论证- 4 -3 系统框图及工作原理- 5 -3.1 系统框图- 5 -3.2 工作原理- 5 -3.2.1硬件工作原理- 5 -3.2.2软件工作原理- 5 -4 硬件原理分析及设计- 6 -4.1 单片机时钟电路- 6 -4.2 单片机复位电路- 6 -4.2.1复位电路的可靠性设计- 6 -4.3 键盘电路- 7 -4.4 显示电路- 7 -4.4.1 LCD显示电路- 7 -4.4.2七段数码管显示电路- 7 -4.4 整体电路图- 8 -4.5 系统硬件设计所需的元
6、件- 9 -5 软件设计- 9 -5.1 软件总体设计及框图- 9 -5.2 软件重要子程序设计及框图- 10 -5.2.1显示部分- 10 -5.2.2键盘扫描部分- 11 -5.2.3时钟部分- 11 -5.2.4延时部分- 12 -6 硬件安装制作- 13 -6.1 PCB板制作- 13 -6.2 元件焊接- 13 - 7 电路调试- 13 -7.1 硬件调试- 14 -7.2软件调试- 14 -8 测试结果- 14 -9 结论- 14 -致谢- 15 -参考文献- 15 - 引言仪器仪表的键盘显示系统,是实现通过键盘的控制,使LCD屏幕有相应的显示,广泛用于各个领域,如电脑、家电、数字
7、仪器等,成为人们直观了解和控制仪器、设备的运行状态的重要依据,给人们的生活带了方便,成为现代人们生活、工作的必需品。数字化显示系统告别了以前老式的监控和计算仪器、设置状态方式,给人们带来了极大的方便。本设计是仪器仪表的控制显示模拟系统,所有的仪器仪表的控制显示系统都是以此为基础而扩展的。因此,研究仪器仪表的控制显示系统及扩大其应用有着非常现实的意义。本设计就是仪器仪表的控制显示系统简单的模拟和扩展应用。1 设计要求1.1 基本要求1)开机LCD液晶屏幕显示“08级电子信息工程XXXX毕业设计”信息。2)设计4X4矩阵键盘,分别对应键码“0-F”。3)按下任意一个按键,LCD液晶屏幕显示相应按键
8、的信息(不同按键的显示内容可以自行设计)。1.2 发挥部分1)LCD液晶屏幕增加装饰图案。2)增加一个LED数码管同步显示相应键码。3)增加一个LED点阵同步显示相应键码。2 方案设计与论证2.1 控制部分方案论证方案一:可采用ALTERA公司的FLEX10K系列PLD器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的连接也会比较方便。但是考虑到本设计的特点,EDA在功能扩展上比较受局限,而且EDA占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势,而以我们目前的条件在硬件和软件也无法实现本设计的各种要求。方案二:凌阳16位单片机有丰富的中
9、断源和时基。它的准确度相当高,并且C语言的编程环境也很方便来实现一些递归调用。I/O口功能也比较强大,方便使用。用凌阳16位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。但是,在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高,而且就需要完成这个仪器仪表的键盘显示模拟系统不太复杂的设计可以不必用凌阳16位单片机来完成。方案三:AT89S52是8位单片机,提供的的四组8个I/O口能够实现既定功能,成本也不高。综合考虑最后选择用AT89S52单片机来作为中心控制器件。2.2 显示部
10、分方案论证方案一:使用LCD1602成本低,程序控制简单,但它只能显示16X2个半宽字型符,不能显示汉字,比较单调。方案二:带字库的由ST7920控制的LCD12864硬件上提供8位,4位并行接口及串行接口供选择,6416 位字符显示 RAM(DDRAM 最多 16 字符4 行,LCD 显示范围 162 行),2M 位中文字型 ROM(CGROM),总共提供 8192 个中文字型(1616 点阵),16K 位半宽字型 ROM(HCGROM),总共提供 126 个西文字型(168 点阵),6416 位字符产生 RAM(CGRAM)。在软件上提供文字与图形混合显示、画面清除、光标归位、显示开/关
11、、光标显示/隐藏、显示字体闪烁、光标移位功能、显示移位、垂直画面旋转、反白显示、休眠模式的功能,相对于LCD1602来说功能丰富,而且已内建有GB码简体中文字型库,方便编程。综合以上方案,决定采用LCD12864(除非特殊说明,以下都简称LCD)作为显示器件。3 系统框图及工作原理3.1 系统框图图1 系统框图3.2 工作原理3.2.1硬件工作原理硬件控制电路主要用了4*4矩阵键盘、AT89S52芯片处理器、LCD和七段数码管。由AT89S52处理器处理从4*4键盘发出的指令,通过LCD和七段数码管显示出相应按键的内容。3.2.2软件工作原理软件控制程序主要有主控程序、时间程序、LCD控制程序
12、、时间及日期显示程序、键盘扫描程序等组成。主控程序中对整个程序进行控制,进行了时间和LCD初始化、LCD和数码管显示等控制。LCD显示程序是整个显示部分中的重要部分,包括写入命令、初始化、写入数据、数据显示、自定义GDRAM显示、绘图显示、反白显示等。当LCD的RS=RW= 0,同时EN由1变0时,可以对LCD写入基本指令和扩充指令;当RS=1,RW=0,同时EN由1变0时,可以对LCD写入数据。对LCD端口写入不同的命令可以写入和显示不同的数据,具体命令请参考LCD12864和数据手册。LCD时间控制程序是时间程序重要的部分,时间控制程序体现了年、月、日、时、分、秒的计算方法。此设计采用AT
13、89S52自带的T0计时器进行计时,中断程序每隔50ms中断一次当作一个计数,每中断一次则计数加1,当计数20次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第2月天数为29天,非闰年则有28天。在我们的这个设计中只设有100年的范围,判断是否闰年就只需要用该年份除以4来判断就行了。键盘扫描程序是整个设计的输入控制程序,4*4键盘占用单片机的8个I/O口。本设计的键盘扫描程序采用行列反转扫描法读取按键键值。单片机先让键盘行线输出全为0,
14、然后读入列线值,再检测有无按键按下,去抖,再读入列线值,输出当前列线值,读入行线值,最后组合行、列线值,得到键盘的码值供调用。4 硬件原理分析及设计4.1 单片机时钟电路内部时钟电路如图所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择12MHZ,电容采用30PF。图2 时钟电路4.2 单片机复位电路 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: (1)外因射频干扰,它是以空间电磁场的形式传递在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰;
15、 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。(2)内因振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。4.2.1复位电路的可靠性设计复位是单片机的初始化操作。单片机启动运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤
16、销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开 关或电源插头分-合过程中引起的抖动而影响复位。如图3所示。图3 复位电路4.3 键盘电路4*4键盘电路由4*4=16个按键组成,其中4列经过4个10K电阻接入VCC上拉,接入单片机的P3口的高4位口,4行直接接入单片机低4位,当有按键按下时,由单片机控制8个I/O口读取出当前键值。图4 键盘电路4.4 显示电路4.4.1 LCD显示电路LCD12864一共有20个引脚,其中4-15、17脚接入单片机的P0全部I/O口和P2的三个I/O口,是LCD与单片机通讯的桥梁。16号脚是空脚,1和20脚接地,2和19脚接VCC,
17、其中3、18、19三个脚接可调电位器和电阻,组成调节LCD对比度电路。图4.4.1 LCD显示电路如图5所示。4.4.2七段数码管显示电路采用的是共阳数码管,它的8个脚接入P1全部I/O口,PNP三极管的发射极接VCC,集电极经过一个电阻限流接入数码管的公共端,基极接单片机的P2.0口,由单片机给一个基极电流使三极管三极管导通,驱动数码管显示。如图6所示。图4.4.2 数码管显示电路图5 LCD显示电路 图6 数码管显示电路4.4 整体电路图根据以上各模块的功能互相连接成为此设计的整体电路,如下图:图7 整体电路图4.5 系统硬件设计所需的元件表1 元件列表元件名称数量(个)元件名称数量(个)
18、LCD12864112M晶振1AT89S52芯片130pF瓷片电容2七段数码管110uF电解电容11K电阻5按键开关172K电阻1发光二极管251K电阻1排针1(排)10K电阻4插针1(排)10K电位器1自锁开关1103*8排阻15V电源15 软件设计此设计名为仪器仪表的键盘显示模拟系统,顾名思义软件占很大比例。整个设计硬件比较简单,主要就是程序的写法,而软件的调试也是此设计的重点和难点。整个软件结构分为主控程序、显示部分程序、键盘扫描部分程序、时钟部分程序和延时程序。5.1 软件总体设计及框图图8 软件设计总体框图开机后,主控程序先让单片机给P2.0一个低电平,开启数码管显示,然后初始化LC
19、D包括设置基本指令集、设置光标、设置显示模式等,接下来是时钟的初始化,包括开启定时和中断、时间的走时(秒、分、时、日、月、年、星期),最后就显示开机画面并开始扫描键盘,若有按键按下则LCD和数码管显示相应的内容,8号键作为设置日期和时间的阀门,按下第一次时进入调整日期状态,第二次是调整时间,第三次调整温度,第四次返回。5.2 软件重要子程序设计及框图主控程序是建立在各子程序的基础上,各子程序写好后,由主程序调用。5.2.1显示部分显示部分的大体框图如下:图9 显示部分流程图为了区别调整时间和日期的按键与其他显示内容冲突,在这里给了8号键一个变量key_flag,未按下8号键时key_flag=
20、0,程序执行图9框图所示的内容,当按下8号第一次时key_flag=1进入调整日期状态,当按下8号键第二次时key_flag=2,进入调整时间状态,当按下第三次时显示开机画面并让key_flag=0执行图9所示内容。显示部分程序涉及到LCD的初始化、写入命令和数据,写命令和数据的通讯方式已经在上文提到,这里不再阐述。此设计用到的LCD是带有字库的,要让LCD显示中文只需要往LCD写入DDRAM地址,再写入中文。DDRAM的0x800x87,0x900x97,0x880x8f,0x980x9f分别对应LCD的第一、二、三、四行,一行可以写入8个中文字符对应每行的8个地址。有的中文在字符没有,LC
21、D显示就会是乱码,这时需要查询该字的16进制编码,再写入LCD。要让LCD显示图片,需要给LCD写入命令0x36,以开启绘图模式。此设计的图片取模方式是逐行自上而下显示,先写上半屏再写下半屏,屏幕X/Y轴的起点为0x80,写完上半屏后令X=0X88接着写下半屏,本设计用到的三张图片都是自己画的。6号按键用到的自定义字符是通过取模写入CGRAM,通过命令调取显示。本设计还用到反白显示、文字循环左移、文字向上滚动。反白显示是LCD的扩充指令集之一,只要写入0x04可以实现第一、三行显示,写入0x05实现第二、第四行反白显示,ST7920 控制器的 12864 点阵液晶其实原理上等同 25632 点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子信息 工程技术 毕业设计 论文 基于 单片机 数字 时钟 设计
链接地址:https://www.31ppt.com/p-3988984.html