基于单片机的牌照自动识别系统设计与实现++++ 下载本文

大连东软信息学院毕业设计(论文)

第4章 系统设计

4.1 设计指导思想和原则

4.1.1 指导思想

(1)对单片机的牌照自动识别系统进行系统的分析与整理后,功能模块化,减少重复的软件和硬件程序,提高系统的开发、运行、维护效率。

(2)基于STC89C52的牌照自动识别系统的首要目标是能够满足目前的业务功能需要,并确保系统运行稳定;通过参数配置等形式,实现灵活的配置系统的功能,并具有良好的可扩展性,提高软硬件模块功能的复用性。根据实际情况,纳入接口系统架构。

(3)系统采用先进的系统管理模式,运行单片机自身的命令系统。同时便于系统的运维工作。

4.1.2 软件设计流程

程序设计就是用计算机所能接受的语言把所需解决问题的步骤逐一描述出来,也就是编制计算机的程序,在设计应用系统时,软件的编制是重要环节。软件的质量直接影响整个系统功能的实现。应用程序的设计因系统而异,但程序设计总是有共同特点及其规律的。在编写程序时,采取如下几个步骤:

第一步,系统需求分析,明确系统所要完成的功能,将软件分成若干相对独立的部分。根据系统各个模块的功能和时序关系,设计出合理的软件总体架构。

第二步,绘制系统框图和软件流程图,根据所选择的计算方法制定流程图,这是程序设计的一个非常重要组成部分,是决定一个系统是否的关键。

第三步,分配系统资源,单片机资源的使用有一定的限制,需要进行合理分配,其中包括中断、定时器/计数器、堆栈等几部分。资源的合理分配后,进一步将程序框图绘制成详细的操作流程。

第四步,根据程序流程图和指令,编写程序,在关键位置增加功能注释,可以有效的增强系统的可读性和重用性。

第五步,测试程序,通过编译代码,必须使用编译程序汇编生成目标代码。如果编译过程中发现语法错误,是无法通过编译的。需要根据编译器调试的错误进行更改。指导程序通过为止。利用编译好的目标代码使用仿真器进行仿真。观察仿真现象。排除错误直到成功。

第六步,程序功能优化。此项是将程序的质量的提高,主要为了增强程序可读性、可持续性,使各功能程序模块化,子程序化,缩短程序的长度,加快运算速度和节省数

-8-

大连东软信息学院毕业设计(论文)

据存储空间,减少程序执行的时间。

4.2 体系架构设计

系统设计可分为硬件设计和软件设计两部分。根据我们需要实现的功能,合理选择元器件进行设计。为了制作出想要的电路板,硬件设计主要涉及到构造原理图,并对原理图用keil软件进行仿真,这一步最为重要,它关系到实验成功与否的关键。

然后一旦仿真测试出我们想要的结果后,就可进行下一步原理图的绘制。软件设计部分,应该结合硬件电路所要实现的功能进行设计。本系统主要是针对车牌自动识别系统进行识别。通过车辆通过识别区域,收集车牌及车辆信息。

相对牌照自动识别控制系统而言,传统控制方式简单、有效、直观。但它过多依赖控制者的个人能力,控制相对分散和无法有效管理,实时性和自动化程度太低。正因为此,牌照自动识别研究有着极其有重要的意义。

4.3 硬件设计

系统原理图如图4.1所示。

图4.1 系统原理图

4.3.1 单片机与外围存储器连接电路设计

STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片

-9-

大连东软信息学院毕业设计(论文)

上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52采用40引脚的双列直插封装(DIP方式)。单片机的最小系统,关键组装部分还有时钟短路和复位电路。

时钟电路简介:外部时钟电路简单且同意实现,其主要的核心在于单片机的管脚XTAL1和XTAL2。单片机的XTAL1和XTAL2是独立的输入和输出反相放大器。XTAL1和XTAL2引脚在系统设计的过程中可以被配置为使用石英晶振的片内振荡器,也可以配置成为直接连接外部时钟驱动。

本系统即是采用的内部时钟的方式实现的。内时钟模式即是利用单片机内部的振荡电路,在XTAL1、XTAL2的引脚上外接定时元件实现的,主要是连接一个石英晶体和两个电容,单片机的内部振荡器便可以产生自激振荡。在正常情况下,晶振的大小可以在12MHz之间任选,最高频率可以达到24MHz。频率越高频率功耗也就越大。本系统中采用的石英晶振和并联的两个电容。在设计过程中电容的大小对振荡频率有微小影响,其主要作用是微调频率的作用。当采用石英晶振时,电容的值可以在20~40pF之间选择任选,议案情况下使用30pF的电容。当采用陶瓷谐振器件时电容要适当地增大一些在30~50pF之间。我们通常选取33pF的陶瓷电容。

复位电路简介:在单片机系统中复位电路是非常关键的,当程序运行不正常或死机,停止运行时就需要进行复位。单片机的第9管脚(复位引脚RST)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST被持续的置为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式上电自动复位和开关复位。复位电路主要包括以上两种复位方式。第一是上电瞬间复位,上电瞬间复位原理是利用电容两端电压不能跟随系统的电压变化不能突变,因为此时电容的负极引脚和单片机的RESET引脚连接。相连相应的电压会被全部加在了电阻上RESET引脚的输入为高,高电平会使芯片被复位。随后电容充电完成后,电阻两端上的电压也随之逐渐减小,最后减小到约等于0V,单片机就可以恢复正常的工作状态。开关复位是将并联在电容的两端连接复位按键,当

-10-

大连东软信息学院毕业设计(论文)

复位按键没有操作时,系统正常运行。当有按键操作后,电路实现在芯片正常工作后通过按下按键使RST管脚出现高电平,以达到手动复位的效果。一般情况下只要RST管脚上保持10ms以上的高电平就能使单片机进行复位操作。电容和复位电阻为经典值,实际的电路设计过程中可以用同一数量级的电阻和电容代替资料介绍里的电容电阻,这样就可以自行计算RC充电时间,在工作环境实际测量以确保单片机的复位电路可靠,如图4.2所示。

5V5V405VS1VCCR210KP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27ALE/PPSEN3938373635343332212223242526272830295V1011121314151617P32P33J61234CON4C110UFP029RESETR410KC91930PFY211.0592MC101830PFX2X1RXD12345678P10P11P12P13P14P15P16P17TXDINT0INT1T0T15VGND31WREA/VPRDSTC89C5220 图4.2 单片机最小系统电路图

4.3.2 射频模块功能分析

射频信号时系统中信号传输的中介,系统通过射频信号完成系统功能。射频模块主要的功能就是读取模拟车辆上的电子标签,将电子标签上的唯一号码读取出来,上位机软件将读取的唯一ID号码与系统里的信息意义对应,就可以识别当前车辆的信息,如图4.3所示。

-11-