1、键入文字 键入文字 键入文字 0 公交车自动报站系统 课程设计报告 指导老师: 老师 学生学生: 1 目录目录 公交车自动报站系统 1 1 系统总体结构 1 2 该系统要实现的任务. 2 3 该系统的 I/O 分配 . 2 4 该系统硬件设计的选择与讨论. 2 5 总的原理图 sbit P1_1=P11; sbit P1_2=P12; sbit P1_3=P13; sbit P1_4=P14; sbit P1_5=P15; sbit P1_6=P16; sbit P1_7=P17; sbit P2_0=P20; sbit P2_1=P21; sbit P2_2=P22; sbit P2_3=P
2、23; sbit P2_4=P24; void open void open void rester(); /复位声音芯片 void speaker(); /报站 void delay(); /延时 50ms int x0; /30 句话之后复位 void main() 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) /后门未关 open if(P1
3、_1=0) /下车呼叫 P1_6=0; /下车呼叫指示灯亮 11 if(P1_2=0) /上车呼叫 P1_7=0; /上车呼叫指示灯亮 void jingru0() interrupt 0 /进入该站范围 speaker(); 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) open /开后门 P1_6=1; if(P1_7=0) open /开前门 P1_7=1; void likai() interrupt 2 speaker(); void speaker() P1_5=0; delay(); P1_5=1; x0+; if(x0=30) rester(); void open delay(); P2_0=1; void open delay(); P2_1=1; void rester() P2_2=0; delay(); P2_2=1; void delay() int i; i=6000; while(i-); 7 仿真结果仿真结果