双路定时器课程设计-精选.

  • 格式:doc
  • 大小:486.00 KB
  • 文档页数:17

单片机原理与接口技术B课程设计双路定时器设计所在学院:信息工程学院专业名称:通信工程09-2学生姓名:任庆芳王媛媛梁芳孙泉指导教师:葛振2012 年 6 月目录一题目 (1)二设计任务 (1)三设计思路 (1)基本设计思路 (1)(一)硬件电路设计 (1)1.单片机的选择 (1)2..LED显示电路 (2)LED数码显示器简介 (2)LED数码显示器的结构与原理 (2)LED数码显示器显示方式 (2)(二).软件设计 (4)(三).程序设计 (5)四实验源程序 (6)五设计体会 (14)六参考文献 (15)三、题目:双路定时器设计四、设计任务1、以MCS—51系列单片机为核心器件,组成一个双路定时器系统2、显示器由6位LED数码管组成,分别显示时、分、秒3、用于棋类比赛,对两选手的思考时间分别计时4、将一开关与P3.3相连,当开关置低电平时,为甲选手思考时间,当开关置高电平时,为乙选手思考时间,两个时间各自累加五、设计思路(一)、基本设计思路(1)本课题设计关键是必须统计好二个时间,第一个是甲选手思考时间,第二个是,乙选手思考时间(2)计时单元由单片机内部的定时/计数器0来实现(3)时间显示由6段LED数码管,动态扫描方式(4)LED数码管的段码输入,由并行端口P1低四位产生(5)LED数码管的位码输入,由并行端口P1高四位产生(6)通过一个开关来控制双方计时的转换(7)时间调整通过接入按键电路来实现(二)、硬件电路设计1、单片机选择根据初步设计方案的分析,设计这样一个应用系统,可选择带有EPROM的单片机,应用程序直接存储在片内,不用外部扩展程序存储器,电路可简化,可选用INTEL公司的8051芯片.⒈电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。

⑶ RST/VPD:复位/备用电源。

① RST(Reset)功能:复位信号输入端。

② VPD功能:在Vcc掉电情况下,接备用电源。

⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内外ROM选择端。

② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋ I/O线:80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

2、LED显示电路显示电路由LED显示器,段驱动电路和位驱动电路组成,早于单片机的并行口不能直接驱动LED显示器,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。

在与单片机相连时,可用单片机的P1口作为与LED的输出接口,即P1口的低四位作为LED的段码输出信号,P1口的高四位作为LED位码的输出控制信号。

LED两种显示方式3、按键电路按键电路随时对当前时间进行调整,使P3.0,P3.1,P3.2分别K1,K2,K3相连。

(三)软件设计1、进行应用软件设计采用模块化程序设计方法2、内存空间分配地址分配作用50H,51H,52H,53H 当前时间存储单元60H,61H,62H,63H7D,7C,7B,7A,78,79: 显示缓冲区02,04,06,08 计数存储单元(四)程序设计1、流程图显示显示返回主程序返回主程序六、实验源程序如下:ORG 0HLJMP TIMORG 000BHLJMP LOOP2ORG 0030HTIM:MOV SP, #2FHMOV TMOD, #01HMOV IE, #0SETB ET0SETB EAMOV TH0,#0BHMOV TL0,#0DCHSETB TR0MOV 60H, #0MOV 61H, #0MOV 62H, #0MOV 63H, #0MOV 50H, #0MOV 51H, #0MOV 52H, #0MOV 53H, #0CLR PSW.5;------------------------------- LOOP1:LCALL DISP2JBC TF0, LOOP2SJMP LOOP1;-------------------------------LOOP2:MOV TL0,#0DCHMOV TH0,#0BHJB P3.3, ABB ;用P3.3控制;=============================================== INC 50HMOV A, 50HCJNE A, #02H, EQ04SJMP abcEQ04:CJNE A, #04H, EQ06SJMP abcEQ06:CJNE A, #06H, EQ08SJMP abcEQ08:CJNE A, #08H, XXXMOV 50H, #0MOV A, 51HADD A, #1DA AMOV 51H, ACJNE A, #60H, JIANMOV 51H, #0ADDM:MOV A, 52HADD A, #1DA AMOV 52H, ACJNE A, #60H, JIANMOV 52H, #0JB PSW.5,XXXLJMP ADDH;-------------------------abc:LJMP JIANXXX:LJMP _END_T0;-------------------------ADDH:MOV A, 53HADD A, #1DA AMOV 53H, ACJNE A, #24H, JIANMOV 53H, #0JB PSW.5, _END_T0LJMP JIAN;=============================================== ABB:INC 60HMOV A, 60HCJNE A, #02H, EQ01SJMP JIANEQ01:CJNE A, #04H, EQ02SJMP JIANEQ02:CJNE A, #06H, EQ03SJMP JIANEQ03:CJNE A, #08H, _END_T0MOV 60H, #0MOV A, 61HADD A, #1DA AMOV 61H, ACJNE A, #60H, JIANMOV 61H, #0ADDM1:MOV A, 62HADD A, #1DA AMOV 62H, ACJNE A, #60H, JIANMOV 62H, #0JB PSW.5, _END_T0ADDH1:MOV A, 63HADD A, #1DA AMOV 63H, ACJNE A, #24H, JIANMOV 63H, #0JB PSW.5, _END_T0LJMP JIAN;=============================================== def:LJMP ADDMJIAN:JB PSW.5, _END_T0MOV P3, #0FFHMOV A, P3CPL AANL A, #00000111BJZ _END_T0SETB PSW.5;------------------------JB P3.3, J3J2:JB ACC.0, CLRSJB ACC.1, defJB ACC.2, ADDH CLRS:MOV 50H, #0MOV 51H, #0_END_T0:CLR PSW.5RETI;------------------------J3:JB ACC.0, CLRS1JB ACC.1, ADDM1JB ACC.2, ADDH1CLRS1:MOV 60H, #0MOV 61H, #0SJMP _END_T0;----------------------------- DISP2:LCALL FEN_JIELCALL DISPLAYRET;------------------------------- FEN_JIE:JB P3.3, FEN_JIE3 FEN_JIE2:MOV A, 51HANL A, #0FHMOV 7DH, AMOV A, 51HSWAP AANL A, #0FHMOV 7CH, AMOV A, 52HANL A, #0FHMOV 7BH, AMOV A, 52HSWAP AANL A, #0FHMOV 7AH, AMOV A, 53HANL A, #0FHMOV 79H, AMOV A, 53HSWAP AANL A, #0FHMOV 78H, ARETFEN_JIE3:MOV A, 61HANL A, #0FHMOV 7DH, AMOV A, 61HSWAP AANL A, #0FHMOV 7CH, AMOV A, 62HANL A, #0FHMOV 7BH, AMOV A, 62HSWAP AANL A, #0FHMOV 7AH, AMOV A, 63HANL A, #0FHMOV 79H, AMOV A, 63HSWAP AANL A, #0FHMOV 78H, ARET;------------------------------- DISPLAY:MOV R0, #7DHMOV 7EH, #0FEHMOV 7FH, #6_DP_L:MOV A, @R0MOV DPTR, #_MA_BIAOMOVC A, @A+DPTR;CPL AMOV DPTR, #0CFA0HMOVX @DPTR, AMOV P1, 7EHMOV A, 7EHRL AMOV 7EH, ADEC R0LCALL DL1msDJNZ 7FH, _DP_LRET_MA_BIAO:DB 0C0H, 0F9H, 0A4H, 0B0H, 99HDB 92H, 82H, 0F8H, 80H, 90HDB 88H, 83H, 0C6H, 0A1H, 86HDB 8EH;-------------------------------DL1ms:DEL1:MOV R7, #0DEL2:DJNZ R7, DEL2RET;-------------------------------END七、设计体会通过此次课设学习不仅使我对所学过的知识有了一个新的认识,给我很多专业知识以及专业技能上的提升,巩固和加强了课本的知识,理解各个元件的功能以及学会如何使用很多元件,并考虑其可行性、实用性,提高了我们的分析能力。

在课程设计的过程中,我们遇到也遇到了很多问题:设计方向如何选择、方案如何着手、如何分工,最重要的是编程问题和电路问题。