交通灯课程设计可控制时间Word格式.docx

上传人:b****5 文档编号:19706998 上传时间:2023-01-09 格式:DOCX 页数:21 大小:265.65KB
下载 相关 举报
交通灯课程设计可控制时间Word格式.docx_第1页
第1页 / 共21页
交通灯课程设计可控制时间Word格式.docx_第2页
第2页 / 共21页
交通灯课程设计可控制时间Word格式.docx_第3页
第3页 / 共21页
交通灯课程设计可控制时间Word格式.docx_第4页
第4页 / 共21页
交通灯课程设计可控制时间Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

交通灯课程设计可控制时间Word格式.docx

《交通灯课程设计可控制时间Word格式.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计可控制时间Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

交通灯课程设计可控制时间Word格式.docx

◆128个用户位寻址空间。

◆21个字节特殊功能寄存器。

◆4个8位的并行I/O接口:

P0、P1、P2、P3。

◆2个16位定时器/计数器

◆2个优先级别的5个中断源。

◆1个全双工的串行I/O接口,可多机通信。

◆111条指令,含乘法指令和除法指令。

◆片内采用单总线结构。

◆有较强的位处理能力。

◆采用单一+5V电源。

图一、MCS-51系列单片机的内部结构

五、MCS-51单片机内部定时器/计数器中断系统简介

定时/计数器的主要特性:

1.MCS-51系列中51子系列有两个16位的可编程定时/计数器:

定时/计数器T0和定时/计数器T1,52子系列有三个,还有一个定时/计数器T2。

2.每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。

-3-

3.每个定时/计数器都有多种工作方式,其中T0有四种工作方式;

T1有三种工作方式,T2有三种工作方式。

通过编程可设定工作于某种方式。

4.每一个定时/计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。

图二、定时/计数器T0、T1的结构及工作原理

 

定时/计数器的工作方式:

方式0是13位的定时/计数方式,因而最大计数值(满值)为2的13次幂,等于8192。

如计数值为N,则置入的初值X为:

X=8192-N

方式1的结构与方式0结构相同,只是把13位变成16位,16位的加法计数器被全部用上。

由于是16位的定时/计数方式,因而最大计数值(满值)为2的16次幂,等于65536。

X=65536-N

方式2下,16位的计数器只用了8位来计数,用的是TL0(或TL1)的8位来进行计数,而TH0(或TH1)用于保存初值。

当TL0(或TL1)计满时则溢出,一方面使TF0(或TF1)置位,另一方面溢出信号又会触发图6.5上的三态门,使三态门导通,TH0(或TH1)的值就自动装入TL0(或TL1)。

由于是8位的定时/计数方式,因而最大计数值(满值)为2的8次幂,等于256。

X=256-N

方式3只有定时/计数器T0才有,当M1M0两位为11时,定时/计数器T0工作于方式3。

方式3下,定时/计数器T0被分为两个部分TL0和TH0,其中,TL0可作为定时/计数器使用,占用T0的全部控制位:

GATE、C/T、TR0和TF0;

而TH0固定只能作定时器使用,对机器周期进行计数,这时它占用定时/计数器T1的TR1位、TF1位和T1的中断资源。

-4-

六、键盘简介

1、键盘的工作原理

键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。

它的结构和产生的波形如图所示。

图三、键盘开关及波形示意图

2、键盘抖动的消除

消除按键盘抖动通常有两种方法:

硬件消抖和软件消抖。

图四、硬件消抖电路

硬件消抖可以采用R—S触发器或单稳态电路。

软件消抖是利用延时来跳过抖动过程

3、键盘的结构形式

键盘的结构形式一般有两种:

独立式键盘与矩阵式键盘。

独立式键盘就是各按键相互独立,每个按键各接一根I/O口线,每根I/O口线上的按键都不会影响其它的I/O口线。

-5-

矩阵式键盘又叫行列式键盘。

用I/O口线组成行、列结构,键位设置在行列的交点上。

例如4×

4的行、列结构可组成16个键的键盘,比一个键位用一根I/O口线的独立式键盘少了一半的I/O口线。

七、LED数码管显示器简介

图五、LED显示器的结构

LED数码管的显示方式:

LED静态显示时,其公共端直接接地(共阴极)或接电源(共阳极),各段选线分别与I/O口线相连。

要显示字符,直接在I/O线送相应的字段码。

LED动态显示是将所有的数码管的段选线并接在一起,用一个I/O口控制,公共端不是直接接地(共阴极)或电源(共阳极),而是通过相应的I/O口线控制。

LED显示器从译码方式上有硬件译码方式和软件译码方式。

从显示方式上有静态显示方式和动态显示方式。

在使用时可以把它们组合起来。

在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。

仿真电路图:

程序代码:

ORG0000H

AJMPMAIN

ORG0003H

AJMPKEY_SELECT

TABLE:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,00H,90H,0FFH

DELAY_1MS:

MOVR5,#14H

DL1:

MOVR4,#19H

DL2:

DJNZR4,DL2

DJNZR5,DL1

RET

MAIN:

MOV30H,#03;

黄灯3秒

MOV31H,#30;

南北红灯

MOV32H,#30;

东西红灯

MOV33H,#0EEH

MOV34H,#0DEH

MOV35H,#0FEH

MOV36H,#0F5H

MOV37H,#0F3H

MOV38H,#0F7H

MOV50H,#0

MOV61H,#0

MOV71H,#0

MOV72H,#0

MOV75H,#0

MOV76H,#0

MOV77H,#0

MOVDPTR,#TABLE

SETBEX0

SETBEA

LOOP:

MOV50H,#0

MOV40H,30H

MOV41H,31H

MOV42H,32H

MOV43H,33H

MOV44H,34H

MOV45H,35H

MOV46H,36H

MOV47H,37H

MOV48H,38H

MOVA,41H

SUBBA,40H

MOV49H,A

MOVA,42H

MOV4AH,A

;

;

CLREA

MOVA,50H

CJNEA,#0,LOOP

MOVR7,49H

MOVR3,41H

MOVR2,49H

MOVA,43H

MOVP1,A

LOOP1_0:

MOVR6,#250

LOOP1_1:

LCALLLOOP5

DJNZR6,LOOP1_1

DECR3

DECR2

DJNZR7,LOOP1_0

MOVR7,40H

MOVR3,40H

MOVR2,40H

MOVA,44H

MOVP1,A

LOOP2_0:

LOOP2_1:

LCALLLOOP5

CJNER6,#126,LOOP2_10

MOVA,45H

LOOP2_10:

CJNER6,#1,LOOP2_11

LOOP2_11:

DJNZR6,LOOP2_1

DJNZR7,LOOP2_0

MOVR7,4AH

MOVR3,4AH

MOVR2,42H

MOVA,46H

LOOP3_0:

LOOP3_1:

DJNZR6,LOOP3_1

DJNZR7,LOOP3_0

CJNEA,#0,LOOP6

MOVR7,40H

MOVA,47H

LOOP4_0:

LOOP4_1:

MOVA,R6

CJNER6,#126,LOOP4_20

MOVA,48H

LOOP4_20:

CJNER6,#1,LOOP4_21

LOOP4_21:

DJNZR6,LOOP4_1

DJNZR7,LOOP4_0

LOOP6:

AJMPLOOP

LOOP5:

CLRP2.4

CLRP2.5

MOVA,#0FFH

MOVP0,A

MOVA,R3

MOVB,#0AH

DIVAB

MOV52H,A

MOV51H,B

MOVA,R2

MOV54H,A

MOV53H,B

MOV60H,#01H

MOVA,60H

MOVP2,A

RLA

MOV60H,A

MOVA,51H

MOVCA,@A+DPTR

LCALLDELAY_1MS

MOVA,52H

MOVA,53H

MOVA,54H

MOV60H,#0

KEY_SELECT:

WAIT0:

JNBP3.2,WAIT0

INC61H

MOVA,#0B6H

K1:

ACALLLOOP7

JNBP3.5,SELECT_5

JNBP3.6,SELECT_6

JNBP3.7,SELECT_7

JNBP3.2,SELECT_2

JNBP3.4,SELECT_40

SJMPK1

SELECT_40:

LJMPSELECT_4

OUT:

MOVR7,#5

MOVR2,#5

MOVR3,#5

MOVA,#0F6H

MOV43H,#0F6H

MOV44H,#0F6H

MOV45H,#0F6H

MOV46H,#0F6H

MOV47H,#0F6H

MOV48H,#0F6H

MOV50H,#1

RETI

SELECT_5:

LCALLDELAY_10MS

JBP3.5,K1

WAIT5:

JNBP3.5,WAIT5

MOVA,#0EEH

WAIT50:

JBP3.5,WAIT50

SJMPOUT

SELECT_6:

JBP3.6,K1

WAIT6:

JNBP3.6,WAIT6

MOVA,#0F5H

WAIT60:

JBP3.6,WAIT60

SELECT_7:

JBP3.7,K1

WAIT7:

JNBP3.7,WAIT7

CLRP2.5

WAIT70:

JBP3.7,WAIT70

LJMPOUT

SELECT_2:

JBP3.2,SELECT_211

LCALLDELAY_300MS

JBP3.2,Y1

WAIT1:

MOVA,61H

CJNEA,#1,SELECT_20

INC31H

MOVA,31H

CJNEA,#94,SELECT_21

MOV31H,#18

SJMPSELECT_21

SELECT_20:

INC32H

MOVA,32H

MOV32H,#18

SELECT_21:

LCALLLOOP8

JNBP3.2,WAIT1

SELECT_211:

LJMPK1

Y1:

INC61H

MOVA,61H

CJNEA,#03,SELECT_211

SELECT_210:

LJMPOUT

SELECT_4:

JBP3.4,SELECT_210

JBP3.4,W1

WAIT2:

JNBP3.4,WAIT2

CJNEA,#1,SELECT_4_0

DEC31H

CJNEA,#17,SELECT_211

MOV31H,#93

AJMPK1

SELECT_4_0:

DEC32H

CJNEA,#17,SELECT_41

MOV32H,#93

W1:

CJNEA,#1,SELECT_4_1

CJNEA,#94,SELECT_41

SELECT_4_1:

SELECT_41:

LJMPK1

DELAY_10MS:

DELAY_300MS:

MOVR1,#30

DELAY:

LCALLDELAY_10MS

DJNZR1,DELAY

LOOP7:

CJNEA,#1,LOOP7_1

MOV72H,A

MOV71H,B

SJMPDISP

LOOP7_1:

MOVA,#076H

DISP:

MOV60H,#10H

MOVA,71H

MOV60H,#20H

MOVA,72H

LOOP8:

MOVR0,#150

LOOP8_0:

CJNEA,#1,LOOP8_1

SJMPDISP2

LOOP8_1:

DISP2:

DJNZR0,LOOP8_0

END

十一、总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

-11-

回顾起此次单片机课程设计,我仍感慨颇多。

的确,从拿到课程设计题目后,从理论到实践,在接近一个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1