《嵌入式系统基础》课程设计报告Word文档格式.docx
《《嵌入式系统基础》课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统基础》课程设计报告Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
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]单片机爱好者