单片机电子时钟实验报告.doc_第1页
单片机电子时钟实验报告.doc_第2页
单片机电子时钟实验报告.doc_第3页
单片机电子时钟实验报告.doc_第4页
单片机电子时钟实验报告.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1 课程设计报告课程设计报告 设计题目设计题目: : 电子时钟设计电子时钟设计 指导教师:指导教师: 姓姓 名名: : 学学 号号: : 班班 级级: : 专专 业业: : 日日 期期: : 2012-1-52012-1-5 目目录录 2 摘要摘要.3 第一章第一章 系统设系统设计计要求要求.4 1.1 基本功能 4 1.2 扩展功能 4 第二章第二章 硬件总体设计方案硬件总体设计方案.4 2.1 系统功能实现总体设计思路.4 2.2 各部分功能实现.4 2.3 系统工作原理.6 2.4 时钟各功能分析及图解.6 2.4.1 电路各功能图解分析6 2.4.2 电路功能使用说明10 第三章软件总体设计方案第三章软件总体设计方案.1 控制电路的 C 语言源程序 10 第四章第四章 课程设计结课程设计结果果分分析析.19 第五章第五章 总总结结.20 参考文参考文献献.26 单单片机片机电电子子时钟时钟 3 摘要摘要: :单片机 即单片微型计算机。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定时,计数和多 种接口于一体的微控制器。他体积小,成本低,功能强,广泛 应用于工业自动化上和智能产品。时钟,自从它被发明的那 天起,就成为了人类的好朋友,但随着时间的推移,科学技 术的不断发展,时钟的应用越来越广范,人们对时间计量的 精度要求也越来越高。怎样让时钟更好的为人民服务,怎样 让我们的老朋友再次焕发青春呢?这就要求我们不断设计 出新型的时钟,来不断满足人们的日常生活需要。然而市场 上的时钟便宜的比较笨重,简单实用的又比较昂贵。那么, 有没有一款既简单实用价格又便宜的时钟呢? 我们课程设计小组设想:可不可以利用单片机功能集成 化高,价格又便宜的特点设计一款结构既简单,价格又便宜 的单片机电子时钟呢? 基于这种情况,我们课程设计小组成员多方查阅资料,反 复论证设计出了这款既简单实用,又价格便宜的单单片片 机机电电子子时钟时钟。 。 关关键词键词: :单单片机片机 时钟时钟 计时计时 4 第一章第一章 系统设计要求系统设计要求 1.1 基本功能基本功能 (1)能够显示时分秒 (2)能够调整时分秒 1.2 扩展功能扩展功能 (1)能够任意设置定时时间 (2)定时时间到闹铃能够报警 (3)实现了秒表功能 第二章第二章 硬件总体设计方案硬件总体设计方案 本次设计时钟电路,使用了 STC89C51 单片机芯片控制 电路,单片机控制电路简单且省去了很多复杂的线路,使得 电路简明易懂,使用键盘键上的按键来调整时钟的时、分、 秒,用一扬声器来进行定时提醒,同时使用 C 语言程序来控 制整个时钟显示,使得编程变得更容易,这样通过四个模块: 键盘、芯片、扬声器、显示屏即可满足设计要求。 2.1 系统功能实现总体设计思路系统功能实现总体设计思路 此设计原理框图如图 2-1 所示,此电路包括以下四个部 分:单片机,键盘,闹铃电路及显示电路。 5 51 单片机 独 立 键 盘 数码管显示 图 2-1 设计原理框图 经多方论证硬件我们小组采用 AT89C51 单片机和 7SED 八位共阳极数码管等来实现单片机电子时钟的功能。 详细元器件列表如表 2.1 所示: 表 2.1 详细元器件列表 STC89c52RC1 片片 7SED 四位共阳极数四位共阳极数码码管管2 片片 PNP 三极管三极管9 个个 100p 电电容容6 个个 30p 电电容容2 个个 1K 电电阻阻 6 个个 150 欧姆欧姆电电阻阻8 个个 10k 欧姆欧姆电电阻阻8 个个 闹铃电路 6 100 欧姆欧姆电电阻阻8 个个 2.2 各部分功能实现各部分功能实现 (1(单片机发送的信号通过程序控制最终在数码管上显示 出来。 (2(单片机通过输出各种电脉冲信号来驱动控制各部分正 常工作。 (3(为使时钟走时与标准时间一致,校时电路是必不可少的, 键盘用来校正数码管上显示的时间。 (4(单片机通过控制闹铃电路来完成 定时闹钟的功能。 2.3 系统工作原理系统工作原理 设计的电路主要由四模块构成:单片机控制电路,显示 电路、闹铃电路以及校正电路。 详细电路功能图如图 2-2: 7 a dp b c d e f g 1 8 2 3 4 5 6 7 a dp b c d e f g 010203040506 01 06 02 03 04 05 a dp b c d e f g 1 4 5 8 2 3 6 7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 X1 CRYSTAL C1 22uF C2 22uF Q1 PNP R1 200 10k10k10k10k10k10k 100100100100100100 100p100p100p100p100p100p 123456 LS1 SOUNDER 本设计采用 C 语言程序设计,使单片机控制数码管显示 时、分、秒,当秒计数计满 60 时就向分进位,分计数器计满 60 后向时计数器进位,小时计数器按“23 翻 0”规律计数。时、 分、秒的计数结果经过数据处理可直接送显示器显示。当计 时发生误差的时候可以用校时电路进行校正。设计采用的是 时、分、秒显示,单片机对数据进行处理同时在数码管上显 示。 2.4 时钟各功能分析时钟各功能分析及图解及图解 2.4.1 电路各功能图解分析电路各功能图解分析 ( (1) ) 时钟运行图 仿真开始运行时,或按下 key4 键时,时钟从 12:00:00 开始运行,其中 key2 键对分进行调整,key3 对小时进行调 8 整,key6 可以让时钟暂停。 时钟运行图如图 2-3 所示: a dp b c d e f g 1 8 2 3 4 5 6 7 a dp b c d e f g 010203040506 01 06 02 03 04 05 a dp b c d e f g 1 4 5 8 2 3 6 7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 X1 CRYSTAL C1 22uF C2 22uF Q1 PNP R1 200 10k10k10k10k10k10k 100100100100100100 100p100p100p100p100p100p 123456 LS1 SOUNDER (2)秒表计时图 当按下 key1 键进入秒表计时状态,key6 是秒表暂停键, 可按 key4 键跳出秒表计时状态。 如图 2-4: a dp b c d e f g 1 8 2 3 4 5 6 7 a dp b c d e f g 010203040506 01 06 02 03 04 05 a dp b c d e f g 1 4 5 8 2 3 6 7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 X1 CRYSTAL C1 22uF C2 22uF Q1 PNP R1 200 10k10k10k10k10k10k 100100100100100100 100p100p100p100p100p100p 123456 LS1 SOUNDER 9 (3)闹铃设置图及运行图 当按下 key5,开始定时,分别按 key2 调分,key3 调时设 置闹铃时间,然后按下 key4 键恢复时钟运行状态(图 2-5)当 闹铃设置时间到时,蜂鸣器将发出 10 秒中蜂鸣声(图 2-6)。 a dp b c d e f g 1 8 2 3 4 5 6 7 a dp b c d e f g 010203040506 01 06 02 03 04 05 a dp b c d e f g 1 4 5 8 2 3 6 7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 X1 CRYSTAL C1 22uF C2 22uF Q1 PNP R1 200 10k10k10k10k10k10k 100100100100100100 100p100p100p100p100p100p 123456 LS1 SOUNDER 该数字钟是用一片 STC89C52 单片机通过编程去驱动 8 个数码管实现的。通过 6 个开关控制,从上到下 6 个开关 KEY1-KEY6 的功能分别为:KEY1,切换至秒表;KEY2,调 节时间,每调一次时加 1;KEY3, 调节时间,每调一次分加 1;KEY4,从其它状态切换至时钟状态;KEY5,切换至闹钟 设置状态,也可以对秒表清零;KEY6,秒表暂停.控制键分 别与 P1.0P1.5 口连接其中: A 通过 P2 口和 P3 口去控制数码管的显示如图所示 P2 口接数码管的 ag 端,是控制输出编码,P3 口接数码 10 管的 18 端,是控制动态扫描输出 B 从 P0.0 输出一个信号使二极管发光,二极管在设置的 闹钟时间到了时候发光,若有乐曲可以去驱动扬声器实 现。 2.4.2 电路功能使用说明电路功能使用说明 (1) 各个控制键的功能:可对时间进行校准调节(只能加 );按下设置键数字时钟进入闹钟设置状态,设置闹钟 的时间;时加、分加键是在校准时间时或设置闹钟时 间对小时数或分钟数调节而设置的;按下秒切换键就可 以进入秒表模式,同时秒表也开始计时,按下秒表暂停、 复位键就暂停、归零,如果要重新对秒计时则可以按秒 表开始、复位;清零键可以对闹钟清零。 STC89C51 单片机,通过编写程序对数码显示进行控制。 (2(八个 7 段数码管显示时钟和秒表信号。 第三章软件总体设计方案第三章软件总体设计方案 控制电路的控制电路的 C 语言源程语言源程序序 #include #include 11 unsigned char data dis_digit; unsigned char key_s, key_v; unsigned char code dis_code11=0xc0,0xf9,0xa4,0xb0, / 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xbf;/ 4, 5, 6, 7, 8, 9, unsigned char data dis_buf8; unsigned char data dis_index; unsigned char hour,min,sec; unsigned char sec100; sbit K1 = P11; sbit K2 = P12; bit scan_key(); void proc_key(); void inc_sec(); void inc_min(); void inc_hour(); void display(); void delayms(unsigned char ms); void main(void) 12 P2 = 0xff; P3 = 0xff; TMOD = 0x11; / 定时器 0, 1 工作模式 1, 16 位定时方式 TH1 = 0xdc; TL1 = 0; TH0 = 0xFC; TL0 = 0x17; hour = 12; min = 00; sec = 00; sec100 = 0; dis_buf0 = dis_codehour / 10; / 时十位 dis_buf1 = dis_codehour % 10; / 时个位 dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分个位 dis_buf6 = dis_codesec / 10; / 秒十位 dis_buf7 = dis_codesec % 10; / 秒个位 13 dis_buf2 = 0xbf; / 显示“-“ dis_buf5 = 0xbf; / 显示“-“ dis_digit = 0xfe; dis_index = 0; TCON = 0x01; IE = 0x8a; / 使能 timer0,1 中断 TR0 = 1; TR1 = 1; key_v = 0x03; while(1) if(scan_key() delayms(10); if(scan_key() key_v = key_s; 14 proc_key(); bit scan_key() key_s = 0x00; key_s |= K2; key_s 59) min = 0; dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分个位 EA = 1; void timer0() interrupt 1 / 定时器 0 中断服务程序, 用于数码管的动态扫描 / dis_index - 显示索引, 用于标识当前显示的数码管和缓冲区的偏 移量 / dis_digit - 位选通值, 传送到 P2 口用于选通当前数码管的数值, 16 如等于 0xfe 时, / 选通 P2.0 口数码管 / dis_buf - 显于缓冲区基地址 TH0 = 0xFC; TL0 = 0x17; P3 = 0xff; / 先关闭所有数码管 P2 = dis_bufdis_index; / 显示代码传送到 P0 口 P3= dis_digit; / dis_digit = _crol_(dis_digit,1); / 位选通值左移, 下次中断时选通下 一位数码管 dis_index+; / dis_index / 8 个数码管全部扫描完一遍之后,再回到第 一个开始下一次扫描 void timer1() interrupt 3 TH1 = 0xdc; 17 sec100+; if(sec100 = 100) sec100 = 0; inc_sec(); void inc_sec() sec+; if(sec 59) sec = 0; inc_min(); dis_buf6 = dis_codesec / 10; / 秒十位 dis_buf7 = dis_codesec % 10; / 秒个位 18 void inc_min() min+; if(min 59) min = 0; inc_hour(); dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分个位 void inc_hour() hour+; if(hour 23) hour = 0; if(hour 9) dis_buf0 = dis_codehour / 10; / 时十位 else 19 dis_buf0 = 0xff; / 当小时的十位为 0 时不显示 dis_buf1 = dis_codehour % 10; / 时个位 void delayms(unsigned char ms) / 延时子程序 unsigned char i; while(ms-) for(i = 0; i 120; i+); 第四章第四章 课程设计结果分析课程设计结果分析 此时钟设计是利用 protues 仿真软件进行仿真,基本 上实现了课程设计要求实现的功能。 硬件部分设置了的六个按键。当按键一按下时,进入 秒表显示状态,秒表开始计时,当按键六按下时,秒表暂 停;当按键四按下时恢复到时间显示功能;当按键二按下 20 时,进入调分状态,按一次,分加一,60 一循环;按键三按 下时,进入调时状态,按一次,时加一,60 一循环;按键五 按下时,进入闹铃设置功能,紧接着按下按键二和按键三 进行时和分的设置,再按下按键 4 恢复显示时间,当显示 的时间和定时设置的时间一致时,蜂鸣器发出蜂鸣声,蜂 鸣时间我们设置为 10 秒。 第五章第五章 总结总结 经过一周的单片机课程设计,我组成员已基本完成课题 要求。功能上基本达标:时钟的显示,秒表显示,定时功能, 调时功能。时钟显示功能,精确度完全可以满足日常生活显 示时间的需要;秒表功能,可以满足比赛计时的需要;调时功 能,方便快捷;定时功能准确可靠,还有扩展成音乐闹钟的余 地。硬件设施合乎要求,软件设计可以配合硬件实现要求功 能。但

温馨提示

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

评论

0/150

提交评论