软件学院停车场车位显示系统课程名称嵌入式设计设计题目停车场车位显示系统专业班级嵌入式08—1班学号0820010109姓名江兆悦指导教师于美娜2010年12月1设计目的在繁华的大城市中,许多大型超市地下停车场,由于客流量大每次路过车场入口时都会有工作人员在停车场入口指挥,告诉车主哪个车位可以停车或提醒车位已满。如今的社会讲究自动化和智能化,这种车场管理方式十分浪费人力资源。如果入口处有一显示屏幕,当有车辆进入时就会显示空的车位,当车位已满时就显示车位已满,这样就可以免去请专人管理车位。本系统就是为了达到此目的而设计的。2设计任务本系统模型主要分成两大模块,一是传感器的控制,二是1602液晶屏的显示。传感器方面,模型采用漫反射式红外光电开关传感器,暂用四个,一个代表入口处开关,三个代表车位。模型实现当入口有车进入时,判断车位传感器,显示空的车位号,若无空车位则显示Nbit。本模型是最简单模型,由于传感器数量有限只设计3个车位,若要设计多个车位可以采用无线传感器采集信号。在现实中用压力传感器更好。3设计内容3.1系统实现原理3.1.1传感器原理本系统采用漫反射式红外壁障传感器,这是集发射与接收为一体的光电传感器,电路图如图1所示。红外线发射被反射回来信号为0,否则为1。工作原理图如图2所示。图1传感器电路图图2传感器原理3.1.21602液晶屏原理字符型LCD1602有16条引脚线的LCD,其中背光电源线VCC(15脚)和地线GND(16脚),引脚定义如下表所示:1602是指显示的内容为16*2,即可以显示两行,每行16个字符,基于HD44780液晶芯片,HD44780内置了DDRAM、CGROM和CGRAM。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:3.1.3系统工作原理入口传感器接入51单片机的P3.7引脚。车位传感器接P3.6、P3.5、P3.4引脚。当入口有车进入时,即P3^7为0,判断若无空车位车位即三个车位引脚值为0,显示Nbit,若有空车位即车位引脚中有值为1的引脚显示该车位号。3.2硬件框图图3停车场车位显示系统硬件框图3.3详细设计3.3.1电路图单片机引脚图:如图4所示,本程序中P3.7接入口传感器,P3.6接车位1传感器,P3.5接车位2传感器,P3.4接车位3传感器。用于采集信号,控制1602液晶屏的显示。车位传感器3321CPU51单片机P3.4P3.5P3.6P3.71602液晶屏车位传感器3入口传感器车位传感器2车位传感器1入口传感器图2单片机CPU电路图图4单片机引脚图1602液晶屏电路图:如图5所示。液晶屏用于显示车位情况。图51602液晶屏电路图3.3.2分块设计1、主要的宏定义及函数sbits=P3^4;//3车位传感器sbitd=P3^5;//2车位传感器sbitf=P3^6;//1车位传感器sbitentry=P3^7;//入口传感器BYTEcodedis1[]={"Emptycarbit:"};BYTEcodedis3[]={"bit"};delay(BYTEms)//延时lcd_pos(BYTEpos)//设置lcd显示位置lcd_wdat(BYTEdat)//单个字符显示lcd_init()//lcd初始化voidinit_play1(BYTEdis[])//字符串显示,传的参数为字符串dis1/dis2voidinit_play(BYTEachar)//显示车位号_bit,传的参数为空车位的号。2、传感器车位采集信号程序:判断车位是否有车,为空车位显示其对应号码。对应程序为:CarEntry(){while(1){if(f==1){init_play('1');break;}//1号车位为空if(d==1){init_play('2');break;}if(s==1){init_play('3');break;}break;}delay(2000);}3、主函数程序:无车进入时,在液晶屏上显示Emptycarbit:若车位已满时,在液晶屏上显示Emptycarbit:Nbit当入口传感器P3^7=0时表示有车进入,掉用上述函数CarEntry()显示车位情况。程序流程图如图6所示。对应程序为:voidmain(){lcd_init();ﻩ//初始化LCDﻩdelay(10);lcd_pos(0);ﻩ//设置显示位置ﻩinit_play1(dis1);//显示Emptycarbit:while(1){while(f==0&&d==0&&s==0)//车位已满{init_play('N');}ﻩif(entry==0)//入口有车进入{ﻩCarEntry();}elseinit_play('_');//入口无车进入且车场尚有空位时...