电信科11级2班张阳1107080225微机应用系统设计课程设计Word格式文档下载.docx
- 文档编号:15778766
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:20
- 大小:314.28KB
电信科11级2班张阳1107080225微机应用系统设计课程设计Word格式文档下载.docx
《电信科11级2班张阳1107080225微机应用系统设计课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电信科11级2班张阳1107080225微机应用系统设计课程设计Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿,灯各一盏;
如图所示:
1、设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北方向(从干道)车道两条交叉道路上的车辆交替运行。
2、在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道
3、黄灯亮时,要求每秒闪亮一次。
4、紧急情况发生,如消防车、救护车等紧急车辆通过时,要求四个路口同时加亮黄灯闪烁,并且倒计时显示装置关闭,四个路口的信号灯全部变成红灯。
5.当东西或南北方向车流量大时,四个路口同时加亮黄灯进行闪烁,并且倒计时显示装置关闭,黄灯闪烁5秒后,只允许东西或南北方向车辆通行。
二、AT89S52单片机及其他元器件简介
(1)AT89S52单片机
AT89S52是一种低功耗、高性能CMOS8位微控制器。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6位向量2级中断结构,全双工串行口,片内晶振及时钟电路。
空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。
鉴于以上的优点本系统采用AT89S52作为主控芯片,实现对整个系统的控制。
(2)芯片74LS245
74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
当19脚E为H时,A、B为高阻。
E为L时,DIR为L时,数据由B传向A;
DIR为H时,由A传向B。
(3)两位共阴数码管
16脚和11脚对应A、15脚和10脚对应B、3脚和8脚对应C、2脚和6脚对应D、1脚和5脚对应E、18脚和12脚对应F、17脚7脚对应G、4脚和9脚对应DP。
公共脚为14脚和13脚,分别对应左边和右边显示的数字。
三、系统硬件电路设计
(1)时钟电路设计
如图所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。
其发出的时钟脉冲直接送入片内定时控制部件。
(2)复位电路设计
如上图所示,采用上电+按钮电平复位方式,当按下按钮时,RST管脚高电平触发。
为保证复位可靠,RC时间常数应大于两个机器周期,电容取10uf,电阻取1000欧。
(3)灯控制电路设计
如上图所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。
通过软件编程,可使路口交通变化情况为:
南北方向和东西方向两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒。
在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;
黄灯亮时每秒闪亮一次。
(4)按键控制电路设计
开关控制由7个连接到单片机的控制按钮组成。
通过软件编程,使得各个开关的功能如上图所示。
四、各功能模块说明及系统使用说明
4.1总体设计电路如图所示
4.2交通灯电路
为了方便实验,可以用发光二极管作为交通灯来使用,单片机的I/O接口直接和交通灯(发光二极管)连接。
在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,受单片机P2.1~P2.6控制。
单片机的I/O接口与交通灯电路的具体连接方式为:
P2.4~P2.6分别接东西方向的红、黄、绿共6个放光二极管,P2.1~P2.3分别接南北方向的红、黄、绿共6个发光二极管。
12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的发光二极管会亮,I/O口输出高电平是,相应的发光二极管会灭。
交通灯电路如图所示。
示,基本满足了交通灯的需要。
4.3倒计时显示电路
该交通灯控制系统在正常情况下,每60s循环一次,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。
该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就要求八个数码管;
由于四个路口显示时间一样,所以实验只采用一组数码管。
有序AT89C51单片机的I/O作为输出时,具有较强吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。
四个路口倒计时显示被置在同一时刻显示相同的数字,期中P1.0口用来显示时间的十位,P1.1口用来显示时间的个位;
考虑到AT89C52单片机所能提供I/O接口的数量以及该控制系统所需要的I/O的个数并结合我们的实际能力,数码管在本系统采用的是静态显示。
采用静态显示时,占用CPU的资源较少,单片机只要把要显示的字符代码发送到接口电路即可,直到要显示新的数据时,再发送新的字形码。
倒计时显示电路如图所示。
4.4紧急通行电路
该系统的K4、K2、K3三个按键分别于单片机的P3.1、P3.2、P3.3相接,它们可以在特殊的交通情况下使用。
例如,当有紧急情况发生时,如消防车、救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒)。
并且倒计时显示装置关闭,黄灯5s闪烁完成后,四个路口的信号灯全部变成红灯,从而保证紧急车辆的及时通过,待紧急车辆通过后,松开K1键,紧急情况消除,交通灯控制系统恢复正常工作;
按下K2键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许东西方向车辆准行、南北方向车辆禁行,松开K2键,交通灯控制系统又开始正常工作;
按下K3键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5秒),并且倒计时显示装置关闭,黄色等5s闪烁完成后,只允许南北方向车辆准行、东西方向车辆禁行,松开K3键,交通灯控制系统又开始正常工作。
按键电路如图所示。
五.系统程序设计
5.1主程序流程图
5.2定时中断子程序
5.3显示子程序流程图
5.4按键子程序流程图
六、实验心得
这是第一次进行单片机的课程实验设计,尽管有些准备不足,但是还是从中学习到了很多的东西。
从查找实验方案——用Keil编写程序——用proteus软件仿真——最后焊接调试,每一步都是自己慢慢研究和摸索,了解了自己所设计的交通灯每一步所执行和运行的情况,并且能胜利地排除实验设计中所遇到的困难和实验中的错误。
在这次的单片机的课程设计中,我学会了对方案更精明的选择,要做出和别人不一样的东西出来,实现自己想要达到的功能;
还有对Keil程序编写软件和proteus仿真软件这两个软件更加的熟练运用自如,这对以后有关单片机课程设计有很大的帮助;
而且通过这次课程设计,我对实验遇到的难题的解决能力有了很大的提高,可以通过自己解决很多遇到的问题。
最后,感谢葛老师对我们的实验指导,让我们从单片机课程设计中学习到了很多在课本学习不到的东西,让我们把课本上的知识运用到了实际中,理论与实际的结合,让我们更加深刻地清楚自己所学习的知识。
七、源程序代码
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
uchardatabuf[4];
uchardatasec_dx=20;
//东西数默认
uchardatasec_nb=30;
//南北默认值
uchardataset_timedx=20;
uchardataset_timenb=30;
intn;
uchardatab;
//定时器中断次数
sbitk1=P1^6;
//定义5组开关
sbitk2=P1^7;
sbitk3=P2^7;
sbitk4=P3^0;
sbitk5=P3^1;
sbitYellow_nb=P2^5;
//南北黄灯标志
sbitYellow_dx=P2^2;
//东西黄灯标志
sbitGreen_nb=P2^4;
sbitGreen_dx=P2^1;
sbitBuzz=P3^7;
bitBuzzer_Indicate;
bittime=0;
//灯状态循环标志
bitset=1;
//调时方向切换键标志
ucharcodetable[11]={//共阴极字型码
0x3f,//--0
0x06,//--1
0x5b,//--2
0x4f,//--3
0x66,//--4
0x6d,//--5
0x7d,//--6
0x07,//--7
0x7f,//--8
0x6f,//--9
0x00//--NULL
};
//函数的声明部分
voiddelay(intms);
//延时子程序
voidkey();
//按键扫描子程序
voidkey_to1();
//键处理子程序
voidkey_to2();
voidkey_to3();
voiddisplay();
//显示子程序
voidlogo();
//开机LOGO
voidBuzzer();
//主程序
voidmain()
{
TMOD=0X01;
TH0=0XD8;
TL0=0XF0;
EA=1;
ET0=1;
TR0=1;
EX0=1;
EX1=1;
logo();
P2=0Xc3;
//开始默认状态,东西绿灯,南北黄灯
sec_nb=sec_dx+5;
while
(1)
{
key();
//调用按键扫描程序
display();
//调用显示程序
Buzzer();
}
}
//函数的定义部分
voidkey()//按键扫描子程序
if(k1!
=1)
{
delay(10);
if(k1!
{
while(k1!
{
key_to1();
for(n=0;
n<
40;
n++)
{display();
}
}
}
if(k2!
if(k2!
while(k2!
key_to2();
if(k3!
TR0=1;
//启动定时器
Buzzer_Indicate=0;
sec_nb=set_timenb;
//从中断回复,仍显示设置过的数值
sec_dx=set_timedx;
if(time==0)
{P2=0X99;
sec_nb=sec_dx+5;
e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电信 11 班张阳 1107080225 微机 应用 系统 设计 课程设计