单片机课程设计报告LED显示电子钟Word下载.docx
《单片机课程设计报告LED显示电子钟Word下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告LED显示电子钟Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
对整个系统做试运行,有问题再进一步修改调试,直至达到设计的要求和取得满意的效果。
最后编写系统说明书,其内容主要包括系统功能介绍,使用范围,主要性能指标,使用方法,注意事项等。
三、设计内容:
1、设计题目:
LED显示的电子钟
2、设计任务:
基于AT89C51单片机,制作一个LED显示的智能电子钟。
3、设计要求及功能:
(1)、用6个7段LED数码管作为显示设备,设计时钟功能。
(2)、显示格式,日期:
YYMMDD,时间:
HHMMSS.
(3)、可以分别设计年、月、日,时、分、秒。
在复位后的日期应该为:
120101,时间为:
000000。
(4)、秒钟复位功能,当秒位键按下后,秒的那位回到00。
(5)、键盘按键个数应该万为己确定。
(6)、@时间、月、日自行交替显示,或者按键切换显示。
(7)、@12小时和24小时切换功能。
(8)、@还要实现闹钟功能。
4、设计提示:
1)、LED宜采用动态扫描显示;
2)、采用定时器,也可以考虑外部扩展专用时钟芯片DS1302.
3)、参考Protuse仿真效果图。
5、设计要求:
要求学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机原理与接口技术》课程中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
基于AT89C51单片机,制作一个LED显示的智能电子钟。
6、设计课题总体方案及工作原理说明
设计中采用AT89C51芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。
设计中是采用单片机的内部定时器进行定时,程序框图如图3.1所示
整个电子钟的工作原理是:
在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。
图3.1总的设计的框图
四、硬件设计需求:
硬件设计是指应用系统的电路设计,包括单片机芯片、控制电路、存储器、I/O接口等等。
硬件设计时,应考虑留有充分余量,电路设计力求无误,因为在系统调试中不易修改硬件结构。
如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。
1、硬件系统各模块功能:
(1)、单片机最小系统——AT89C51:
由AT89C51单片机由时钟电路和复位电路构成。
AT89C51是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
时钟电路由一个12MHZ的石英晶体振荡器和两个22pF的的电容组成振荡电路和分频电路,为单片机提供内部时钟。
复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。
图4.189C51单片机
VCC:
电源。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(2)、LED数码管显示模块
LED数码管是由发光二极管构成的,亦称半导体数码管。
将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。
若按规定使某些笔段上的发光二极管发光,就能显示从0~9的…系列数字。
同荧光数码管(VFD)、辉光数码管(NRT)相比,它具有:
体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL、CMOS电路兼容等的数显器件。
+、-分别表示公共阳极和公共阴极。
a~g是7个笔段电极,DP为小数点。
另有一种字高为7.6mm的超小型LED数码管,管脚从左右两排引出,小数点则是独立的。
本系统利用6位LED数码管显示时间,共阴极结构。
LED数码管由7段发光二极管组成,当要显示某个数字时只要将数字所对应的引脚送入低电平。
图4.2LED数码管的数值表及其引脚图
(3)、晶振模块:
下图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
图4.3晶振电路
表二元件清单与封装
元件名
封装名
型号
CRYSTAL
XTAL-1
VOLTREG
TO-220
MC7805T
TRANS4
FLY4
10TO1
VSIN
CAP
RB.2/.4
CAPACITORPOL
RAD-0.1
TRANSISTOR
TO18
PNP
TRANSISITOR
TO92A
NPN
SPEAKER
SIP-2
LED
DIODE-0.4
SW-PB
RES2
AXIAL0.3-1.0
DPY_7-SEG_DP
DIP8
单片机
AT89S52
(4)、按键模块:
本设计中主要有7个控制按键,按键功能为:
1)、P1.0键位为清零键,当使用时,使其所显示数据清零,复位;
2)、P1.1键位口为时间加“1”;
3)、P1.2键位口为分钟加“1”;
4)、P1.3键位口为秒钟加“1”;
5)、P1.4键位口为暂停键;
6)、P1.5键位口为恢复端;
7)、P1.6键位口为秒钟清零端。
图4.4独立按键模块
五、电路软件系统设计:
1、protues软件简介
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;
同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
本章介绍ProteusISIS软件的工作环境和一些基本操作。
2、电路功能仿真
在protues绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在protues的原理图中看到模拟的实物运行状态和过程。
protues是单片机课堂教学的先进助手。
protues不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。
2、.仿真结果
Proteus软件所提供了30多个元件库,数千种元件。
元件涉及到数字和模拟、交流和直流等。
在Proteus软件包中,不存在同类仪表使用数量的问题。
Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。
用Protues软件进行仿真,其仿真的电路图如图3.2.1所示
图5.1仿真电路图
仿真结果:
图5.2仿真电路复位时电路图
图5.3仿真电路暂停时的电路图
3、流程图
(1)、程序流程图:
图5.4主程序流程图1
图5.5程序流程图2
(2)、键盘扫描程序流程:
图5.6键盘扫描程序流程图
(3)、时间处理程序流程图:
图5.7时间处理程序流程图
六、误差分析:
本数字电子钟在跟标准的电子钟比较时,时间稍微慢一点,产生此种情况的原因有:
其一是在执行程序指令时,由于需要耗费一定的时间,因此会比标准的电子钟要慢一点。
其二是晶振不够标准,使得定时器定时时不够精准。
七、总结与心得:
我们电气工程机自动化专业的学生学习单片机原理及接口技术课程,配套的开设课程设计。
我们三个班的同学在一起进行了一次单片机的课程设计的实训,实训的时间为一个周,在这个周的实训中,我们通过本课程设计明白了这样的课程是培养学生的主专业课,是培养现代化人才的重要技术之一。
单片机的课程设计是学习单片机理论的重要实践环节,在单片机的实验课程基础上,我们通过课程的设计和学习,使我们增进对单片机的感性认识,加深对单片机理论的的理解,使我们掌握单片机的内部功能模块的应用,掌握单片机的接口功能和扩展的应用,掌握一些特殊器件的使用方法,学习编辑综合的程序。
使我们了解和掌握单片机应用系统的硬件和软件的设计的方法和调试的过程。
充分发挥我们的主观能动性,更好的激发了我们的学习激情和学习的兴趣。
这次试训培养了我们大学生能主动利用芯片解决工程上实际的问题的意识,培养了我们的工程实践能力、实际动手能力和自我学习的能力。
使我们为完成从实际项目立题、调研、方案论证、方案实施、系统的调试、编写使用说明书等调研过程的基本训练,为今后在相关的领域中从事和单片机有关的设计、开发、应用等工作打下扎实的基础。
八、参考文献
[1]吴亦锋,陈德为。
单片机原理与接口技术电子工业出版社2010
[2]李建中。
单片机原理及应用西安电子科技大学出版社2008年
[3]胡汉才。
单片机原理及其接口技术清华大学出版社2004年
九、附录:
《程序》
ORG0000H
MOV40H,#00H
MOV41H,#00H
MOV42H,#00H
MOV43H,#00H
MOV44H,#00H
MOV45H,#00H
MOVR0,#01H
MOVR1,#02H
CLRP3.0
CLRP3.1
UU:
MOVTMOD,#01H;
中断
MOVTH0,#3CH
MOVTL0,#0B0H
CLRTR0
MM:
MOVA,40H;
;
显示程序:
MOV50H,#0FEH
MOVP2,50H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP0,A
LCALLYY;
延时
MOVA,50H
RLA
MOV50H,A
MM1:
MOVP2,50H
MOVDPTR,#TAB
MOVA,41H
ADDA,#0AH
MOVP0,A
LCALLYY
RLA
MM2:
MOVA,42H
MM3:
MOVA,43H
MM4:
MOVA,44H
LCALLYY
MM5:
MOVDPTR,#TAB
MOVA,45H
ADDA,#0AH
MOVCA,@A+DPTR
MOVP0,A
RLA
JNBP1.0,KK1;
按键判断程序
JNBP1.6,KK7
JNBP1.1,KK2
JNBP1.2,KK3
JNBP1.3,KK4
CJNER0,#01H,HH1
JNBP1.4,KK5
SETBTR0
BB:
JBTF0,GG
LJMPMM
KK5:
JNBP1.4,KK5
MOVR0,#00H
LJMPUU
HH1:
JNBP1.5,KK6
KK1:
LJMPKKK1
KK7:
LJMPKKK7
GG:
CLRTF0
MOVA,47H
CJNEA,#09H,LL1
MOV47H,#00H
MOVA,46H
CJNEA,#09H,LL2
MOV46H,#00H
KK4:
JNBP1.3,KK4
JNBP3.1,QQ1
CJNEA,#09H,QQ1
QQ1:
MOVA,45H
CJNEA,#09H,LL3
MOV45H,#00H
MOVA,44H
CJNEA,#05H,LL4
MOV44H,#00H
KK3:
JNBP1.2,KK3
MOVA,43H
CJNEA,#09H,LL7
MOVA,42H
CJNEA,#05H,LL8
KK2:
JNBP1.1,KK2
CJNEA,#09H,LL5
LL6:
INC40H
KKK1:
MOVA,#00H
MOV40H,A
MOV41H,A
MOV42H,A
MOV40H,A
MOV43H,A
MOV44H,A
MOV45H,A
KKK7:
MOV46H,A
MOV47H,A
KK6:
LL1:
INC47H
LL7:
INC43H
LL8:
INC42H
LL2:
INC46H
LL3:
INC45H
LL4:
INC44H
LL5:
CJNEA,#03H,DD1
MOVA,40H
CJNEA,#02H,DD1
DD1:
INC41H
LJMPUU
YY:
MOVR6,#10;
延时程序
YY1:
MOVR7,#09
YY2:
NOP
NOP
DJNZR7,YY2
DJNZR6,YY1
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H
DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0E7H
END