双路定时器课程设计.doc

双路定时器课程设计.doc
双路定时器课程设计.doc

单片机原理与接口技术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,63H

7D,7C,7B,7A,78,79: 显示缓冲区

02,04,06,08 计数存储单元

(四)程序设计1、流程图

显示显示

返回主程序返回主程序

六、实验源程序如下:

ORG 0H

LJMP TIM

ORG 000BH

LJMP LOOP2

ORG 0030H

TIM:

MOV SP, #2FH

MOV TMOD, #01H

MOV IE, #0

SETB ET0

SETB EA

MOV TH0,#0BH

MOV TL0,#0DCH

SETB TR0

MOV 60H, #0

MOV 61H, #0

MOV 62H, #0

MOV 63H, #0

MOV 50H, #0

MOV 51H, #0

MOV 52H, #0

MOV 53H, #0

CLR PSW.5

;------------------------------- LOOP1:

LCALL DISP2

JBC TF0, LOOP2

SJMP LOOP1

;-------------------------------

LOOP2:

MOV TL0,#0DCH

MOV TH0,#0BH

JB P3.3, ABB ;用P3.3控制

;=============================================== INC 50H

MOV A, 50H

CJNE A, #02H, EQ04

SJMP abc

EQ04:CJNE A, #04H, EQ06

SJMP abc

EQ06:CJNE A, #06H, EQ08

SJMP abc

EQ08:CJNE A, #08H, XXX

MOV 50H, #0

MOV A, 51H

ADD A, #1

DA A

MOV 51H, A

CJNE A, #60H, JIAN

MOV 51H, #0

ADDM:

MOV A, 52H

ADD A, #1

DA A

MOV 52H, A

CJNE A, #60H, JIAN

MOV 52H, #0

JB PSW.5,XXX

LJMP ADDH

;-------------------------

abc:LJMP JIAN

XXX:LJMP _END_T0

;-------------------------

ADDH:

MOV A, 53H

ADD A, #1

DA A

MOV 53H, A

CJNE A, #24H, JIAN

MOV 53H, #0

JB PSW.5, _END_T0

LJMP JIAN

;=============================================== ABB:

INC 60H

MOV A, 60H

CJNE A, #02H, EQ01

SJMP JIAN

EQ01:CJNE A, #04H, EQ02

SJMP JIAN

EQ02:CJNE A, #06H, EQ03

SJMP JIAN

EQ03:CJNE A, #08H, _END_T0

MOV 60H, #0

MOV A, 61H

ADD A, #1

DA A

MOV 61H, A

CJNE A, #60H, JIAN

MOV 61H, #0

ADDM1:

MOV A, 62H

ADD A, #1

DA A

MOV 62H, A

CJNE A, #60H, JIAN

MOV 62H, #0

JB PSW.5, _END_T0

ADDH1:

MOV A, 63H

ADD A, #1

DA A

MOV 63H, A

CJNE A, #24H, JIAN

MOV 63H, #0

JB PSW.5, _END_T0

LJMP JIAN

;=============================================== def:LJMP ADDM

JIAN:

JB PSW.5, _END_T0

MOV P3, #0FFH

MOV A, P3

CPL A

ANL A, #00000111B

JZ _END_T0

SETB PSW.5

;------------------------

JB P3.3, J3

J2:

JB ACC.0, CLRS

JB ACC.1, def

JB ACC.2, ADDH CLRS:

MOV 50H, #0

MOV 51H, #0

_END_T0:

CLR PSW.5

RETI

;------------------------

J3:

JB ACC.0, CLRS1

JB ACC.1, ADDM1

JB ACC.2, ADDH1

CLRS1:MOV 60H, #0

MOV 61H, #0

SJMP _END_T0

;----------------------------- DISP2:

LCALL FEN_JIE

LCALL DISPLAY

RET

;------------------------------- FEN_JIE:

JB P3.3, FEN_JIE3 FEN_JIE2:

MOV A, 51H

ANL A, #0FH

MOV 7DH, A

MOV A, 51H

SWAP A

ANL A, #0FH

MOV 7CH, A

MOV A, 52H

ANL A, #0FH

MOV 7BH, A

MOV A, 52H

SWAP A

ANL A, #0FH

MOV 7AH, A

MOV A, 53H

ANL A, #0FH

MOV 79H, A

MOV A, 53H

SWAP A

ANL A, #0FH

MOV 78H, A

RET

FEN_JIE3:

MOV A, 61H

ANL A, #0FH

MOV 7DH, A

MOV A, 61H

SWAP A

ANL A, #0FH

MOV 7CH, A

MOV A, 62H

ANL A, #0FH

MOV 7BH, A

MOV A, 62H

SWAP A

ANL A, #0FH

MOV 7AH, A

MOV A, 63H

ANL A, #0FH

MOV 79H, A

MOV A, 63H

SWAP A

ANL A, #0FH

MOV 78H, A

RET

;------------------------------- DISPLAY:

MOV R0, #7DH

MOV 7EH, #0FEH

MOV 7FH, #6

_DP_L:

MOV A, @R0

MOV DPTR, #_MA_BIAO

MOVC A, @A+DPTR

;CPL A

MOV DPTR, #0CFA0H

MOVX @DPTR, A

MOV P1, 7EH

MOV A, 7EH

RL A

MOV 7EH, A

DEC R0

LCALL DL1ms

DJNZ 7FH, _DP_L

RET

_MA_BIAO:

DB 0C0H, 0F9H, 0A4H, 0B0H, 99H

DB 92H, 82H, 0F8H, 80H, 90H

DB 88H, 83H, 0C6H, 0A1H, 86H

DB 8EH

;-------------------------------

DL1ms:

DEL1:MOV R7, #0

DEL2:DJNZ R7, DEL2

RET

;-------------------------------

END

七、设计体会

通过此次课设学习不仅使我对所学过的知识有了一个新的认识,给我很多专业知识以及专业技能上的提升,巩固和加强了课本的知识,理解各个元件的功能以及学会如何使用很多元件,并考虑其可行性、实用性,提高了我们的分析能力。

在课程设计的过程中,我们遇到也遇到了很多问题:设计方向如何选择、方案如何着手、如何分工,最重要的是编程问题和电路问题。我们组所有成员积极分工、配合,从图书馆、互联网查资料以及老师、其他同学的帮助下,最终还是成功的把程序和电路设计并运行成功。

感谢指导老师的帮助,在老师的辛勤指导之下,学到了很多经验和知识;同样感谢身

边同学的帮助和交流,在交流中,我们也学会了如何发挥团队的力量去解决问题,更扩展了思想。

七、参考文献

1、《单片机应用系统设计—入门向导与设计实例》韩志军、沈晋源、王振波编著机械工业出版社(第五章足球比赛两队控球时间比例显示牌P45)

2、《51系列单片机设计实例》楼然苗、李光飞编著北京航空航天大学出版社(数码管时钟电路的设计P69)

3、《单片机原理与接口技术实验指导书》李春晖主编,张新颖审大连海洋大学出版

4、《单片机原理及接口技术》李全利主编高等教育出版社

相关主题
相关文档
最新文档