LED数字倒计时器实验报告资料.pdf

上传人:tbuqq 文档编号:5197382 上传时间:2020-02-19 格式:PDF 页数:20 大小:1.02MB
返回 下载 相关 举报
LED数字倒计时器实验报告资料.pdf_第1页
第1页 / 共20页
LED数字倒计时器实验报告资料.pdf_第2页
第2页 / 共20页
LED数字倒计时器实验报告资料.pdf_第3页
第3页 / 共20页
LED数字倒计时器实验报告资料.pdf_第4页
第4页 / 共20页
LED数字倒计时器实验报告资料.pdf_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《LED数字倒计时器实验报告资料.pdf》由会员分享,可在线阅读,更多相关《LED数字倒计时器实验报告资料.pdf(20页珍藏版)》请在三一文库上搜索。

1、单片机课程设计报告 - 1 - 淮阴师范学院物理与电子电气工程学院 课 程 设 计 报 告 学生姓名靖洋学 号171206011 班 级 12 级 4 班 专业 电子信息科学与技术 题目 LED数字倒计时器 指 导 教 师 魏东旭 、陈勇 2014 年12 月 单片机课程设计报告 - 2 - 一、设计任务与要求 LED倒计时器设计以AT89S52单片机为核心, 系统包括 6 位数码管显示电按键电路、电源电路、复位电路、晶振电 路及蜂鸣器电路几部分。要求: 1)LED数码管显示倒计时时间; 2)倒计时过程中能设置多个闹钟,当倒计时值倒计到定值 时会发出约2s 的报警声音; 3)通过按键可以对倒计

2、时设定初值,倒计时初始值范围在 24:00:00-00 :00:60 之间,用户可根据需要对其进行 设置,设置成功后复位初始值为成功设定值。 二、框图设计 2.1 LED 数字倒计时器主要由AT89C51单片机、晶振电路、 复位电路、按键电路、数码管电路、 蜂鸣电路组成 (如图 2.1 ) 。 图 2.1 LED 数字倒计时器系统设计框图 2.2 晶振电路分析 1 )晶振电路原理: 数码管电路 晶振电路 复位电路 按键电路 蜂鸣电路 AT89C51 单片机课程设计报告 - 3 - 晶振是通过电激励来产生固定频率的机械振动,而振动 又会产生电流反馈给电路,电路接到反馈后进行信号放大, 再次用放大

3、的电信号来激励晶振机械振动,晶振再将振动产 生的电流反馈给电路,如此这般。当电路中的激励电信号和 晶振的标称频率相同时,电路就能输出信号强大,频率稳 定的正弦波。整形电路再将正弦波变成方波送到数字电路中 供其使用。 2)晶振电路的特点: 晶振是石英振荡器的简称,英文名为Crystal,晶振分 为有源晶振和无源晶振两种,其作用是在电路产生震荡电流, 发出时钟信号 。它是时钟电路中最重要的部件,它的作用是 向 IC 等部件提供基准频率,它就像个标尺,工作频率不稳 定会造成相关设备工作频率不稳定,自然容易出现问题。由 于制造工艺不断提高,现在晶振的频率偏差、温度稳定性、 老化率、密封性等重要技术指标

4、都很好,已不容易出现故障, 但在选用时仍可留意一下晶振的质量。 单片机课程设计报告 - 4 - 图2.2晶振电路原理图 2.3 复位电路的分析 1 )复位电路的原理: 系统上电时提供复位信号,直至系统电源稳定后,撤销 复位信号。为可靠起见,电源稳定后还要经一定的延时才撤 销复位信号,以防电源开关或电源插头分-合过程中引起的 抖动而影响复位。 RC复位电路可以实现上述基本功能,但解 决不了电源毛刺和电源缓慢下降(电池电压不足)等问题, 而且调整 RC 常数改变延时会令驱动能力变差。左边的电路 为高电平复位有效,右边为低电平有效,复位按键为手动 复位开关,电容可避免高频谐波对电路的干扰。 2)复位

5、电路的作用: 单片机课程设计报告 - 5 - 复位电路是为确保微机系统中电路稳定可靠工作必不 可少的一部分,复位电路的第一功能是上电复位。一般微机 电路正常工作需要供电电源为5V5% ,即 4.75 5.25V。由 于微机电路是时序数字电路,它需要稳定的时钟信号,因此 在电源上电时,只有当VCC超过 4.75V 低于 5.25V 以及晶体 振荡器稳定工作时,复位信号才被撤除,微机电路开始正常 工作。 图 2.3 复位电路原理图 2.4 按键电路的分析 1 )按键电路的原理: 按键 B1/B2/B3/B4 断开时, P1.0/P1.1/P1.2/P1.3输入 为高电平; 按键 B1/B2/B3/

6、B4 闭合后, P1.0/P1.1/P1.2/P1.3 输入为低电平。每按一次按键,就会有一次低电平,单片机 单片机课程设计报告 - 6 - 就会对低电平计数,从而来调节定时时间。由于按钮是机械 触点,当机械触点断开、闭合时,会有抖动动,这种抖动对 于计算机来说,是完全能感应到的,因为计算机处理的速度 是在微秒级,而机械抖动的时间至少是毫秒级。你只按了一 次按钮,可是计算机却已执行了多次中断的过程,如果执行 的次数正好是奇数次,那么结果正如你所料,如果执行的次 数是偶数次,那就不对了,所以必须运用延时程序消除按键 的抖动。 2 )按键电路的作用: 每次复位之后,三个两位数码管全部都会显示为0,

7、而 与 P1.0相接的按钮B1,每次按下一次,就会产生一次低电 平,单片机就会计数一次,从而调节倒计时的小时时间,B2 则调节分钟, B3则调节秒钟,与这三个按键分别控制数码管 的显示倒计时的小时、分钟、秒。与这三个按键不同的是, 按键 B3的作用是开始倒计时。这些按键的功能都是通过编程 来控制的。 单片机课程设计报告 - 7 - 图2.4 按键电路原理图 2.5 数码管电路的分析 1 )数码管电路的组成: a) 六位数码管:分别显示小时, 分钟和秒钟。 b) 含有八个电阻带电源的排阻:分别与三个数字显示的数码 管并联, 电源给数码管提供电压,电阻的作用是保护数码 管不被烧坏。 c) 将 PO

8、口的八位与数码管和排阻连载一起的导线,将P2口 的六位分别与六位数码管的六个位选引脚接在一起。 2)数码管电路的原理: 7 段数码管一般由8 个发光二极管组成,其中由7 个细 长的发光二极管组成数字显示,另外一个圆形的发光二极管 单片机课程设计报告 - 8 - 显示小数点。当发光二极管导通时,相应的一个点或一个笔 画发光。控制相应的二极管导通,就能显示出各种字符,尽 管显示的字符形状有些失真,能显示的数符数量也有限,但 其控制简单,使有也方便。发光二极管的阳极连在一起的称 为共阳极数码管,阴极连在一起的称为共阴极数码管。 2.6 蜂鸣电路的分析 1 )蜂鸣电路的组成: 两个阻值为一千欧姆的电阻

9、,一个阻值为100 欧姆的电 阻,一个蜂鸣器,一个三极管,一个接地,以及导线。 2 )蜂鸣电路的原理: 蜂鸣电路是利用I/O 定时翻转电平产生驱动波形对蜂 7 段数码管内部字段LED 和引脚分布 共阴极 共阳极 单片机课程设计报告 - 9 - 鸣器进行驱动。在程序上,可以使用TIMER0 来定时,将 TIMER0 的预分频设置为/1 ,选择 TIMER0 的始终为系统时钟 ( 主振荡器时钟 /4) ,通过按键可以在TIMER0 的载入 / 计数寄 存器内调节设置时间,就能将TIMER0 的中断设置设置为倒 计时时间, 当需要 I/O 口驱动的蜂鸣器鸣叫时,只需要在进 入 TIMER0 中断的时

10、候对该 I/O 口的电平进行翻转一次,直 到蜂鸣器不需要鸣叫的时候,将 I/O 口的电平设置为低电平 即可。不鸣叫时将I/O 口的输出电平设置为低电平是为了防 止漏电。 图 2.6 蜂鸣电路原理图 三、 LED数字倒计时器软件设计 3.1 LED数字倒计时器的程序流程图 单片机课程设计报告 - 10 - 3.1 LED数字倒计时器的C语言程序编码 #include sbit kh=P10;/定义 kh 为与 P1.0 相连接的按键B1 sbit km=P11;/定义 km为与 P1.1 相连接的按键B2 开始 CPU 系统初始化 定时器 0 初始化 中断初始化 设置时间? 设置闹铃时间 显示刷

11、新 启动走时 有关变量初始化 时分变化? 刷新显示 1 秒到 秒指示 闹铃时间? 蜂鸣器 结束 Y N Y N Y N Y N 单片机课程设计报告 - 11 - sbit ks=P12;/定义 ks 为与 P1.2 相连接的按键B3 sbit st=P13;/定义 st 为与 P1.3 相连接的按键B4 sbit b=P37;/定义 b 为 P3.7 unsigned char table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x 7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; / LED数码管 从 0 到 F 的显示

12、unsigned char i=0,hour=0,minute=0,second=0;/定义无 符号的变量并赋初值 void delayms(unsigned int x) unsigned char a=160;/定义无符号变量a 的值为 160, 指延时时间为160 个及其周期乘以x,160 可以为 180、200 等,自己设置 while(x-) while(a-); a=160; /定义延时程序的延时时间为160 个及其周期乘以x, 避免 按键抖动的影响 单片机课程设计报告 - 12 - main() TH0=(65536-50000)/256;/设置定时时间对高八位赋 值, 5000

13、0 是 50000 个机器周期, 0.05 秒 TL0=(65536-50000)%256;/设置定时时间对低八位赋 值, 50000 是 50000 个机器周期, 0.05 秒 TMOD=1;/定时器模式 TR0=0;/ 停止计时 ET0=1;/ 开定时器中断 EA=1;/ 开总中断 while(1) P0=tablehour/10;/显示小时的十位 P2=32;/ 对数码管进行位选和段选,选中显示 小时的十位 delayms(1);/延时以便于显示 P2=0xff;/重新给 P2 口一个高电平,避免误操 作 P0=tablehour%10;/显示小时的个位 P2=16;/ 对数码管位选和片

14、选,选中显示小时 的个位 单片机课程设计报告 - 13 - delayms(1);/延时以便于显示 P2=0xff;/重新给 P2 口一个高电平,避免误操 作 P0=tableminute/10;/显示分钟的十位 P2=8;/ 对数码管进行位选和段选,选中显示分 钟的十位 delayms(1);/延时以便于显示 P2=0xff;/重新给 P2 口一个高电平,避免误操 作 P0=tableminute%10;/显示分钟的个位 P2=4;/ 对数码管进行位选和段选,选中显示分 钟的个位 delayms(1);/延时以便于显示 P2=0xff;/重新给 P2 口一个高电平,避免误操 作 P0=tab

15、lesecond/10;/显示秒钟的十位 P2=2;/ 对数码管进行位选和段选,选中显示秒 钟的十位 delayms(1);/延时以便于显示 单片机课程设计报告 - 14 - P2=0xff;/重新给 P2 口一个高电平,避免误操 作 P0=tablesecond%10;/对数码管进行位选和 段选,选中显示秒钟的个位 P2=1;/ 对数码管进行位选和段选,选中显示秒 钟的个位 delayms(1);/延时以便于显示 P2=0xff;/重新给 P2 口一个高电平,避免误操 作 if(!kh)/如果小时按键B1按下 delayms(200);/延时 200 乘以 160个机器 周期,避免按键抖动的

16、影响 hour+;/定时时间的小时加一 if(hour23)/因为是无符号的变量, 减到 0 之后,再减就会变成ff ,大于 23 hour=23; else if(!km)/如果分钟按键B2按下 单片机课程设计报告 - 15 - delayms(200);/延时 200 乘以 160个机器 周期,避免按键抖动的影响 minute+; 定时时间的分钟加一 if(minute59)/因为是无符号的变量, 减 到 0 之后,再减就会变成ff ,大于 23 59 minute=59; else if(!ks)/如果秒按键B3按下 delayms(200);/延时 200 乘以 160个机器 周期,避

17、免按键抖动的影响 second+; 定时时间的秒钟加一 if(second59)/因为是无符号的变量, 减 到 0 之后,再减就会变成ff ,大于 59 second=59; if(!st)/开始按加按下 单片机课程设计报告 - 16 - delayms(200);/延时 200 乘以 160个机器 周期,避免按键抖动的影响 TR0=1;/ 开始计时 if(TR0=1 second-;/秒减一 if(second59)/因为是无符号的变量,减到 0 之后,再减就会变成ff ,大于 59 second=59;/秒为 59 minute-;/分钟减一 if(minute59)/因 为 是 无 符

18、号 的 变 量,减到 0 之后,再减就会变成ff ,大于 59 minute=59;/因为是无符号的变 量,减到 0 之后,再减就会变成ff ,大于 59 hour-;/小时减一 if(hour23)/因为是无符号的 变量,减到0 之后,再减就会变成ff ,大于 59,如果小时 减过 0 说明计时结束 hour=0; minute=0; second=0; TR0=0;/ 停止计时 单片机课程设计报告 - 18 - 四、 LED数字倒计时器仿真图 五、 LED数字倒计时器元件清单 元件名称型号数量 / 个用途 单片机AT89C51 1 控制核心 单片机课程设计报告 - 19 - 晶振12MHz

19、 1 晶振电路 电容30pF 2 晶振电路 电解电容22F/10V 1 复位电路 电阻10k1 复位电路 按键5 按键电路和复位电 路 数码管共阳6 显示器 三极管2N5088 1 蜂鸣器 喇叭8/0.5W 1 蜂鸣器 电阻1k2 蜂鸣器 电阻1001 蜂鸣器 电阻3308 排阻 电源+5V/0.5A 1 提供 +5V 六、总结 关于这次课程设计,我们花费了比较多的心思,既是 单片机课程设计报告 - 20 - 对课程理论内容的一次复习和巩固,还让我们丰富了更多与 该专业相关的其他知识,比如软件应用等。在这次实验中遇 到的具体的问题:在proteus中设计好原理图,并运行后发 现,数字倒计时器的

20、复位功能无效,经过与组员之间的反复 讨论和检验,终于发现问题的症结所在:复位电路的线路连 接错误,其中两条线路交叉,中间少一个节点。 除了对此次设计的准备工作之外,我们还学到了很多平 时难得的东西,首先是团队协作,在这次设计当中,难免和 同学产生观点和意见的分歧,以及分工明细、时间安排等不 合理,通过这次设计,我们体会到了团结合作的重要性及力 量之强大,还有让我们处理事情更加有条理,思路更加清晰 明了了,发现、提出、分析、解决问题和实践能力的提高都 将受益于我在以后的学习、工作和生活中。 从这课程设计中,我学会了怎样用你c 语言编程来控制 单片机,这是以前没学到的东西,此外,还要查阅许多的资 料来填补知识的空缺,比如说软件的使用等。 最后老师的提问让我们对单片机有了更为深入、更加清 晰的了解。

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1