《单片机课程设计报告—LED显示电子钟(共23页).doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告—LED显示电子钟(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上单片机原理及其接口技术课程设计报告课 题 LED显示的电子钟 姓 名 学 号 院 系 自动控制与机械工程学院 班 级 指导教师 2012 年 6 月 目录一、课程设计目的 3二、课程设计要求 3三、设计内容 4四、硬件设计需求 51、硬件系统各模块功能 5(1)、单片机最小系统AT89C51 5(2)、LED数码管显示模块 8(3)、晶振模块 9(4)、按键模块 10五、电路软件系统设计101、protues软件简介 102、仿真结果 113、流程图 13六、误差分析 15七、总结与心得体会 15八、参考文献 16九、附录(程序) 16一、课程设计目的单片机课程设计作
2、为独立的教学环节,是自动化及相关专业集中实践性环节系列之一,是学习完单片机原理及应用课程后,并在进行相关课程设计基础上进行的一次综合练习。单片机课程设计过程中,学生通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并且有综合功能的小应用系统设计。使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路,电子元器件等方面的知识进一步加深认识,同时在软件编程,调试,相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解,加深单片机的内部功能模块的应用,如定时器/计
3、数器,中断,片内外存储器,I/O接口,串行口等。使学生了解和掌握单片机应用系统的软硬件设计过程,方法及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技能和科学作风,培育学生综合运用理论知识解决问题的能力。二、课程设计要求课程设计应以学生认知为主体,充分调动学生的积极性和能动性,重视学生自学能力培养。根据课程设计具体课题安排时间,确定课题的涉及,变成和调试内容,分团队开展课程设计活动,安排完成每部分工作。课程设计集中在实验室进行。在课程设计过程中,坚持独立完成,实现课题规定的各项指标,并写出设计报告。要求学生自己调研,设计系统功能,划分软硬件功能,选择器件,用Prote
4、us软件在PC机上完成硬件原理图设计。然后使用使用Proteus软件在PC机运行系统仿真,调试电路和修改调试程序。对整个系统做试运行,有问题再进一步修改调试,直至达到设计的要求和取得满意的效果。最后编写系统说明书,其内容主要包括系统功能介绍,使用范围,主要性能指标,使用方法,注意事项等。三、设计内容:1、设计题目:LED显示的电子钟2、设计任务:基于AT89C51单片机,制作一个LED显示的智能电子钟。3、设计要求及功能: (1)、用6个7段LED数码管作为显示设备,设计时钟功能。 (2)、显示格式,日期:YY MM DD,时间:HH MM SS. (3)、可以分别设计年、月、日,时、分、秒。
5、在复位后的日期应该为:12 01 01,时间为:00 00 00。 (4)、秒钟复位功能,当秒位键按下后,秒的那位回到00 。 (5)、键盘按键个数应该万为己确定。(6)、时间、月、日自行交替显示,或者按键切换显示。 (7)、12小时和24小时切换功能。 (8)、还要实现闹钟功能。4、设计提示: 1)、LED宜采用动态扫描显示; 2)、采用定时器,也可以考虑外部扩展专用时钟芯片DS1302. 3)、参考Protuse仿真效果图。5、设计要求: 要求学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机原理与接口技术课程中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高
6、设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。基于AT89C51单片机,制作一个LED显示的智能电子钟。6、设计课题总体方案及工作原理说明 设计中采用AT89C51芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。设计中是采用单片机的内部定时器进行定时,程序框图如图3.1所示 整个电子钟的工作原理是:在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。图3.1 总的设计的框图四、 硬件设计需求:硬件设计是指应用系统的电路设计,包括单片机芯片、控
7、制电路、存储器、I/O接口等等。硬件设计时,应考虑留有充分余量,电路设计力求无误,因为在系统调试中不易修改硬件结构。如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。1、硬件系统各模块功能:(1)、单片机最小系统AT89C51:由AT89C51单片机由时钟电路和复位电路构成。AT89C51是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。时钟电路由一个12MHZ的石英晶体振荡器和两个22
8、pF的的电容组成振荡电路和分频电路,为单片机提供内部时钟。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。 图4.1 89C51单片机VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写
9、入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口
10、在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(
11、外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高
12、。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(2)、 LED数码管显示模块LED数码管是由发光二极管构成的,亦称半导体数码管。将条状发光二极管按照共阴极(负极)或共阳
13、极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。若按规定使某些笔段上的发光二极管发光,就能显示从09的系列数字。同荧光数码管(VFD)、辉光数码管(NRT)相比,它具有:体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL、CMOS电路兼容等的数显器件。+、-分别表示公共阳极和公共阴极。ag是7个笔段电极,DP为小数点。另有一种字高为76mm的超小型LED数码管,管脚从左右两排引出,小数点则是独立的。 本系统利用6位LED数码管显示时间,共阴极结构。LED数码管由7段发光二极管组成,当要显示某个数字时只要将数字所对应的引脚送
14、入低电平。 图4.2 LED数码管的数值表及其引脚图(3)、晶振模块:下图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。图4.3 晶振电路表二 元件清单与封装元件名封装名型号CRYSTALXTAL-1VOLTREGTO-220MC7805TTRANS4 FLY410TO1VSINCAPRB.2/.4CAPACITOR POLCAPRAD-0.1CA
15、PTRANSISTORTO18PNPTRANSISITOR TO92ANPNSPEAKERSIP-2LEDDIODE-0.4SW-PBRES2AXIAL0.3-1.0DPY_7-SEG_DPDIP8单片机AT89S52(4)、按键模块: 本设计中主要有7 个控制按键,按键功能为:1)、P1.0键位为清零键,当使用时,使其所显示数据清零,复位;2)、P1.1键位口为时间加“1”;3)、P1.2键位口为分钟加“1”;4)、P1.3键位口为秒钟加“1”;5)、P1.4键位口为暂停键;6)、P1.5键位口为恢复端;7)、P1.6键位口为秒钟清零端。 图4.4 独立按键模块五、电路软件系统设计:1、 p
16、rotues软件简介 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、H
17、C11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。2、电路功能仿真在protues绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在protues的原理图中看到模拟的实物运行状态和过程。protues是单片机课堂
18、教学的先进助手。 protues不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 随着科技的发展
19、,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。2、.仿真结果Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。在Proteus软件包中,不存在同类仪表使用数量的问题。Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。用Protues软件进行仿真,其仿真的电路图如图3.2.1所示 图5.1 仿真电路图仿真结果:
20、图5.2 仿真电路复位时电路图 图5.3 仿真电路暂停时的电路图3、流程图(1)、程序流程图:图5.4 主程序流程图1 图5.5 程序流程图2(2)、键盘扫描程序流程: 图5.6 键盘扫描程序流程图(3)、时间处理程序流程图:图5.7 时间处理程序流程图六、误差分析:本数字电子钟在跟标准的电子钟比较时,时间稍微慢一点,产生此种情况的原因有:其一是在执行程序指令时,由于需要耗费一定的时间,因此会比标准的电子钟要慢一点。其二是晶振不够标准,使得定时器定时时不够精准。七、总结与心得:我们电气工程机自动化专业的学生学习单片机原理及接口技术课程,配套的开设课程设计。我们三个班的同学在一起进行了一次单片机
21、的课程设计的实训,实训的时间为一个周,在这个周的实训中,我们通过本课程设计明白了这样的课程是培养学生的主专业课,是培养现代化人才的重要技术之一。单片机的课程设计是学习单片机理论的重要实践环节,在单片机的实验课程基础上,我们通过课程的设计和学习,使我们增进对单片机的感性认识,加深对单片机理论的的理解,使我们掌握单片机的内部功能模块的应用,掌握单片机的接口功能和扩展的应用,掌握一些特殊器件的使用方法,学习编辑综合的程序。使我们了解和掌握单片机应用系统的硬件和软件的设计的方法和调试的过程。充分发挥我们的主观能动性,更好的激发了我们的学习激情和学习的兴趣。这次试训培养了我们大学生能主动利用芯片解决工程
22、上实际的问题的意识,培养了我们的工程实践能力、实际动手能力和自我学习的能力。使我们为完成从实际项目立题、调研、方案论证、方案实施、系统的调试、编写使用说明书等调研过程的基本训练,为今后在相关的领域中从事和单片机有关的设计、开发、应用等工作打下扎实的基础。 八、参考文献1吴亦锋,陈德为。单片机原理与接口技术 电子工业出版社 20102李建中。 单片机原理及应用 西安电子科技大学出版社 2008年3胡汉才。 单片机原理及其接口技术 清华大学出版社 2004年九、附录:程序 ORG 0000HMOV 40H,#00HMOV 41H,#00HMOV 42H,#00HMOV 43H,#00HMOV 44
23、H,#00H MOV 45H,#00H MOV R0,#01HMOV R1,#02HCLR P3.0CLR P3.1UU: MOV TMOD ,#01H ;中断MOV TH0,#3CHMOV TL0,#0B0HCLR TR0MM: MOV A,40H; ;显示程序:MOV 50H,#0FEHMOV P2,50HMOV DPTR ,#TABMOVC A,A+DPTRMOV P0,ALCALL YY ;延时MOV A,50HRL AMOV 50H,AMM1: MOV P2,50HMOV DPTR,#TABMOV A,41HADD A,#0AHMOVC A,A+DPTRMOV P0 ,ALCALL
24、YYMOV A,50HRL A MOV 50H,AMM2: MOV P2,50HMOV DPTR,#TABMOV A,42HMOVC A,A+DPTRMOV P0 ,ALCALL YYMOV A,50HRL A MOV 50H,AMM3: MOV P2,50HMOV DPTR,#TABMOV A,43HADD A,#0AHMOVC A,A+DPTRMOV P0 ,ALCALL YYMOV A,50HRL A MOV 50H,AMM4: MOV P2,50HMOV DPTR,#TABMOV A,44HMOVC A,A+DPTRMOV P0 ,ALCALL YYMOV A,50HRL A MOV
25、50H,AMM5: MOV P2,50HMOV DPTR,#TAB MOV A,45HADD A ,#0AHMOVC A,A+DPTRMOV P0 ,ALCALL YYMOV A,50HRL A MOV 50H,AJNB P1.0,KK1 ;按键判断程序JNB P1.6,KK7JNB P1.1,KK2JNB P1.2,KK3JNB P1.3,KK4CJNE R0,#01H,HH1JNB P1.4,KK5SETB TR0BB: JB TF0, GGLJMP MMKK5: JNB P1.4,KK5MOV R0,#00HLJMP UUHH1: JNB P1.5 ,KK6LJMP UUKK1: LJM
26、P KKK1KK7: LJMP KKK7GG: CLR TF0MOV A,47HCJNE A,#09H,LL1MOV 47H,#00HMOV A,46HCJNE A,#09H,LL2MOV 46H,#00HKK4: JNB P1.3,KK4JNB P3.1,QQ1MOV A,45HCJNE A,#09H,QQ1CLR P3.1QQ1: MOV A,45HCJNE A,#09H,LL3MOV 45H,#00HMOV A,44HCJNE A,#05H,LL4MOV 44H,#00HKK3: JNB P1.2,KK3MOV A,43HCJNE A,#09H,LL7MOV 43H,#00HMOV A,
27、42HCJNE A,#05H,LL8MOV 42H,#00HKK2: JNB P1.1,KK2MOV A,41HCJNE A,#09H,LL5MOV 41H,#00HLL6: INC 40HLJMP UUKKK1: MOV A,#00HMOV 40H,AMOV 41H,AMOV 42H,AMOV 40H,AMOV 43H,AMOV 44H,AMOV 45H,ALJMP MMKKK7: MOV A,#00HMOV 44H,AMOV 45H,AMOV 46H,AMOV 47H,ALJMP MMKK6: JNB P1.5 ,KK6MOV R0,#01HLJMP UULL1: INC 47HLJMP
28、UULL7: INC 43HLJMP UULL8: INC 42HLJMP UULL2: INC 46HLJMP UULL3: INC 45HLJMP UULL4: INC 44HLJMP UULL5: CJNE A,#03H,DD1MOV A,40HCJNE A,#02H,DD1MOV 40H,#00HMOV 41H,#00HLJMP UUDD1: INC 41HLJMP UU YY: MOV R6,#10 ;延时程序YY1: MOV R7,#09YY2 : NOP NOP DJNZ R7,YY2DJNZ R6,YY1RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0E7H END专心-专注-专业