99倒计时课程设计讲解 实用.docx
《99倒计时课程设计讲解 实用.docx》由会员分享,可在线阅读,更多相关《99倒计时课程设计讲解 实用.docx(19页珍藏版)》请在冰点文库上搜索。
99倒计时课程设计讲解实用
1苏—1
2整体设计方案2
3各单元的介绍3
3.1最小应用系统3
3.1.1AT89C51的介绍3
3.1.2时钟电路的介绍5
3.1.3复位电路7
3.2锁存器74LS273的介绍8
3.3数码管显示介绍9
499倒计时主电路图10
5程序流程图12
699倒计时软件程序设计13
7总拮15
8说辞16
9参考文献17
1引言
目前单片机的应用越来越广泛,实际上,单片机得几乎在人类生活的各个领域都表现出强大的什么生命力,使计算机的应用范围达到了前所未有的广度和深度。
单片机的出现尤其对电路工作者产生了观念上的冲击。
在过去经常采用模拟电路、数字电路诗实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方,而且许多电路设计问题将转化为纯粹的程序设计问题。
INTEL公司从其生产单片机开始发展到现在,大体上可分为3大系列:
MCST8系列、MCS~51系列和MCS_96系列。
MCS~51系列是8为高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。
单片机是把CPU、内存储器和某些W接口
电路集成在一块大规模芯片上的微型计算机。
单片机的优点很多,具有体积小,成本低,抗干扰能力强,面向控制,可以实现分机各分布控制等。
在进行99倒计时的课程设计中就是利用单片机的上述优点,采用的是AT89C51型号的单片机。
99秒倒计时器主要是用在精确时间上。
它是通过一个按键来控制它的开和停,在控制过程中有一个暂停开关和一个复位按钮,它能及时有效的记录瞬间时间,它在我们的生活中的应用很广泛。
2整体设计方案
根据课程设计内容,基于MCS咗1单片机,设计两位八段LED做99秒钟的倒计时。
秒表倒计时能够上电复位,复位后系统初始化,八段LED显示为00。
因此,硕件连接设计主要包括时钟电路,复位电路,89C51基本工作电路,接口电路,八段LED共阴极电路等等。
选择符合要求的电气元件,确定其参数值。
通过硬件连接编写相应的汇编语言源程序,主要包含初始化程序,减一循环程序,中断程序等。
上机调试,修改,观察运行结果,直到软硬件配合没有问题。
该方案采用单片机程序设计制作,它是利用芯片AT89C51的特殊功能,P3口控制按键开关,当按下开始按钮,两个数码管将显示99,然后通过P2.0和P2.1对控制数码管的两个三极管进行位选,P1口输出段码经74LS273锁存器来驱动数码管进行倒计时,同时能实现复位、暂停的功能。
其系统框图如图1所示
图1系统框图
3各单元的介绍
3.1最小应用系统
3.1.1AT89C51的介绍
理器,俗称单片机。
ProgrammableandErasableRead0Memoiy)的低电压,高性能CM0S8位微处
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单
片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS咗1指令集和输出管脚相兼容。
由
于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51具有如下特点:
40个引脚,4kBytesFbsh片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(U))口,5个
中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。
此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PD1P、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
(1)主要特性:
全静态工作:
0Hz-24KHz三级程序存储器保密锁定
128将位内部RAM
32条可编程W线
两个16位定时器/计数器
6个中断源
可编程串行通道
•低功耗的闲置和掉电模式
•片内振荡器和时钟电路
(2)管脚说明:
VCC:
供电电压
GND:
接地。
P0口:
P0口为一个8位漏级开路双向W口,每脚可吸收8TTLH电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在F1ASH编程时,P0口作为原码输入口,当F1ASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向]X)口,P1口缓冲器能
接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口
在FLASH编程和校
被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
验时,P1口作为第八位地址接收。
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
工0.6
P0.7
EA-Z^p
ALE/PR0G
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
图2AT89C51引脚图
P2口:
P2口为一个内部上拉电阻的8位双向IX)口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八
位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向IX)口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(LL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表1所示:
表1P3口功能说明
P3口引脚
特殊功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
—-(外部中断)
INTO°
P3.3
而1(外部中断1)
P3.4
TO(定时器0外部输入)
P3.5
T1(定时器1外部输入)
P3.6
WR伤卜部数据存储器写选通)
P3.7
RD(外部数据存储器读先通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
3.1.2时钟电路的介绍
MCS句单片机的时钟信号通常由两种方式产生:
一种是内部方式,一种是外部方式。
(1)内部时钟方式。
内部时钟方式即是由单片机内部的高增益反相放大器和
外部跨接的晶振、微调电容构成时钟电路产生时钟的方法。
外接晶振(陶瓷振荡器)时,Cl、C2的值通常选择为30pF(40pF)左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在l・2MHz〜12MHz之间选择。
为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽叮能安装得与单片机引脚XTAL1和XTAL2靠近。
由于内部时钟方式外部电路接线简单,单片机应用系统中大多采用这种方式。
时钟电路如图3所示,内部时钟方式产生的时钟信号的频率就是
6晶振的固有频率,常用feoc来表示。
如选择12MHz晶振,则feoc=12XioHzo
XTALl
33讦
ox1
33pf
XTAL2
GND
图3内部方式时钟电路
(2)外部时钟方式。
外部时钟方式即完全用单片机外部电路产生时钟的方法,外部电路产生的时钟信号由XTAL2输入,直接送入内部时钟电路,XTAL1接地。
在介绍完了MCS怖1单片机的时钟电路后,因为CPU的工作周期是基于时钟信号的,是与时钟信号密不可分的。
CPU在执行指令时,都是按照一定顺序进行的,由于指令的字节数不同,取指所需时间也就不同,即使是字节数相同的指令,执行操作也会有很大差别,不同的指令的执行时间当然也不相同,即CPU在执行各个指令时,所需要的节拍数是不同的。
为了便于对CPU时序的理解,人们按指令的执行过程定义了几个名词,即时钟周期、机器周期和指令周期。
时钟周期:
时钟周期也称为振荡周期,定义为时钟脉冲频率(rose)的倒数,是单片机中最基本的、最小的时间单位。
由于时钟脉冲控制着计算机的工作节奏,对同一型号的单片机,时钟频率越高,计算机的工作速度显然就会越快。
然而,受硬件电路的限制,时钟频率也不能无限提高,对某一种型号的单片机,时钟频率都有一个范围,如对MCS怖1单片机,其时钟频率范围是0〜33MHz。
为方便描述,振荡周期一般用P(pause)表示。
外部时钟多用于多个单片机同时工作,以便多个单片机的同步。
设计中采用内部方式时钟电路。
3.1.3复位电路
大规模集成电路在上电时一般都需要进行一次复位操作,以便使芯片内的一些部件处于一个确定的初始状态,复位是一种很重要的操作。
器件本身一般不具有自动上电复位能力,需要借助外部复位电路提供的复位信号才能进行复位操作。
MCS怖1单片机的第9脚(RST)为复位引脚,系统上电后,时钟电路开始工作,只要RST引脚上出现大于两个机器周期时间的高电平即可引起单片机执行复位操作。
有两种方法可以使MCS巧1单片机复位,即在RST引脚加上大于两个机器周期时间的高电平或WDT计数溢出。
单片机复位后,PC二OOOOH,CPU从程序存储器的0000H开始取指执行。
复位后,单片机内部各SFR的值也复位。
单片机的外部复位电路有上电自动复位和按键手动复位两种。
(1)上电复位电路。
最简单的上电复位电路由电容和电阻串联构成。
上电瞬间,由于电容两端电压不能突变,RST引脚电压端为VR为VCC,随着对电容的充电,RST引脚的电压呈指数规律下降。
经过时间tl后,VR降为高电平所需电压的下限3.6V,随着对电容充电的进行,VR最后将接近0V。
为了确保单片机复位,tl必须大于两个机器周期的时间,机器周期取决于单片机系统釆用的晶振频率,R不
能取得太小,典型值1OkQ;tl与RC电路的时间常数有关,由晶振频率和R可以算出C的取值。
图4复位电路
(2)上电复位和按键复位组合电路。
R2的阻值一般很小,只有几十欧姆,当然也可以直接短接。
当按下复位按键后,电容迅速通过R2放电,放电结束时的VR为
(RlWcc)/(R1+R2),由于R1远大于R2,VR非常接近VCC,使RST引脚为高电平,松开复位按键后,过程与上电复位相同。
以上两种是最基本的复位电路,在51单片机,多采用上电复位和按键复位组合电路。
这里我们采用上电复位和按键复位组合电路,电路如图4。
3.2锁存器74LS273的介绍
锁存器一般由D触发器构成,能够把输入端的数据保持并且输出,即使输入数据发生变化也可以是输出端维持原来的数据不变。
常用的锁存器有74LS273.74LS377、74LS373、8282等。
根据设计要求选择74LS273锁存器,引脚图如图5所示:
CLR
V匚匚
H7
nn
7
WJnv
4
Uf
HA
JI
L
w
nc
WL
2
LxO
nR
wc
■JU
no
7
T|«=:
UCL
no
3
JJd
rm
QA
Q3
PIIf
UNU
图6
74LS273
引脚图
其引脚说明如下:
CLR为使能控制端,CLK为锁存控制信号,D0T7为数据输入端,Q0-Q7为数据输出端。
74LS273有三种工作状态:
1)当CLR为低电平、CLK为高电平时,输岀端状态和输入端状态相同,即输出跟谁输入。
2)当CLR为低电平。
CLK由高电平降为低电平(下降沿)时,输入端数据锁入内部寄存器中,内部寄存器的数据与输出端相同,当CLK保持为低电平时,即使输入端数据变化,也不会影响输出端的状态,从而实现了锁存功能。
3)当CLR为高电平是,锁存器缓冲三态门封闭,即三态门输出为高阻态。
273的输入端1D-8D与输出端1Q-8Q隔离,则不能输出。
3.3数码管显示介绍
显示器件有很多种,常用的有发光二极管,共阴数码管,液晶显示器等,本文采用通用型的LED数码管。
LED数码管根据LED的接法不同分为共阴和共阳两类,它们的发光原理是一样的,只是它们的电源极性不同而已,其结构图分别如图7所示,本设计使用共阴数
6)外形结构
、乙羽、乙羽上乙"\乙羽
码管。
(b)内部结构
图7数码管结构图
499倒计时主电路图
根据各单元电路设计和原理方框图,得出如下图所示的总电路图。
图899倒计时主电路图
各单元电路衔接如下:
时钟电路起到内部振荡作用;
复位电路把PC初始化为0000H,使单片机程序存储器从0000H单元开始执行程序;
显示电路使数码管正常显示,就要用驱动电路来驱动数码管的各个段码,从而
显示出我们要的数字;
开始按钮与单片机P3.3口相连,启动99倒计时;
暂停按钮与单片机P3.2口相连,可以暂停99倒计时。
定义外部屮断INTO
5程序流程图
b主程序流程图
a屮断流程图
699倒计时软件程序设计
对于99倒计时程序采用汇编语言程序设计如下:
ORG0
SJMPLOP
;跳转到主程序
ORG0003H
;外部中断INTO的中断入口地址
LJMPZD
LOP:
SETBEA;
开放总中断
SETBEXO;
开放外部中断0
SETBKO;
设外部中断0为边沿触发方式
MOVDPTR,#OFEFFH;数据指针指向扩展的口地址
MOVA,#3FH
M0VX@DPTR,A
;向273输出数据,驱动数码管
LOP1M0VDPTR,#OFDFFH
M0VX@DPTR,A
MOVR4,#l
CALLDELAY;
调用延时子程序
JBP3.3,LOP;
等待中断
MOVRl,#99
LOOPMOVA,R1
MOVB,#10
DWAB
MOVDPTR,#TAB
;取段选码首地址
M0VCA,@A+DPTR
MOVDPTR,#OfeFFh
;求取段选码
M0VX@DPTR,A
MOVA,B
MOVDPTR,#TAB
M0VCA,@A+DPTR
MOVDPTR,#0FDFFH
M0VX@DPTR,A
MOVR4,#l
CALLDELAY;调用延时子程序
DJNZR1,LOOP;判断R1是否为零
ZD:
JBP3.2,ZD;等待中断
MOVR4,#3
CALLDELAY
JBP3.2,ZD
RETI
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DELAYMOVR2,#0;延时Is
DELAY1M0VR3,#0
DJNZR3,$
DJNZR2,DELAY1
DJNZR4,DELAY
RET
7总结
通过一周的单片机课程设计,我们不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我们学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
创新叮以是在原有的基础上进行改进,使之功能不断完善,成为自己的东西。
在这个八段LED-99倒计时设计中,我们通过查阅的资料进行了改进,使我们的设计更完善。
除此之外我们还意识到,有好多专业知识我们还没有掌握的很好,因此在以后的学习中还要加深对单片机的理解。
这对我们以后的工作和生活都有很大的帮助。
在课设的的最后我们感觉这个设计结果也很符合题意,成功完成了此次设计要求,同时我们花费了很多的时间和精力。
不过这都是值得的,因为经过课设我们每个人都有了很大的提高。
更重要的是,我们在学会创新的基础上,还懂得了合作精神的重要性,学会了与他人合作。
单片机是一门很重要的课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找个工作也不成问题。
尽管我们在课堂上学到的内容很有限,但在以后的学习中还需要好好的深入研究和学习,学好单片机也就多了一项生存技能。
8谢辞
这一周的时间马上就要过去了,在老师耐心指导和组员的积极配合下我们单片机的课程设计也要完成了,我们组的课题是设计99倒计时,从拿到课程任务书以后,我们开始了分工,每个人都在认真地做组长分给的任务。
我们的课设之所以能顺利地完成离不开组员的共同努力,一个人的力量是有限的,但是九个人的力量加起来就会变得很大。
还有就是离不开老师的耐心指导,从课设的第一天开始宋老师就一直在教室陪着我们,给我们分析程序并指出问题,在这里要衷心地感谢老师的尽职尽责。
还有就是感谢老师给了我们一个锻炼自己的机会,课设其实也就相当于实践,在课设的过程中我们可以了解自己的不足之处,这样可以使我们更好的进步。
9参考文献
[1]李朝青.单片机原理及接口技术M](简明修订版).杭州:
北京航空航天大学出版社,1998
刃李广弟•单片机基础甌].北京:
北京航空航天大学出版社,1994
[3]阎石.数字电子技术基础甌](第三版).北京:
高等教育出版社,1989
R]廖常初.现场总线概述IJ1电工技术,1999
[5]林其骏.微机控制机械系统设计师].上海:
上海科学技术出版社
[6]李光飞.51单片机设计实例师].北京:
北京航空航天大学出版社
[7]刘涛,孟令健.计算机模拟系统的建模与实现.微计算机信⑴,2001
[8]陈志英,李光辉•单总线技术及其应用电气时代师]科学出版社,2003
引龚荣胜,张阿卜.一线总线的软件接口[J1自动化技术及应用,2003
[10]王淑珍,王立萍.单片机原理与接口技术甌].北京:
科学出版社,2008