




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂林电子科技大学课程设计(论文)报告用纸 摘 要本次的课程设计基于单片机技术原理,以美国ATMEL公司开发的AT89S52芯片作为核心控制器。通过硬件电路的制作及软件程序的编制,设计制作了一种具有复位、校时功能的数字时钟系统。利用1602液晶同时显示提示信息和时间信息,用户可通过系统上的按键对时间进行调整,实现实时的时钟显示。本次设计的硬件由主控模块、复位模块以及显示模块构成。复位模块主要由电阻、电容、按键和发光二极管组成而显示模块则由1602字符液晶构成,用于显示提示信息和实时时钟。关键词: AT89S52;LCD 1602; 实时时钟 AbstractThe curriculum design is based on the principles of microcomputer technology and has adapted the AT89S52 chip developed by the ATMEL company of American as the core controller. A digital clock system with the functions of both reset and time adjustment is realised by the hardware circuit board making and the software programming. LCD 1602 is used to display the prompt and time information. The users can adjust time through the buttons on the system with the purpose of the real-time displaying. The reset module is made up of the resistance, capacitance, small button and light-emitting diode while the display module is mainly realized through the LCD 1602 to display the relative information including prompt and real-time clock message.Key words: AT89S52, LCD 1602, Real-time clock目 录引言1一 系统功能设计21.1 系统概述21.2 单元电路设计概述2二 系统方案设计及各模块原理32.1 AT89S52核心模块32.1.1 AT89S52单片机简介42.1.2 AT89S52主要性能52.2 复位模块62.2.1 复位电路组成62.2.2 复位电路分析62.3 显示模块72.3.1 1602液晶简介72.3.2 1602引脚说明7三 系统程序设计8四 印制电路板的设计与制作94.1 印刷电路板的布线设计94.2 印刷电路板的制作9五 电路板的调试9六 总结10谢 辞11参考文献12附 录13 桂林电子科技大学课程设计(论文)报告用纸 第 21 页 共 19 页引言单片机是一种采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU,随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等集成到一块硅片上构成一个小而完善计算机系统的集成电路芯片。目前单片机已经渗透到我们生活的各个领域,几乎很难找到某个领域没有单片机的踪迹了。自导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,到广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。单片机,“麻雀虽小,五脏俱全”,在科技高速发展的今天,由单片机自由发挥的舞台更加宽广,现已明显的朝着巨型化,单片化和网络化方向发展。因此在大学阶段打好基础,为今后真正学会并灵活运用好单片机做好充分的准备,是我们每一个电子信息类专业大学生义不容辞的责任。本着学以致用的原则,本次课程设计我从实际生活出发,结合单片机原理和技术理论的学习,设计制作了一个电子时钟,通过液晶显示时间,希望经过简单电子制作的程序,在实际动手做板和软件编程过程中,体会单片机强大功能的同时提高自己动手的能力。一 系统功能设计1.1 系统概述根据所学过的有关电子电路和单片机方面的相关知识,以AT89S52单片机芯片为核心控制器件,采用LCD1602 字符液晶显示时间。在单片机外围设置四个按键,其中三个用于调整时间还有一个用于完成复位操作。整个系统功能设计利用单片机内部16位定时/计数器实现定时,每经过1秒的时间,单片机会控制秒变量加1,加到60秒时,分变量加1,分变量加到60时,时变量加1,时变量加到24时,返回00继续计时,从而实现了电子时钟的基本走时功能。用AT89S52单片机芯片作为主控制器,使用其内部16位定时器的定时功能和其可位寻址的IO端口控制各个输入输出设备,用晶振作为单片机时钟脉冲的输入电路。LCD1602字符液晶作为输出设备,显示所有的时钟和用户在编程时所设置的初始提示信息。按键作为输入设备,用于输入和修改时钟信息。 电路的基本工作原理是:晶振为单片机提供走时所需要的时钟脉冲,使其能够逐条地执行内存中的程序。16位定时器提供时间的累加,并将这种累加的效果通过字符型液晶1602显示出来,从而最终实现了一个电子钟系统的设计。1.2 单元电路设计概述(1) 复位电路电路实现上电自动复位和人工复位,对于51单片机而言,只要复位电路接高电平超过两个时钟周期(12M晶振约2us),即可产生复位操作,用10pF电容和10K电阻构成充放电电路,其时间常数超过2us,可实现复位,当按键按下时,RESET处产生2us的高电平,从而实现复位功能。(2) 时钟电路8051内部已有振荡电路,只需在XTAL1和XTAL2两个管脚处接一个石英晶振即可。(3)液晶显示电路 用于显示时间信息。二 系统方案设计及各模块原理本电子钟系统直接采用AT89S52单片机芯片控制时钟,外围电路简单,同时该芯片为用户提供了良好的编程环境。外围电路设计包括两大部分,分别是液晶显示部分和按键控制部分。在设计过程中采用了一个复位和三个对时间进行调整的按键。复位按键用于对时钟走时进行复位,调时按键用于调整时间。设计的整个过程都采用数字电路,保证了系统工作的可靠性与稳定性。单片机本身使得设置和调时操作更加准确,综上所述,整体的电路设计思路如下图1-1所示。图1-1 系统整体原理图2.1 AT89S52核心模块本次课程设计的核心控制器件是美国ATMEL公司生产的AT89S52单片机芯片,它是一种低功耗、高效能CMOS 8位微控制器,具有在系统可编程Flash存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得该芯片可以为众多的嵌入式控制应用系统提供了高灵活、超有效的解决方案。2.1.1 AT89S52单片机简介其引脚结构如下图2-1-1所示: 图2-1-1 AT89S52引脚结构图引脚功能说明:VCC : 电源GND : 接地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对其写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也作为低8位地址/数据复用。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。P3口亦作为AT89S52特殊功能使用,如下所示。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)在flash编程和校验时,P3口也接收一些控制信号。RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。PSEN:外部程序存储器选通信号,当 AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.1.2 AT89S52主要性能-与MCS-51单片机产品兼容-8K字节在系统可编程Flash存储器-1000次擦写周期-全静态操作:0Hz33Hz-三级加密程序存储器-32个可编程I/O口线-三个16位定时器/计数器-八个中断源-全双工UART串行通道-低功耗空闲和掉电模式-掉电后中断可唤醒-看门狗定时器-双数据指针-掉电标志位2.2 复位模块对单片机电路而言,复位操作主要是完成单片机内电路的初始化,使其能够从一种确定的状态开始运行。根据应用的要求,复位操作通常有两种基本形式:上电复位和开关复位。上电复位要求接通电源后,自动实现复位操作。而开关复位则要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使得单片机复位。2.2.1 复位电路组成本次电子钟系统的电路设计中,所使用的复位电路如下图2-2-1所示: 图2-2-1 复位电路由上图可知,本系统的复位电路主要由一个10K的电阻、一个10uF的电解电容、一个按键和一个发光二极管组成,完成上电和开关复位的功能。2.2.2 复位电路分析由单片机原理的基本知识可知,当单片机的复位引脚RST出现5ms以上的高电平时,就完成了复位操作,但如果RST持续为高电平,单片机就会处于循环复位状态而无法执行程序,因此就要求单片机复位后能够脱离复位状态。本次课程设计所用的上电且开关复位电路即为常用的复位电路,上电后,由于电容充电,使得RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使得RST持续一段时间的高电平,从而实现了上电且开关复位的操作。2.3 显示模块本设计中的显示模块主要由1602字符型液晶显示模块电路组成,主要用来显示一行提示信息和时间状况。2.3.1 1602液晶简介1602液晶是工业字符型液晶,能够同时显示16*2即32个字符(16列2行),LCD字符液晶以及在时钟系统钟的显示电路分别如下图2-3-1、2-3-所示:图2-3-1 LCD字符液晶实物图图2-3-2 复位电路2.3.2 1602引脚说明1602字符型LCD通常有14或16条引脚线,多出来的2条是背光电源线,VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其各引脚功能如下:VCC:接电源;V0: 液晶显示器对比度调整,接正电源时对比度最弱,接地时对比度最高,经常在使用时配合一个10K的电位器,通过调整以期达到最佳的效果;RS: 寄存器选择,接高电平时选择数据寄存器,低电平时选择指令寄存器;R/W: 读写信号线,高电平时进行读操作,低电平时进行写操作;E: 使能端,下降沿有效;DB0-DB7: 双向数据线;BLA: 背光电源正极;BLK: 背光电源负极。三 系统程序设计软件设计在整个课程设计的过程中起着举足轻重的作用,通过查阅各种文献资料,联系自己所学过的相关知识,将目标分解成一个个子程序模块,完成了整个程序的编写,在编程之前,构思好流程图能达到事半功倍的效果。整个程序的流程图如下图3-1-1所示:开始各部件初始化按键按下?需要相应?松开键?按键处理对液晶进行设置结束调整时间YN扫描计数加1YNNY图3-1-1 流程图四 印制电路板的设计与制作4.1 印刷电路板的布线设计此过程是用Altium Designer Winter 9.0来完成的。布线的一般流程如下:新建一个工程画电路原理图生成网络表画PCB图,进行布线,生成.PCBDoc文件。布线注意事项:(1) 在摆放元件时先按原理图摆放,再细调位置。(2) 所用的为单面板,故应在底层上布线。(3) 两根线之间的距离不能太小,在线拐弯处不能用成直角,一般用45度角为宜。(4) 线宽设置在0.60.8毫米,在一些拐角的地方还可以适当地补线,以防止腐蚀的时候将线腐蚀掉或是因为线太细而对电路造成不良影响。(5) 焊盘的半径设为1.0毫米,便于焊接。4.2 印刷电路板的制作印制电路板制作的一般过程为:把PCB打印出来后,先用砂纸除去铜板外层的氧化铜,在预热熨斗后,把PCB放到板上,把线熨至铜板上。待铜板冷却后再将PCB纸从铜板撕下,检查铜板上有没有断线的地方,若有少量,则用油性笔把线给补上!然后,把熨好的铜板放到氯化铁溶液中。腐蚀完后先进行打孔,再把铜线上的墨去掉。最后,按照PCB图安插元件,在此过程中要注意有正负极性之分的元器件,比如发光二极管、电解电容等,安装完器件后进行焊接。五 电路板的调试调试是电路板制作过程中一个至关重要的环节,通过调试可以及时发现存在的问题并进行相应的应答措施,从而达到预定的效果。在本次课程设计中,调试工作可以分为硬件调试和软件调试,硬件主要是检查电路连线是否有错误,以及在焊接过程中有无虚焊现象,而软件则是通过将编写好的程序经过编译后生成的后缀为.HEX的文件烧录到单片机芯片中,根据现象适当的修改程序。六 总结经过几个星期紧张有序的查找资料与实际动手制作电路板的过程,本次的课程设计至此终于将近尾声。俗话说:“好的开始是成功的一半”,虽然经过整个课设,所掌握的东西并不是特别多,但却实实在在经历了一个实物制作的整个流程,将日常生活中习以为常的小物体自己动手做出来与买来的感觉是全然不同的。结果在某种意义上是重要的,但相对而言,过程才是做任何事情的关键,通过本次课设,我觉得自己在某些方面的能力得到了一定程度的提高,主要包括以下几个方面:一 、单片机学习方面 单片机是一门应用与实践性都很强的学科,很多人都在学习它。但是,学好并不是一件容易的事,对刚刚接触单片机的我们来说,想尽快掌握并灵活运用更是难上加难,因此,精通单片机对于很多人来说似乎都是一个遥不可及的神话。但是经过本次的课程设计,通过单片机实现一个电子钟的功能,让我对学好单片机看到了希望。课程设计虽然结束了,但是从中获得的很多宝贵经验在今后无论生活还是学习中都是值得借鉴的。二 、学习态度上科学研究最重要的品质是认真严谨踏实,对今后打算通过考研投身科研工作的我来说,在大学阶段有意识的培养这种严谨的学习态度就显得至关重要。刚开始可以什么都不懂,但是一定要学会借助一切可以利用的资源去弄懂它,在当今科技高速发展的时代,图书馆、网络、报刊杂志都是我们身边宝贵的资源,我们应该学会好好的利用。当遇到模棱两可的问题时,一定要想办法去寻找可能的解决方案。三 、为人处事上 “众人拾柴火焰高”的习语道出了团结合作的重要性,在当今社会,团队精神具备与否对一个人成长的影响更加突出,当遇到不懂的问题时,通过主动查阅资料或者寻求同学帮助都是不错的选择,一个人的精力是有限的,只有学会团队合作,取长补短,才能够在有限的时间内达到最高的做事效率,取得最佳的结果。 除了上述几点之外,最后,我觉得无论做什么事,只要你有足够的决心与挑战困难的勇气,就没有什么办不到的。我希望在本次课程设计的基础上,在大学生活最后的一年多时间里,多动手实践,上机编程、仿真与调试,争取在今后的某个阶段,能够真正学好单片机,使得这次的课程设计成为我单片机学习道路上的启蒙课程。谢 辞经过努力,至此,终于完成了本次的课程设计!在此首先要感谢指导老师给了我们一个自由选题的空间,从而让我有了一个验证心中想法的机会。我觉得一个人正是在一次次小小实践的过程中逐步成长起来的。因此,我想在此向韦老师致以衷心的感谢!另外本次的课程设计也得到了本年级同学覃祖枢、梁芝铭以及学长吴子勇等的热心帮助与指导,他们在给予我很大帮助和启示的同时,也让我对所学的电路以及单片机C语言编程知识有了更深层次的认识与理解。最后,还要将感谢致以二院科协,感谢它给我们提供了各种做板过程中所需要的一切设备和测试仪器!参考文献1 ISBN 7-81082-496-1/TP181戴胜华 蒋大明等编著单片机原理与运用清华大学出版社2006年6月2 ISBN 978-7-115-17326-3/TP张义和 王敏男等编著例说51单片机(C语言版)人民邮电出版社2009年7月3 ISBN 978-7-81124-448-9刘同法编著单片机C语言编程基础与实践北京航空航天大学出版社2009年2月附 录(1)电路原理图(2)PCB图(3)完整程序代码/*/* 基于51单片机的电子钟设计程序 */* 功能:在1602字符液晶上显示时间 */* 作者:李燕 */* 编写时间:2011年12月 */*/#include /包含单片机寄存器的头文件sbit RS=P25; /寄存器选择位,将RS位定义为P2.5引脚sbit RW=P26; /读写选择位,将RW位定义为P2.6引脚sbit E=P27; /使能信号位,将E位定义为P2.7引脚sbit S1=P22;sbit S2=P21;sbit S3=P20;unsigned char code digit =; /定义字符数组显示数字unsigned char code string =Beijing Time; /定义字符数组显示提示信息unsigned char count; /定义变量,统计中断累计次数unsigned char s,m,h; /定义变量储存秒、分钟和小时/*/函数功能:延时若干毫秒入口参数:n*/void delay (unsigned char n) unsigned char i, j; for(i=0;i100;i+) for(j=0;jn;j+); /*函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate*/void WriteInstruction (unsigned char dictate) RS=0; /根据规定,RS和R/W同时为低电平时,可以写入指令 RW=0; E=0; /E置低电平,让其从0到1发生正跳变,所以应先置0 P0=dictate; /将数据送入P0口,即写入指令或地址 E=1; /E置高电平 E=0; /当E由高电平跳变成低电平时,液晶模块开始执行命令 /*函数功能:指定字符显示的实际地址入口参数:x*/ void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /显示位置的确定方法规定为80H+地址码x /*函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:y(为字符常量)*/ void WriteData(unsigned char y) RS=1; /RS为高电平,RW为低电平时,可以写入数据 RW=0; E=0; /E置低电平让其从0到1发生正跳变,所以应先置0 P0=y; /将数据送入P0口,即将数据写入液晶模块 E=1; /E置高电平 E=0; /当E由高电平跳变成低电平时,液晶模块开始执行命令 /*函数功能:对LCD的显示模式进行初始化设置*/void LcdInitiate(void) delay(15); /延时一段时间,首次写指令时应给LCD一段较长的反应时间 WriteInstruction(0x38); /显示模式设置:162显示,57点阵,8位数据接口 delay(5); /延时一段时间,给硬件一点反应时间 WriteInstruction(0x38); delay(5); WriteInstruction(0x38); /连续三次,确保初始化成功 delay(5); WriteInstruction(0x0c); /显示模式设置:显示开,无光标,光标不闪烁 delay(5); WriteInstruction(0x06); /显示模式设置:光标右移,字符不移 delay(5); WriteInstruction(0x01); /清屏幕指令,将以前的显示内容清除 delay(5); /* 函数功能:显示小时 */ unsigned char i,j; i=h/10; /取整运算,求得十位数字 j=h%10; /取余运算,求得各位数字 WriteAddress(0x44); /写显示地址,将十位数字显示在第2行第5列 WriteData(digiti); /将十位数字的字符常量写入LCD WriteData(digitj); /将个位数字的字符常量写入LCD /*函数功能:显示分钟*/void DisplayMinute() unsigned char i,j; i=m/10; /取整运算,求得十位数字 j=m%10; /取余运算,求得各位数字 WriteAddress(0x47); /写显示地址,将十位数字显示在第2行第8列 WriteData(digiti); /将十位数字的字符常量写入LCD WriteData(digitj); /将个位数字的字符常量写入LCD /*函数功能:显示秒钟*/void DisplaySecond() unsigned char i,j; i=s/10; /取整运算,求得十位数字 j=s%10; /取余运算,求得各位数字 WriteAddress(0x4a); /写显示地址,将十位数字显示在第2行第11列 WriteData(digiti); /将十位数字的字符常量写入LCD WriteData(digitj); /将个位数字的字符常量写入LCD /*主函数*/ void main(void) unsigned char i; LcdInitiate(); /调用LCD初始化函数 TMOD=0x01; /使用定时器T0的模式1 TH0=(65536-46083)/256; /定时器T0的高8位设置初值 TL0=(65536-46083)%256; /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省固始县联考2025年初三第一次摸底测试英语试题试卷含答案
- 证券从业资格(证券基础知识)模拟试题22
- 福州大学至诚学院《装饰材料与构造》2023-2024学年第二学期期末试卷
- 防拐防骗安全教育教学课件
- 江西省水务集团有限公司2024年劳务派遣人员招聘【34人】笔试参考题库附带答案详解
- 浙江国企招聘2025浙江金投两头乌火腿有限公司招聘5人笔试参考题库附带答案详解
- 浙江国企招聘2025宁波象山县水务集团有限公司第一期招聘8人笔试参考题库附带答案详解
- 2025福建泉州发展集团有限公司校园招聘52人笔试参考题库附带答案详解
- 2024年度四川省护师类之社区护理主管护师考前自测题及答案
- 食品添加剂相关问题试题及答案
- 北京市海淀区2022-2023学年高三下学期一模考试历史试卷(含答案)
- 加强区域管理推进学区建设
- DB37T 4405-2021水闸工程运行规范
- 地基与基础分部工程验收报告
- 柔性电子技术与移动医疗课件
- 血液内科课件
- 惠州市火车西站分区规划
- 再生混凝土课件
- 暑假必备宝典之高一生物知识点总结(必修二)
- 外国宪法(第三版)ppt课件完整版
- 脱硫专业技术比武题
评论
0/150
提交评论