版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、( 此文档为 word 格式,下载后您可任意编辑修改!)摘要超速报警器的设计将车速传感器产生的车速信号送入霍尔传感器电路,得到一个与车速信号频率一致的信号,送入单片机记数,与单片机内部设定值相比较。如果超过了预设值则可判断汽车超速,蜂鸣器报警提示。该系统由电源电路、时钟电路、复位电路、速度显示电路、按键电路、键盘(设定报警车速值)、报警电路、霍尔传感器连接电路和控制单片机组成。电源电路给整个系统提过动力,使整个系统快速的运转起来。 ATC89C51单片机芯片内部设有一个由反向放大器构成的振荡器, XTAL1和 XTAL2分别为振荡电路的输入端和输出端,时钟可由内部或外部生成组成时钟电路。复位电
2、路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。霍尔传感器连接电路通过单片机测量产生脉冲的频率就可以得出圆盘的转速,得出系统的速度。按键电路包括速度设置、速度增加、速度减小以及速度确定,有四个开关可以对速度上限值进行设定,另外有速度增减按键,可以方便的根据当地限速的要求实时实地进行速度更改以达到报警目的,具有很强的灵活性,方便驾驶员的操作。显示电路主要显示系统的速度。报警电路主要有声音报警,报警电路相对来说比较简单,起报警作用。以此来通知驾驶员进行调速,减少发生交通事故。关键词:以太网;组态;监控1AbstractOverspeed alarm desi
3、gn will . Compared with single chip microcomputer internal value. If more than the preset value can judge the car speeding, buzzer alarm prompt. The system consists of power supply circuit, clocking circuit and reset circuit, display circuit, key circuit, speed the keyboard (set alarm speed value),
4、alarm circuit, circuit and the control of single chip microcomputer.Power circuit mentioned power to the whole system, the whole system running fast. Atc89c51 single-chip microcomputer with internal a composed of reverse amplifier oscillator, xtal1 and xtal2oscillation circuit of input and output, r
5、espectively, of the clock can be generated by internal or external clock circuit. Reset circuit is just like restart part of the computer, when the computer froze in use, press the reset button inside the computer program execution from the very beginning. Hall sensor connection circuit generated by
6、 single chip microcomputer measuring the frequency of the pulse can be concluded that the speed of the disc, it is concluded that the speed of the system. Button circuit including speed Settings, speed increase, decrease and sure, there are four switch to set the speed limit,be real-time field accor
7、ding to the requirement of the local speed limits of speed change alarm in order to achieve the purpose,is convenient. The speed of the display circuit mainly display system. Alarm circuit is mainly a voice alarm, the alarm circuit is relatively simple, the alarm function. In order to inform the dri
8、vers speed and reduce traffic accidents.Keywords: Single chip microcomputer; Overspeed alarm; security2第1章前言众所周知,在现在的社会中,随着人们群众生活水平的不断提高,汽车已经是每家每户都有的东西了。我们走在马路边经常会看到交通事故的发生,交通事故发生有一个很重要的原因汽车超速,但是人们一直会忘掉这个问题的存在,只想着赶时间一定要加速再加速。要是我们能有一款可以测汽车速度的产品那么类似于这样的交通事故就基本不会发生了。为此我设计了应用 51 单片机运行的超速报警设备。本设计是让单片机和霍尔
9、传感器的功能相互结合,完全利用了单片机极大的功能,使超速报警系统的作用发挥的淋漓尽致,只要车主已超速,设备就会马上报警,使消费者为拥有这款产品而感到骄傲。在设计本论文时,我会把这个很复杂的东西简单化,从而使用的元器件也会减少,因为元器件少了,产品的成本会降低,但减少元器件的同时,质量也会得到保障。超速电路的按键将会非常简单,因为要考虑每个认得文化程度有所不同。装有本系统的汽车可以防止一下几个原因导致的交通事故。第一个是当车主不知道行驶路段的最高速度且已超速的状态下;第二个是车主无意超速导致的车祸;第三个是车主故意开得很快导致的交通事故。本次设计的超速报警比起车内的安全气囊等保护措施相比,可以防
10、患于未然,它与警察的测速仪器相比更有实用性。汽车报警器具有实用性、经济性、便于操作等优点,因此使用很广泛。在车辆行驶的过程中,本设计通过传感器监控汽车的实际速度,只要超速立刻报警,提醒驾驶员减速。本系统操作简单、可靠性高、可以广泛运用在机动车辆中。第2章系统原理2.1超速报警器设计思路2.1.1设计要求本论文设计的 51 单片机超速报警系统是具有数字显示功能的,可以显示车子的实际速度,只要车子的实际速度大于公路限定的速度是,汽车上的报警器就会利用蜂鸣器报警,从而提醒驾驶员减速慢行。在设计电路时,我们应该考虑下面几点要求:1.在设计电路时,我们要遵守从整体到部分,把一个复杂的设计转变为几个简单的
11、问题,这样可以方便解决。2.设计电路时只要把最基本的性能做出来就行,不要太过复杂。这样做一是为了考虑每个人的接受能力不同,二是越复杂的电路元件用的就越多,元器件一多性价比就不高了。3.还要保证设计电路的寿命和故障发生一次的频率。4.在设计电路时,电路界面上的按键一定要精辟,因为按键多了人们就会搞不清楚,每个人的知识水平还是存在差距的。下面有两种方案:第一种方案:方案一是具有输入输出接口、 RAM8155 的芯片和具有速度变更能力的键盘电路, 8155 芯片有 256 个字节的数据存储器, 2 个八位, 1 个一位输入输出口和一个14 位计数器。系统的硬件电路简图如图2.1 所示。图 2.1系统
12、硬件电路简图在图 2.1 系统硬件电路简图中, 键盘键入是用来设置报警的速度, 当实际车速大于最大速度是,声光报警电路就会报警,霍尔传感器是用来产生方波的。霍尔传感器的输出接口接51 单片机的外部中断,轮子每转一圈就会产生一次 INT 中断请求, 51 单片机就会对这个零中断请求的次数进行累计,并且将一秒内的累计值转化成汽车的速度,送到显示区从而提供数据给显示程序。计算的公式是 V=d60n3.6km,汽车的车轮周长是d.在硬件电路图中, 传感器的输出时由 AT89C51的 INTO 口的输入保存在内部数据存储区中, 8155 芯片是 AT89C51的外部扩展芯片,它的 PB 口是接发光数码管
13、的, PA4-PA0是发光数码管的键盘竖线, PC0和 PC1是键盘的横线,这样就组成了 10 个键盘的按键。 P2.6 口在 AT89C51中是用来接三极管放大器的从而驱动电路报警。报警电路只要输出 256HZ 和 350HZ 的声音每个 0.73S时 ,就可以发出报警声从而提醒司机。汽车上的最大速度是用键盘存储起来的。51 单片机检测传感器发出的信息,然后算出汽车的实际速度再送给LED显示器,当实际速度大于最大速度时,报警电路就会报警,报警电路的硬件电路如图2.2 所示。图2.2硬件电路图方案二:利用串行 I0 的共阴极发光数码管显示器MAX7219 和按键电路实现。MAX7219 是用来
14、显示实际速度和设定速度的,当实际速度大于最大速度是,报警电路就会发出报警声,按键电路时用来设定报警的最大速度的。系统的硬件电路简图和硬件电路图如图 2.3 和 2.4 所示。图2.3硬件电路图图 2.4 系统硬件电路图2.1.2方案的比较及确定对于方案一和方案二, 方案一是采用的 8155 芯片,8155 芯片的接线管脚很多,但是键盘电路比较复杂,而且只能显示实际速度,总体电路较为复杂;方案二电路采用的是 MAX7219芯片,它是一个串行 IO的共阴极发光晶体管显示器,可以显示八位七段带有小数点的共阴极数码管,可以连在一起,连接只需 3 根线,而且速度的设定可以用多个按钮操作,并且可以实现最大
15、速度的变更,所以硬件电路简单,操作方便。对于本论文设计的汽车速度报警电路而言,设计的基础就是采用现代的工艺,经过计算机的处理科技,提高设计的精确度和稳定性,再扩展其性能,是报警器不仅可以精确的显示实际速度而且还要是操作简单化。对于此,设计的方案如图 2.5 所示。图 2.5设计方案图2.2超速报警器的总原理图超速报警电路是将汽车传感器的实际车速送到传感器电路中,从而得到一个与汽车速度频率一样的信号,并把结果送到单片机中计数。得出的数值与 51 单片机内部值相比较,如果比键盘输入的上限值还要大则显示汽车超速行驶,紧接着报警电路就会通过蜂鸣器进行报警。该系统由电源电路、时钟电路、复位电路、速度显示
16、电路、按键电路、键盘(设定报警车速值)、报警电路、霍尔传感器连接电路和控制单片机组成。总原理图如图2.6 所示。图 2.6 总原理图2.3 超速报警器的优点1、 只要车主超速时超速电路就会报警,从而提醒车主保证车主的人身安全。2、超速报警器是将传感器产生的车速信号与单片机相比较。如果超过了标注值则可判断汽车超速,蜂鸣器报警提示。3、超速报警器的设计将电源电路、时钟电路、复位电路、速度显示电路、按键电路、报警电路、霍尔传感器连接电路等电路组合起来组成超速报警器。第 3 章超速报警器硬件设计3.1 硬件概述3.1.1单片机的基本组成1.内部程序存储器( ROM)ROM 只是一个通称,实际上程序存储
17、器通常分 ROM、EEPEOM和 FLASH ROM 即是用来存放程序所对应的二进制代码的地方,因此称为程序存储器。一旦程序固化到程序存储器后是只读部写的,因此程序存储器为 READ-ONLY MEMORY. 2.中央处理器( CPU)程序被固化到单片机后,系统上电,如果提供给单片机的电源系统、复位信号、时钟信号均满足要求,则单片机内最核心的部件 CPU开始工作。工作的基本过程:中央处理器的控制器从 ROM 中将代码取出并分析该代码,根据代码对应的指令执行。如果从 ROM 中取出“ C2H90H”,则 CPU分析后就会向 P1.0 输出低电平。执行完一条指令紧接着取下一个代码,如此一条一条下去
18、。3.内部数据存储器(内部RAM)51 单片机的芯片 8155 中有 256 个 ROM,但后面 128 个被专用寄存器强占了,给用户使用的只有前面 128 个单元。3.1.2AT89C51 引脚图引脚图如图 3.1 所示。图3.1引脚图VCC:供电电压。GND:接地。P0 口:电路中包含 1 个数据输出存储器、 2 个三态数据输入缓冲器、 1 个数据输出的驱动电路和 1 个输出控制电路。当对 P0 口进行写操作是,由锁存器和驱动电路构成数据输出通路。由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需要再加数据锁存电路。考虑到 P0 口既可以作为通用 IO 口进行数据的输入输出
19、, 也可以作为单片机系统的地址数据线使用。 为此在 P0 口的电路中有一个多路转接电路 MUX。在控制信号的作用下,多路转接电路可以分为接通锁存器输出或地址数据线。当做通用的 IO 口使用时,内部控制信号发出低电平,封锁与门将输出驱动电路的 T1 FET截止,同时使多路转接电路 MUX 接通锁存器的输出通路。当 P0 口作为输出口使用时,内部的写脉冲加在 D 触发器的 CP端,数据写入存储器,并向端口引脚输出。而当 P0 口作为输入口使用时,数据信号则直接从引脚通过输入三态缓冲器进入内部总线。P1 口:因为 P1 口通常是 I0 口使用的,所以在电路结构上与 P0 口有一些不同之处。首先它再也
20、不需要多路转接电路 MUX;其次是电路的内部有上拉电阻,与场效应管共同组成输出驱动电路。因此 P1 口作为输出口使用时,无须再外接上拉电阻。当 P1 口作为输入口使用时,同样也需要先向其锁存器写“ 1”,使输出驱动电路的 FET截止。P2 口:P2 口电路中比 P1 口多了一个多路转接电路 MUX,这正好与 P0 口一样。P2 口可以作为通用 IO 口使用。这时多路转接开关接向锁存器 Q 端。但通常情况下, P2 口也可以作为系统扩展的高 8 位地址线使用,此时多路转接开头应接到“地址”方向。P3 口:P3 口的特点是在于为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。由于第二功能信号有
21、输入和输出两类,因此分两种情况说明。对于第二功能为输出的信号引脚,当作为 IO 使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位的锁存器应置“ 1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。对于第二功能为输入的信号引脚,在口线的输入通路上增加了一个缓冲器,输入的第二功能信号就从这个缓冲器的输出端取得。而作为 IO 使用的数据输入,仍取自三态缓冲器的输出端。不管是作为输入口还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线都应该保持高电平。表3.1P3 口第二功能端口引脚第二 功 能P3
22、.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断 0)P3.3(外中断 1)P3.4T0(定时计数器0)P3.5T1(定时计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)3.1.3AT89C51单片机AT89C51是由美国的一家公司发明的, 它是一个高性能、 低电压的八位单片机,芯片内有 4K 字节的只读程序存储器 PEOM和 128 字节的随机数据存储器ROM, AT89C51采用了美国公司高科技的生产技术,可以兼容 51 单片机的指令系统,芯片是用八位 CPU和 FLASH存储单元。 AT89C51单片机可以运用在许多高性价比的场合,还可以灵活
23、运用。3.1.4AT89C51主要性能参数1.可以和 51 单片机指令系统完全兼容;2.4K 字节可以通过 FLASH存储器任意改写;3.频率范围为 0Hz-24MHz;4.程序存储器可以加密;5.内部存储器有 128*8 个字节;6.输入输出接口有32 个;7.2 个十六位计数定时器;8.中断源有六个;9.具有掉电和低功率模式。3.1.5AT89C51 功能特性概述AT89C51芯片具有以下几种功能: 4K 字节可以通过 FLASH存储器任意改写,内部存储器有 128*8 个字节,输入输出接口有 32 个,2 个十六位计数定时器, 1 个全双工串行通信口。即使空闲方式终止中央处理器工作,内部
24、存储器、定时器、计数器还可以工作。掉电模式会自动保存内部存储器的功能,但是振荡器不工作直到下一个硬件复位。3.1.6 空闲节电模式AT89C51有空闲模式和掉电模式两种省电模式。 这两种模式是控制电源控制寄存器 PCON中的 PCON.1HE PCON.两0个位来实现的。 掉电模式是 PD,当 PD=1 时,将会把掉电模式和单片机模式同时激活,当 PD 和 IOL同时为 1,先激活掉电模式。在空闲模式中,中央处理器会保持睡眠状态,并且芯片内所有外部设备保持激活状态,这种方式是软件产生的。此刻,芯片中的内部存储器和所有的寄存器中的内容会保持不变。任何中断请求和硬件复位都可以把空闲模式终止。终止空
25、闲工作模式的方法有两种,第一种是只要任何一条中断程序运行,PCON.0就会被硬件清理,从而终止空闲模式。程序会先响应中断,进入到中断程序后,会将中断程序执行完并紧跟着中断返回指令,下一条要执行的指令就是进入空闲模式指令后面的一条指令。第二种方式是通过硬件复位时空闲模式终止。需要大家注意的是:当有复位信号来终止空闲模式时,中央处理器常常从激活空闲模式指令的下一条模式开始执行程序, 要把内部的复位操作完成, 复位脉冲要保持 24 个机器周期有效,在这里,内部程序禁止中央处理器访问内部存储器,但可以访问别的端口。激活空闲模式的指令后面一条指令不能是存储器的写入指令,因为这样做可能会使端口产生意外的写
26、入。3.1.7掉电模式系统进入掉电模式中振荡器会终止工作,进入掉电模式的最后一条被执行的指令。芯片中的内部存储器和功能寄存器的内容会在终止掉电模式之前冻结。只有硬件复位后才能推出掉电模式,复位后将会重新设定功能寄存器中的内容但内部存储器中的内容不会改变,在电源没有恢复到正常电平前,复位是无效的,而且还要给予振荡器重启到正常工作的时间。表 3.2空闲和掉电模式外部引脚状态表模式程序存储器ALEP0P1P2P3空闲模式内部11数据数据数据数据空闲模式外部11浮空数据地址数据掉电模式内部00数据数据数据数据掉电模式外部00浮空数据数据数据AT89C51可以与 51 单片机室外指令和输出管相互配合,可
27、以将多功能八位中央处理器和存储器组合到同一个芯片中去,可以进行一千次的修改数据循环,数据可以保留十年。它可以向许多控制系统提供性能稳定且性价比搞得方案。因此,在设计和制作电路中经常会用到AT89C51芯片。电路由 AT89C51的 18,19 脚的时钟端 (XTALl及 XTAL2)以及 12 MHz 晶振 X1、电容 C1,C2 组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻 R17,电容 C3 组成,分别接至 AT89C51的 RST复位输入端。3.1.8 时钟 XTAL1和 XTAL2XTAL1和 XTAL2用于产生单片机工作所需要的时钟。 单片机是一个复杂的时序电路
28、,要使用 CPU和各功能部件协调工作,必须要有一个统一的时钟。通常,有两种产生时钟的连接方式,一种是使用芯片内部时钟震荡电路产生时钟,另一种是在片外震荡处理好的时钟直接接入片内。内部振荡电路如图 3.2 所示。外部震荡电路如图 3.3 所示图3.2 内部震荡电路 图3.3 外部振荡电路3.2霍尔传感器连接电路霍尔传感传感器是由著名的美国地质学家 Hall James发明的。霍尔传感器的功能属于电磁效应的一种,这种功能是霍尔在 18 世纪研究导电机时不经意间发现的。他发现虽然导体、半导体等也能实现这样的功能,但远没有霍尔元件功能强。这项技术的发现时检测行业、工业方面有了巨大的突破。类似半导体材料
29、的导电性能、载流子的性能的判断都可以用霍尔效应来一一实现。霍尔传感器图片和管脚图如图 3.4 所示。图 3.4霍尔传感器图片和管脚图在不导磁的圆材料最外面放上一块带磁的钢材料,把霍尔传感器放在不导磁圆材料的周围任意地方。只要圆盘转一圈,传感器就会产生一个脉冲。因此利用圆盘转动的速度单片机就可以测出传感器产生脉冲的频率了。测速示意图如图 3.5 所示。图3.5测速示意图3.3按键电路按键是由四个开关和四个上拉电阻组成,用到了 8051 单片机的 BTO、BT1、BT2、 BT3四个管脚,四个开关分别用来速度设置、速度提升、速度下降和速度的确定,对四个开关进行操作用户可以对速度的最大值进行设定,同
30、时还可以对速度进行调整,从而驾驶员可以根据地方的不同设置不同的速度,电路设计的灵活性非常强。按键电路如图 3.6 所示。图3.6按键电路图3.4显示电路显示电路是用 MAX7219 芯片来实现的, MAX7219 是一种用来串行输入或串行输出的显示驱动器,它是共阴极显示的。每一个芯片可以控制八个七段带有小数点的共阴极发光数码管。下图中从A 到 G 是发光二极管七段显示器的驱动端, SEGDP是用来控制发光二极管的小数点的。DP 是显示器七段小数点的IO,大小一般为 40mA 上下,若要调整可用软件进行,关闭时要接地。DIG7 到 DIG0是八位数值驱动线。电流是从发光二极管的共阴极吸入的,从而
31、得到显示器的为驱动线,最大值可以到达500mA 左右,关闭时接电源。显示电路连接图如图3.7 所示。图 3.7 显示电路连接图3.5报警电路报警电路由两种,一种为声音报警,另一种为灯光报警。这两种电路对大多数人人来说都可以接受。声音报警电路由8051 单片机、 2 个 1K 的电阻,一个晶体三极管和一个蜂鸣器组成。声音报警电路如图3.8 所示。图 3.8 声音报警电路图而灯光报警电路是由两个发光二极管 D1、D2 构成。用这样的方法来提示司机进行减速从而使交通事故发生的次数减少。灯管报警电路图如图3.9 所示。图 3.9灯管报警电路图3.6主控模块本次设计是利用 MCS51系列单片机中的 80
32、51作为中心的。因为 8051的抗干扰性能极强,在干扰很大的场合都能工作。 8051 中央处理器的频率是 12MHZ,对于计数脉冲可以很快的进行处理。 8051的IO共有三十二根线组成, 它可以连接发光二极管显示器,传感器,存储器等。 8051使用的电压很低从而能耗也就低,这样只要使用干电池对它供电就行了。 但是 8051也有它的缺点,他只能存储 256B 的数据,这样你可以利用外界存储器芯片来弥补它的不足。 8051最小应用系统电路如图 3.10所示。图 3.10 8051 最小应用系统3.7MAX7219 芯片MAX7219 是一种串行 IO 共阴极发光二极管显示驱动器。 每一个芯片可以控
33、制八个七段带有小数点的共阴极发光数码管。 MAX7219 有扫描电路,一般扫描电路会单独的进行工作除了要把显示的数据进行更新外,这样做可以节约时间和剩余用量的空间。MAX7219 芯片中有 BCD译码器、驱动器、扫描电路、 8*8 的数据存储器和寄存器。设计单片机的指令可以控制 MAX7219 芯片,从而它的工作方式可以改变。 MAX7219 工作图如图 3.11 所示。图3.11 MAX7219 工作图上图主要是用来说明 DIN、CLK、LOAD这三个之间是怎么工作的。其中 DIN 是数据输入端, CLK和 LOAD就是相当于桥梁的作用。 CLK的下降沿触发是无效的,再看 CLK的上升沿部分
34、, 二进制数据已经存到了 CLK的里面,之后又是下降沿又是无效的, 紧接着上升沿部分, 数据有存到了 CLK的内部,就这样一直工作直到 16 个周期全部完成。在这个过程中 LOAD一直处于低电平的状态下,只要这 16 个二进制数工作完它就会变到高电平状态中去。第 4 章 超速报警器软件设计4.1 程序流程图汽车超速报警器的总体流程图如图所示。软件编程采用C 语言,用单片机的 T1 作为定时器,设定定时时间为 1S。由于单片机最大允许时间只有 65S,需扩展定时时间。一般有硬件扩展和软件扩展两种方式,本文采用软件扩展方式。设 T0 定时时间为 50ms,定时时间一到,溢出中断,在中断服务程序中,
35、 对中断次数寄存器加 1,重复定时中断 20 次,时间为 1s。 1s 定时时间到,读取定时器T1(P3.5引脚 ) 输入的脉冲数,为实时车速的频率值。将该频率值与单片机内部设定值比较,判定是否超速。程序流程图如图4.1 所示。图4.1 程序流程图软件主要是由主程序、按键程序、中断程序、发光二级管显示程序、声音或灯管报警程序组成。硬件始化、子程序的调用还有显示、报警等性能是由主程序来完成的。数据处理程序是用来,监测汽车行驶的速度是为了计算出车辆的时速,从而产生数据告知司机。参数输入是否得当是由按键程序来实现的。车辆超速行驶会发出报警信号这是由报警程序来完成的。显示程序主要是显示车主当前开车的速
36、度,标准最大速度,是由发光二极管进行显示。主程序清单:main()int i=0;float sum=0;int flag=0;unsigned long int a;char temp16;Init_Timer0();Init_Timer1();定义字符显示缓冲数组初始化定时器 0初始化定时器 1Init_zhongduan();LED_Init();DelayMs(10);LED_Clear();初始化外部中断0 和初始化液晶屏延时用于稳定,可以去掉清屏1while(1)keyscan();sprintf(temp,mode:%d limit:%d,mode,speed_limit); L
37、ED_Write_String(0,0,temp);显示到液晶第 1 行 pwm(time);if(OVERFLOWFLAG)检测溢出标志,溢出表明频率过高,显示溢出信息OVERFLOWFLAG=0;标志清零LED_Write_String(0,1,overflow 655KHz);if(TIMERFLAG)定时 100ms到,做数据处理(每 100ms处理一次数据 )i+;a=TL0+TH0*256;读取计数值a=a*10;实际值乘以 10 相当于做了变换1 秒钟转了 a 圈a=a4; 因为 转盘上面有 4 个孔 除以 4 表示实际转的圈数 if(flag=0) 这句话在 while 循环中
38、只运行一次sprintf(temp,speed:%06.0f rs,(float)a);LED_Write_String(0,1,temp);显示到液晶第二行flag=1;TR0=1;2 个定时器打开TR1=1;TH0=0; 100ms过后使TH0和 TL0的值为0,令计数器初值为0TL0=0;TIMERFLAG=0;关闭计时计数标志sum=sum+a;if(i=2)循环 2 次目的是为了使显示的更清楚,消除显示跳变的现象a=sum2.0;i=0;sum=0;if(aspeed_limit)buzzer=0;time=time-5;elsebuzzer=1;sprintf(temp,speed
39、:%06.0f rs,(float)a);LED_Write_String(0,1,temp);显示到液晶第二行4.2 脉冲计数程序设计AT89C51单片机内有 T0 和 T1 两个加法型 16 位定时器,在计数时,对 P3.4 和 P3.5 引脚上输入外部信号进行计数。程序流程图如图 4.2 所示。图 4.2 脉冲计数程序流程图程序清单:a、定时器 T0 初始化:void Init_Timer0(void)TMOD |= 0x01 | 0x04;使用模式 1, 16 位计数器,TH0=0x00;给定初值TL0=0x00;EA=1;ET0=1;TR0=1;总中断打开定时器中断打开定时器 0 开
40、关打开b、定时器 T1 初始化:void Init_Timer1(void)TMOD |= 0x10;使用模式 1,使用 | 符号在使用多个定时器时不受影响TH1=HIGH;给定初值,使用定时器最大值从 0 开始计数一直到 65535 溢出TL1=LOW;EA=1;总中断打开ET1=1;定时器中断打开TR1=1;定时器开关打开c、定时器 T0 和 T1 中断子程序:void Timer0_isr(void) interrupt 1TH0=00;重新给定初值TL0=00;OVERFLOWFLAG=1;溢出标志void Timer1_isr(void) interrupt 3static unsi
41、gned char i;TH1=HIGH;重新赋值 10msTL1=LOW;i+;if(i=10) 100ms时间单位,得 100ms脉冲个数 *10 就是 1s 中脉冲个数,i=0;TR0=0;2 个定时器关闭TR1=0;TIMERFLAG=1; 标志位清零TH1=HIGH; 重新赋值TL1=LOW;4.3 显示模块程序设计主控芯片 AT89C51驱动发光二极管,实时显示由计数脉冲计算得到的车速( rs)、车速设定模式、最高限定车速值和超速警告等信息。程序清单:a、发光二极管写入命令函数:void LED_Write_Com(unsigned char com)while(LED_Check
42、_Busy();忙则等待RS_CLR; RW_CLR; EN_SET; DataPort= com; _nop_();EN_CLR;b、发光二极管写入数据函数:void LED_Write_Data(unsigned char Data)while(LED_Check_Busy();忙则等待RS_SET;RW_CLR;EN_SET;DataPort= Data;_nop_();EN_CLR;c、发光二极管写入字符串函数:void LED_Write_String(unsigned char x,unsigned char y,unsigned char *s)while (*s)LED_Write_Char(x,y,*s);s +;x+;4.4 按键扫描程序按键中断子程序主要实现根据驾驶员的实时实地要求进行最高限定速度更改以达到最优的限速,超速报警的目的。程序流程图如图4.3 所示。图 4.3程序流程图程序清单:void keyscan()if(key_mode=0)while(key_mode=0);mode+;if(mode=1)speed_limit=140;if(mode
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园防骗防拐演练
- 知荣辱课件教学课件
- 食品安全与健康相关
- 退行性脊椎病X线
- 酶促反应原理临床治疗
- DB1304T 488-2024大丽花露地栽培技术规程
- 聪聪课件 教学课件
- 高温烫伤应急预案演练
- 肺全切术后护理查房
- 运动治疗仪器及使用方法
- 农村环境长效保洁服务投标方案(技术方案)
- 【课件】第六单元碳和碳的氧化物+新版教材单元分析-2024-2025学年九年级化学人教版(2024)上册
- 厂区升级改造项目方案
- 北京能源集团有限责任公司招聘笔试题库2024
- 人教版高中物理(必修三)同步讲义+练习第十一章 电路及其应用(含解析)
- 牛津译林版英语2024七年级上册全册单元知识清单(默写版)
- 重症医学专业医疗质量控制指标(2024年版)学习解读课件
- 2024年军队文职统一考试《专业科目》管理学试卷(网友回忆版)含解析
- 2024年全国职业院校技能大赛中职组(装配式建筑构件安装赛项)考试题库(含答案)
- 2024年全国职业院校技能大赛高职组(建筑装饰数字化施工赛项)备赛试题库含答
- 2024国机资本控股限公司招聘高频考题难、易错点模拟试题(共500题)附带答案详解
评论
0/150
提交评论