基于单片机的超速报警器设计内容摘要:
内置通用 8 位中 央处理器和 Flash 存储单元, AT89C52 单片机在电子行业中有着广泛的应用 [5] [6]。 主要功能特性: ( 1) 兼容 MCS51 指令系统 ( 2) 8k 可反复擦写 (大于 1000 次) Flash ROM ( 3) 32 个双向 I/O 口 ( 4) 3 个 16 位可编程定时 /计数器中断 ( 5) 3 个 16 位可编程定时 /计数器中断 ( 6) 时钟频率 024MHz ( 7) 2 个串行中断,可编程 UART 串行通道 ( 8) 2 个外部中断源,共 8 个中断源 ( 9) 2 个读写中断口线, 3 级加密位 ( 10)低功耗空闲和掉电模式,软件设置睡眠和 唤醒功能 ( 11)有 PDIP、 PQFP、 TQFP 及 PLCC 等几种封装形式,以适应不同产品的需求 显示器和报警器的设计 显示器和报警器是该系统中人机信息交换的部分,是系统直接给司机提供信息的窗口,所以简捷,美观,良好的视觉效果及听觉效果非常必要。 长沙学院 毕业设计 (论文 ) 10 LCD 显示结构及原理 LCD1602 与单片机接口方便,价格便宜,寿命长,对电压电流要求低且容易实现多路,常作为测量控制仪表中常用的输出显示设备。 鉴于 LCD 1602 诸多优点,本设计选用 LCD1602 显示。 图 LCD1602实物图 1602 液晶也叫 1602 字符型液晶, 或 5V 工作电压,对比度可调 , 内含复位电路 , 提供各种控制命令 , 如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 , 有 80字节 显示数据存储器 DDRAM, 内建有 192 个 5X7 点阵 的字型的字符发生器 CGROM,8 个可由用户自定义的 5X7 的字符发生器 CGRAM 它是一种专门用来显示字母、数字、符号等的 点阵 型液晶模块。 它由 若干个 5*7 或者 5*11 等 点阵 字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用 [7]。 满足本设计的显示要求。 报警器 蜂鸣喇叭报警器是常用的最简单的报警器,也可以利用指示灯来警示报警。 如果条件允许,可用采用语音报警,不过语音报警相对复杂得多。 图 蜂鸣器实物图 长沙学院 毕业设计 (论文 ) 11 第 4 章 硬件电 路设计 主控模块电路的设计 主控模块是由 AT89C52 单片机组成的最小应用系统,是系统的核心,控制着整个系统的正常运行。 12Y1XTALGNDGNDS1SWPB12345678RST91011121314151617XTAL118XTAL219GND202122232425262728PSEN29ALE30EA313233343536373839VCC40U1AT89C5210pFC5Cap Pol330pFC1Cap Semi30pFC3Cap Semi10KR1Res3GNDP14ENRSVCCVCCP00P01P02P03P04P05P06P07buzzerP34P32P33P23RW 图 AT89C52最小系统电路图 AT89C52 最小系统的电路构成为: ( 1) 电源电路:向单片机供电。 AT89S51 单片机的工作电压范围: — , 所以通常给单片机外接 5V 直流电源。 连接方式为 VCC(40 脚):接电源 +5V 端VSS(20 脚):接电源地端 [8]。 ( 2) 时钟电路:单片机工作的时间基准,决定单片机工作速度。 时钟电路就是振荡电路,向单片机提供一个正弦波信号作为 基准,决定单片机的执行速度。 AT89S51 单片机时钟频率范围: 033MHz[9]。 ( 3) 复位电路:确定单片机工作的起始状态,完成单片机的启动过程。 单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。 手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。 通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机“重启”。 光电传感器电路的设计 光电式传感器 photoelectric transducer,基于光电效应的传感器,在受到可见光照射后即产生 光电效应 ,将光信号转换成 电信号 输出 [10]。 光电式传感器 产生的脉冲电信号输人到单片机的计数器 T0 引脚( P34), AT89C5l 的定时器 0 定时一段时间后。 提取 T0 中的脉冲个数,就可计算出车辆的行驶的瞬时速度。 长沙学院 毕业设计 (论文 ) 12 1IA2IB3VCC4GND5SIGNALQ22N39061KR4Res21KR5Res2VCCGNDVCC_motorGNDP34P341OA2VCC3VCC4OB5GND6IA7IB8GNDL9110GNDVCC12直流电机IAIBIBIAU?Optoisolator11KVCC1KGND 图 测速传感器电路图 报警电路的设计 报警模 块主要负责超速声音报警,提醒驾驶员应当马上减速行驶,以免发生交通事故。 报警电路比较简单,声音报警系统由单片机引脚接上拉电阻,三极管及蜂鸣器构成[15]。 电路设计简图如下图所示: 12345678RST91011121314151617XTAL118XTAL219GND202122232425262728PSEN29ALE30EA313233343536373839VCC40U1Component_2GNDP14ENRSVCCQ12N39061KR3Res2buzzerSpeakerVCCGNDbuzzerP00P01P02P03P04P05P06P07buzzerP34P32P33P23RW 图 报警电路图 显示电路的设计 显示电路由 LCD1602 完成, LCD1602 与单片机接口方便,操作简单,能 显示字母、数字 和 符号等。 本设计利用 LCD1602 显示实时速度和超速提示显示。 LCD1602 显示电路如下图: 12Y1XTALGNDGNDS1SWPB12345678RST91011121314151617XTAL118XTAL219GND202122232425262728PSEN29ALE30EA313233343536373839VCC40U1Component_210pFC5Cap Pol330pFC1Cap Semi30pFC3Cap Semi10KR1Res3GNDP141VSS2VDD3VO4RS5RW6EN7D08D19D210D311D412D513D614D715A16K1602Component_1P00 P01 P02 P03 P04 P05 P06 P07GNDVCC1KR2GNDRS ENVCCGNDENRSVCCVCCP00P01P02P03P04P05P06P07buzzerP34P32P33P23RWRW 图 LCD1602显示电路图 长沙学院 毕业设计 (论文 ) 13 按键电路的设计 汽车超速报警器的按键电路由三个开关 加上拉电阻构成,所以要使用单片机的三个引脚,三个开关则分别对应着模式选择、速度增加以及速度减小,通过对开关的操作可以对速度上限值进行设定,另外由于还有速度增减的按键,可以方便的根据驾驶员的实时实地要求进行速度更改以达到报警目的,具有很强的操作灵活性 [11]。 其简图如下: S2key_modeS3key_addS4key_subGNDP32P33P23 图 按键电路图 长沙学院 毕业设计 (论文 ) 14 第 5 章 软件设计 主程序的设计 主程序由定时器脉冲计数子程序、数据处理子程序、显示子程序、报警子程序和按键中断程序等组成。 否 是 是 否 图 主程序流程图 开始 显示清零 判断中断是否成功 中断等待 定时、计数器开始工作 读计数器 计算速度显示 调用报警子程序 判断是否超速 输出报警信号 结束 长沙学院 毕业设计 (论文 ) 15 该系统主程序主要完成硬件初始化、子程序调用以及显示、报警等功能。 定时器脉冲计数子程序和数据处理子程序主要完成监测车辆速度即主要是计算出车辆的时速,为报警子程序提供参考数据;显示子程序设计采用数字化 显示用户设定的最高时速和车辆实际时速,用 LCD1602 进行动态显示;报警子程序主要实现在车辆超速行驶状态下发出报警信号;按键中断子程序主要实现根据驾驶员的实时实地要求进行速度更改以达到报警目的 [12]。 主程序清单: main() { int i=0。 float sum=0。 int flag=0。 unsigned long int a。 char temp[16]。 //定义字符显示缓冲数组 Init_Timer0()。 //初始化定时器 0 Init_Timer1()。 //初始化定时器 1 Init_zhongduan()。 //初始化外部中断 0 和 1 LCD_Init()。 //初始化液晶屏 DelayMs(10)。 //延时用于稳定,可以去掉 LCD_Clear()。 //清屏 while(1) { keyscan()。 sprintf(temp,mode:%d limit:%d,mode,speed_limit)。 LCD_Write_String(0,0,temp)。 //显示到液晶第 1 行 pwm(time)。 if(OVERFLOWFLAG)//检测溢出标志,溢出表明频率过高,显示溢出信息 { OVERFLOWFLAG=0。 //标志清零 LCD_Write_String(0,1,overflow 655KHz)。 } if(TIMERFLAG) //定时 100ms 到,做数据处理 (每 100ms 处理一次数据 ) { 长沙学院 毕业设计 (论文 ) 16 i++。 a=TL0+TH0*256。 //读取计数值 a=a*10。 //实际值乘以 10 相当于做了变换 1 秒钟转了 a 圈 a=a/4。 //因为 转盘上面有 4 个孔 除以 4 表示实际转的圈数 if(flag==0) //这句话在 while 循环中只运行。基于单片机的超速报警器设计
相关推荐
摒弃了“全夜开、半夜全灭或半灭灯”的传统控制模式, 采用光线和时间的双重模式控制,在 很大程度上做到了“随需而控”,不仅仅达到了节约电能节约维护费用的要求,而且在节能的基本要求上达到了设备使用寿命更长 、控制方式灵活多样和照明质量更加柔和的效果。 在此设计中控制模式同传统的“全夜灯”造成的电能浪费及路灯使用寿命的减短和“半夜全灭或半灭灯”由于无光照和光照质量较差而带来交通安全问题的控制模式相比
几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS化、低功耗、小体 积、大容量、高性能、低价格和外围电路内装化等几个方面发展。 单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。
通信技术的应用,预计该技术将向数字网络是的灌区液位定位系统发展 [15]。 图 为主程序流程图。 开机后先显示亮灯并且蜂鸣器发声,表示开始工作。 T0用于记录发射至接收的时间间隔 t(单位为 ms)。 初始化后,程序控制发射 40KHZ 的超声波信号,发射开始立即启动定时器开始计时。 发射完成。 CPU 接收回波信号后,立即产生中断 同时立即停止计数。 定时器专门用于记录 CPU
构成。 扬声器中的线圈通电时,在线圈附近会产生磁场,磁场与 扬声器前端的磁铁相互作用,使得线圈以一定的频率振动从而发出声音来。 语音报警的过程需要扬声器不断的发出声音来,因此需要对播报内容进行一个事先的存储,即将其存放在 SD 卡中。 要实现音频文件的输出,若单独由单片机来解码 MP3 文件是很困难的,因为从处理速度和资源各个方面都很难满足要求,因此需要采用专门的 MP3/ADPCM 解码芯片
时钟电路 按键电路 我们通过 来启动测量,程序中通过查询 的电平来检测是否按键被按下,电路原理如下: 图 7 按键电路 当按下按键时 为低电平,单片机通过 查询到低电平开始测量距离,当松开按键, 即为高电平。 在软件中通过软件延时来消除按键的机械抖动。 蜂鸣器电路 . . 工作原理:当 输出高电平时, Q3 导通, Q5 截止,蜂鸣器回路开路,蜂鸣器不响。 当 输出高电平 时, Q3 截止,