《嵌入式系统基础》课程设计报告Word文档格式.docx

上传人:b****5 文档编号:17638771 上传时间:2022-12-07 格式:DOCX 页数:14 大小:284.39KB
下载 相关 举报
《嵌入式系统基础》课程设计报告Word文档格式.docx_第1页
第1页 / 共14页
《嵌入式系统基础》课程设计报告Word文档格式.docx_第2页
第2页 / 共14页
《嵌入式系统基础》课程设计报告Word文档格式.docx_第3页
第3页 / 共14页
《嵌入式系统基础》课程设计报告Word文档格式.docx_第4页
第4页 / 共14页
《嵌入式系统基础》课程设计报告Word文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

《嵌入式系统基础》课程设计报告Word文档格式.docx

《《嵌入式系统基础》课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统基础》课程设计报告Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

《嵌入式系统基础》课程设计报告Word文档格式.docx

P1.0~P1.2分别接东西方向的红、黄、绿共6个放光二极管,P1.3~P1.5分别接南北方向的红、黄、绿共6个发光二极管。

12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的发光二极管会亮,I/O口输出高电平时,相应的发光二极管会灭。

交通灯电路如图所示。

3

倒计时显示电路

3该交通灯控制系统在正常情况下,每60s循环一次,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。

该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就要求八个数码管。

有序AT89C51单片机的I/O作为输出时,具有较强吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。

四个路口倒计时显示被置在同一时刻显示相同的数字,期中P0口用来显示时间的十位,P2口用来显示时间的个位;

东西南北四个方向共四个路口,令DS1和DS2是一组,DS3和DS4是一组,DS5和DS6是一组,DS7和DS8是一组。

考虑到AT89C51单片机所能提供I/O接口的数量以及该控制系统所需要的I/O的个数并结合我们的实际能力,数码管在本系统采用的是静态显示。

所谓静态显示,就是当显示器显示某一字符时,相应的数码管恒定地导通或截止。

采用静态显示时。

占用CPU的资源较少,单片机只要把要显示的字符代码发送到接口电路即可,直到要显示新的数据时,再发送新的字形码。

倒计时显示电路如图所示。

4紧急通行电路

该系统的K1、K2、K3三个按键分别于单片机的P3.0、P3.1、P3.6相接,它们可以在特殊的交通情况下使用。

例如,当有紧急情况发生时,如消防车、救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒)。

并且倒计时显示装置关闭,黄灯5s闪烁完成后,四个路口的信号灯全部变成红灯,从而保证紧急车辆的及时通过,待紧急车辆通过后,松开K1键,紧急情况消除,交通灯控制系统恢复正常工作;

按下K2键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许东西方向车辆准行、南北方向车辆禁行,松开K2键,交通灯控制系统又开始正常工作;

按下K3键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许南北方向车辆准行、东西方向车辆禁行,松开K3键,交通灯控制系统又开始正常工作。

5主程序流程图

6按键子程序流程图

3AT89S51功能介绍

1)串口通信接口。

与计算机通讯,也可作为STC系列单片机下载程序及仿真调试接口。

2)1602液晶插座。

做普通常用液晶1602显示实验。

3)ISP下载线接口。

在线下载程序到单片机,不需要编程器。

4)四位数码管 

5)8位发光二极管。

流水灯实验,以及其它指示使用。

6)扩展地(GND)插针。

需要扩展单片机外围器件,对外围元件供电。

7)12864液晶数据传送方式选用接口。

8)液晶背灯光亮度调节。

9)DS1302时钟模块接口。

精确时钟DS1302实验。

10)扩展电源(VCC)插针。

需要扩展单片机外围器件时,对外围元件的供电。

11)电源开关。

很方便的接通与关闭电源。

12)AT24C02外部EEPROM芯片 

模拟IIC通信实验。

13)一体化红外接收头,红外发射管。

红外线解码,红外线遥控器。

14)蜂鸣器。

警示鸣叫指示。

15)5个功能按钮。

其中有两个按钮对应两个外部中断,很方便做外部中断触发。

16)复位按钮

4源程序

ORG0000H

LJMPMAIN

ORG001BH;

定时器T1中断入口

LJMPIINT1

ORG0100H;

主程序入口

;

********;

*主程序*;

MAIN:

MOVSP,#60H

MOVTMOD,#10H;

定时器T1工作在方式1

MOVTH1,#9EH;

给定时器T1赋初值

MOVTL1,#58H

SETBEA;

开中断系统总开关

SETBET1;

开定时器T1中断开关

SETBTR1;

启动定时器T1

HERE:

MOV88H,#15H;

设置中断循环次数

MOV33H,#3DH;

设置倒计时显示数值

MOVP1,#0F3H;

使交通灯东西绿,南北红

MOVR7,#37H

MM:

LCALLDISP

MOVA,P3;

键盘扫描

CJNEA,#0FFH,READKEY

DJNZR7,MM

MOVP1,#0E1H;

交通灯东西绿,南北红同时加亮黄灯

MOV20H,#02H

NN:

MOVA,P3

SETBP1.1;

黄灯进行5秒闪烁

SETBP1.4

LCALLDISP

CLRP1.1

CLRP1.4

LCALLDISP;

调显示子程序

DJNZ20H,NN

SETBP1.1

MOVP1,#0DEH;

交通灯南北绿,东西红

PP:

DJNZR7,PP

MOVP1,#0CCH;

交通灯南北绿,东西红同时加亮黄灯

QQ:

扫描P3口

DJNZ20H,QQ

LCALLQW

QW:

SJMPHERE

RET

****************;

*1秒延时子程序*;

DELAY:

MOVR1,#0AH

DELAY0:

MOVR2,#0C8H

DELAY1:

MOVR3,#0F8H

NOP

DELAY2:

DJNZR3,DELAY2

DJNZR2,DELAY1

DJNZR1,DELAY0

***************;

键盘扫描子程序;

READKEY:

MOVA,#0FFH

MOVP3,A

MOVA,P3

JNBACC.0,K1;

判断K1键是否按下

JNBACC.1,K2;

判断K2键是否按下

JNBACC.3,K3;

判断K3键是否按下

RET

K1:

MOVP0,#0FFH;

关断倒计时显示装置

MOVP2,#0FFH

LCALLXX

LCALLYY

SJMPREADKEY

K2:

LCALLYY1

K3:

LCALLYY2

XX:

MOV20H,#03H

LCALLBB

******************;

*黄灯进行5秒闪烁*;

BB:

LCALLDELAY

DJNZ20H,BB

YY:

MOVP1,#0F6H;

四个路后均变成红灯

JNBACC.0,YY;

判断K1键是否仍然按下

YY1:

MOVP1,#0F3H;

东西方向亮绿灯,南北方向亮红灯

JNBACC.1,YY1;

判断K2键是否仍然按下

YY2:

MOVP1,#0DEH;

南北方向亮绿灯,东西方向亮红灯

JNBACC.3,YY2;

判断K3键是否仍然按下

*中断处理程序*;

ORG0200H;

中断程序入口地址

Liu:

DEC88H

MOVA,88H

CJNEA,#01H,BN;

判断循环次数是否为1

MOV88H,#15H;

重新给循环次数赋值

BN:

MOVTH1,#9EH;

重新给定时器T1赋初值

MOVTL1,#58H

RETI

************;

*显示子程序*;

DISP:

DEC33H

MOVA,33H

CJNEA,#01H,DIR1

MOV33H,#3DH;

重新给倒计时数赋初值

DIR1:

MOVB,#0AH

DIVAB;

提取出倒计时数值的十位数和个位数

MOVDPTR,#TAB;

字形表的入口地址

MOVCA,@A+DPTR;

查表获取十位数的字型码

MOV30H,A

MOVA,B

查表获取个位数的字型码

MOV31H,A

MOVA,30H

MOVP0,A;

将十位数字型码送到P0口

MOVA,31H

MOVP2,A;

将个位数字型码送到P2口

LCALLDELAY

TAB:

DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H;

字形表

END

5调试过程

1硬件检测

第一步:

目测,检查外部的各种元件或则电路是否有断点;

第二步:

用万用表测试。

先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象;

第三步:

加电检测。

给板加电,检测所有的插座或是器件的电源端是否符合要求的值;

第四步:

是联机检查。

因为只有用单片机开发系统才能完成对用户系统的调试。

2软件调试:

软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

程序后,编辑,查看程序是否有逻辑的错误

6总结

这次单片机课程设计我选做了交通灯,因为我觉得交通灯在现实生活中非常常见并且对交通灯的工作原理非常好奇,于是便选择了这个题目。

认真分析课题要求,研究我们的方案,包括功能的实现原理,硬件的安排、布线、器件的型号功能和参数、程序的编写、调试等等。

然后去图书馆和网上去查找相关资料,经过比较充分的时间准备之后我们终于设计出了自己的课设方案,经过调试之后交通灯便做好了。

通过这次课程设计我学到了很多知识,就是自己以前只知道理论知识,对其如何在实践中应用并不了解,这次课程设计很好的将理论和实践结合起来让我收获很多。

我也发现了自己的很多不足,比如在编程时发现自己的知识是那么的薄弱,靠翻课本、查资料才行,对单片机各个接口的功能和结构的理解并不是非常深入。

经过这次实验我的编程技巧和对单片机的理解都有所增加。

这次单片机课程设计对我以后的学习和工作都会有很大的帮助。

参考文献

[1]柴鈺.单片机原理及应用[M].西安电子科技大学出版社.

[2]李海滨,片春媛,许瑞雪.单片机技术课程设计与项目实例[M].电子出版社.

[3]XX文库

[4]单片机爱好者

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

当前位置:首页 > 小学教育 > 其它课程

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

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