单片机课设.docx

上传人:b****6 文档编号:8561728 上传时间:2023-01-31 格式:DOCX 页数:14 大小:316.65KB
下载 相关 举报
单片机课设.docx_第1页
第1页 / 共14页
单片机课设.docx_第2页
第2页 / 共14页
单片机课设.docx_第3页
第3页 / 共14页
单片机课设.docx_第4页
第4页 / 共14页
单片机课设.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机课设.docx

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

单片机课设.docx

单片机课设

 

单片机原理与接口技术

课程设计

 

设计题目:

控制交通灯的设计

专业班级:

学号:

姓名:

 

控制交通灯的设计

一、设计目的:

通过此课程设计熟悉8051系列单片机的应用;熟悉wave6000的使用方法;熟悉proteus仿真软件以及其应用方式。

二、设计内容

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。

那么靠什么来实现这井然秩序呢?

靠的就是交通信号灯的自动指挥系统。

交通信号灯控制方式很多。

本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。

本系统实用性强、操作简单、扩展功能强。

红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。

(1)交通管理的红绿灯设计原理:

东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。

红灯亮禁止通行,绿灯亮允许通行。

黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。

设东西道比南北道的车流量大,指示灯燃亮的方案如下表。

60S

5S

80S

5S

……

东西道

红灯亮

黄灯亮

绿灯亮

黄灯亮

……

南北道

绿灯亮

黄灯亮

红灯亮

黄灯亮

……

 

此表说明:

A、当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。

时间为60秒。

B、黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。

C、当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。

时间为80秒。

东西方向车流大通行时间长。

D、这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。

E、此表可根据车流量动态设定红绿灯初始值。

(2)系统硬件设计

选用设备8031单片机一片选用设备:

8031弹片机一片,8255并行通用接口芯片一片,74LS07两片,MAX692‘看门狗’一片,共阴极的七段数码管两个双向晶闸管若干,7805三端稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干。

8051的内部结构如下图:

 

系统框图如下图

(3)系统的工作原理为:

1、开关键盘输入交通灯初始时间,通过8051单片机P1输入到系统

2、由8051单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的PA口显示红、绿、黄灯的燃亮情况;由8255的PC口显示每个灯的燃亮时间。

3、8051通过设置各个信号等的燃亮时间、通过8031设置,绿、红时间分别为60秒、80秒循环由8051的P0口向8255的数据口输出。

4、通过8051单片机的P3.0位来控制系统是工作或设置初值,当.牌位0就对系统进行初始化,为1系统就开始工作。

5、红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S后然后恢复正常。

6、增加每次绿灯时间车流量检测的功能,并且通过查询P2.0端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。

7、绿灯时间倒计时完毕,重新循环。

(4)系统的软件设计

延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软件延时的方法。

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。

他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。

现用n表示加1计数器的位数,用x表示计数值,则计数初值count=

,式中n=13,16,8和8,分别对应工作方式0,1,2,3

方式0    定时器/计数器的最长定时=

=8.192ms

方式1    定时器/计数器的最长定时=

=65.536ms

所以无法实现1s的定时。

可以采用软件计数器来进行设计,定义一个软件计数器单元20H,先用定时/计数器T0做一个50ms的定时器,这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。

在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。

为零表示1秒已到可以返回到输出时间显示程序。

 

(4)程序流程图

 

(6)程序的源代码:

ORG0000H;主程序的入口地址

LJMPMAIN;跳转到主程序的开始处

ORG0003H;外部中断0的中断程序入口地址

ORG000BH;定时器0的中断程序入口地址

LJMPT0_INT;跳转到中断服务程序处

ORG0013H;外部中断1的中断程序入口地址

MAIN:

MOVSP,#50H

MOVIE,#8EH;CPU开中断,允许T0中断,T1中断和外部中断1中断

MOVTMOD,#51H;设置T1为计数方式,T0为定时方式,且都工作于模式1

MOVTH1,#00H;T1计数器清零

MOVTL1,#00H

SETBTR1;启动T1计时器

SETBEX1;允许INT1中断

SETBIT1;选择边沿触发方式

MOVDPTR,#0003H

MOVA,#80H;给8255赋初值,8255工作于方式0

MOVX@DPTR,A

AGAIN:

JBP3.1,N0;判断是否要设定东西方向红绿灯时间的初值,若P3.1为1则跳转

MOVA,P1

JBP1.7,RED;判断P1.7是否为1,若为1则设定红灯时间,否则设定绿灯时间

MOVR0,#00H;R0清零

MOVR0,A;存入东西方向绿灯初始时间

MOVR3,A

LCALLDISP1

LCALLDELAY

AJMPAGAIN

RED:

MOVA,P1

ANLA,#7FH;P1.7置0

MOVR7,#00H;R7清零

MOVR7,A;存入东西方向红灯初始时间

MOVR3,A

LCALLDISP1

LCALLDELAY

AJMPAGAIN

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

N0:

SETBTR0;启动T0计时器

MOV76H,R7;红灯时间存入76H

N00:

MOVA,76H;东西方向禁止,南北方向通行

MOVR3,A

MOVDPTR,#0000H;置8255A口,东西方向红灯亮,南北方向绿灯亮

MOVA,#0DDH

MOVX@DPTR,A

N01:

JBP2.0,B0

N02:

SETBP3.0

CJNER3,#00H,N01;比较R3中的值是否为0,不为0转到当前指令处执行

;------黄灯闪烁5秒程序------

N1:

SETBP3.0

MOVR3,#05H

MOVDPTR,#0000H;置8255A口,东西,南北方向黄灯亮

MOVA,#0D4H

MOVX@DPTR,A

N11:

MOVR4,#00H

N12:

CJNER4,#7DH,$;黄灯持续亮0.5秒

N13:

MOVDPTR,#0000H;置8255A口,南北方向黄灯灭

MOVA,#0DDH

MOVX@DPTR,A

N14:

MOVR4,#00H

CJNER4,#7DH,$;黄灯持续灭0.5秒

CJNER3,#00H,N1;闪烁时间达5秒则退出

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

N2:

MOVR7,#00H

MOVA,R0;东西通行,南北禁止

MOVR3,A

MOVDPTR,#0000H;置8255A口,东西方向绿灯亮,南北方向红灯亮

MOVA,#0EBH

MOVX@DPTR,A

N21:

JBP2.0,T03

N22:

CJNER3,#00H,N21

;------黄灯闪烁5秒程序------

N3:

MOVR3,#05H

MOVDPTR,#0000H;置8255A口,东西,南北方向黄灯亮

MOVA,#0E2H

MOVX@DPTR,A

N31:

MOVR4,#00H

CJNER4,#7DH,$;黄灯持续亮0.5秒

N32:

MOVDPTR,#0000H;置8255A口,南北方向黄灯灭

MOVA,#0EBH

MOVX@DPTR,A

N33:

MOVR4,#00H

CJNER4,#7DH,$;黄灯持续灭0.5秒

CJNER3,#00H,N3;闪烁时间达5秒则退出

SJMPN00

;------闯红灯报警程序------

B0:

MOVR2,#03H;报警持续时间3秒

B01:

MOVA,R3

JZN1;若倒计时完毕,不再报警

CLRP3.0;报警

CJNER2,#00H,B01;判断3秒是否结束

SJMPN02

;------1秒延时子程序-------

N7:

RETI

T0_INT:

MOVTL0,#9AH;给定时器T0送定时10ms的初值

MOVTH0,#0F1H

INCR4

INCR5

CJNER5,#0FAH,T01;判断延时是否够一秒,不够则调用显示子程序

MOVR5,#00H;R5清零

DECR3;倒计时初值减一

DECR2;报警初值减一

T01:

ACALLDISP;调用显示子程序

RETI;中断返回

;------显示子程序------

DISP:

JNBP2.4,T02

DISP1:

MOVB,#0AH

MOVA,R3;R3中值二转十显示转换

DIVAB

MOV79H,A

MOV7AH,B

DIS:

MOVA,79H;显示十位

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVDPTR,#0002H

MOVX@DPTR,A

MOVDPTR,#0001H

MOVA,#0F7H

MOVX@DPTR,A

LCALLDELAY

DS2:

MOVA,7AH;显示个位

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVDPTR,#0002H

MOVX@DPTR,A

MOVDPTR,#0001H

MOVA,#0FBH

MOVX@DPTR,A

RET

;------东西方向车流量检测程序------

T03:

MOVA,R3

SUBBA,#00H;若绿灯倒计时完毕,不再检测车流量

JZN3

JBP2.0,T03

INCR7

CJNER7,#64H,E1

MOVR7,#00H;中断到100次则清零

E1:

SJMPN22

;------东西方向车流量显示程序------

T02:

MOVB,#0AH

MOVA,R7;R7中值二转十显示转换

DIVAB

MOV79H,A

MOV7AH,B

DIS3:

MOVA,79H;显示十位

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVDPTR,#0002H

MOVX@DPTR,A

MOVDPTR,#0001H

MOVA,#0F7H

MOVX@DPTR,A

LCALLDELAY

DS4:

MOVA,7AH;显示个位

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVDPTR,#0002H

MOVX@DPTR,A

MOVDPTR,#0001H

MOVA,#0FBH

MOVX@DPTR,A

LJMPN7

;------延时4MS子程序----------

DELAY:

MOVR1,#0AH

LOOP:

MOVR6,#64H

NOP

LOOP1:

DJNZR6,LOOP1

DJNZR1,LOOP

RET

;------字符表------

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

 

(7)在wave6000中,编写程序执行后入下结果

各地址空间数据如下:

各特殊功能寄存器中的数值如下表

(8)系统的原理图如下

 

系统的仿真图如下

 

三、设计感想

单片机原理这门课是非常重要的一门课,对它所能应用的领域非常感兴趣,尤其是我们通信工程专业的学生,它是必不可少的。

虽说平时都很认真的听课,但是对于实践环节却少之又少,这次课程设计以及先前的四个实验,都让我对单片机原理这门课有了深一层次的理解。

在做课设前,老师给了我们七八十个题目,当看到这些题目时,我脑袋就蒙了,原来单片机的应用领域如此的广泛,如此的贴近生活,与我们密不可分。

更重要的是,这么多题目,自己该选哪个都不知道。

最终选了一个每天都会碰到的,那就是交通灯。

当我们走在川流不息的十字路口或丁字路口时,是这些交通灯约束着我们,让我们井然有序,不会发生交通事故,如果没有它,估计每天都会堵车,每天都会发生交通事故。

总之,单片机使这个问题简单化,并且减少了许多的矛盾。

在做课程设计时,我们用的是wave6000,由于先前做实验的缘故,所以这次明显熟练了许多,只不过很多汇编语言还不是那么熟练,只能请教老师或者是其他人,当最终程序出结果是,喜悦之感油然而生。

在这次课设的仿真过程中,也遇到了很多问题,不过这些都是正常的,当我们不断地发现问题,不断地解决问题,不断地接近成功时,就会感到满足,感到一切的一切都是值得的。

总之在这次课程设计中,我受益匪浅,所学到的解决问题的方式,以及有耐心的去修改程序,都会有益与以后的生活以及工作。

感谢老师的指导!

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

当前位置:首页 > 高中教育 > 其它课程

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

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