课程设计LED点阵电子钟

上传人:夏** 文档编号:556205186 上传时间:2024-01-21 格式:DOC 页数:18 大小:905KB
返回 下载 相关 举报
课程设计LED点阵电子钟_第1页
第1页 / 共18页
课程设计LED点阵电子钟_第2页
第2页 / 共18页
课程设计LED点阵电子钟_第3页
第3页 / 共18页
课程设计LED点阵电子钟_第4页
第4页 / 共18页
课程设计LED点阵电子钟_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《课程设计LED点阵电子钟》由会员分享,可在线阅读,更多相关《课程设计LED点阵电子钟(18页珍藏版)》请在金锄头文库上搜索。

1、题目 LED点阵电子钟 任务与要求要求:利用LED点阵制作LED点阵电子钟,滚动显示实时日期(例如:11.04.03)、时间(am 12:42)。设计硬件电路,编写单片机的控制程序,写出设计报告及详细使用说明。 开始日期 2011 年6 月 20 日 完成日期 2011 年6 月23 日 LED点阵电子钟一、设计目的利用LED点阵制作LED点阵电子钟,滚动显示实时日期(例如:11.04.03)、时间(am 12:42)。二、组内分工初定A.何庚裕:负责设计方案的制定,程序设计,在初期书写“设计方案报告书”,在后期协助B同学进行电路的焊接、调试。B.姚劲: 负责元件的采购,电路的焊接和调试。C.

2、李安宏:完善“课程设计报告书”,制作PPT。三、使用电子元件及个数AT89c51单片机1个8*8led点阵2个12M晶振1个导线、电阻、电容若干四、设计方案Led点阵是一种使用广泛的显示工具,利用51单片机控制可以显示出各种文字及图案,这里我们使用点阵屏来显示时钟。根据习惯,时钟一般只显示时和分,因此我们选用两块8*8led点阵来作为显示;而时钟部分,有两个方案:方案一,使用实时时钟芯片DS1302作为时钟,跟单片机通信,获得实时时钟数据,再通过LED点阵显示;优点是时钟精度高,DS1302可以用外部电池供电,使得时间可以连续下去。方案二,使用单片机内部的定时器作为时钟,每次中断秒加一,够60

3、后就置零,分加一,如次类推,实现时钟。为了方便,我们选用51单片机自带的定时功能来作为时钟,但精度不高;优点就是简单。开始采用了方案一,但由于DS1302容易烧坏,所以最后采用的是方案二。4.1 AT89s52单片机图4.1 AT89s52单片机引脚图89s52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出

4、管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89s5251是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。4.2 8*8LED点阵屏 图4.2 LED点阵内部图一个8*8共阴极LED点阵模块的内部由64个发光二极管组成,每个发光二极管处于行线和列线的交叉点处,如需某一点亮,则对应的列线置低电平,而行线置高电平,亮点组合成显示内容。点阵LED采用扫描显示,可以分为点扫描、行扫描和列扫描3种形式。这次实验我们采用的是列扫描,由P10口控制列,P2和P3口控制行。五、设计方案电路图图5 系统电路图利

5、用Protel制作电路图,由网上资料及亲自测试画出8*8电路原理图,因为手焊,所以制作成反面图,容易连线。六、程序主要内容与流程图开始初始化等待中断处理时间显示时间秒数为50?YesNO显示日期结束入口保护现场够一秒?Yes够60秒?Yes如此类推,分别判断处理时,日,月,年恢复现场,返回图6.1 单片机主程序流程图图6.2 中断程序流程图秒加一分加一NoNo图6.4 显示日期子程序流程图开始读取时的值左屏显示读取分的值右屏显示Flag=second?YesNo显示秒点不显示秒点返回图6.3 显示时间子程序流程图开始保存要当前到38H开始的数据暂存区继续,查表保存Today is 20字符数据

6、到暂存区读取当前年,月,日数据,并查表保存显示数据滚动显示暂存区中数据返回七、课程设计开展情况及总结 图7.1 仿真工作图图7.2 工作前电路图图7.3 工作时电路实验仿真可以,实际电路工作正常,所有功能都能实现,可以显示时钟,可以滚动显示日期,效果很好。八、课程设计总结这次课程设计最大的收获就是培养了我们解决问题的能力,在整个过程中,我们结合了所学的单片机和电路知识,设计出满足课程设计要求的LED点阵电子钟。在进行课程设计的过程中,我们组员分工合作,开始时大家一起合作讨论出设计方案,接着一个负责电路的仿真,一个负责电路的焊接,一个负责设计报告的撰写,不仅加深了对专业知识的理解,也锻炼了我们的

7、团体合作精神。通过本次的课程设计,加深了我们对单片机的理解,使得我们更加熟悉单片机的程序编写。九、单片机系统源程序;= ; Program Name: Led Matrix Clock; Writer: Gun; Function: Display the time and the day ; Last edit time: 2011/6/21 SCAU;=;=定义引脚和数据存储区=SECOND EQU 30HMIN EQU 31HHOUR EQU 32HDAY EQU 33HMON EQU 34H;YEAR EQU 35HFLAG EQU 37H;=ORG 0000H;LJMP MAIN;O

8、RG 001BHAJMP SHIJIAN;ORG 0090H;=主程序=MAIN:;=初始化时间=MOV SECOND,#40H;MOV MIN,#15H;MOV HOUR,#09H;MOV DAY,#22H;MOV MON,#6H;MOV YEAR,#11H;=MOV FLAG,SECOND;Flag用于控制秒点闪烁INC FLAG;MOV P1,#0FFH;关显示MOV P2,#00H;MOV P3,#00H;MOV IE,#88H;设置中断,定时100msMOV TMOD,#10H;设T1工作于模式1MOV 20H,#0AH;重置中断次数,10次即一秒 SETB ET1;允许T1中断SE

9、TB EA;允许CPU中断MOV TH1,#3CH;赋初值MOV TL1,#0B0H;SETB TR1;开中断XS:LCALL DISPLAY;调用显示子程序MOV A,SECOND;CJNE A,#50H,XS;若为50秒即滚动显示日期LCALL DIS_DAY;调用显示日期子程序AJMP XS;循环,等待中断;=中断程序=SHIJIAN:PUSH PSW;保护现场 PUSH ACC;CLR TR1;关中断MOV TH1,#3CH;重新赋初值MOV TL1,#0B0H;DJNZ 20H,RETURN;1s未到,返回MOV 20H,#0AH;够了就重置MOV A,#01H;ADD A,SECO

10、ND;秒加一DA A;MOV SECOND,A;转化为BCD码CJNE A,#60H,RETURN;秒不为60就返回MOV SECOND,#00H;够60就秒置零MOV A,#01;ADD A,MIN;分加一DA A;MOV MIN,A;转化为BCD码CJNE A,#60H,RETURN;分不为60就返回MOV MIN,#00H;够60就置零MOV A,#01H;ADD A,HOUR;时加一DA A;MOV HOUR,A;CJNE A,#24H,RETURN;同上,日处理MOV HOUR,#00H;MOV A,#01H;ADD A,DAY;DA A;MOV DAY,A;CJNE A,#30H,

11、RETURN;同上,月处理MOV DAY,#01H;MOV A,#01H;ADD A,MON;DA A;MOV MON,A;CJNE A,#12H,RETURN;同上,年处理MOV MON,#01H;MOV A,#01H;ADD A,YEAR;DA A;MOV YEAR,A;RETURN:SETB TR1;开中断POP ACC;恢复现场POP PSW;RETI;=显示时间子程序=DISPLAY:MOV R1,#32H;显示时MOV DPTR,#TAB;读表 MOV R3,#0FEH;列控制LCALL DIS1;左屏显示子程序MOV P2,#00H;关显示MOV R1,#31H;显示分MOV D

12、PTR,#TAB; MOV R3,#0FBH;列控制LCALL DIS2;右屏显示子程序MOV P3,#00H;关显示MOV A,SECOND;CJNE A,FLAG,DIS_KONG;若flag与当前的秒相同就显示秒点LCALL DIS_MIAO;显示秒点RET;=左屏显示子程序=DIS1: MOV R2,#6;要显示两位数字共6列MOV B,#3;一位数字3列MOV A,R1;取入口地址R1对应的值MOV R0,#00H;XCHD A,R0;低位存在R0,高位存在ASWAP A;MUL AB;获得对应值表的首地址MOV R4,A;R4暂存D_0:MOV A,R4;MOVC A,A+DPTR;取表数据MOV P2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号