单片机课程设计报告Word下载.docx

上传人:b****7 文档编号:22223896 上传时间:2023-02-03 格式:DOCX 页数:15 大小:76.41KB
下载 相关 举报
单片机课程设计报告Word下载.docx_第1页
第1页 / 共15页
单片机课程设计报告Word下载.docx_第2页
第2页 / 共15页
单片机课程设计报告Word下载.docx_第3页
第3页 / 共15页
单片机课程设计报告Word下载.docx_第4页
第4页 / 共15页
单片机课程设计报告Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机课程设计报告Word下载.docx

《单片机课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

单片机课程设计报告Word下载.docx

(4)绿灯亮到红灯亮的转换过程中,要亮3秒黄灯作为过渡。

2、工作原理

(1)

口做输出口,与12个发光二极管相连,实现定时点亮相应二极管。

使用

口的第二功能,串行口在工作方式0下作为同步移位寄存器使用,

用作输入输出端,

引脚上输出移位时钟信号,频率固定为

,驱动

显示通行倒计时。

做外部中断输入口,外接拨码开关实现手动控制交通灯单向通行。

使用定时器延时1s作倒计时逐秒递减使用,在8051时钟频率为12MHz的情况下,定时计数器最大可定时65.536ms。

故要使用软件计数和硬件定时相结合的方法:

用定时计数器0定时50ms,则必须让其工作在方式1下,其初始值为:

(2)P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。

(3)P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。

(4)用MCS-51系统的定时器的计数功能,使其把计数结果利用串行口通过传入并出芯片74LS164驱动LED数码管显示出来。

四、课程设计的电路设计:

五、汇编语言程序设计:

1、程序流程图

2、汇编程序

利用延时程序实现倒计时功能程序:

ORG0000H

LJMPSTART

ORG0003H

LJMPK1

ORG0013H

LJMPK2

ORG0030H

//主程序

START:

SETBEA;

通过中断启动紧急情况,设置外部中断

SETBEX0

SETBPX0

CLRIT0

SETBEX1

SETBPX1

CLRIT1

MOVP1,#00H;

P1口置0,选择启动交通灯

SETBP1.2;

东西绿灯亮

SETBP1.3;

南北红灯亮

N2:

MOVR3,#30;

倒计时30s

N1:

LCALLDISP;

调用串口驱动LED程序

DECR3

LCALLDL1s;

调用延时1s程序

CJNER3,#00,N1

CLRP1.2;

东西绿灯灭

SETBP1.1;

东西黄灯亮

MOVR3,#03H;

黄灯亮3s

N3:

LCALLDL1s

DJNZR3,N3

MOVP1,#00H

SETBP1.0;

东西红灯亮

SETBP1.5;

南北绿灯亮

MOVR3,#25;

倒计时25s

N4:

LCALLDISP;

DECR3

LCALLDL1s

CJNER3,#00H,N4

CLRP1.5;

南北绿灯灭

SETBP1.4;

南北黄灯亮

MOVR3,#03H;

N5:

LCALLDL1s

DJNZR3,N5

LJMPSTART;

交通灯循环点亮

//串口驱动LED程序

DISP:

MOVA,R3

MOVB,#10

DIVAB

MOVR5,A

MOVA,B

MOVB,R5

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

MOVR2,#0FFH

DJNZR2,$

RET

//延时程序

DL512:

MOVR0,#0FFH;

延时512us

LOOP1:

DJNZR0,LOOP1

DL10ms:

MOVR1,#14H;

延时10ms

LOOP2:

LCALLDL512

DJNZR1,LOOP2

DL1s:

MOVR2,#50;

延时1s

LOOP3:

LCALLDL10ms

DJNZR2,LOOP3

TAB:

DB0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h

DB0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8eh

//中断程序

K1:

MOVP1,#00H;

紧急情况1,南北通行

SETBP1.0

SETBP1.5

MOVA,#00

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

RETI

K2:

MOVP1,#00H;

紧急情况2,东西通行

SETBP1.3

SETBP1.2

END

采用定时器方式实现延时控制的程序

ORG0000H

JMPMAIN

ORG0003H;

定时器T0中断入口地址

LJMPBRT0

ORG0013H;

定时器T1中断入口地址

LJMPBRT1

TIMEEQU30H

TIME15SEQU31H

TIME3SEQU32H

MAIN:

ANL20H,#00H

MOVTIME3S,#3

MOVTIME15S,#20

MOVTMOD,#11H;

设置T0和T1工作于方式1下

MOVTH0,#3CH

MOVTL0,#0B0H;

50ms定时初值的赋值

开中断

LCALLKEYWORK

JB00H,FUN0

AJMPSTART

KEYWORK:

MOVP3,#0FFH;

置P3口为输入状态

JNBP3.0,KEY0

RET

KEY0:

LCALLDL10MS

JBP3.0,OUT0

SETB00H

CLR01H

CLR02H

OUT0:

FUN0:

MOVR4,#20

//15s南北向绿灯、东西向红灯点亮

MOVA,#0AFH

MOVP1,A

LCALLDISP;

LCALLTIME_15S

//15s后,南北向的绿灯闪烁3次,东西向保持红灯点亮

MOVR3,#6

FLASH1:

CPLP1.6

LCALLDL05S

DJNZR3,FLASH1

//南北向黄灯亮,东西向保持红灯

MOVA,#0CFH

LCALLDISP;

LCALLTIME_3S

//南北向红灯,东西向绿灯

MOVA,#77H

//东西向绿灯闪烁,南北向红灯

FLASH2:

CPLP1.3

LCALLDL05S

DJNZR3,FLASH2

//东西向黄灯亮,南北向仍然保持红灯

MOVA,#7BH

MOVA,R3

MOVB,#10

DIVAB

MOVR5,A

MOVA,B

MOVB,R5

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSBUF,A

MOVR2,#0FFH

DJNZR2,$

//15s定时子程序

TIME_15S:

SETBET0

SETBTR0

MOVTIME,TIME15S

MOVA,TIME

CJNEA,#00H,LOOP1

CLRTR0

//3s定时子程序

TIME_3S:

MOVTIME,TIME3S

MOVA,TIME

CJNEA,#00,LOOP2

//5s定时子程序

DL05S:

MOVR5,#10

MOVTH1,#3CH

MOVTL1,#0B0H

SETBET1

SETBTR1

//T0中断服务程序

BRT0:

PUSHACC

PUSHPSW

MOVTH0,#3CH

MOVTL0,#0B0H

DJNZR4,OVER

MOVR4,#20

DECTIME

OVER:

POPPSW

POPACC

//T1中断服务程序

BRT1:

CLRTR1

DECR5

DL10MS:

MOVR0,#14H

LOOP4:

MOVR1,#250

DJNZR1,LOOP3

DJNZR0,LOOP4

END

六、课程设计心得体会:

对于交通灯这个题目,由于以前做过类似相关的实验,觉得这个比较简单而且做出的东西也比较直观,在确定题目之后,联系课本以前做过的实验,初步完成了电路设计方案。

虽然感觉交通灯程序没什么难的,但是也许是起初想的太简单,设计时到了细节处,也出了不少问题,而且很难被检查出来。

起初我是采用定时器方式实现延时控制的,但是经过多次编译、调试、修改之后还是无法运行出正确的结果,由于课程设计的时间限制我就改用延时程序实现倒计时功能,得到了正确的结果。

通过这次课程设计,加强了我们动手、思考和解决问题的能力,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。

在设计的过程中我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

在以后学习中我会尽量改正。

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

当前位置:首页 > 幼儿教育 > 育儿知识

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

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