自动控制原理 课程设计.docx
《自动控制原理 课程设计.docx》由会员分享,可在线阅读,更多相关《自动控制原理 课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
自动控制原理课程设计
电子时钟的设计
摘要:
电子钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所。
本系统采用本系统以80C51为主控芯片,实现电子时钟的设计,并考虑节约系统的硬件,能用软件实现的功能尽量都用软件实现。
而且达到时钟功能为24小时的计时方式,显示时、分;具有快速校准时、分的功能;根据键盘输入调用相应键处理子程序,实现时间的调整;然后输出到8位的LED显示器显示出来。
关键词:
80C51、定时器、按键、数码管
Abstract:
ElectricclockhasbecomenecessaryinPeople'sDailylife,widelyusedinthefamily,station,wharf,theater,officeandotherplaces.ThesystemUSESthissystemtothe80C51formaincontrolchip,realizeelectronicdesign,andconsidertheclocktosavesystemhardware,canusesoftwaretorealizethefunctionwiththerealizationofsoftwareasfaraspossibleAndachievetheclockfunctionfor24hours,showshowtimeandminutes;Havefastcalibrationandminutesfunction;Accordingtothekeyboardcorrespondingkeyprocessingprocedurecalls,realizethetimetoadjust;AndthentheoutputtoeightLEDdisplayshowsout.
Keywords:
80C51,timer,buttons,digitaltube
第一章设计任务
1.1题目
8位LED数字时钟的设计
1.2技术指标及设计要求
1.2.1显示小时、分钟时间
1.2.2实现秒的量化显示
1.2.3具有调整时间功能
1.2.4开启复位显示及手动复位显示功能
第二章设计方案
2.1数码管介绍
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
本设计采用共4联共阳数码管。
数码管的驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S52单片机可用的I/O端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
2.2单片机(80C51)介绍(如图1)
图1
单片机的40个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
2.2.1电源
VCC-芯片电源,接+5V;VSS-接地端;
2.2.2时钟
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
2.2.3控制线:
控制线共有4根
ALE/PROG:
地址锁存允许/片内EPROM编程脉冲,ALE功能:
用来锁存P0口送出的低8位地址,PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
PSEN:
外ROM读选通信号。
RST/VPD:
复位/备用电源。
RST(Reset)功能:
复位信号输入端。
VPD功能:
在Vcc掉电情况下,接备用电源。
EA/Vpp:
内外ROM选择/片内EPROM编程电源。
EA功能:
内外ROM选择端。
Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
2.2.4I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
P0口输入时需要接上拉电阻才能置1。
2.3软件设计
2.3.1软件设计基本思想
由单片机的定时器T0产生0.05s的时间基准,通过计数得到时钟的秒、分、时信号,由显示子程序送数码管显示器显示,键盘工作在扫描方式,当有键按下时,通过键处理程序完成时间的调整。
2.3.2程序流程图如下(如图2)
图2
第三章具体程序设计
3.1汇编程序
S_SETBITP1.0
M_SETBITP1.1
H_SETBITP1.2
SEQU30H
MEQU31H
HEQU32H
ORG0000H
LJMPMAIN
ORG000BH
LJMPINT_T0
ORG0100H
MAIN:
MOVDPTR,#TAB
MOVH,#0
MOVM,#0
MOVS,#0
MOVR0,#0
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBTR0
SETBET0
SETBEA
A1:
ACALLDISPLAY
JNBS_SET,S1
JNBM_SET,S2
JNBH_SET,S3
LJMPA1
S1:
ACALLDEL
JBS_SET,A1
INCS
MOVA,S
CJNEA,#60,J0
MOVS,#0
DECS
S2:
ACALLDEL
JBM_SET,A1
K1:
INCM
MOVA,M
CJNEA,#60,J1
MOVM,#0
DECM
S3:
ACALLDEL
JBH_SET,A1
K2:
INCH
MOVA,H
CJNEA,#24,J2
MOVH,#0
DECH
LJMPA1
J0:
JBS_SET,A1
ACALLDISPLAY
SJMPJ0
J1:
JBM_SET,A1
ACALLDISPLAY
SJMPJ1
J2:
JBH_SET,A1
ACALLDISPLAY
SJMPJ2
INT_T0:
MOVTH0,#3CH
MOVTL0,#0B0H
INCR0
MOVA,R0
CJNEA,#20,RETUNE
INCS
MOVR0,#0
MOVA,S
CJNEA,#60,RETUNE
INCM
MOVS,#0
MOVA,M
CJNEA,#60,RETUNE
INCH
MOVM,#0
MOVA,H
CJNEA,#24,RETUNE
MOVH,#0
MOVM,#0
MOVS,#0
MOVR0,#0
RETUNE:
RETI
DISPLAY:
MOVA,S
MOVB,#10
DIVAB
SETBP2.6
MOVCA,@A+DPTR
MOVP0,A
ACALLDEL
CLRP2.6
MOVA,B
SETBP2.7
MOVCA,@A+DPTR
MOVP0,A
ACALLDEL
CLRP2.7
SETBP2.5
MOVP0,#0FDH
ACALLDEL
CLRP2.5
MOVA,M
MOVB,#10
DIVAB
SETBP2.3
MOVCA,@A+DPTR
MOVP0,A
ACALLDEL
CLRP2.3
MOVA,B
SETBP2.4
MOVCA,@A+DPTR
MOVP0,A
ACALLDEL
CLRP2.4
SETBP2.2
MOVP0,#0FDH
ACALLDEL
CLRP2.2
MOVA,H
MOVB,#10
DIVAB
SETBP2.0
MOVCA,@A+DPTR
MOVP0,A
ACALLDEL
CLRP2.0
MOVA,B
SETBP2.1
MOVCA,@A+DPTR
MOVP0,A
ACALLDEL
CLRP2.1
RET
TAB:
DB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
DEL:
MOVR6,#10
LOOP1:
MOVR7,#100
LOOP2:
DJNZR7,LOOP2
DJNZR6,LOOP1
RET
END
3.1.1电路框图(如图3)
图3
第四章总结
通过这次的设计使我认识到我对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识。
本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。
在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争。
我从中学到了很多东西,最重要的是做好一个设计的心态,也许在你拿到题目时会觉得困难,这个时候就要你有足够的耐心了。
经过老师的悉心指导还有同学们的无私帮助,对于数字逻辑一些基本知识有了更深的了解。
了解了很多集成门电路芯片的使用。
提高了自我的动手能力。
增强了面对困难勇于面对,勇于解决的信心。
参考文献
[1]《单片机基础》李广第,北京航空航天大学出版社,2009
[2]《单片机原理及其接口技术》胡汉才,清华大学出版社,2005
[3]《单片机项目设计教程》孙惠芹,电子工业出版社,2009
[4]《单片机程序设计实例》先锋工作室,清华大学出版社,2004
[5]《单片机c程序设计实例指导》李光飞,北京航空航天大学出版社,2005
目录
摘要1
关键词1
Abstract1
Keywords1
第一章设计任务2
1.1题目2
1.2技术指标及设计要求2
1.2.1显示小时、分钟时间2
1.2.2实现秒的量化显示2
1.2.3具有调整时间功能2
1.2.4开启复位显示及手动复位显示功能2
第二章设计方案2
2.1数码管介绍2
2.2单片机(80C51)介绍(如图1)3
2.2.1电源4
2.2.2时钟4
2.2.3控制线:
控制线共有4根4
2.2.4I/O线4
2.3软件设计4
2.3.1软件设计基本思想4
2.3.2程序流程图如下(如图2)5
第三章具体程序设计5
3.1汇编程序5
3.1.1电路框图(如图3)13
第四章总结14
参考文献15