资源描述
1 设计内容
1.1 设计要求
利用89C52RC单片机设计定时器,将按键定义为设置键、上翻键、下翻键、开始/取消键。数码管显目前设置时间和正在计时时间。可经过按键在1-99秒之间设置,按开始键开启计时,计时完成后驱动蜂鸣器发声提醒。
1.2 设计目标
1) 重视培养综合利用所学知识、独立分析和处理实际问题能力,培养创新 意识和创新能力,并取得科学研究基础训练;
2) 了解89C52RC各个引脚功效,工作方法,计数/定时,I/O口,中止等相关原理,并巩固学习嵌入式相关内容知识;
3) 经过软硬件设计实现定时器功效。
1.3 设计任务
1) 查阅相关文件资料,熟悉89C52RC芯片;
2) 总体设计方案计划;
3) 系统硬件设计,芯片设计及其各模块间连线;
4) 系统软件设计,用汇编语言编写程序,实现其定时器功效;
2 原理介绍
图2.1 硬件原理图
本设计基于89C52RC芯片关键,经过P1.0-P1.4口控制按按键,P0口和P1.4、P1.5控制LED数码显示器,P1.6控制蜂鸣器,连接电源模块、和PC串行通讯模块等,最终经过汇编语言编程实现定时器功效。
3 硬件设计
3.1 89C52芯片
AT89C52是美国ATMEL企业生产低电压,高性能CMOS 8位单片机,片内含8K bytes可反复擦写只读程序存放器(PEROM)和256 bytes 随即存放数据存放器(RAM),器件采取ATMEL企业高密度,非易失性存放技术生产,和标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存放单元。功效强大AT89C52单片机适合和很多较为复杂控制应用场所。
图3.1 89C52RC引脚图
3.2 MAX232芯片介绍
MAX232芯片是美信企业专门为电脑RS-232标准串口设计单电源电平转换芯片,使用+5v单电源供电。
图3.2 MAX232芯片引脚图
3.3 蜂鸣器
经过对SPEAK口输入300Hz~3400Hz方波信号,对蜂鸣器进行控制。
图3.3 蜂鸣器
3.4 晶振电路
选择石英晶体振荡器,此电路在加电大约延迟10ms后振荡器起振,在XATL2引脚产生幅度为3V左右正弦波时钟信号,其振荡频率关键有石英晶振频率决定。在电路中两个电容C1,C2作用有两个:一是帮助振荡器起振;二是对振荡器频率进行微调。
图3.4 晶振电路
3.5 LED数码管电路介绍
发光二极管LED是一个通电后能发光半导体器件,其导电性质和一般二极管类似。LED数码显示器就是由发光二极管组合而成1种新型显示器件。在单片机系统中应用很普遍。经过对SEL1、SEL2脚电平控制,来调整LED数码显示器显示。
图3.5 LED数码显示管
4 软件设计
4.1 步骤图
Temp,P1.6清零
按下设置?
按下 + 键
按下 - 键
按下开始
anjian
temp+1→temp
temp+1→temp
temp
数码管显示
数码管显示
temp→a,显示
a=0?
temp-1→temp,显示
temp→a
a=0?
fengming
N
N
N
N
N
N
Y
Y
Y
Y
Y
Y
4.2 程序
org 0000
ljmp start
ge equ 20h
shi equ 21h
temp equ 22h
org 1000
start:clr p1.6
mov temp,#0
jnb p1.2,shezhi
lcall delay;消除抖动
ljmp start
anjian:
jnb p1.0,jia
lcall delay;消除抖动
jnb p1.1,jian
lcall delay;消除抖动
jnb p1.3,kaishi
lcall delay;消除抖动
lcall display;
ajmp anjian
display:mov a,temp ;显示程序
mov b,#10
div ab
mov shi,a
mov ge,b
mov dptr,#tab
mov r0,#4
dpl1:mov r1,#250
dplop:mov a,ge
movc a,@a+dptr
mov p0,a
clr p1.4
acall d1ms
setb p1.4
mov a,shi
movc a,@a+dptr
mov p0,a
clr p1.5
acall d1ms
setb p1.5
djnz r1,dplop
djnz r0,dpl1
ret
jia:inc temp;按键+
lcall display
ljmp anjian
jian:dec temp;按键-
lcall display
ljmp anjian
shezhi:
ljmp anjian
kaishi:mov a,temp
lcall display;
jz anjian
kaishi1:dec temp;按键开始定时,时间到了蜂鸣
lcall display
mov a,temp
jnz kaishi1
jz fengming
ljmp start
fengming:mov r7,#33
cpl p1.6
loop:djnz r7,loop
ljmp fengming
d1ms:mov r7,#80 ;短延时
djnz r7,$
ret
delay: mov r7,#06fh ;长延时
del1: mov r6,#0ffh
del2: djnz r6,del2
djnz r7,del1
ret
tab:db 88H,9FH,0A4H,85H,93H,0C1H,0C0H,8FH,80H,81H,82H,0C8H,0E8H,0A1H,86H,8EH
5参考文件
1、王瑞兰.8位串行接口数码显示驱动器MAX7219及其应用. 北京:清华大学出版社,
2、王建华.MAX7219原理及其应用. 北京:机械工业出版社,
3、张春光.微型计算机控制技术.北京:化学工业出版社,
4、李贵山.微型计算机测控技术.北京:机械工业出版社,
5、唐瑞庭.微型计算机原理和接口技术.北京:高等教育出版社,1998
6、李广弟,朱月秀,冷祖祁.单片机基础.第3版.北京:北京航空航天大学出版社,
展开阅读全文