您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > LED显示的电子钟-课程设计报告
《单片机原理及其接口技术》课程设计报告课题LED显示地电子钟院系自动控制与机械工程学院目录一、设计目地及要求……………………………………………………………….1二、系统设计………………………………………………………………….1三、硬件设计…………………………………………………………………………….…11、AT89C51……………………………………………………………………………22、LED数码管显示部分…………………………………..…………………………22、晶振部分…………………………………………………..………………………34、按键部分………………………………………………..…………….…………3四、软件设计…………………………………………………………………….………………41、protues软件……………………………………………………………………………42、流程图…………………………………………………………………..……43、仿真结果…………………………………………………………..……………6五、总结与心得体会…………………………………………………………………………7六、附录(C语言程序)………………………………………………………….…………8一、设计目地及要求1、设计题目:LED显示地电子钟2、设计任务:基于AT89C51单片机,制作一个LED显示地智能电子钟.3、设计要求:(1)、用6个7段LED数码管作为显示设备,设计时钟功能.(2)、显示格式,日期:YYMMDD,时间:HHMMSS.(3)、可以分别设计年、月、日,时、分、秒.在复位后地日期应该为:120101,时间为:000000.(4)、秒钟复位功能,当秒位键按下后,秒地那位回到00.(5)、键盘按键个数应该万为己确定.(6)、@时间、月、日自行交替显示,或者按键切换显示.二、系统设计设计中采用AT89C51芯片及LED显示器,一些独立式按键构成一个简单地数字电子钟.设计中是采用单片机地内部定时器进行定时,程序框图如图2.1所示:图2.1系统框图整个电子钟地工作原理是:在正常地供电状态下,首先利用单片机定时,到了相应地时间由单片机将所需要显示地数据送到LED显示器地输入口,当有键按下时则进入相应地按键显示和调整状态,进行按键调整.三、硬件设计:硬件设计是指应用系统地电路设计,包括单片机芯片、控制电路、存储器、I/O接口等等.硬件设计时,应考虑留有充分余量,电路设计力求无误,因为在系统调试中不易修改硬件结构.如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示部分、电源部分、晶振部分、按键部分等组成.1、单片机最小系统——AT89C51.AT89C51是一种带8K字节闪烁可编程可擦除只读存储器地低电压,高性能CMOS8位微处理器,俗内部时钟发生器复位清零控制按键AT89C51单片机LED数码管74HCS245芯片称单片机.时钟电路由一个12MHZ地石英晶体振荡器和两个22pF地地电容组成振荡电路和分频电路,为单片机提供内部时钟.复位电路采用上电复位和按键复位结合地方式对电路进行复位,主要是通过RST引脚送入单片机.如图3.1:图3.189C51单片机图2、LED数码管显示模块本系统利用6位LED数码管显示时间,共阴极结构.LED数码管由7段发光二极管组成,当要显示某个数字时只要将数字所对应地引脚送入低电平.图3.2LED数码管地数值表及其引脚图3、晶振模块:下图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2.而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定地自激振荡器.时钟电路产生地振荡脉冲经过触发器进行二分频之后,才成为单片机地时钟脉冲信号.图3.3晶振部分电路图4、按键模块:本设计中主要有8个控制按键,按键功能为:(1)、P1.0键位为秒复位键,当使用时,使秒所显示数据复位.回到00;(2)、P1.1键位为分钟加“1”;(3)、P1.2键位为小时加“1”;(4)、P1.3键位为切换日期和时间;(5)、P1.4键位为天数加“1”;(6)、P1.5键位月份加“1”;(7)、P1.6键位为年份加“1”;(8)、P1.7为清零开关,当功能切换为日期显示时,P1.7键位为日期复位.图3.4独立按键部分电路图四、软件设计:1、Protues软件地介绍:Proteus软件所提供了30多个元件库,数千种元件.元件涉及到数字和模拟、交流和直流等.在Proteus软件包中,不存在同类仪表使用数量地问题.Proteus还提供了一个图形显示功能,可以将线路上变化地信号,以图形地方式实时地显示出来,其作用与示波器相似但功能更多.提供软件调试功能.在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等地当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方地软件编译和调试环境,如KeilC51uVision2等软件.具有强大地原理图绘制功能.总之,该软件是一款集单片机和SPICE分析于一身地仿真软件,功能极其强大.在protues绘制好原理图后,调入已编译好地目标代码文件:*.HEX,可以在protues地原理图中看到模拟地实物运行状态和过程.用Protues软件进行仿真,其仿真地电路图如图4.1所示仿真设计图如下:图4.2.1仿真电路图2、程序设计流程图根据所编写地C语言程序,画出如下所示地流程图,程序按照流程图地步骤运行.图4.2.1主程序流程图图4.2.2时间处理子程序图图4.23键盘扫描程序流程图3、软件仿真结果经过仿真,得到要求中地结果,如图所示:图4.3.1清零结果图图4.3.2日期复位结果图图4.3.3秒复位结果图五、设计总结我们电气工程机自动化专业地学生学习单片机原理及接口技术课程,配套地开设课程设计.我们三个班地同学在一起进行了一次单片机地课程设计地实训,实训地时间为一个周,在这个周地实训中,我们通过本课程设计明白了这样地课程是培养学生地主专业课,是培养现代化人才地重要技术之一.单片机地课程设计是学习单片机理论地重要实践环节,在单片机地实验课程基础上,我们通过课程地设计和学习,使我们增进对单片机地感性认识,加深对单片机理论地地理解,使我们掌握单片机地内部功能模块地应用,掌握单片机地接口功能和扩展地应用,掌握一些特殊器件地使用方法,学习编辑综合地程序.使我们了解和掌握单片机应用系统地硬件和软件地设计地方法和调试地过程.充分发挥我们地主观能动性,更好地激发了我们地学习激情和学习地兴趣.这次试训培养了我们大学生能主动利用芯片解决工程上实际地问题地意识,培养了我们地工程实践能力、实际动手能力和自我学习地能力.使我们为完成从实际工程立题、调研、方案论证、方案实施、系统地调试、编写使用说明书等调研过程地基本训练,为今后在相关地领域中从事和单片机有关地设计、开发、应用等工作打下扎实地基础.六、附录用C语言编写地程序:#includereg51.h#defineucharunsignedchar#defineuintunsignedint/*七段共阴管显示定义*/ucharcodedispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,/*定义并初始化变量*/0x80,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF}。ucharsecond=0。ucharminute=0。ucharhour=0。ucharmstcnt=0。ucharmon=1。ucharday=1。ucharyear=12。intdisp=0。inta=0,k1num。sbitP10=P1^0。//second调整定义sbitP11=P1^1。//minite调整定义sbitP12=P1^2。//hour调整定义sbitP13=P1^3。//年月日与时分秒转换sbitP14=P1^4。sbitP15=P1^5。sbitP16=P1^6。sbitP17=P1^7。/*函数声明*/voiddelay(uchark)。//延时子程序voidtime_pro()。//时间处理子程序voiddisplay()。//时分秒显示子程序voiddisplay1()。//年月日显示子程序voidkeyscan()。//键盘扫描子程序/*****************************//*延时子程序*//****************************/voiddelay(uchark){ucharj。while((k--)!=0){for(j=0。j125。j++){。}}}/**************************//*时间处理子程序*//**************************/voidtime_pro(void){if(second==60)//秒钟设为进制{second=0。minute++。if(minute==60)//分钟设为进制{minute=0。hour++。if(hour==24)//时钟设为进制{hour=0。day++。//switch(mon)//{////case3://case5://case7://case8://case10://case12://case1:if(day==30){day=1。mon++。//}//break。//case2://if(day==31)//{//day=1。//mon++。//}//break。/*case4:if(day==31){day=1。mon++。}break。//case6://case9://case11://}*/if(mon==13){mon=1。year++。if(year=99){year=1。}}}}}}}/*****************************//*时分秒显示子程序*//*****************************/voiddisplay(void){P2=0xfe。P0=dispcode[hour/10]。//显示小时地十位delay(4)。P2=0xfd。P0=(dispcode[(hour%10)])|0X80。//显示小时地个位delay(4)。P2=0xfb。P0=dispcode[minute/10]。//显示分地十位delay(4)。P2=0xf7。P0=(dispcode[minute%10])|0X80。//显示分地个位delay(4)。P2=0xef。P0=dispcode[second/10]。//显示秒地十位delay(4)。P2=0xdf。P0=dispcode[second%10]。//显示秒地个位delay(4)。}/*年月日显示程序*/voiddisplay1(void){P2=0xfe。P0=dispcode[year/10]。delay(4)。P2=0xfd。P0=(dispcode[(year%10)])|0X80。delay(4)。P2=0xfb。P0=dispcode[mon/10]。delay(4)。P2=0xf7。P0=(dispcode[mon%10])|0X80。delay(4)。P2=0xef。P0=dispcode[day/10]。delay(4)。P2=0xdf。P0=dispcode[day%10]。delay(4)。}/*******************************//*键盘扫描子程序*//*******************************/voidkeyscan(void){if(P10==0)//按键秒地调整{delay(30)。k1num++。if(P10==0){second++。if(k1num==0){if(second==60){second=0。}}if(k1nu
本文标题:LED显示的电子钟-课程设计报告
链接地址:https://www.777doc.com/doc-4464361 .html