收藏 分享(赏)

LED显示的电子钟-机械设计制造及其自动化《单片机原理及接口技术》课程设计报告.doc

上传人:为人民服务 文档编号:2369124 上传时间:2018-09-13 格式:DOC 页数:25 大小:320.50KB
下载 相关 举报
LED显示的电子钟-机械设计制造及其自动化《单片机原理及接口技术》课程设计报告.doc_第1页
第1页 / 共25页
LED显示的电子钟-机械设计制造及其自动化《单片机原理及接口技术》课程设计报告.doc_第2页
第2页 / 共25页
LED显示的电子钟-机械设计制造及其自动化《单片机原理及接口技术》课程设计报告.doc_第3页
第3页 / 共25页
LED显示的电子钟-机械设计制造及其自动化《单片机原理及接口技术》课程设计报告.doc_第4页
第4页 / 共25页
LED显示的电子钟-机械设计制造及其自动化《单片机原理及接口技术》课程设计报告.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、1 单 片 机 原 理 及 接 口 技 术 课 程 设 计 报 告课 题 名 称 课 题 一 LED 显 示 的 电 子 钟学 院 自 动 控 制 及 机 械 工 程 学 院专 业 机 械 设 计 制 造 及 其 自 动 化班 级姓 名学 号时 间 2016 年 1 月 8 日目录一、设计任务二、硬件设计 三、软件设计四、调试过程和方法.五、设计心得体会.六、参考文献2七、附录一 、 设计任务要求(一) 设计任务基于 AT89C51 单片机,制作 LED 显示的智能电子钟。 (二) 设计要求31. 用六个七段 LED 数码管作为显示设备,设计时钟功能。2. 显示格式,日期:YY MM DD,时

2、间:HH MM SS.3. 还要分别设计年、月、日、时、分、秒,在复位后的日期应该为:12 01 01,时间为:00 00 00 .4. 秒钟复位功能,当秒位键按下后,秒的那位回到 00 .5. 键盘按键个数应该自己确定。6. 时间、月、日自行交替显示,或者按键切换显示。7. 12 小时和 24 小时切换功能。8. 还要实现闹钟功能。二 、 硬件设计(一)总体思路内部时钟发生器复位清零切换按钮AT89C51单片机数码显示管74HCS245 芯片图 1(二)实图为4XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD4

3、35.5/54P0.6/AD63.7/72P1.0/T21./EX/S2P1.2/CI3.3/EX04P1.4/C15.5/EX2/MISO6P1.6/C3/CK7.7/EX4/MOSI8P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51RC2234567891RP1RESPACK-8A02 B01813 17A24 B21635 35A46 B41457 53A68 B61279 7CE19AB/A

4、U374HC245R03k R13k+5VX1CRYSTALC130PC230PR110KC44.7U+5V +5vR23k R110kR33kR43kR53kR63k图 2 (三)1. 首先要选择单片机的芯片,其次,选择系统中要用到的其他外围元件。例如要用到的显示器啊、执行机构等等的。2. 硬件的设计。硬件设计是指应用系统的电路设计,它包括单片机的芯片、控制电路、存储器、IO 等等,硬件设计时,应该考虑留有充分的余量,电路设计要保证正确无误,应为在硬件设计中不容易修改设计的结构。3. 硬件设计时要注意的问题有以下几点:(1)单片机的选择:尽量选用带有EEPROM 和 MCS51 系列的单片机

5、,理如我们用到的 AT89C51,这种单片机会减少外部的扩展。 (2)程序存储器:若要外扩存储器时,一般要选用容量较大的EPROM 芯片,尽量避免用小容量的芯片,应为程序存储容量大些,则可以编程空间充裕。 (3)数据存储器:根据系统功能的要求,如果需要扩展外部 ROM,那么ROM 芯片可选用 6264(8KB)等,扩展外部 ROM 和 RAM 相同,尽量减少芯片的数量。 (4)IO 接口的芯片:IO 接口的芯片的扩展也需要根据应用系统功能的要求来确定,常用的 IO 接口芯片一般要选用 8255 芯片,这类芯片可利用功能多、具有口线多、硬件逻辑简单等优点。 (5)总线驱动功能:MCS51 系列的

6、单片机的外部扩展功能很强,但 4 个 8 位并行接口带负载能力是有限的,P0 口能驱动8 个 TTL 电路,P1P3 口只能驱动 3 个 TTL 电路。4.单片机与显示模块电路5由 74HC245 芯片和电阻,导线构成,控制锁存单片机输出信号。74HC245 元件的封装:74HC245 真值表:5.显示 LED 电路由 7SEG-MPSX6-CC 供阴 LED8 段位显示器构成:结构图为:6abcdef g1 2 3 4 5. dp678910e d G c dpg f G a b其真值表为:共阴极接法八段状态显示字符sp g f e d c b a断码(共阴)0 0 0 1 1 1 1 1

7、1 3FH1 0 0 0 0 0 1 1 0 06H2 0 1 0 1 1 0 1 1 5BH3 0 1 0 0 1 1 1 1 4FH4 0 1 1 0 0 1 1 0 66H5 0 1 1 0 1 1 0 1 6DH6 0 1 1 1 1 1 0 1 7DH7 0 0 0 0 0 1 1 1 07H8 0 1 1 1 1 1 1 1 7FH9 0 1 1 0 1 1 1 1 6FH. 1 0 0 0 0 0 0 0 80H综上则可知:显示0 1 2 3 4 5 6 7 8 9 .断码3FH06H5BH4FH66H6DH7DH07H7FH6FH80H6. 我们设计的硬件的思路和实图为:(1)

8、.思路是7内部时钟发生器复位清零切换按钮AT89C51 单片机数码选字管排阻74HCS245 芯片(2).实图为XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0/T21./EX/S2P1.2/CI3.3/EX04P1.4/C15.5/EX2/MISO6P1.6/C3/CK7.7/EX4/MOSI8P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2.

9、/A023.3/14P2.4/A225.5/136.6/47U1AT89C51RC2234567891RP1RESPACK-8A02 B01813 17A24 B21635 35A46 B41457 53A68 B61279 7CE19AB/AU374HC245R03k R13k+5VX1CRYSTALC130PC230PR110KC44.7U+5V +5vR23k R110kR33kR43kR53kR63k(二)软件的设计1. 软件的设计,单片机应用系统的软件设计是研究的过程中最关键的一步,没有软件,就无法实现单片机的控制,不同的软件会实现的个功能就有不同的控制, 。所以,要编写软件就应该把

10、实现的控制对象及其功能全部掌握,要做到心中有数。82. 我们选择了 c 语言来编写程序软件来控制。3. 流程图为:(1)主程序流程图 开始初始化键盘扫描时间处理读取时间值预置计数初值(2)键盘扫描子程序键盘扫描子程序按键秒的调整按键分的调整按键时的调整定时 返回(3)时间处理子程序显示 结束9时间处理子程序秒钟设为进制分钟设为进制时钟设为进制返回(三)调试的过程1. 单片机系统的软件事千差万别的,没有统一的模式,我们是尽可能的采用模块化的结构,并按照先相后细的方法,把整个系统软件分成多个独立模块。应该确定个模块的结构和功能,个模块的接口信息。2. 各个模块可以分别独立设计,编辑和调试,最后将各

11、个模块连接成一个完整的程序进行调试, 。3. 较为复杂的软件是建立在各个机本末快的基础上的。4. 系统的测试:系统的测试包括硬件调适合软解调试,硬件的调试是解决硬件的故障,包括设计故障和工艺错误。软件的调试是经过在线的仿真调试,出了发现和解决程序的错误外,也可已发现硬件的错误。5. 程序调试是按模块进行的,各个模块和子程序都是独立进行的,最后是要连在一起来调试的,可以利用开发工具的单步和断点运行方式,通过检查系统的 CPU 现场、RAM 和 SFR 的内容及 IO 口的状态,来检查程序大的执行结果和系统 IO 设备的状态化是否正常,从中发现程序的逻辑错误、转移地址的错误以及随机的录入错误。6.

12、 在调试的过程中要不断的调整、修改系统的软件和硬件,直到其符合预期结果为止,联机调试运行后,将软件固化到 EPROM 中。10三、硬件设计的电路和调试结果为1.调试图为XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0/T21./EX/S2P1.2/CI3.3/EX04P1.4/C15.5/EX2/MISO6P1.6/C3/CK7.7/EX4/MOSI8P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T

13、15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51RC2234567891RP1RESPACK-8A02 B01813 17A24 B21635 35A46 B41457 53A68 B61279 7CE19AB/AU374HC245R03k R13k+5VX1CRYSTALC130PC230PR110KC44.7U+5V +5vR23k R110kR33kR43kR53kR63kXTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD4

14、35.5/54P0.6/AD63.7/72P1.0/T21./EX/S2P1.2/CI3.3/EX04P1.4/C15.5/EX2/MISO6P1.6/C3/CK7.7/EX4/MOSI8P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51RC2234567891RP1RESPACK-8A02 B01813 17A24 B21635 35A46 B41457 53A68 B61279 7CE19AB/A

15、U374HC245R03k R13k+5VX1CRYSTAL130PC230PR10KC44.7U+5V +5vR23k R110kR33kR43kR53kR63k112.首先要选择单片机的芯片,其次,选择系统中要用到的其他外围元件。例如,我们要用到的显示器啊、执行机构等等的。硬件的设计。硬件设计是指应用系统的电路设计,它包括单片机的芯片、控制电路、存储器、IO 等等,硬件设计时,应该考虑留有充分的余量,电路设计要保证正确无误,应为在硬件设计中不容易修改设计的结构。硬件设计时要注意的问题有以下几点:(1)单片机的选择:尽量选用带有 EEPROM和 MCS51 系列的单片机,理如我们用到的 AT

16、89C51,这种单片机会减少外部的扩展。(2)程序存储器:若要外扩存储器时,一般要选用容量较大的 EPROM 芯片,尽量避免用小容量的芯片,应为程序存储容量大些,则可以编程空间充裕。 (3)数据存储器:根据系统功能的要求,如果需要扩展外部 ROM,那么 ROM 芯片可选用 6264(8KB)等,扩展外部 ROM 和 RAM 相同,尽量减少芯片的数量。 (4)IO 接口的芯片:IO 接口的芯片的扩展也需要根据应用系统功能的要求来确定,常用的 IO 接口芯片一般要选用 8255 芯片,这类芯片可利用功能多、具有口线多、硬件逻辑简单等优点。(5)总线驱动功能:MCS51 系列的单片机的外部扩展功能很

17、强,但 4 个 8 位并行接口带负载能力是有限的,P0 口能驱动 8 个 TTL 电路,P1P3 口只能驱动 3 个 TTL 电路。四、软件的设计思想及流程软件的设计,单片机应用系统的软件设计是研究的过程中最关键的一步,没有软件,就无法实现单片机的控制,不同的软件会实现的个功能就有不同的控制, 。所以,要编写软件就应该把实现的控制对象及其功能全部掌握,要做到心中有数。/*/*延时子程序*/*/void delay (uchar k)uchar j;while(k-)!=0)for(j=0;j=99)year=1; /*/* 时分秒显示子程序*/*/void display(void) P2=0

18、xfe;P0=dispcodehour/10; /显示小时的十位delay(4);P2=0xfd;P0=(dispcode(hour%10)|0X80; /显示小时的个位delay(4);P2=0xfb;P0=dispcodeminute/10; /显示分的十位delay(4);P2=0xf7;P0=(dispcodeminute%10)|0X80; /显示分的个位delay(4);P2=0xef;P0=dispcodesecond/10; /显示秒的十位delay(4);P2=0xdf;P0=dispcodesecond%10; /显示秒的个位delay(4); /*年月日显示程序*/voi

19、d display1(void)P2=0xfe;P0=dispcodeyear/10;14delay(4);P2=0xfd;P0=(dispcode(year%10)|0X80;delay(4);P2=0xfb;P0=dispcodemon/10;delay(4);P2=0xf7;P0=(dispcodemon%10)|0X80;delay(4);P2=0xef;P0=dispcodeday/10;delay(4);P2=0xdf;P0=dispcodeday%10;delay(4); /*/*主函数*/*/void main(void) P1=0xff; /初始化p1口,全设为 TMOD =

20、 0x11; /time0为定时器,方式TH0=0x3c; /预置计数初值TL0=0xb0;EA=1; ET0=1; TR0=1; while (1) keyscan( ); /按键扫描time_pro( ); /时间处理if(disp)display1( ); /显示时间 elsedisplay( ); 15五、调试过程和方法1. 单片机系统的软件事千差万别的,没有统一的模式,我们是尽可能的采用模块化的结构,并按照先相后细的方法,把整个系统软件分成多个独立模块。应该确定个模块的结构和功能,个模块的接口信息。各个模块可以分别独立设计,编辑和调试,最后将各个模块连接成一个完整的程序进行调试, 。

21、2. 系统的测试包括硬件调适合软解调试,硬件的调试是解决硬件的故障,包括设计故障和工艺错误。软件的调试是经过在线的仿真调试,出了发现和解决程序的错误外,也可已发现硬件的错误。3. 程序调试是按模块进行的,各个模块和子程序都是独立进行的,最后是要连在一起来调试的,可以利用开发工具的单步和断点运行方式,通过检查系统的 CPU 现场、RAM 和 SFR 的内容及 IO 口的状态,来检查程序大的执行结果和系统 IO 设备的状态化是否正常,从中发现程序的逻辑错误、转移地址的错误以及随机的录入错误。4. 在调试的过程中要不断的调整、修改系统的软件和硬件,直到其符合预期结果为止,联机调试运行后,将软件固化到

22、 EPROM 中。1这是日期的调试图:分别为年、月、日XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0/T21./EX/S2P1.2/CI3.3/EX04P1.4/C15.5/EX2/MISO6P1.6/C3/CK7.7/EX4/MOSI8P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/4

23、7U1AT89C51RC2234567891RP1RESPACK-8A02 B01813 17A24 B21635 35A46 B41457 53A68 B61279 7CE19AB/AU374HC245R03k R13k+5VX1CRYSTALC130PC230PR110KC44.7U+5V +5vR23k R110kR33kR43kR53kR63k2. 此图为时、分、秒的调试图16XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0/T21./EX/S2P1.2

24、/CI3.3/EX04P1.4/C15.5/EX2/MISO6P1.6/C3/CK7.7/EX4/MOSI8P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51RC2234567891RP1RESPACK-8A02 B01813 17A24 B21635 35A46 B41457 53A68 B61279 7CE19AB/AU374HC245R03k R13k+5VX1CRYSTAL130PC230PR

25、10KC44.7U+5V +5vR23k R110kR33kR43kR53kR63k六、课程设计的心得体会我们机制的同学在一起进行了一次单片机的课程设计的实训,实训的时间为两个周,在这两个周的实训中,在设计中发现我们许多不足之处,而且自己的知识不懂的还有很多,自己的实践经验也有很多欠缺的地方,理论很难联系到实际.但是我们在设计中合作,有一个团队意识,找出不足,相互进步,达到本次设计的目的。另外我们通过本课程设计明白了这样的课程是培养学生的主专业课,是培养现代化人才的重要技术之一。单片机的课程设计是学习单片机理论的重要实践环节,在单片机的实验课程基础上,我们通过课程的设计和学习,使我们增进对单片

26、机的感性认识,加深对单片机理论的的理解,使我们掌握单片机的内部功能模块的应用,掌握单片机的接口功能和扩展的应用,掌握一些特殊器件的使用方法,学习编辑综合的程序。使我们了解和掌握单片机应用系统的硬件和软件的设计的方法和调试的过程。充分发挥我们的主观能动性,更好的激发了我们的学习激情和学习的兴趣。这次试训培养了我们大学生能主动利用芯片解决工程上实际的问题的意识,培养了我们的工程实践能力、实际动手能力和自我学习的能力。使我们为完成从实际项目立题、调研、方案论证、方案实施、系统的调试、编写使用说明书等调研过程的基本训练,为今后在相关的领域中从事和单片机有关的设计、开发、应用等工作打下扎实的基础。七、参

27、考文献1. C 程序设计(第三版).谭浩强.清华大学出版社;172. 模拟电子技术基础简明教程(第三版).杨素行. 高等教育出版社;3. 单片机原理与接口技术.吴亦锋、陈德为.电子工业出版社;4数字电子技术基础简明教程(第三版).余孟尝.高等教育出版社;5. 电路分析基础.李瀚逊.高等教育出版社.八、附录1.附录一XTAL218XTAL119ALE30EA31PSEN29RST9P0./AD039P0.1/A138P0.2/AD237P0.3/A336P0.4/AD435P0.5/A534P0.6/AD63P0.7/A732P1.0/T21P1./T2EX/S2P1.2/ECI3P1.3/EX

28、04P1.4/CEX15P1.5/EX2/MISO6P1.6/CEX3/SCK7P1.7/EX4/MOSI8P3.0/RXD10P3.1/TX1P3.2/INT012P3./IT113P3.4/T014P3.7/RD17P3.6/W16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2./A1023P2.3/A124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51RC2234567891RP1RESPACK-8A02 B018A13 B117A24 B216A35 B315A46 B414A57 B513A68 B612A79 B71CE

29、19AB/A1U374HC245R03k R13k+5VX1CRYSTALC130PC230PR110KC44.7U+5V +5vR23k R110kR33kR43kR53kR63k2.附录二#include #define uchar unsigned char#define uint unsigned int/*七段共阴管显示定义*/ uchar code dispcode =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,/*定义并初始化变量*/0x80,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0

30、xFF,0xDF;uchar second=0;18uchar minute=0;uchar hour=0;uchar mstcnt=0;uchar mon=1;uchar day=1;uchar year=12;int disp=0;int a=0,k1num;sbit P10=P10; / second 调整定义sbit P11=P11; /minite 调整定义sbit P12=P12; /hour 调整定义sbit P13=P13; /年月日与时分秒转换sbit P14=P14;sbit P15=P15;sbit P16=P16;sbit P17=P17;/*函数声明*/void de

31、lay(uchar k ); /延时子程序void time_pro( ); /时间处理子程序void display( ); /时分秒显示子程序void display1( ); /年月日显示子程序void keyscan( ); /键盘扫描子程序/*/*延时子程序*/*/void delay (uchar k)uchar j;while(k-)!=0)for(j=0;j=99)year=1; /*/* 时分秒显示子程序*/*/void display(void) P2=0xfe;P0=dispcodehour/10; /显示小时的十位delay(4);P2=0xfd;P0=(dispcod

32、e(hour%10)|0X80; /显示小时的个位delay(4);P2=0xfb;P0=dispcodeminute/10; /显示分的十位delay(4);P2=0xf7;P0=(dispcodeminute%10)|0X80; /显示分的个位delay(4);P2=0xef;P0=dispcodesecond/10; /显示秒的十位delay(4);P2=0xdf;P0=dispcodesecond%10; /显示秒的个位delay(4); /*年月日显示程序*/21void display1(void)P2=0xfe;P0=dispcodeyear/10;delay(4);P2=0xf

33、d;P0=(dispcode(year%10)|0X80;delay(4);P2=0xfb;P0=dispcodemon/10;delay(4);P2=0xf7;P0=(dispcodemon%10)|0X80;delay(4);P2=0xef;P0=dispcodeday/10;delay(4);P2=0xdf;P0=dispcodeday%10;delay(4); /*/*键盘扫描子程序*/*/void keyscan (void) if(P10=0) /按键秒的调整 delay(30);k1num+;if(P10=0)second+;if(k1num=0)if(second=60) se

34、cond=0;if(k1num=1)second=0;k1num=0;22 while(P10=0)display();if(P11=0) /按键分的调整 delay(30);if(P11=0)minute+;if(minute=60)minute=0;while(P11=0)display();if(P12=0) /按键小时的调整 delay(30);if(P12=0)hour+;if(hour=24) hour=0; while(P12=0)display();if(P13=0) /年月日与时分秒的转换delay(30);if(P13=0)disp=! disp;while(P13=0)d

35、isplay();23if(P14=0)delay(30);if(P14=0)day+;if(day=31)day=1;while(P14=0)display1();if(P15=0)delay(30);if(P15=0)mon+;if(mon=13)mon=1;while(P15=0)display1();if(P16=0)delay(30);if(P16=0)year+;if(year=100)year=1; while(P16=0)display1();24if(P17=0)delay(30);if(P17=0)second=0;minute=0;hour=0;day=01;mon=01

36、;year=12; void timer0(void) interrupt 1 using 0 /定时器方式,ms 中断一次TH0=0x3c;TMOD = 0x11;mstcnt+;if(mstcnt=20)second+;mstcnt=0; /*/*主函数*/*/void main(void) P1=0xff; /初始化 p1 口,全设为 TMOD = 0x11; /time0 为定时器,方式TH0=0x3c; /预置计数初值TL0=0xb0;EA=1; ET0=1; TR0=1; while (1) keyscan( ); /按键扫描time_pro( ); /时间处理if(disp)display1( ); /显示时间 elsedisplay( ); 25

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 机械制造 > 机械/模具设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报