1、1 设计内容1.1 设计要求利用89C52RC单片机设计定时器,将按键定义为设置键、上翻键、下翻键、开始/取消键。数码管显目前设置时间和正在计时时间。可经过按键在1-99秒之间设置,按开始键开启计时,计时完成后驱动蜂鸣器发声提醒。1.2 设计目标1) 重视培养综合利用所学知识、独立分析和处理实际问题能力,培养创新 意识和创新能力,并取得科学研究基础训练;2) 了解89C52RC各个引脚功效,工作方法,计数/定时,I/O口,中止等相关原理,并巩固学习嵌入式相关内容知识;3) 经过软硬件设计实现定时器功效。1.3 设计任务1) 查阅相关文件资料,熟悉89C52RC芯片;2) 总体设计方案计划;3)
2、 系统硬件设计,芯片设计及其各模块间连线;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企业高密度,非易失性
3、存放技术生产,和标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存放单元。功效强大AT89C52单片机适合和很多较为复杂控制应用场所。图3.1 89C52RC引脚图3.2 MAX232芯片介绍MAX232芯片是美信企业专门为电脑RS-232标准串口设计单电源电平转换芯片,使用+5v单电源供电。图3.2 MAX232芯片引脚图3.3 蜂鸣器经过对SPEAK口输入300Hz3400Hz方波信号,对蜂鸣器进行控制。图3.3 蜂鸣器3.4 晶振电路选择石英晶体振荡器,此电路在加电大约延迟10ms后振荡器起振,在XATL2引脚产生幅度为3V左右正弦波时钟信号
4、,其振荡频率关键有石英晶振频率决定。在电路中两个电容C1,C2作用有两个:一是帮助振荡器起振;二是对振荡器频率进行微调。图3.4 晶振电路3.5 LED数码管电路介绍发光二极管LED是一个通电后能发光半导体器件,其导电性质和一般二极管类似。LED数码显示器就是由发光二极管组合而成1种新型显示器件。在单片机系统中应用很普遍。经过对SEL1、SEL2脚电平控制,来调整LED数码显示器显示。图3.5 LED数码显示管4 软件设计4.1 步骤图Temp,P1.6清零按下设置?按下 + 键按下 - 键按下开始anjiantemp+1temptemp+1temptemp数码管显示数码管显示tempa,显示
5、a=0?temp-1temp,显示tempaa=0?fengmingNNNNNNYYYYYY4.2 程序org 0000ljmp startge equ 20hshi equ 21htemp equ 22horg 1000start:clr p1.6mov temp,#0jnb p1.2,shezhilcall delay;消除抖动ljmp startanjian:jnb p1.0,jialcall delay;消除抖动jnb p1.1,jianlcall delay;消除抖动jnb p1.3,kaishilcall delay;消除抖动lcall display;ajmp anjiandis
6、play:mov a,temp ;显示程序mov b,#10div abmov shi,amov ge,bmov dptr,#tabmov r0,#4dpl1:mov r1,#250dplop:mov a,gemovc a,a+dptrmov p0,aclr p1.4acall d1mssetb p1.4mov a,shimovc a,a+dptrmov p0,aclr p1.5acall d1mssetb p1.5djnz r1,dplopdjnz r0,dpl1retjia:inc temp;按键+lcall displayljmp anjianjian:dec temp;按键-lcall
7、 displayljmp anjianshezhi:ljmp anjiankaishi:mov a,templcall display;jz anjiankaishi1:dec temp;按键开始定时,时间到了蜂鸣lcall displaymov a,tempjnz kaishi1jz fengmingljmp startfengming:mov r7,#33 cpl p1.6loop:djnz r7,loopljmp fengmingd1ms:mov r7,#80 ;短延时djnz r7,$retdelay: mov r7,#06fh ;长延时 del1: mov r6,#0ffhdel2:
8、 djnz r6,del2 djnz r7,del1 rettab:db 88H,9FH,0A4H,85H,93H,0C1H,0C0H,8FH,80H,81H,82H,0C8H,0E8H,0A1H,86H,8EH5参考文件1、王瑞兰.8位串行接口数码显示驱动器MAX7219及其应用. 北京:清华大学出版社,2、王建华.MAX7219原理及其应用. 北京:机械工业出版社,3、张春光.微型计算机控制技术.北京:化学工业出版社,4、李贵山.微型计算机测控技术.北京:机械工业出版社,5、唐瑞庭.微型计算机原理和接口技术.北京:高等教育出版社,19986、李广弟,朱月秀,冷祖祁.单片机基础.第3版.北京:北京航空航天大学出版社,