当前位置:文档之家› 单片机关于定时器的大作业实验报告

单片机关于定时器的大作业实验报告

课程设计报告
基于微处理器的定时器设计
一.硬件系统的设计:
(1)设计要求:
本课程设计的定时器,待机状态是一台时钟,以秒为单位两点闪烁,可设置多个闹铃时间,蜂鸣器鸣叫时间持续一分钟,并可作秒表使用,可控制秒表启停。

(2)设计目的:
1.复习和巩固所学过的知识,利用此毕业设计正好可以对所学过的知识进
行系统的回顾和总结。

2.拓展知识面,课堂的知识是远远满足不了设计的要求的,这就需要我们
主动去找寻更多的资料,了解更多的知识。

3.培养了设计能力和解决实际问题的能力,同时增强了自学能力,通过设
计完整的单片机系统也初步掌握了组成系统、编程、调试等能力。

4.通过本LCD电子钟的设计初步了解了单片机应用系统开发研制过程,软
件和硬件设计的方法。

5.本课程设计目的是制作基于微处理器的定时器,将学过的微处理器硬件
和软件知识,以及电子线路知识进行综合应用,形成一个能实际运行的
电子作品。

(3)系统组成及工作原理
该定时器主要由单片机,复位电路,电源,蜂鸣器和开关构成。

本定时器采用ATMEL公司的AT89S51单片机为核心,使用晶振11.0592MHz
晶振与单片机AT89S51相连,通过软件编程的方法实现12分钟为一个周期,同时LCD显示分钟和秒的要求。

(a)硬件的设计:
本设计的硬件系统主要由以下几个模块来实现:控制模块、输入模块、输出模块、电源模块。

控制模块主要用开关实现秒表与时钟以及闹钟之间的变换。

输入模块主要用于向控制器模块输入各种信息。

输出模块主要用于实时的实现各种显示。

电源模块主要用于向整个硬件系统供电。

(b)设计电路连线原理图:
C1
220p
(c)时钟电路
本设计是采用内部时钟方式,用一个11.0592MHz晶振和两个30Pf瓷片电容组成,为单片机提供标准时钟,其中两个瓷片电容起微调作用.其电路图见图
(d)AT89S51及LCD的引脚图:
a):
b)
(4)元器件清单
(二)软件系统的设计:
(1)使用单片机资源的情况:
设计时使用单片机资源的情况如下:AT89S51单片机的P0、P1、P2口作为液晶数据线接口,其中,P0口接液晶分个位,P1接液晶秒十位,P2接液晶秒个位。

P3 口接时钟电路和控制开关,用单片机定时器0中方式1来控制定时器运行。

(2)软件系统的各个模块功能:
本设计的软件系统主要采用以下基本模块来实现:主程序、中断服务程序、开关控制和液晶显示程序。

主程序用于对于各个程序模块的运行及控制,以及各个模式程序的初始化。

特别是定时中断的初始值。

实验中定时时
间为50ms。

所以TH0=3CH,TL0=0B0H。

中断服务程序用于时钟的运行,以及通过定时中断来实现各个模式。

即是待机模式,闹钟模式,秒表模式。

通过定时中断控制液晶中间两点闪烁,每隔0.5s闪烁一次。

在闹钟模式,但时钟走到10s时,蜂鸣器响5s。

开关控制用于确定按键并进行相应的模式处理。

如,当K2=1,时钟进入秒表模式,假如K1=1,秒表计时,否则K1=0,秒表暂停。

但K2=0,判断K1,假如K1=1,时钟进入闹钟模式,否则进入待机模式。

液晶显示程序用于控制液晶的显示,显示分秒时钟。

(3)设计的软件流程框图:
(3)实验程序
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP ITT0
ORG 0100H MAIN: MOV SP,#60H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV TMOD,#01H
SETB ET0
SETB EA
MOV R0,#0
MOV R1,#0
MOV R2,#0
CLR P3.0
MOV R7,#0
MOV DPTR,#TAB
SETB P3.1
SETB P3.3
SETB TR0
SJMP $
ORG 0500H
ITT0: MOV TH0,#3CH
MOV TL0,#0B0H
INC R7
CJNE R7,#20,MM;1S是否到
CPL P3.1
MOV R7,#0
JB P3.7,MODE2;K2为1则进入秒表模式,否则顺序执行,进
入待机或闹钟模式
INC R2
JNB P3.3,DELL;闹钟响?跳入判断是否响够5S
WW: CJNE R2,#10,EXIT;秒个位溢出
MOV R2,#0
INC R1
JB P3.6,MODE1;K1为1跳转入闹钟模式,否则顺序执行,进
入待机模式
QQ: CJNE R1,#6,EXIT;秒十位溢出
MOV R1,#0
INC R0
CJNE R0,#10,EXIT;分个位溢出
MOV R0,#0
CPL P3.0;分十位变化,只为0或1
SJMP EXIT
MM: CJNE R7,#10,EXIT0
CPL P3.1;0.5S到,两点取反
EXIT: MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
MOV A,R1
MOVC A,@A+DPTR
MOV P1,A
MOV A,R2
MOVC A,@A+DPTR
MOV P2,A;输出分秒
EXIT0: RETI
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH MODE1: JB P3.0,EXIT1
CJNE R0,#0,EXIT1
CJNE R1,#1,EXIT1
CJNE R2,#0,EXIT1;时间到00:10吗
CLR P3.3
MOV R6,#5
EXIT1: SJMP QQ
DELL: DJNZ R6,LOOP;响够5S吗
SETB P3.3
LOOP: SJMP WW
MODE2: INC R2
CJNE R2,#10,EXIT2
MOV R2,#0
INC R1
CJNE R1,#6,EXIT2
MOV R1,#0
INC R0
CJNE R0,#10,EXIT2
MOV R0,#0
CPL P3.0
SJMP EXIT2
EXIT2: JNB P3.6,STOP;秒表暂停键按下,即K1为0 EXIT3: SETB TR0;继续,开定时器中断,继续计时MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
MOV A,R1
MOVC A,@A+DPTR
MOV P1,A
MOV A,R2
MOVC A,@A+DPTR
MOV P2,A
SJMP EXIT0
STOP: CLR TR0;暂停,关定时器中断,停止计时JB P3.6,EXIT3
SJMP STOP
END。

相关主题