LED点阵显示电子钟课设_第1页
LED点阵显示电子钟课设_第2页
LED点阵显示电子钟课设_第3页
LED点阵显示电子钟课设_第4页
LED点阵显示电子钟课设_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LED点阵显示电子钟课设部门:xxx时问:xxx制作人:xxx整理范文,仅供参考,可下载自行修改嵌入式系统设计课程设计题 目基于AT89S52LED:阵显示电子钟设计班级 11 级工业电气学号姓名指导教师白龙牡丹江师范学院2018年11 月 15日嵌入式课程设计指导书课程名称:嵌入式课程设计学时数: 2 周学分数:开课院、系<部)、教研室:物理与电子工程学院电子信息教研室执笔人:白龙编写时间:2018.11.15一、设计目的<1)完成点阵显示电子钟设计电路的设计,包括电源电路、单片机控制电路、驱动电路、显示电路;<2)掌握LED点阵显示原理,并完成主程序的编写。二、设计任务设

2、计一个基于AT89S52LED(阵显示电子钟三、基本内容与要求1、课题内容:设计一种基于 AT89S52单片机的LED点阵显示时钟2、要求如下:< 1)、时钟的显示由LED点阵构成。< 2)、时间能够由按键调整,误差小于1S。< 3)、能正确显示时间,上电显示为12点。四、设计资料及有关规定1 .H型全桥式电路和L298构成电机驱动2 .主控制器可以采用 AT89S5M STC89C52五、设计成果要求设计论文六、物资准备1. 到图书馆、物理系资料室查阅相关资料2. 到实验室准备芯片作好实验准备七、主要图式、表式各功能模块电路图要求用电路绘图软件画出八、时间安排2018.11

3、.1 设计动员,发放设计任务书2018.11.2 -2018.11.3 查阅资料、拟定设计程序和进度计划20183.11.4-2018.11.10 确定设计方案、实验、画图、编写设计说明书2018.11.11-2018.11.13 完成设计,交指导教师审阅2018.11.14成绩评定九、考核内容与方式考核的内容包括:学习态度;技术水平与实际能力;论文( 计算书、图纸撰写质量;创新性;采取审定与答辩相结合的方式,成绩评定按百分制记分。b5E2RGbCAP十、参考书目1. 单片机原理及接口技术陈毅刚2. 新概念51单片机C语言教程 郭天祥3. 单片机原理与应用及C51 程序设计牡丹江师范学院本科学

4、生课程设计任务书课程名称:嵌入式课程设计课程设计 题目基于AT89S52LED(阵显示电子钟设计院、系物理与电子工程学 院专 业电气工程及其自 动化年级2018已知参数和设计要求:<1)、时钟的显示由LED点阵构成。<2)、时间能够由按键调整,误差小于 1S。<3)、能正确显示时间,上电显示为 12点。学生应完成的工作:1、汇编或C51语言程序设计;2、程序调试;3、在Proteus上进行仿真成功,进行实验板下载调试;目前资料收集情况 <含指定参考资料):1王兆安.电力电子技术.第四版.北京:机械工业出版社,20032刘胜利现代高频开关电源实用技术电子工业出版社2001

5、.93苏玉刚电力电子技术重庆大学出版社2004.3课程设计的工作计划:2018.11.12018.11.02-2018.11.03划2018.11.04-2018.11.104叶慧贞 开关稳压电源北京:国防工业出版社1990设计动员,发放设计任务书查阅资料、拟定设计程序和进度计确定设计方案、实验、画图、编写 设计说明书2018.11.11-2018.11.13完成设计,交指导教师审阅2018.11.14成绩评定任务下达日期2018年11月1日完成日期2018年11月14日指导老师 签名)学生 签名)目录1. 绪论 21.1 LED点阵显示电子钟的背景及意义 22. 系统总体方案选择与说明22.

6、1 硬件结构22.2 控制思想33. 各单元硬件设计说明及计算方法33.1 74HC138 说明 33.274 HC573说明 43.275 8*8 点阵显示屏说明54. 软件设计与说明64.1 设计流程图如下:64.2 设计程序85. 调试结果与必要的调试说明186. 使用说明18致谢 20参考文献21基于AT89S52LEDy车显示电子钟设计1 绪论1.1 LED点阵显示电子钟的背景及意义在日常生活中,大家见到的都是数码管制作的电子钟,LED 点阵时钟则不多见。用单片机控制的LED点阵显示电子钟具有结构简单、性能可靠、成本低廉、价格便宜和显示灵活等优点,其应用前景广阔。之所以使用 LED点

7、阵电子屏显示,是与它本身所具有的优点分不开的1 。这些优点概括起来就是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。在实际应用中的显示屏由于成本和可靠性的因素常采用一种动态扫描的显示方法。本文设计的是一个室内用5块8X8点阵时钟显示屏,数字采用静止显示方式。电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟走时更准确、性能更稳定。由于用LED点阵显示数据,在夜晚或黑暗的场合里也可以使用,具有一定的实用性。随着人们生活环境的不 断改善

8、和美化,在许多场合都可以看到 LED点阵显示电子钟。在城市的主要 营业场所、车站、码头等公共场所使用 LED数字电子钟已经成为一种时尚2。plEanqFDPw2 .系统总体方案选择与说明本方案基于 AT89S52单片机设计的,还用到 13块74HC573和1块 74HC138芯片,8快8*8LED点阵,原理比较简单,但所有硬件成本较高,不 适应商业用途。一个是硬件结构的设计,一个是控制的总体思想。在本小节 中将对这两部分内容进行简单的叙述 DXDiTa9E3d2.1 硬件结构根据工程的功能和要求,可采用AT89S52单片机作为核心控制器。LED点阵电子钟系统组成包括:显示电路模块、显示驱动电路

9、模块、按键电路模块以及电源模块。框图如图2.1所示:RTCrpUDGiT电源电路驱动电路*显示电路2.1 系统结构图2.2 控制思想LED 点阵电子钟程序主要功能是屏幕显示时间稳定,精确。所以按照分块设计的方法可以把程序分为主程序、显示程序、调整程序。主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。显示程序用来完成数字在LED点阵上的显示,时钟的显示是使用8块8X8点阵显示屏。 5PCzVD7HxA3 . 各单元硬件设计说明及计算方法3.1 74HC138 说明74HC138作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统在高性能存贮器系统中, 用这种译码器可以提高译码系

10、统的效率。将快速赋能电路用于高速存贮器时, 译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间, 这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。HC138按照三位二进制输入码和赋能输入条件 , 从 8 个输出端中译出一个低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器, 扩展成24线译码器不需外接门。扩展成32线译码器,只需要接一个外接倒相器。在解调器应用中,赋能输入端可用作数据输入端。jLBHrnAILg图3.1 74H138引脚图3.2 74HC57脱明74HC573包含八进制3态非反转透明锁存器,span是

11、一种高性能硅门CMOSspan揩件。spanSL74HC573跟LS/AL573的管脚一样。器件的输入是和标准 CMOSB出兼容的,加上拉电阻他们能和LS/ALSTTL输出兼容。xHAQX74J0X图3.3 8 X8LED点阵引脚图图3.3.2为8X8点阵LED等效电路,由此可以看出点阵是用64个LED组成 的。点阵LED扫描法介绍:从图3.3中可以看出,8X8点阵共需要64个发光 二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的 某一列置1电平,某一行置0电平,则相应的二极管就亮。频率必须大于128赫兹,周期小于7.8毫秒即可符合视觉暂留要求。此外一次驱动一列或一行 (8盏

12、LED的需外加驱动电路提高电流,否则 LED亮度会不足。Zzz6ZB2Ltk图3.3.2 8 X 8点阵LED等效电路4 .软件设计与说明4.1 设计流程图如下:4 调整中断开始减1 时钟位调整 加1调整中断2开始分钟位调整图4-1设计流程图4.2 设计程序#include<reg52.h>void display(unsigned char,unsigned char,unsigned char> 。dvzfvkwMIIsbit a_138=P1A0。/138sbit b_138=P1A1 osbit c_138=P1A2。sbit key1=P1A3 okey1 选择,k

13、ey2 力口,key3 减sbit key2=P1A4sbit key3=P1A5。sbit wei1=P2A0o / 六个点阵选择位 ,weix=0位选通sbit wei2=P2A1。sbit wei3=P2A2。sbit wei4=P2A3。sbit wei5=P2A4。sbit wei6=P2A5。unsigned char num_138,shi,fen,miao,num_miao,key_flag 。 rqyn14ZNXIunsigned char code digittab108=0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00, /00x00,0x0

14、0,0x00,0x00,0x21,0x7f,0x01,0x00, /10x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00, /20x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00, /30x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00, /40x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00, /50x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00, /60x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00, /70x00,0x

15、00,0x36,0x49,0x49,0x49,0x36,0x00, /80x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00 /9。void delay(unsigned char xms>unsigned char i,j 。for(i=xms 。 i>0 。 i->for(j=110 。 j>0 。 j-> 。void key_scan(>delay(3>。if(key1=0>TRO=Qkey_flag+。if(key_flag>=3>key_flag=O。TRO=1miao=0o)if(key_flag

16、=1>if(key2=0>delay(3>。if(key2=0>shi+。if(shi>12>shi=1。)else if(key3=0>(delay(3>。if(key3=0>(shi-。if(shi<1>shi=12)if(key_flag=2>(if(key2=0>(delay(3>if(key2=0>fen+oif(fen>=60>fen=O oshi+ oif(shi>12>shi=1 o)else if(key3=0>delay(3>。if(key3=0&g

17、t;(fen- o if(fen=Oxff> fen=59 shi-if(shi=0>shi=12 。void main(>P0=0x00。TMOD=0x0。 1TH0=(65536-50000>/256。/50msTL0=(65536-50000>%256。IT0=1 。IE=0x83。TR0=1。shi=12 。fen=0。miao=0。while(1> display(shi,fen,miao> 。void display(unsigned char adate,unsigned char bdate,unsigned char cdate>

18、;EmxvxOtOcounsigned char ashi,bshi,cshi,age,bge,cge 。ashi=adate/10 。age=adate%10。bshi=bdate/10 。bge=bdate%10。cshi=cdate/10 。cge=cdate%10。wei1=0。for(num_138=0。 num_138<8。 num_138+>switch(num_138>case 0:a_138=0case 1:a_138=1case 2:a_138=0case 3:a_138=1case 4:a_138=0case 5:a_138=1case 6:a_138=

19、0case 7:a_138=1b_138=0。 c_138=0。b_138=0。 c_138=0。b_138=1。 c_138=0。b_138=1。 c_138=0。b_138=0。 c_138=1。b_138=0。 c_138=1。b_138=1。 c_138=1。b_138=1。 c_138=1。break。 break。 break。 break。 break。 break。 break。 break。P0=digittabashinum_138delay(5> 。wei1=1。wei2=0。for(num_138=0。 num_138<8。 num_138+>swit

20、ch(num_138>case 0:a_138=0 。 b_138=29。 c_138=0。break。case 1:a_138=2 。b_138=0。 c_138=0。 break。b_138=1。 c_138=0。 break。b_138=1。 c_138=0。 break。b_138=0。 c_138=1。 break。b_138=0。 c_138=1。 break。b_138=1。 c_138=1。 break。 b_138=1。 c_138=1。 break。o138+>b_138=0。 c_138=0。 break。b_138=0。 c_138=0。 break。b_1

21、38=1。 c_138=0。 break。case 2:a_138=0 。case 3:a_138=1 。case 4:a_138=0 。case 5:a_138=1 。case 6:a_138=0 。 case 7:a_138=1 。P0=digittabagenum_138 delay(5> 。wei2=1。wei3=0。for(num_138=0。 num_138<8。 numswitch(num_138>case 0:a_138=0 。case 1:a_138=1 。case 2:a_138=0 。case 3:a138=1 。b138=1。 c138=0。 brea

22、k。case 5:a_138=0 。b_138=0。 c_138=1。 break。case 5:a_138=1 。 b_138=0。 c_138=1。 break。case 6:a_138=0 。 b_138=1。 c_138=1。 break。case 7:a_138=1 。 b_138=1。 c_138=1。 break。P0=digittabbshinum_138 。delay(5> 。wei3=1。wei4=0 。for(num_138=0。 num_138<8。 num_138+>switch(num_138>case 0:a_138=0 。case 1:a

23、_138=1 。case 2:a_138=0 。case 3:a_138=1 。case 4:a_138=0 。case 5:a_138=1 。b_138=0。 c_138=0。 break。b_138=0。 c_138=0。 break。b_138=1。 c_138=0。 break。b_138=1。 c_138=0。 break。b_138=0。 c_138=1。 break。b_138=0。 c_138=1。 break。case 6:a138=0 。b138=1。 c138=1。 break。case 7:a_138=1 。 b_138=1。 c_138=1。break。break。

24、break。 break。 break。 break。 break。 break。 break。P0=digittabbgenum_138 。delay(5> 。wei4=1。wei5=0。for(num_138=0。 num_138<8。 num_138+>switch(num_138>case 0:a_138=0 。 b_138=0。 c_138=0。case 1:a_138=1 。 b_138=0。 c_138=0。case 2:a_138=0 。 b_138=1。 c_138=0。case 3:a_138=1 。 b_138=1。 c_138=0。case 4:

25、a_138=0 。 b_138=0。 c_138=1。case 5:a_138=1 。 b_138=0。 c_138=1。case 6:a_138=0 。 b_138=1。 c_138=1。case 7:a_138=1 。 b_138=1。 c_138=1。P0=digittabcshinum_138break。 break。 break。 break。 break。 break。 break。 break。delay(5> 。wei5=1。wei6=0 。for(num_138=0。 num_138<8。 num_138+>switch(num_138>case 0:

26、a_138=0 。 b_138=0。 c_138=0。case 1:a_138=1 。 b_138=0。 c_138=0。case 2:a_138=0 。 b_138=1。 c_138=0。case 3:a_138=1 。 b_138=1。 c_138=0。case 4:a_138=0 。 b_138=0。 c_138=1。case 5:a_138=1 。 b_138=0。 c_138=1。case 6:a_138=0 。 b_138=1。 c_138=1。case 7:a_138=1 。 b_138=1。 c_138=1。P0=digittabcgenum_138 。delay(5>

27、。wei6=1。void timer_0(> interrupt 1(/50msTH0=(65536-50000>/256。TL0=(65536-50000>%256num_miao+if(num_miao>=20>(num_miao=0miao+if(miao>=60>(miao=0fen+。if(fen>=60>(fen=0shi+。if(shi>12>shi=1 。 void Int_0(> interrupt 0key_scan(> 。5. 调试结果与必要的调试说明U10:Aigiiiiiiii图5-1仿真图

28、如图,上电显示为12: :00,时钟自动跳动。因为 LED点阵显示不够明显,所以可以调整延时来控制6.使用说明本电路设3个按键,如图ATOC51图6-1按键说明图按下K1键,电路进入调整状态,秒钟归零,时钟位可调,K2为+ 1, K3为-1.再按下K1键,分钟位可调,K2为+1, K3为-1.再按下K1键,电路返回显示状态。时钟位、分钟位、秒钟位分别如图所示A图6-2位置说明图致 谢通过这次课程设计,我才真正发现,如果自己不亲自去做的话,是不会体 会到做课程设计需要花多少心血去找资料,去学习,去思考,去请教老师或者 同学。而且,在这次课程设计中让我学到了很多课堂上学不到的知识 ,也熟悉 了课堂

29、上学的不怎么懂的知识。比如说,WORD应用,现在终于可以很熟练的 使用这个软件了,这对我以后做课程设计是有非常大的帮助的。因为必须完 成课程设计,所以必须在网上,在书上找相关的资料,这让我花了大量的时间,在这些时间里, 让我体会到了学习的充实的快乐, 也让我在现实中把书本上的知识学习的更完善。SixE2yXPq5在这次设计中, 使我了解了和学到了许多书本所没有的东西, 扩充了自己的知识 , 开发了自己的思考能力, 提高了自己在制作实物过程中的动手能力。感谢老师可以给我这样的机会去学习, 去锻炼 , 希望以后的学习中, 会有更多这样的机会。6ewMyirQFL参考文献1 阎石 . 数字电子技术基

30、础第五版)M 北京:高等教育出版社,20072杨加国.单片机原理与应用及 C51程序设计M.北京:清华大学出版社, 20033 李朝青单片微机原理及接口技术第三版)M 北京航空航天大学出版社, 20054 魏永广现代传感技术M 沈阳:东北大学出版社,2001.45 罗志增机器人感觉与多信息融合M 北京:机械工业出版社,2002.66胡伟,季晓衡.单片机C程序设计及应用实例M.北京:人民邮电出版 社 ,2003.7 刘光斌单片机系统实用抗干扰技术M 北京:人民邮电出版社,2003.108Herbert Schildt , Borland C+ Builder , McGraw-Hill Companies ,2001.4kavU42VRUs9Jarrod Hollingworth , Borland C+Builder 6 Developer's Guide

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论