您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 单片机关于定时器的大作业实验报告
课程设计报告基于微处理器的定时器设计一.硬件系统的设计:(1)设计要求:本课程设计的定时器,待机状态是一台时钟,以秒为单位两点闪烁,可设置多个闹铃时间,蜂鸣器鸣叫时间持续一分钟,并可作秒表使用,可控制秒表启停。(2)设计目的:1.复习和巩固所学过的知识,利用此毕业设计正好可以对所学过的知识进行系统的回顾和总结。2.拓展知识面,课堂的知识是远远满足不了设计的要求的,这就需要我们主动去找寻更多的资料,了解更多的知识。3.培养了设计能力和解决实际问题的能力,同时增强了自学能力,通过设计完整的单片机系统也初步掌握了组成系统、编程、调试等能力。4.通过本LCD电子钟的设计初步了解了单片机应用系统开发研制过程,软件和硬件设计的方法。5.本课程设计目的是制作基于微处理器的定时器,将学过的微处理器硬件和软件知识,以及电子线路知识进行综合应用,形成一个能实际运行的电子作品。(3)系统组成及工作原理该定时器主要由单片机,复位电路,电源,蜂鸣器和开关构成。本定时器采用ATMEL公司的AT89S51单片机为核心,使用晶振11.0592MHzXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC1220pC2220p晶振与单片机AT89S51相连,通过软件编程的方法实现12分钟为一个周期,同时LCD显示分钟和秒的要求。(a)硬件的设计:本设计的硬件系统主要由以下几个模块来实现:控制模块、输入模块、输出模块、电源模块。控制模块主要用开关实现秒表与时钟以及闹钟之间的变换。。输入模块主要用于向控制器模块输入各种信息。输出模块主要用于实时的实现各种显示。电源模块主要用于向整个硬件系统供电。(b)设计电路连线原理图:(c)时钟电路本设计是采用内部时钟方式,用一个11.0592MHz晶振和两个30Pf瓷片电容组成,为单片机提供标准时钟,其中两个瓷片电容起微调作用.其电路图见图(d)AT89S51及LCD的引脚图:a):b)(4)元器件清单名称数量CPUAT89S511晶振11.0592MHZ1电阻5.1K31501三极管90121排阻4.7K*81电容10uf10.1uf130pf240引脚插针1蜂鸣器1液晶显示器ED-S8011剪刀1镊子1面包板、键盘1、1(二)软件系统的设计:(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)设计的软件流程框图:YESNOYESNO开始进入主程序开始计时K2为高吗?K1为高吗?进入秒表模式进入闹钟模式待机模式noYESnoyes秒nonoyes(3)实验程序ORG0000HLJMPMAINORG000BHLJMPITT0ORG0100HMAIN:MOVSP,#60HMOVTH0,#3CHMOVTL0,#0B0HMOVTMOD,#01HSETBET0开始计时K1为低?响够5秒?开始计时时钟到10秒?继续计时继续计时开始计时秒表暂停秒表继续计时SETBEAMOVR0,#0MOVR1,#0MOVR2,#0CLRP3.0MOVR7,#0MOVDPTR,#TABSETBP3.1SETBP3.3SETBTR0SJMP$ORG0500HITT0:MOVTH0,#3CHMOVTL0,#0B0HINCR7CJNER7,#20,MM;1S是否到CPLP3.1MOVR7,#0JBP3.7,MODE2;K2为1则进入秒表模式,否则顺序执行,进入待机或闹钟模式INCR2JNBP3.3,DELL;闹钟响?跳入判断是否响够5SWW:CJNER2,#10,EXIT;秒个位溢出MOVR2,#0INCR1JBP3.6,MODE1;K1为1跳转入闹钟模式,否则顺序执行,进入待机模式QQ:CJNER1,#6,EXIT;秒十位溢出MOVR1,#0INCR0CJNER0,#10,EXIT;分个位溢出MOVR0,#0CPLP3.0;分十位变化,只为0或1SJMPEXITMM:CJNER7,#10,EXIT0CPLP3.1;0.5S到,两点取反EXIT:MOVA,R0MOVCA,@A+DPTRMOVP0,AMOVA,R1MOVCA,@A+DPTRMOVP1,AMOVA,R2MOVCA,@A+DPTRMOVP2,A;输出分秒EXIT0:RETITAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMODE1:JBP3.0,EXIT1CJNER0,#0,EXIT1CJNER1,#1,EXIT1CJNER2,#0,EXIT1;时间到00:10吗CLRP3.3MOVR6,#5EXIT1:SJMPQQDELL:DJNZR6,LOOP;响够5S吗SETBP3.3LOOP:SJMPWWMODE2:INCR2CJNER2,#10,EXIT2MOVR2,#0INCR1CJNER1,#6,EXIT2MOVR1,#0INCR0CJNER0,#10,EXIT2MOVR0,#0CPLP3.0SJMPEXIT2EXIT2:JNBP3.6,STOP;秒表暂停键按下,即K1为0EXIT3:SETBTR0;继续,开定时器中断,继续计时MOVA,R0MOVCA,@A+DPTRMOVP0,AMOVA,R1MOVCA,@A+DPTRMOVP1,AMOVA,R2MOVCA,@A+DPTRMOVP2,ASJMPEXIT0STOP:CLRTR0;暂停,关定时器中断,停止计时JBP3.6,EXIT3SJMPSTOPEND
本文标题:单片机关于定时器的大作业实验报告
链接地址:https://www.777doc.com/doc-6690293 .html