单片机课程设计Word下载.docx
- 文档编号:18740275
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:13
- 大小:379.68KB
单片机课程设计Word下载.docx
《单片机课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
Ø
车外由TWH630芯片构成的两个站内调频发射模块。
车内由TWH631构成的两个解调接收模块,以及速度传感器,下车呼叫按钮,手动报站干预按钮。
一起给51单片机提供开关量信号。
然后单片输出开关量的信号控制开关门电路、上下车呼叫指示灯、ISD4004发语音。
2该系统要实现的任务
在刚公交车进入某站时报出该站的名称,提醒乘客下车。
在离开该站时能预报出下一站的名称,以便乘客做准备。
在行驶途中,若有乘客在下一站下车,他可以按下下车呼叫按钮,则相应的有灯点亮显示在驾驶位前。
到达该站且车停稳后,车的后门能自动打开。
若在站内有乘客要上车,则可以在看到车快来的时候,按下站里面的呼叫按钮,此时应有相应的灯在驾驶位前点亮。
当车在该站停稳后,车的前门能自动打开。
如果车在站内是停稳的状态,则司机能够通过按钮控制前后门的随意开关。
若在车启动时,车的前门或后门有未关的情况,则门能自动关上。
如果某站的调频发射模块坏了,车不能自动报站,则司机能够通过手动干预按钮使车报站。
3该系统的I/O分配
输入输出
✧P1.0:
手动干预报站按钮
✧P1.1:
下车呼叫按钮
✧P1.2:
上车呼叫按钮
✧P1.3:
车站定位的解调接收模块
✧P1.4:
速度传感器
✧P2.3:
前门未关信号
✧P2.4:
后门未关信号
✧P1.5:
语音报站输出
✧P1.6:
下车呼叫指示灯
✧P1.7:
上车呼叫指示灯
✧P2.0:
前门开关控制
✧P2.1:
后门开关控制
✧P2.2:
语音站复位
(说明:
int0和int1即p2.2和p3.3的中断信号由车站定位取反给定)
4该系统硬件设计的选择与讨论
主芯片的选择为AT89C51,因为该系统并不复杂,只有7个开关量输入和6个开关量输出。
所以不需要太复杂的芯片。
输入输出的管脚的选择主要是P2和P3,没有选择P0是因为它需要上拉电阻,这样有利于电路的简化。
关于公交的定位选择,我们有很多种方法。
比如说,GPRS全球定位系统以及一些无线模块和视频图像处理系统。
首先讨论GPRS,如果用GPRS的话,每一个车都必须加一个GPRS定位仪,而且还能够和单片机通信,告诉单片机到某一站,这种仪器一般都是好几万一台,故成本太高不宜使用。
再讨论无线模块吧,无线模块可以由红外线、超声波、无线电来充当。
红外线由于它的衍射性不好,不能被遮挡,易受干扰,发射距离非常有限,故不选用。
超声波和红外线一样衍射性稍微好一点,但仍不能满足我们的要求。
无线电衍射性非常好,几乎不受遮挡,发射增益高时,能够覆盖几公里。
电视台的信号就是一个很好的例子,所以可以考虑使用。
视频图像处理系统就是通过摄像头拍下公交车车牌,识别出是那一路公交车,这样做的成本比GPRS只高不低。
既定公交的定位为无线电模块,通过大量选择发现TWH630和TWH631组成的无线电调频发射模块的电路简单且信号稳定可靠。
收发距离在30米以内都能可靠出发。
我们把它的距离校定为10米出发,发射模块的调制频率为1000Hz。
调节接收模块的可调电阻Rp使其中心频率也为1000Hz。
其发射电路如下图所示,只需要一个NE555芯片,三个电阻,一个电容,外加其本身的发射芯片即可。
而其接收电路也是非常简单的。
也是只要两块芯片就够了,所以其成本合起来大约只要三十元就够了。
(上位发射电路)
(上位解调接收电路)
上车呼叫按钮按下之后松开,需要加一个延时,这样设计是因为手松的话,上车呼叫的调频发射也会停止。
这样有可能车还没有进入也就没有收到信号。
这时只能由乘客一直按着,显然不方便,所以加此设计,延迟时间大约为20~30秒。
其实还有另外一个设计也可以,那就是车还没来的时候,乘客就可以按下按钮。
这个动作将会被保持下来,让调频发射模块一直发送,直到车来停稳,打开前门才消掉。
但这样存在一个问题,车站要知道这个撤消信号就必须在车上另加一个调频发射,在车站也要加一个解调接收,故虽然这个设计能够使乘客不必管车是否来了,就可以随意地按呼叫。
但是无
故增加成本也不可取。
(上图为加延时后的调频发射电路,继电器的左部分为555延时电路,延时时间有变阻器调节)
为什么要添加手动报站,这是因为公交车的无线电定位模块若有损坏而未能及时更换,或者是发生特殊情况,公交路线发生临时改道,这样以上两种情况都会让公交在该报的时候不报,或有多余的几站要报,这样就需要我们司机用手动干预报站按钮来干预报站。
上车呼叫指示灯和下车呼叫指示灯都应设在司机的驾驶座前。
这样如果两个灯都没有亮,司机可以酌情考虑不予停车,直接开过去,这样有利于公交系统的运作效率。
如果把每站的亮灯情况和停车情况记录下来,可以有效监控司机无故甩人和不停车现象。
对于车门的控制有专门的单片机控制和司机的手动控制,单片机的控制是给专门的前后门控制子电路一个低脉冲即可。
司机的手动控制也是给低脉冲,前后门子电路完成如下功能的一个电路,它能在接到一个低脉冲后发出一个时长达三秒的高电平给开门或关门的气动电磁阀,使气动活塞推拉连杆开关门,同时它还能产生门的状态信号。
默认最开始是关状态,给一个低脉冲就会发生翻转,故开门和关门的手动按钮是一个按钮。
该子电路和其周围器件的连接如下图:
下图是子电路的后门部分的电路图,它是JK触发器的两个输出与555延时单路与后的结果去控制开关门。
语言播报芯片是ISD404,在实际电路中能够分条存储分条播报的语音。
通过特定的触发使其一条一条地播报出来,但PROTEUS没有该芯片,不好仿真。
所以我自己画了一个能够完成类似功能的语音播报子电路,它只需要给一个低脉冲,即可播报语音。
其语音子电路如下图:
下图为语音子电路的内部电路
流程图
下图为总的流程图:
下图为每一站的原理图:
下图为车上的原理图
6程序清单
#include<
reg51.h>
sbitP1_0=P1^0;
sbitP1_1=P1^1;
sbitP1_2=P1^2;
sbitP1_3=P1^3;
sbitP1_4=P1^4;
sbitP1_5=P1^5;
sbitP1_6=P1^6;
sbitP1_7=P1^7;
sbitP2_0=P2^0;
sbitP2_1=P2^1;
sbitP2_2=P2^2;
sbitP2_3=P2^3;
sbitP2_4=P2^4;
voidopen&
close_q();
close_h();
voidrester();
//复位声音芯片
voidspeaker();
//报站
voiddelay();
//延时50ms
intx0;
//30句话之后复位
voidmain()
{
x0=0;
EA=1;
//开总中断
EX0=1;
//开外部中断0
EX1=1;
//开外部中断1
IT0=1;
//下降沿触发
IT1=1;
speaker();
while
(1)
{
if(P1_4!
=0)//车开了
{
if(P2_3==0)//前门未关
open&
if(P2_4==0)//后门未关
}
if(P1_1==0)//下车呼叫
P1_6=0;
//下车呼叫指示灯亮
if(P1_2==0)//上车呼叫
P1_7=0;
//上车呼叫指示灯亮
}
}
voidjingru0()interrupt0//进入该站范围
if(P1_0==1)//如果不是手动报站
while(P1_4)//未停稳
{if(P1_1==0)//下车呼叫
P1_6=0;
if(P1_2==0)//上车呼叫
P1_7=0;
//上车呼叫指示灯亮
if(P1_6==0)
{
//开后门
P1_6=1;
}
if(P1_7==0)
//开前门
P1_7=1;
}
voidlikai()interrupt2
voidspeaker()
P1_5=0;
delay();
P1_5=1;
x0++;
if(x0==30)
rester();
close_q()//开关前门
P2_0=0;
P2_0=1;
close_h()//开关后门
P2_1=0;
P2_1=1;
voidrester()
P2_2=0;
P2_2=1;
voiddelay()
inti;
i=6000;
while(i--);
}
7仿真结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计