本科生毕业设计(论文)
摘 要
随着国民经济的高速发展,城市公交事业发展的很快,公交车报站器在公交事业中占有举足轻重的地位,它直接影响着公交车的服务质量。本文应用单片机技术、语音合成技术和点阵LED汉字显示技术设计了一种公交车语音报站和汉字显示系统,它能很好的模仿人完成报站任务,从而解决了这一问题。
本文介绍了一种新型的公交车自动报站系统的设计原理,系统以AT89S51单片机为核心,外扩ISD1730语音芯片,点阵LED汉字显示屏和行列驱动芯片。当汽车到达某站时通过GPS模块来触发本系统进行工作,通过语音输出电路进行语音报站和提示,AT89S51单片机同时通过程序读取汉字信息送入LED点阵显示电路进行汉字提示,达到了在车辆运行期间显示和语音的同步合作,提高了车辆的服务质量。
关键词:单片机;语音报站;点阵LED汉字显示屏;ISD1730语音芯片
I
本科生毕业设计(论文)
Abstract
In recent years,the industry of taxi developed rapidly in our country. Taxi that installs the meter can be put into operation. Currently taximeter with the resetation of data ,the conversation of day/night ,the outputation of data and the valuation of time and price function and so on in the market. This desigin is added the function of broadcast and anti-cheat on the basis of the original function. The system have the characteristics of clear function, simple operation, accurate calculation, low cost and reliable performance.
This article is a design of taxi billing system based on microcomputer. The whole system is divided into hardware and software. Hardware is divided into some parts include the sensor measure distance, power off and memory ,keyboard and display and broadcast voice and so on. The system is used A44E sensor count the revaluation of the tire and realize the measurement of mileage and TLP521 optical coupler realize the protection of the pricing for cheating while collecting signal and add AT24C02 register chip for storage information when power off. At the same time the clock chip DS1302 display the time when the system needs Man-machine communication interface use LCD1602 to display. The software part is divided into the interruptible program of counting for mileage,the program of keyboard service, the program of liquid crystal display, the program of voiced alarm and the memory program of power off and so on. At the same time software use C language to program. Software realize mainly the measurement of mileage based on microcontroller’s interruption and put the operational results into the program of storge, display and voice to process.
The system is simulated by proteus simulation software, the basic function has been achieved and the parameters meet the design requirements.
Key Words:senor for measuring distance;memory power off ;real time clock;Voice alarm
II
本科生毕业设计(论文)
目 录
第1章 绪 论 .......................................................................................................... 1
1.1 课题研究的背景及意义 ........................................................................... 1 1.2 国内外发展的现状 ................................................................................... 1 1.3 本文的主要工作 ....................................................................................... 2 第2章 整体方案设计 ............................................................................................ 3
2.1系统设计内容和功能 ................................................................................ 3 2.2系统方案选择 ............................................................................................ 3 2.3系统总体方案的设计 ................................................................................ 4 第3章 各单元硬件电路的设计 ............................................................................ 5
3.1 单片机最小系统电路 ............................................................................... 5 3.2 电源电路设计 ........................................................................................... 6 3.3信号检测电路设计 .................................................................................... 7
3.3.1霍尔效应 ......................................................................................... 7 3.3.2 A44E芯片介绍 ............................................................................... 8 3.3.3传感器测距电路设计 ..................................................................... 9 3.3.4防作弊电路设计 ........................................................................... 11 3.4掉电存储电路设计 .................................................................................. 11
3.4.1 AT24C02芯片介绍 ....................................................................... 11 3.4.2 I2C总线接口介绍 ...................................................................... 12 3.4.3 掉电存储电路 .............................................................................. 13 3.5实时时钟电路 .......................................................................................... 13
3.5.1 DS1302芯片介绍 ...................................................................... 14 3.5.2实时时钟电路 ............................................................................... 15 3.6按键电路的设计 ...................................................................................... 16 3.7语音提示电路设计 .................................................................................. 16
3.7.1 ISD2560语音芯片介绍 ............................................................. 17 3.7.2语音电路的设计 ........................................................................... 20 3.8显示电路设计 .......................................................................................... 20
3.8.1液晶显示原理及特点 ................................................................... 21 3.8.2 LCD1602显示电路 ...................................................................... 22
III
本科生毕业设计(论文)
第4章 系统软件的设计 ...................................................................................... 23
4.1 系统总体程序流程图 ............................................................................. 23 4.2 里程计数中断 ......................................................................................... 23 4.3 实时时钟显示程序设计 ......................................................................... 25 4.4 掉电存储程序 ......................................................................................... 29 第5章 系统的调试与仿真 .................................................................................. 35
5.1 实时时间的调试仿真 ............................................................................. 35 5.2 计价显示的调试仿真 ............................................................................. 36 5.3 性能分析 ................................................................................................. 36 第6章 结论 .......................................................................................................... 37 参考文献 ................................................................................................................ 38 致谢 ........................................................................................................................ 40 附录Ⅰ .................................................................................................................... 41 附录Ⅱ .................................................................................................................... 51 附录Ⅲ .................................................................................................................... 52
IV
本科生毕业设计(论文)
第1章 绪 论
1.1 课题研究的背景及意义
随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。出租汽车已经成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。出租车行业以低价高质的服务给人们带来了出行的享受。
出租汽车服务行业和出租汽车计价器紧密相关,而计价器是出租车行业发展的重要标志,它关系着交易双方的利益。因为出租汽车必须安装出租汽车计价器才能投入营运。出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器计价准确与否,直接关系到经营者和消费者的经济利益。依据国家有关法律、法规,出租汽车计价器是列入国家首批强制检定的工作计量器具之一,也是近年来国家质量技术监督部门强化管理的六类重点计量器具之一。
出租车行业的健康和发展获得越来越多的关注。但是,一直以来存在着的买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器,用更加精良的计价器来为乘客提供更加方便快捷的服务。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。因此,汽车计价器的研究也是十分有一个应用价值的。
1.2 国内外发展的现状
我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打发票和语音提示、按时间自主变动单价等功能。随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
1
本科生毕业设计(论文)
我国第一家生产计价器的是重庆市起重机厂,最早的计价器全部采用机械齿轮构,只能完成简单的计程功能,可以说,早期的计价器就是个里程表。随着科学技术的发展,产生了第二代计价器。它采用了手摇计算机与机械结构相结合的方式,实现了半机械半电子化。此时它在计程的同时还可完成计价的工作。大规模集成电路的发展又产生了第三代计价器,也就是全电子化的计价器。它的功能也在不断完善。出租汽车计价器是一种专用的计量仪器,它安装在出租汽车上,能连续累加,并指示出行程中任一时刻乘客应付费用的总数,其金额值是计程和计时时间的函数。出租车计价器在最初使用时具备的主要功能是根据行驶里程计价,要求精度高,可靠性好。随着电子技术的发展以及对计价器的不断改进和完善,便产生了诸多的附加功能。例如:LED显示功能,数码管的使用让计价器实现多屏显示的功能,可同时显示各项营运数据,使乘客一目了然;永久时钟功能,在非营运状态下,日历时钟芯片的使用使计价器可以显示永久时钟;存储功能,可存储多项营运数据,便于查询。新型数据存储器的应用使得计价器的营运数据在掉电情况下还可以保存10年。
1.3 本文的主要工作
该出租车计费器设计采用AT89S52单片机为主控器进行主要的信息的接收及处理,以A44E霍尔传感器测距,实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息以及采用DS1302提供实时时钟及时间的显示功能,同时输出采用LCD1602进行显示。这样就利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。通过霍尔传感器检测信号,再将信号送入单片机进行处理,计算出里程数,再根据相应的单价数得出总金额,并把结果通过LCD显示出来同时进行语音播报,如果由于某种原因掉电获供电不足照成单片机无法正常工作,也就是计费系统的数据丢失,基于这种情况,本设计设计了掉电存储电路,一旦这种情况发生时存储电路会保存所有数据,上电后可立即恢复正常使用,但出租车空车时也就是说计费系统不处于工作状态,可利用实时时钟芯片进行时间的显示同时时钟电路也可在计费系统工作是起作用,即显示本次运行时间。
2
本科生毕业设计(论文)
第2章 整体方案设计
2.1系统设计内容和功能
出租车正常营运时计价器显示实时时间,具有时、分、秒为60进制计数功能,能显示分、秒停车状态的计时结果,格式为:00:00:00min;照轮胎转动1圈为1m计算,计算并显示行驶的里程结果,格式为:000.0km;显示乘车费用,格式为:000.0元等。当有乘客上车时,按下按键1启动计价器计价,出租车的起步价为5元,当行驶里程在2.5km以内,费用均为5元;当里程行驶超过2.5km后,白天模式时每公里计费为0.9元/km;夜间模式每公里计费为1.0元/km。停车每达3分钟,增加1.0元。出租车司机能根据时间的不同进行单价调整。(自定义晚上22点到第二天6点为夜间模式,计费标准起步价为7元;则白天6点到晚上22点为白天模式起步价为5元,这两种起步价都是可调的)。可由按键手动控制单价、时间调整、背光灯亮度、两种模式下的起步价等设置。 同时具有语音播报功能用来提示乘客本次乘坐时间以及消费金额等。 具有防止作弊的功能,以保护乘客的利益。
2.2系统方案选择
为使基于单片机的出租车车计费系统具有较好的实用性,并且具有较高的性能价格比,对该系统的硬件电路作了精心设计。
方案一 : 采用数字电路控制。将传感器输出的脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。
方案二:采用MCU技术,通过单片机作为主控器,利用1602字符液晶作为显示电路,采用外部晶振作为时钟脉冲,通过按键可以方便调节,这样利用了单片机丰富的 I/O端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。
方案三:采用EDA技术,根据层次化设计理论,该设计问题自顶向下可分为分频模块,控制模块 计量模块、译码和动态扫描显示模块。
通过各个方案的比较,本设计采用方案二,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且控制简单,成本
3
本科生毕业设计(论文)
低廉,设计电路简单。
2.3系统总体方案的设计
该系统的硬件设计按实现的功能来分可分为以下几个部分。其中AT89S52 单片机是整个电路的核心,它控制其他模块来完成各种复杂的操作。外围电路包括信号检测电路、按键电路、掉电存储电路、实时时钟显示电路、语音播报电路等等。
信号检测采用霍尔传感器A44E用来检测车轮转数,由于A44E是霍尔传感器集成芯片A44E有信号转换、电压放大、整形输出等功能,所以为直接把输出数字电压信号并送入单片机进行处理。
语音提示芯片采用的是ISD2560语音芯片,用来存放语音菜单的提示信息,以及信息查询系统中的语音信息。
实时时钟芯片采用DS1302,用来在出租车空车行驶时需要显示实时时钟,因为它的时钟作为白天/晚上单价自动转换的一个基准。
存储芯片采用AT24C02,当由于某种情况断电和供电不足或当用户每次通过出租车计价器更改数据的时候,应该把更改后的数据保存,这样不用断电时候都要重新进行基本信息的设置,整体框图如图 2.1。
电源电路 键盘控制电路 驱动显示电路 AT89S52 单片机 掉电存储电路 传感器输入电路 语音播报电路 日历时钟电路
图2.1 整体框图
4
本科生毕业设计(论文)
第3章 各单元硬件电路的设计
3.1 单片机最小系统电路
AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,3个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52芯片如图3.1所示。
12345678910111263141516171819204039383736353433323130292827262524232221P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTRSDTXDINT0INT1T0T1WRRDXTAL1XTAL2GNDVCCP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0EA/VPPARE/PROEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0图3.1 AT89S52芯片
时钟电路的设计:单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶
5
本科生毕业设计(论文)
体振荡器和两只电容(电容和一般取33pF)。这样就构成一个稳定的自激振荡器。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。
复位电路的设计:复位是单片机的硬件初始化操作。经复位操作后,单片机系统才能开始正常工作。AT89S52复位信号引脚RESET,用于从外界引入复位信号。复位操作比较简单,只有两种复位方式,即上电复位和手动复位。本系统采用手动复位,也应通过专用的复位电路实现。在单片机系统中,手动复位是必须具有的功能。在调试或运行程序时,若遇到死机、死循环或程序跑飞等情况,手动复位是摆脱这种尴尬局面的最常用的方法。这时,手动复位所完成的是一次重新启动操作。
U1P11P12P13P14P15P16P17123456781312Y112MHZC6P3515P3414VCC31191891716
P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433322122232425262728C5P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWR89S52
33pf33pfS0SW-SPSTVCCC720ufRXDTXDALE/PPSEN10P3611P373029R71K图3.2 单片机最小系统
3.2 电源电路设计
出租车一般长时间行驶在路上,工作环境复杂而且比较差,从实际角度考虑到出租车计价器的电源部分可能面临的问题,所以其应该具有一定的抗震动,抗
6
本科生毕业设计(论文)
高温低温,抗潮湿,抗电磁干扰等能力,如出租车启动时,发动机打火、电瓶充电时都有可能引起出租车计价器电源的不稳定,这将直接损害司机及乘客的利益,可考虑适当的增加滤波电路和稳压电源来解决此问题,因此系统的主体电路中给出了滤波电路,这样一来将会提高计价器的抗电磁干扰能力。由于出租车上带有9-12V的电平,而本系统所需的供电电压为5V,所以需要将12V转换成5V的电压。
方案一:采用分立元件由稳压管、三极管、电阻、电容、滑动变阻器等组成降压电路。
方案二:采用三端集成稳压芯片7805,组成简单的稳压电路。 综合考虑方案二电路简单,控制方便,性能可靠,所以选择方案二。 将12V电源接入7805的输入端经过稳压后经电容滤波最后输出为5V,为整个系统提供电源。同时负载还带有LED,用做电源灯。以提示电源是否正常工作,便于查找故障原因。
1U1Vin7805+5V3+5VGNDJP1219-12VC140.33ufR16220C32200ufC40.01uf2D2LEDGND图3.3 电源电路
3.3信号检测电路设计
3.3.1霍尔效应
霍尔效应是磁电效应的一种,这一现象是霍尔(A.H.Hall,1855—1938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。霍尔效应是研究半导体材料性能的基本方法。通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。流体中的霍尔效应是y研究“磁流体发电”的理论基础。
7
本科生毕业设计(论文)
ZYXBB---B---FeEHIFm+++A+++d+++B+++FebEHIFm---A---VHdbVH
图3.4 霍尔效应原理图
如果对位于磁场(B)中的导体沿Z方向加磁场B,沿X方向通工作电流I,该磁场的方向垂直于所施加电流的方向,那么则在既与磁场垂直又和所施加电流方向垂直的方向上会产生另一个电压(UH),人们将这个电压叫做霍尔电压,产生这种现象被称为霍尔效应。
霍尔效应在应用技术中特别重要。霍尔发现,如果对位于磁场(B)中的导体(d)施加一个电压(Iv),该磁场的方向垂直于所施加电压的方向,那么则在既与磁场垂直又和所施加电流方向垂直的方向上会产生另一个电压(UH),人们将这个电压叫做霍尔电压,产生这种现象被称为霍尔效应。好比一条路, 本来大家是均匀的分布在路面上, 往前移动. 当有磁场时,大家可能会被推到靠路的右边行走. 故路 (导体) 的两侧, 就会产生电压差. 这个就叫“霍尔效应”。根据霍尔效应做成的霍尔器件,就是以磁场为工作媒体,将物体的运动参量转变为数字电压的形式输出,使之具备传感和开关的功能。
迄今为止,已在现代汽车上广泛应用的霍尔器件有:在分电器上作信号传感器、ABS系统中的速度传感器、汽车速度表和里程表、液体物理量检测器、各种用电负载的电流检测及工作状态诊断、发动机转速及曲轴角度传感器、各种开关等等。
3.3.2 A44E芯片介绍
霍尔传感器是一种磁传感器,以霍尔效应为原理和霍尔器件为基础。用它可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件具有诸多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高(可达1MHz),耐振动,不怕灰尘、油污、水汽及盐雾等污染或腐蚀。霍尔开关器件无
8
本科生毕业设计(论文)
触点、无磨损、输出波形清晰、无抖动、无回跳、位置重复精度高。采用了各种补偿和保护措施的霍尔器件的工作温度范围宽,可达-55℃—150℃。 A44E引脚说明:
Vcc :外接电源输入端 GND :外接电源地 OUT:数字信号输出端 霍尔A44E传感器的工作原理:
在输入端输入电压Vcc,经过稳压器A稳压或加在霍尔电势发生器B两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差输出,该信号经过差分放大器C放大后送至施密特触发器D整形,使其成为方波输送到OC门中输出。当施密特加的磁场达到工作点时,触发器输出高电压使三极管导通,此时OC门输出低电压,通常称这种状态为开。当施加磁场未达到工作点时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关,工作特性如图3.5所示。
(1) VCCC
B
C
D
A
OUT (3)
(2)
图3.5 A44E工作特性图
GND
3.3.3传感器测距电路设计
出租车中需要一个能准确获得车轮转动即路程信号的装置,以得到标准的脉冲信号送入单片机, 本设计采用了霍尔传感器A44E作为信号检测装置,利用单片机的中断来完成路程的测量,通过内部程序进行计算,从而得出里程,金额等信息。里程计算是通过安装在车轮上的霍尔传感器检测到的脉冲信号,送到单片机产生中断,单片机再根据程序设定,计算出里程。
9
本科生毕业设计(论文)
+5VR4470T0P17R3T1R54.7K12GNDVCCOUT3220TLP521TLP521 图3.6信号检测电路
U7A44E 霍尔传感器集成芯片A44E检测并输出脉冲,在霍尔电势发生器的两端加上电压VCC后,根据霍尔效应原理,当霍尔片处在磁场中时,霍尔传感器的输出端输出低电平。当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集。此次设计内部采用外部中断1,车轮每转一圈,霍尔开关就检测并输出信号,引起单片机的中断,对脉计数。通过计算将脉冲增加体现在金额和里程上。图3.7是传感器测距的示意图。
光耦 磁铁 传感器 单片机 AT89S52 INT1 车轮 图3.7 传感器测距示意图
10
本科生毕业设计(论文)
3.3.4防作弊电路设计
出租车一般作弊的原理是给传感器的输入端加入一个低电平信号,从而让计数系统飞快的进行加操作,从而达到作弊的目的。而如果没有前置的电路很容易人为的给单片机一个低电平,使计数增加,达到作弊的效果。本设计在A44E的1引脚(电源引脚)通过TLP521光耦连接到单片机的P1.7I/O口上,当添加光电耦合器后,由光电耦合器控制传感器的电源,每检测到一个脉冲,在中断服务子程序里立即关闭传感器电源,正常情况因为传感器的输出关闭,输出应该变为高电平,这时马上再检测输入端的信号,如果此时输入变为高电平,说明当前检测到的脉冲确实是车轮滚动产生的,是真实的计数输入,累计加一。但如果检测到输入继续为低电平,只能说明有额外的低电平脉冲加载在传感器的输出端,是作弊,系统不进行累加,防止作弊。
3.4掉电存储电路设计
3.4.1 AT24C02芯片介绍
AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过I2C总线接口进行操作,有一个专门的写保护功能。AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。
AT24C02引脚说明: A0 :器件选择地址
1234D?A0A1A2GNDAT24C02VCCWPSCLSDA8765图3.8 AT24C02 芯片
11
本科生毕业设计(论文)
A1 :器件选择地址 A2 :器件选择地址 SCL:串行时钟 SDA:串行地址/数据 WP:写保护
VCC:+1.8—6V电源 VSS:接地
3.4.2 I2C总线接口介绍
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C串行总线有两根信号线:一根双向的数据线SDA;另一根是时钟线SCL。所有接到I2C总线上的设备的串行数据都接到总线的SDA线,各设备的时钟线SCL接到总线的SCL,是一种用于IC器件之间连接的双向二线制总线,所谓总线它上面可以挂多少器件,并且通过两根线连接,占用空间非常的小,总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。它的另一优点是多主控,只要能够进行接收和发送的设备都可以成为主控制器,当然多个主控不能同一时间工作。 I2C总线按字节传输,即每次传输8bits二进制数据,传输完毕后等待接收端的应答信号ACK,收到应答信号后再传输下一字节。等不到ACK信号后,传输终止。空闲情况下,SCL和SDA都处于高电平状态。I2C总线的两根信号线,SDA(数据线)和SCL(时钟线)。任何时候时钟信号都是由主控器件产生。
I2C 总线实际上已经成为一个国际标准在超过100 种不同的IC 上实现,而且得到超过50 家公司的许可,正因为其简单和应用广泛,因此其功能也越来不满足人们的要求,其速度也从原来的100Kbit/S,增加了快速模式,其速度达400Kbit/S,再后来也增加了高速模式,其速度更达3.4Mbit/S。
I2C总线在传送数据的过程中,主要有三种控制信号:起始信号,结束信号,应答信号。
起始信号:当SCL为高电平时,SDA由高电平转为低电平时,开始传送数据。
结束信号:当SCL为高电平时,SDA由低电平转为高电平时,结束数据传送。
应答信号:接收数据的器件在接收到8bit数据后,向发送数据的器件发出低电平信号,表示已收到数据。这个信号可以是主控器件发出,也可以是从动器件发出,总之由接收数据的器件发出。
12
本科生毕业设计(论文)
3.4.3 掉电存储电路
当用户每次通过出租车计价器更改数据的时候,应该把更改后的数据保存,这样不用断电时候都要重新进行基本信息的设置,这就是掉电保护模块的作用。可以进行存储的芯片有很多种,在这个设计中采用了AT24C02这款芯片。
VCCU41234A0A1A2GNDAT24C02R144k7R154k7VCCWPSCLSDA8765P10P11VCC图3.9 掉电存储电路
在掉电存储电路中R14、R15是上拉电阻,其作用是减少AT24C02的静态功耗,由于 AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线 SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。利用器件对单片机系统的一些数据进行保护。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。
3.5实时时钟电路
方案一:采用单片机内部的晶振来产生脉冲,然后通过单片机内部的计时器经过分频产生秒脉冲,然后通过软件编程来实现时钟的显示,但是这种方案需由软件编程来实现秒脉冲的产生。
方案二:采用实时时钟芯片DS1302,将电路的控制部分和计时部分分开,电路的控制部分为单片机,计时部分为1302时间芯片。1302芯片是独立计时,
13
本科生毕业设计(论文)
并且具有掉电保护功能,内部自带锂电池,能够在断电的情况下继续计时,主电路恢复供电之后能够不必调整时间,为时钟的日常操作省去了很大的麻烦。
由于方案一编程相对来说比较复杂,而且也不利于排故。同时占用系统资源,影响系统运行速度,综合考虑选择方案二。
3.5.1 DS1302芯片介绍
DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302的引脚中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向), SCLK为时钟输入端。DS1302芯片如图3.10所示。
U3752SCLKRSTX1DS1302图3.10 DS1302芯片
IOX263其引脚功能如下:
VCC1、VCC2:在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由VCC1供电。
X、X2:振荡源,外接32.768kHz晶振。
14
本科生毕业设计(论文)
RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。
SCLK始终是输入端。
I/O为串行数据输入输出端(双向)。 INH:GND外接电源地。
3.5.2实时时钟电路
计价器在出租车空车行驶时需要显示实时时钟,因为它的时钟作为白天/晚上单价自动转换的一个基准,且计价器的时钟显示能为司机和乘客提供方便。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,采用SPI三线接口与CPU进行同步通信;始终可提供秒、分、时、日、星期、月和年;通过设置DS1302的控制/状态寄存器选择日历,时钟方式经过初始校准后即可工作使用;工作电压宽2.5~5.5 V,采用双电源供电(主电源和备用电源),并设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力,在没有主电源的情况下启用备用电源能保存时间信息及数据。时钟芯片电路如图3.11所示。
U3P347P3552SCLKRSTX1DS1302Y2IOX263P3632.768MHZ图 3.11 实时时钟电路 DS1302与单片机的连接也仅需要3条线:CE 引脚、 SCLK 串行时钟引脚、I/O 串行数据引脚,Vcc2为备用电源,外接 32.768kHz 晶振,为芯片提供计时脉冲。DS1302工作时为了对任何数据传送进行初始化,需要将复位引脚(RST)置为高电平且将信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字转入移位寄存器后,在之后的时钟周期,读操作是输出数据,写操作是输出数据。
15
本科生毕业设计(论文)
3.6按键电路的设计
方案一:使用触摸屏作为控制输入。 方案二:使用矩阵或独立按键作为控制输入。
出于成本,和专用性的考虑本系统选用方案二的独立按键作为输入。矩阵键盘扫描时需要较长的时间,因此利用两个独立按键作为系统开始与结束的按键,运用比较方便。按键电路如图3.12所示。
S1VCCR8R9R10R114.7K4.7K4.7K4.7K
P00SW-PBS2P01SW-PBS3SW-PBS4SW-PB P02
P03图3.12按键电路 本设计设计了4个按键,在独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。如I/O口内部有上拉电阻时,外部可不接上拉电阻。
S1:接P0.0口,系统启动/停止。 S2:接P0.1口,单价调整键(增大)。 S3:接P0.2口,单价调整键(减小)。 S4:接P0.3口,系统复位键。
3.7语音提示电路设计
方案一:采用APR9600音乐芯片实现该功能,APR9600通过串行工作方式分别录入语音段,然后用串行选段控制方式播放语音段,控制方式是每次给M2一个低电平,芯片地址指向下一段语音,而当给M1一个低电平时,播放当前段
16
本科生毕业设计(论文)
语音,通过控制M2和M1即可实现语音播放。
方案二:采用ISD2560语音芯片实现,ISD2560通过地址方式在相应地址分别存入若干段语音,再经单片机按需要调用各段语音,控制方式为单片机通过口线选通所需地址,然后触发芯片的片选端,即可播放语音。
由于语音报价主要是播放金额的数字,每个数字都要分别存为一段语音,所以导致所需存储的语音段较多,这时如果采用APR9600芯片,由于选段需要提供M2低电平,选到后面的段时,需要很多个低电平才能选到,在实际应用中应会造成不小的延时,对语音播放的效果造成影响,而采用ISD2560时,由于采用地址方式选段,不存在上述问题,所以语音段之间的延时非常小,由此比较决定,采用方案二实现语音功能。
3.7.1 ISD2560语音芯片介绍
芯片引脚说明:
电源(VCCA,VCCD)芯片内部的模拟和数字电路使用不同的电源总线,并且分别引到外封装上,这样可使口若悬河最小。芯片内部的模拟和数字电路使用不同的电源总线,并且分别引到外封装上,这样可使口若悬河最小。模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近芯片。
地线(VSSA,VSSD)芯片内部的模拟和数字也可使用不同的地线。 节电控制(PD)本端拉高使芯片停止工作, 进入不耗电的节电状态,芯片发生溢出,即/OVF端输出低电平后,要将本端短暂变高复位芯片,才能使之再次工作。
1234567891011121314A0VCCDA1P/RA2XCLKA3EOMA4PDA5CEA6VOFA7ANA/OUTA8ANA/INA9AGCAUX INMICREFVSSDMICVSSAVCCASP+SP-ISD25602827262524232321201918171615图3.13 ISD2560芯片 17
本科生毕业设计(论文)
片选(/CE)本端变低后(而且PD为低),允许进行录放操作。芯片在本端的下降沿锁存地直线和P/-R端的状态。
录放模式(P/-R)本端状态在/CE的下降沿锁存。高电平选择放音,低电平选择录音。录音时,由地址端提供起始地址,录音持续到/CE或PD变高,或内存溢出;如果是前一种情况,芯片自动在录音结束处写入EOM标志。放音时由地址端提供起始地址,放音持续到EOM标志。如果/CE一直为低,或芯片工作在某些操作模式,放音会忽略EOM,继续进行下去。
信息结尾标志(/EOM) EOM标志在录音时由芯片自动插入到该信息的结尾。放音遇到EOM时,本端输出低电平脉冲。芯片内部会检测电源电压以维护信息的完整性,当电压低于3.5V时,本端变低,芯片只能放音。
溢出标志(/OVF)芯片处于存储空间末尾时本端输出低电平脉冲表示溢出,之后本端状态跟随/CE端的状态,直到PD端变高。本端可用于级联。
话筒输入(MIC)本端连至片内前置放大器。片内自动增溢控制电路(AGC)将置增益控制在-15至24dB。外接话筒应通过串联电容耦合到本端。耦合电容值和本端的10KΩ输入阻抗决定了芯片频带的低频截止点。
话筒参考(MIC REF)本端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。
自动增益控制(AGC) AGC动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量(从耳语到喧嚣声)时失真都能保持最小。响应时间取决于本端的5KΩ输入阻抗外接的对地电容(即线路图中C2)的时间常数。释放是境取决于本端外接的并联对地电容和电阻(即线路图中R2和C2)的时间常数。470KΩ和4.7uF的标称值在绝大多数场合下可获得满意的效果。 模拟输入(ANA IN )本端为芯片录音信号输出.对话筒输入来说ANA OUT端应通过外接电容连至本端.该电容和本端的3KΩ输入阻抗给出了芯片频带的附加低端截止频率.其它音源可通过交流耦合直接连至本端(绕过了TER的前置)。 喇叭输出(SP+、SP-)过对输出端级驱动16Ω以上的喇叭(内存放音时功率为12.2mW,AUX IN 放音时功率为50mW).单端使用时必须在输出端和喇叭间接耦合电容,而双端输出既不用电容又不能将功率提高至4倍.录音和节电模式下,它们保持为低电平.注意:多个芯片的喇叭输出端绝对不能并联,否则可能损坏芯片!不用的喇叭输出端绝对不能接地。
辅助输入(AUX IN)当/CE和P/-R为高,放音不进行,或处入放音溢出状态时,本端的输入信号过内部功放驱动喇叭输出端.当多个2500芯片级联时,后级的喇叭输出通过本端连接到本级的输出放大器,为防止噪声,建议在放内存信息时,本端不要有驱动信号。
18
本科生毕业设计(论文)
外部时钟(XCLK)本端内部有下拉元件,不用时应接地。芯片内部的采样时钟在出厂前已调节器校,误差地+1%内.商业级芯片在整个温度和电压范围内,频率变化在+2.25%内.工业级芯片在整个温度和电压范围内,频率变化在+5%内,建议使用稳压电源。若要求更高精度或系统同步,可从本端输入外部时钟,频率如表2~3“外部钟频”所示。由于内部的防混淆及增滑滤波器已设定,故上述推荐的时钟频率不应改京戏。输入时钟的占空比无关紧要,因内部首先了进行分频。 地址/模式输入(AX/MX)地址端有个作用,取决于最高两位(MSB,即2532/2548的A7和A8,或2560/2590/25120的A8和A9)的状态。当最高两位中有一个为0时,所有输入均解释为地址位,作为当前录入操作的起始地址。地址端只作输入,不输出操作过程中的内部地址信息。地址在/CE的下降沿锁存。
ISD2560系列内置了若干操作模式,可用最少的外围器件实现最多的功能。操作模式也由地址端控制;当最高两位都为1时,其它地址端置高就选择某个(或某几个)模式。因此操作模式和直接寻址相互排斥。操作模式可由微控制器也可由硬件实现。使用操作模式有两点要注意:(1)所有操作最初都是从0地址,即存储空间的起始端开始。后续操作根据选用的模式可从其它地址开始。但是,电路由录转为放,或由放转为录时(M6模式除外),或执行了掉电周期后,地址计数器复位为0。(2)当/CE变低,最高两地址位同高时,执行操作模式。这种操作模式一直有效,除非/CE再次由高变低,芯片重新锁存当前的地址/模式端电平,然后执行相应操作。
表3.1 操作模式对应表
模式 M1 M2 功能 信息检索 删除WOM 典型应用 快进入信息 可组合使用的模式 M4、M5、M6 最后一条信息结束处放EOM M3、M4、M5、M6 5 M3 M4 M5 M6 循环 连续寻址 从0地址连续放音 录放连续的多段信息 允许暂停 简化外围电路 M1、M5、M6 M0、M1、M5 M0、M1、M3、M4 M0、M1、M3 CE电平有效 按键模式
19
本科生毕业设计(论文)
3.7.2语音电路的设计
为实现语音报价功能,决定采用一块语音芯片录入若干段语音,然后用单片机通过组合方式实现语音报价。
U31234567891011121314A0VCCDA1P/RA2XCLKA3EOMA4PDA5CEA6VOFA7ANA/OUTA8ANA/INA9AGCAUX INMICREFVSSDMICVSSAVCCASP+SP-ISD25602827262524232321201918171615C822UFP12P13P14P15P16R125.1KC922UFC100.1UFC13MK122UFC12MICROPHONE222UFR310KR13C14R1340KVCCC1147UF10K220UFLS2SPEAKER
图3.14 语音电路
ISD2560的单段录放电路非常简单,单段使用时全部地址线接地,录音时置P/R端为低,同时使CE端的片选端始终为低,即开始录音,在设置固定时间或芯片录满时自动停止。放音时置P/R端为高,置低CE端的片选键,即开始放音, 将PD端置低或放音结束时自动停止。
3.8显示电路设计
方案一 :采用液晶显示器(LCD)显示。液晶屏功能强大,可显示各种字体的数字、汉字、图像,还可以自定义显示内容,显示内容也较丰富;方便操作者读取信息及一些扩展功能的实现。占用系统IO口较少,有效地节约系统资源,使整个系统更加人性化。
方案二 :采用LED数码管显示。数码管具有编程简单,夜间显示效果好,但只能显示有限的符号和数码字,而且显示内容有限。能完成题目中的基本要求,如果还要增加具体功能的提示,则比较难实现。
综合考虑采用方案一。
20
本科生毕业设计(论文)
3.8.1液晶显示原理及特点
LCD显示器的原文是Liquid Crystal Display,其工作原理就是利用液晶的物理特性:通电时排列变得有序,使光线容易通过;不通电时排列混乱,阻止光线通过,说简单点就是让液晶如闸门般地阻隔或让光线穿透。
液晶显示是一种极低功耗的显示器件。在袖珍式仪表或低功耗应用系统中使用较大。它是在上、下玻璃电极之间封入向列型液晶材料,根据需要,将电极做成各种文字、数字、图形,就可以获得各种状态显示。液晶显示器的驱动方式一般有静态驱动和时分割驱动方式两种。各种的显示模块可以用于不同的地方,如:笔端型可以用来显示汉字。
LCD的优点主要包括零辐射、低功耗、散热小、体积小、图像还原精确、字符显示锐利等,而且液晶的功耗和LED比起来要小的多。
由于在这里需要在第一界面显示日期,时间,星期等信息,本来可以选择带有字库,可以显示汉字的MzLH01-12864。但是最后由于定元件以及价位的原因最终选择了LCD1602这款液晶显示芯片。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
下面是LCD1602的基本参数和各个引脚的功能,必须根据下面的参数来设计显示电路的原理图。
LCD1602的基本参数及各引脚功能见表3.2。
表3.2 LCD1602主参数
LDE1602显示容量 芯片工作电压 芯片工作电流C 最佳工作电压 字符尺寸 16*2个字符 4.5-5.5V 2.0MA(5V) 5V 2.95*4.35(WXH)mm
LCD1602引脚说明: VSS:电源地 VDD:电源
VL:液晶显示偏压信号
21
本科生毕业设计(论文)
RS:数据命令选择端 R/W:读写数据端 E:使能信号 BL+: BL- :
3.8.2 LCD1602显示电路
图3.15 LED显示电路
VCCR6P04P05P06P20P21P22P23P24P25P26P27100VCCR510k12345678910111213141516LS2VSSVDDVORSR/WED0D1D2D3D4D5D6D7BL+BL-LCD1602
此模块电路电源电压为5V,由接口VCC引入,上电后可看到发光二极管被点亮。数据端8位分别由单片机的P2的 I/O口与其线连接,3个控制端口分别有P04-P06端口来控制,8位双向数据线7-14与单片机的P2端口相连,实现液晶与单片机的通信。液晶对比度通过LCD1602的第三脚接可调电阻来提供可调。
22
本科生毕业设计(论文)
第4章 系统软件的设计
4.1 系统总体程序流程图
本系统使用AT89S52作为控制的单片机芯片,软件设计主要分为系统初始化、里程计数中断、掉电存储、实时时钟、键盘服务、语音提示等软件部分.每个功能模块对于整体设计都是非常重要的,单片机AT89S52通过软件程序才能很好的对外部的信息进行采集、分析和决策。系统的主程序流程图如图4.1所示。在主程序模块中,需要完成对各接口芯片的初始化,出租车单价的初始化,中断向量的设计以及中断处理,循环等待等工作,还需判断当前时间自动切换夜间或是白天模式。当按下计价开关时,就启动计价,单片机根据里程寄存器中的内容计算和判断出行驶里程是否已超过起步价公里数(2.5公里)。主程序流程如图4.1所示。
4.2 里程计数中断
中断计数一次代表车轮转动1圈,每当霍尔传感器输出一个低电平信号就使单片机中断一次,计数值加一,程序根据计数值和车轮周长计算出里程数,然后程序又根据里程数和单价计算出总价。最后将结果送LCD显示。当单片机处在计价状态下时,片内的T0 定时器便被启动。如果霍尔开关在规定的时间内没有输出信号,就对当前金额加上中途等待的单价(假设中途等待1分钟按1.2元计价)。当霍尔传感器重新有信号输出的时候,就自动切换到正常的计价,并把之前不足一分钟的计时清零。里程中断程序流程图如图4.2,里程中断程序如下:
void t0(void) interrupt 1 using 0 { EA = 0; count1++; if(count1 == 10) { count1 = 0;
x=x+0.9; y=y+1; } EA = 1;}
23
本科生毕业设计(论文)
进入空车状态 N S1按下? Y 根据时间选进入载客状态 择模式 系统初始化 开始 显示时间 Y 读取单价等信息 夜间模式 里程费用计算 N 白天模式
图4.1 主程序流程图 返回 价钱显示 语音提示 24
本科生毕业设计(论文)
图4.2 里程计数中断流程图
返回 够10个脉冲吗 有里程中断吗 启动键是否按下时间显示 开始 Y 启动计价器 N N Y N Y 总里程加1总价加0.9
4.3 实时时钟显示程序设计
1602液晶是字符型液晶,它的内部自带字符库,它可以写两行的字符,同时每行可以写40个字符,在写显示程序的时候,先写命令,再设定字符显示,最后
25
本科生毕业设计(论文)
写数据,在每写一次命令或数据都需要判断液晶是否忙。DS1302驱动程序先将CE置高,在上升沿按位传输地址字,然后再相应的写入或读入地址或数据,再将CE置低,通过读取DS1302的实时时间数据送入LCD1602进行显示。具体程序如下:
unsigned char outputbyte(void) //读DS1302一个字节子程序
{ }
void write_ds1302(unsigned char addr,unsigned char TDat)// 向DS1302某地址写一
字节数据子程序
{
DS1302_RST=0; _nop_(); DS1302_CLK=0; _nop_(); DS1302_RST=1; _nop_(); InputByte(TDat); DS1302_CLK=1; _nop_(); unsigned char i; unsigned ucdat=0; for(i=8;i>0;i--) { }
return(ucdat);
DS1302_IO=1; ucdat>>=1; if(DS1302_IO) DS1302_CLK=1; _nop_(); DS1302_CLK=0;
ucdat|=0x80;
InputByte(addr);
26
本科生毕业设计(论文)
}
DS1302_RST=0;
unsigned char read_ds1302(unsigned char addr)// 读DS1302地址子程序 { unsigned char timedata; DS1302_RST=0; _nop_(); DS1302_CLK=0; _nop_(); DS1302_RST=1; InputByte(addr); timedata=outputbyte(); DS1302_CLK=1; _nop_(); DS1302_RST=0; return timedata;
}
void initial_ds1302() { write_ds1302(0x8e,0x00);
write_ds1302(0x8c,time[0]); write_ds1302(0x88,time[1]); write_ds1302(0x86,time[2]); write_ds1302(0x8A,time[3]); write_ds1302(0x84,time[4]); write_ds1302(0x82,time[5]); write_ds1302(0x80,time[6]); write_ds1302(0x8e,0x80);
}
void read_time() { second=read_ds1302(0x81);
minute=read_ds1302(0x83); //初始化DS1302子程序 //写保护寄存器 //年 //月 //日 //星期 //时 //分 //秒
//写保护寄存器
// 读DS1302时间子程序
//秒寄存器 //分
27
本科生毕业设计(论文)
hour=read_ds1302(0x85); week=read_ds1302(0x8B); day=read_ds1302(0x87); month=read_ds1302(0x89); year=read_ds1302(0x8d);
}
void write_com(uchar com) {
P0=com; rs=0; lcden=0; delay(10); lcden=1; delay(10); lcden=0;
}
void write_date(uchar date) { P0=date; rs=1; lcden=0; delay(10); lcden=1; delay(10); lcden=0; } void init() {
dula=0; wela=0; write_com(0x38);
delay(20); //时 //星期
//日
//月
//年
//液晶读写程序// 28
本科生毕业设计(论文)
} }
write_com(0x0f); delay(20); write_com(0x06); delay(20); write_com(0x01); delay(20);
void time_display() //液晶显示时间程序// {
void write_com(0x80); void write_date(year); void write_com(0x80+5); void write_date(month); void write_com(0x80+8); void write_date(day); void write_com(0x80+11); void write_date(week); }
void main(void) {
initial_ds1302(); while(1) { }
read_time();
//读取时间
time_display(); //显示时间
//初始化DS1302
4.4 掉电存储程序
I2C总线由单片机控制,挂在I2C总线上的设备可以很多个,每个有独立的地址,A0,A1,A2,但单片机发送地址后,该地址的设备就会被激活,向单片机反馈一个应答信号,然后进行该设备的操作任务, AT24C02它是用来存储数据的,具体的操作有发送地址,发送指令,接受数据以及发送数据等等。具体程
29
本科生毕业设计(论文)
序如下:
void delay1(uchar x) //24C02读写驱动程序 { uint i;
for(i=0;i } void x24c02_init() { scl=1; flash(); sda=1; flash(); } void start() { sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash(); } void stop() { sda=0; //24c02初始化子程序 //启动I2C总线 //停止I2C总线 30 flash(); scl=1; flash(); sda=1; flash(); } void writex(uchar j) //写一个字节 { uchar i,temp; temp=j; for (i=0;i<8;i++) { temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash(); } scl=0; flash(); sda=1; flash(); } uchar readx() //读一个字节 { uchar i,k=0; scl=0; flash(); sda=1; for (i=0;i<8;i++) { scl=1; 本科生毕业设计(论文) 31 本科生毕业设计(论文) flash(); scl=0; flash(); } k=(k<<1)|sda; flash(); return(k); } void clock() //I2C总线时钟 { uchar i=0; scl=1; flash(); while((sda==1)&&(i<255)) i++; scl=0; flash(); } uchar x24c02_read(char address) ///从24c02的地址address中读取一个 字节数据 { uchar i; start(); writex(0xa0); clock(); writex(address); clock(); start(); writex(0xa1); clock(); i=readx(); stop(); delay1(50); return(i); 32 本科生毕业设计(论文) } void x24c02_write(uchar address,uchar info) //向24c02的address地址中 写入一字节数据 { EA=0; start(); writex(0xa0); clock(); writex(address); clock(); writex(info); clock(); stop(); EA=1; delay1(50); } void t0(void) interrupt 1 using 0 //定时中断服务函数 { TH0=(65536-50000)/256; //对TH0 TL0赋值 TL0=(65536-50000)%256; //重装计数初值 tcnt++; //每过250ust tcnt加一 if(tcnt==20) / /计满20次(1秒)时 { tcnt=0; //重新再计 sec++; write=1; //1秒写一次24C08 if(sec==100) //定时100秒,在从零开始计时 33 本科生毕业设计(论文) {sec=0;} } } void main() { uchar i; TMOD=0x01; //定时器工作在方式1 ET0=1; EA=1; x24c02_init(); //初始化24C08 sec=x24c02_read(1); //读出保存的数据赋于sec TH0=(65536-50000)/256; //对TH0 TL0赋值 TL0=(65536-50000)%256; //使定时器0.05秒中断一次 TR0=1; //开始计时 while(1) { i=10; while(i--) { } if(write==1) //判断计时器是否计时一秒 display(sec/10,sec%10); { write=0; //清零 x24c02_write(1,sec); //在24c08的地址2中写入数据sec } } 34 本科生毕业设计(论文) 第5章 系统的调试与仿真 Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,它组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。Protel 99SE是ProklTechnology公司开发的基于Windows环境下的电路板设计软件。该软件功能强大,人机界面友好,易学易用,仍然是大中院校电学专业必学课程,同时也是业界人士首选的电路板设计工具。 Protel 99SE 由两大部分组成:电路原理图设计(Advanced Schematic)和多层印刷电路板设计(Advanced PCB)。 经过不断的软硬件调试,电路部分实现了设计之初的设想功能,所用器件也均达到了电路要求。 5.1 实时时间的调试仿真 本设计具有时间的显示功能,能显示年、月、日具有时、分、秒为60进制计数功能等,当无乘客上车时计价器的会显示实时的时间,本仿真系统带有4个按键,当按下按键一时,说明本车无载客,系统会自动返回到时间的显示。以下是硬件电路通过proteus的仿真结果如图5.1所示。 图5.1 空车实时时间显示 35 本科生毕业设计(论文) 5.2 计价显示的调试仿真 本仿真系统以按键来模拟传感器的输出信号,按键二每按下一次表明车轮旋转一周,当车轮旋转10周即按键按下10次时,也就是出租车走行1公里时,LCD1602显示金额自动增加0.9元,如果是夜间模式金额自动增加1.0元,如果期间出现等待,则没等待3分钟,LCD显示的金额会自动增加1.0元。以下是硬件电路通过proteus的仿真结果如图5.2所示 图 5.2 载客金额显示 5.3 性能分析 本设计基本实现了计价器的基本功能,但仍有需要改进的地方。例如显示停车等待时间,当停车等待的时候可以选择超过30秒没有信号输入的时候进入停车等待,同时在LCD1620中出现等待计时,这样可以比较直观的显示计价的结果。同时可以使用中文液晶显示器,显示容量大,人机界面友好。如OCM4X8C,该液晶具有并行、串行两种接线方式,64×128点阵,液晶自带中文字库和半宽字型库,可以显示16×16点阵的字符和汉字,同时提供图形显示功能,还可以自定义汉字显示,但是考虑到系统设计的成本较高,故未采用。 36 本科生毕业设计(论文) 第6章 结论 本系统硬件设计部分以AT89S52单片机作为核心部件,实现了对出租车计费系统的控制。首先通过检测电路检测车轮信号,并转化为脉冲信号供单片机检测,单片机检测到信号进行计算处理,最后单片机通过向I/O口输送高低电平来控制语音提示以及液晶显示。 硬件电路设计和软件程序设计已完成。硬件电路包括:AT89S52单片机最小系统电路、A44E霍尔传感器检测电路、DS1302实时时钟电路、ISD2560语音提示电路、AT24C02掉电存储电路、键盘显示电路以及电源电路。单片机采集并判断路程检测传感器信号,当出租车启动时,单片机检测到霍尔传感器的脉冲信号并进行里程计算。当无乘客时,单片机调用实时时间芯片DS1302 程序和LCD1602显示程序,进行时钟显示;当有乘客上车时,通过DS1302获取时间信息分辨白天/ 晚上,然后调用AT24C02 程序获取白天/ 晚上的单价及起始价,便开始计价并显示时间、里程和金额等信息;当乘客下车时,单片机将营运数据信息存储到AT24C02 中,等待出租车再次启动后单次金额与里程等信息清零复位, 就此完成一次计价。软件部分采用C语言编写,包括了里程中断的设计、实时时钟显示程序、掉电存储程序、语音播报程序的设计等。通过软硬件的相互配合,最终完成出租车计价器的整体设计。 所设计的基于单片机的出租车计费系统的总体方案是可行的,能实现预期的结果,即所设计的系统实现了实时显示、自动计价、语音提示等控制功能。本设计具有使用方便、经济实惠、工作可靠、功能强大等特点。 37 本科生毕业设计(论文) 参考文献 [1] 张毅刚,彭喜元.单片机原理与应用设计[M].北京:电子工业出版社,2010. [2] 郁又文,常键,程继红.传感器原理及工程应用[M].西安:西安电子科技大学 出版社,2008. [3] 陈明荧.8051单片机课程设计实训教材[M].北京:清华大学出版社,2004 [4] 戴 佳.51单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社,2007 [5] 阎 石.数字电子技术基础[M].北京:高等教育出版社,2009 [6] 何俊池,张婷婷,裴文龙.基于AT89S51的出租车计费系统[J].科技致富向导,2011(21):13-15. [7] 陈爱文.基于89C51单片机的多功能出租车计价器[J].机电工程技术,2008,37 (11):67-69. [8] 袁艺林,韩云东,宫崇阳,魏腾飞.利用89S51单片机的出租车计价器[J].电脑编 程与维护,2011(9):19-23. [9] 吴鹏,陈晓东.基于IC卡的出租车管理系统[J].青岛科技大学学报(自然科学 版),2006 ,27(3):261-263. [10] 谈卫东.IC卡系统在出租车上的应用[J].电子质量,2008(7):65-68. [11] 徐兵.时钟日历芯片DS3102在出租车计价器中的应用[J].中国计量,2010(9). [12] 赵长德,李华,李东.单片机原理与应用[M].北京:机械工业出版社,2006. [13] 胡全. 51单片机的数码管动态显示技术[J].中国新技术新产品, 2009(13). [14] 何立民.MCS-51单片机应用系统设计技术[M].北京:北京航天航空大学出版社,2005 [15]黑杰克.Protel Schematic 99SE电路设计[M].北京:科学出版社,2010 [16]阎石.数字电子技术基础[M].北京:北京:高等教育出版社,2007 [17]华成英,童诗白.模拟电子技术基础[M].北京:高等教育出版社,2006 [18]陈伟宏.基于单片机的多功能出租车计价器的设计—现代电子技术2008,31(16) [19] 路国庆,赵晓博,胡立强.脉冲检测方法的霍尔传感器在里程表中的应用[J ] . 机 械设计与制造,2009(1) :87-89 [20] 王晓君.MCS-51及兼容单片机原理与选型[M].北京:电子工业出版社,2005 [21] 张大明.单片机控制实训指导及综合应用实例[M]. 北京:机械工业出版社, 38 本科生毕业设计(论文) 2007.3 [22] 胡文金.单片机应用技术实训教程. 重庆:重庆大学出版社,2005.2 [23] Kiyoshi Fujii,Hiroshi Fujimoto,Makoto Kamachi,Experimental. Verification of Traction Control for Electric Vehicle Based on Slip Ratio Estimation without Vehicle Speed Detection. Review of Automotive Engineering, 2008, 29(3) [24] Volmer, M,Neamtu, J. Micromagnetic characterization of a rotation sensor based on the planar Hall. B, Condensed Matter, 2008, 403(2/3) 39 本科生毕业设计(论文) 致谢 在本文完稿之际,向吕娓老师表示最诚挚的感谢! 本文的工作是在导师的悉心指导下完成的,从论文的选题,开题,思路的分析,以及到论文的撰写,审阅,都积聚了导师的心血。在整个的设计过程中,关老师对我们热心指导、严格要求,在选题、系统总体设计与技术方案上,给予宝贵的建议,帮助我建立了正确的设计思想,保证了课题的研究和开发工作的顺利完成。 最后,再次对在毕设中给我们提供帮助的老师和同学表示真挚的谢意! 40 本科生毕业设计(论文) 附录Ⅰ 中英文资料 英文部分:1SCM is also known as micro-controller (Microcontroller Unit), commonly used letters of the acronym MCU MCU that it was first used in industrial control. Only a single chip by the CPU chip developed from a dedicated processor. The first design is by a large number of peripherals and CPU on a chip in the computer system, smaller, more easily integrated into a complex and demanding on the volume control device which. INTEL's Z80 is the first designed in accordance with this idea processor, then on the development of microcontroller and dedicated processors have parted ways. Are 8-bit microcontroller early or 4 bits. One of the most successful is the INTEL 8031, for a simple, reliable and good performance was a lot of praise. Then developed in 8031 out of MCS51 MCU Systems. SCM systems based on this system until now is still widely used. With the increased requirements of industrial control field, began a 16-bit microcontroller, because the cost is not satisfactory but have not been very widely used. After 90 years with the great development of consumer electronics, microcontroller technology has been a huge increase. With INTEL i960 series, especially the later series of widely used ARM, 32-bit microcontroller quickly replace high-end 16-bit MCU status and enter the mainstream market. The traditional 8-bit microcontroller performance have been the rapid increase capacity increase compared to 80 the number of times. Currently, high-end 32-bit microcontroller clocked over 300MHz, the performance catching the mid-90's dedicated processor, while the average model prices fall to one U.S. dollars, the most high-end [1] model only 10 dollars. Modern SCM systems are no longer only in the development and use of bare metal environment, a large number of proprietary embedded operating system is widely used in the full range of SCM. The handheld computers and cell phones as the core processing of high-end microcontroller can even use a dedicated Windows and Linux operating systems. An one-chip computer system is made up of several following parts: ( 1) One microprocessor of 8 (CPU). ( 2) At slice data memory RAM (128B/256B),it use not depositting not can reading /data that write, such as result not middle of operation, final result and data wanted to show, etc. ( 3) Procedure memory ROM/EPROM 41 本科生毕业设计(论文) (4KB/8KB ), is used to preserve the procedure , some initial data and form in slice. But does not take ROM/EPROM within some one-chip computers, such as 8031 , 8032, 80C ,etc.. ( 4) Four 8 run side by side I/O interface P0 four P3, each mouth can use as introduction , may use as exporting too. ( 5) Two timer / counter, each timer / counter may set up and count in the way, used to count to the external incident, can set up into a timing way too, and can according to count or result of timing realize the control of the computer. ( 6) Five cut off cutting off the control system of the source . ( 7) One all duplexing serial I/O mouth of UART (universal asynchronous receiver/transmitter (UART) ), is it realize one-chip computer or one-chip computer and serial communication of computer to use for. ( 8) Stretch oscillator and clock produce circuit, quartz crystal finely tune electric capacity need outer. Allow oscillation frequency as 12 megahertas now at most. Every the above-mentioned part was joined through the inside data bus .Among them, CPU is a core of the one-chip computer, it is the control of the computer and command centre, made up of such parts as arithmetic unit and controller , etc.. The arithmetic unit can carry on 8 persons of arithmetic operation and unit ALU of logic operation while including one, the 1 storing device temporarilies of 8, storing device 2 temporarily, 8's accumulation device ACC, register B and procedure state register PSW, etc. Person who accumulate ACC count by 2 input ends entered of checking etc. temporarily as one operation often, come from person who store 1 operation is it is it make operation to go on to count temporarily , operation result and loopback ACC with another one. In addition, ACC is often regarded as the transfer station of data transmission on 8051 inside . The same as general microprocessor, it is the busiest register. Help remembering that agreeing with A expresses in the order. The controller includes the procedure counter , the order is depositted, the order decipher, the oscillator and timing circuit, etc. The procedure counter is made up of counter of 8 for two, amounts to 16. It is a byte address counter of the procedure in fact, the content is the next IA that will carried out in PC. The content which changes it can change the direction that the procedure carries out . Shake the circuit in 8051 one-chip computers, only need outer quartz crystal and frequency to finely tune the electric capacity, its frequency range is its 12MHZ of 1.2MHZ. This pulse signal, as 8051 basic beats of working, namely the minimum unit of time. 8051 is the same as other computers, the work in harmony under the control of the basic beat, just like an orchestra according to the beat play that is commanded. There are ROM (procedure memory , can only read ) and RAM in 8051 slices 42 本科生毕业设计(论文) (data memory, can is it can write ) two to read, they have each independent memory address space, dispose way to be the same with general memory of computer. Procedure 8051 memory and 8751 slice procedure memory capacity 4KB, address begin from 0000H, used for preserving the procedure and form constant. Data 8051- 8751 8031 of memory data memory 128B, address false 00FH, use for middle result to deposit operation, the data are stored temporarily and the data are buffered etc.. In RAM of this 128B, there is unit of 32 byteses that can be appointed as the job register, this and general microprocessor is different, 8051 slice RAM and job register rank one formation the same to arrange the location. It is not very the same that the memory of MCS-51 series one-chip computer and general computer disposes the way in addition. General computer for first address space, ROM and RAM can arrange in different space within the range of this address at will, namely the addresses of ROM and RAM, with distributing different address space in a formation. While visiting the memory, corresponding and only an address Memory unit, can ROM, it can be RAM too, and by visiting the order similarly. This kind of memory structure is called the structure of Princeton. 8051 memories are divided into procedure memory space and data memory space on the physics structure, there are four memory spaces in all: The procedure stores in one and data memory space outside data memory and one in procedure memory space and one outside one, the structure forms of this kind of procedure device and data memory separated form data memory, called Harvard structure. But use the angle from users, 8051 memory address space is divided into three kinds: (1) In the slice, arrange blocks of FFFFH , 0000H of location , in unison outside the slice (use 16 addresses). (2) The data memory address space outside one of 64KB, the address is arranged from 0000H 64KB FFFFH (with 16 addresses ) too to the location. (3) Data memory address space of 256B (use 8 addresses). Three above-mentioned memory space addresses overlap, for distinguishing and designing the order symbol of different data transmission in the instruction system of 8051: CPU visit slice, ROM order spend MOVC , visit block RAM order uses MOVX outside the slice, RAM order uses MOV to visit in slice. 8051 one-chip computer have four 8 walk abreast I/O port, call P0, P1, P2 and P3. Each port is 8 accurate two-way mouths, accounts for 32 pins altogether. Every one I/O line can be used as introduction and exported independently. Each port includes a latch (namely special function register ), one exports the driver and a introduction buffer . Make data can latch when outputting, data can buffer when making 43 本科生毕业设计(论文) introduction , but four function of passway these self-same. Expand among the system of memory outside having slice, four port these may serve as accurate two-way mouth of I/O in common use. Expand among the system of memory outside having slice, P2 mouth see high 8 address off; P0 mouth is a two-way bus, send the introduction of 8 low addresses and data / export in timesharing Output grade , P3 of mouth , P1 of P1 , connect with inside have load resistance of drawing , every one of they can drive 4 Model LS TTL load to output. As while inputting the mouth, any TTL or NMOS circuit can drive P1 of 8051 one-chip computers as P3 mouth in a normal way . Because draw resistance on output grade of them have, can open a way collector too or drain-source resistance is it urge to open a way, do not need to have the resistance of drawing outerly . Mouths are all accurate two-way mouths too. When the conduct is input, must write the corresponding port latch with 1 first . As to 80C51 one-chip computer, port can only offer milliampere of output electric currents, is it output mouth go when urging one ordinary basing of transistor to regard as, should contact a resistance among the port and transistor base , in order to the electricity while restraining the high level from exporting P1~P3 Being restored to the throne is the operation of initializing of an one-chip computer. Its main function is to turn PC into 0000H initially , make the one-chip computer begin to hold the conduct procedure from unit 0000H. Except that the ones that enter the system are initialized normally,as because procedure operate it make mistakes or operate there aren't mistake, in order to extricate oneself from a predicament , need to be pressed and restored to the throne the key restarting too. It is an input end which is restored to the throne the signal in 8051 China RST pin. Restore to the throne signal high level effective , should sustain 24 shake cycle (namely 2 machine cycles ) the above its effective times. If 6 of frequency of utilization brilliant to shake, restore to the throne signal duration should exceed 4 delicate to finish restoring to the throne and operating. Produce the logic picture of circuit which is restored to the throne the signal: The CPU is the key component of a digital computer. Its purpose is to decode instruction received from memory and perform transfers, arithmetic, logic, and control operations with data stored in internal registers, memory, or I/O interface units. Externally, the CPU provides one or more buses for transferring instructions, data, and control information to and from components connected to it. A microcontroller is present in the keyboard and in the monitor in the generic computer; thus these components are also shaded. In such microcontrollers, the CPU may be quite different 44 本科生毕业设计(论文) from those discussed in this chapter. The word lengths may be short, the number of registers small, and the instruction sets limited. Performance, relatively speaking, is poor, but adequate for the task. Most important, the cost of these microcontrollers is very low, making their use cost effective. SCM is more suitable than the specific processor used in embedded systems, so it was up to the application. In fact the number of SCM is the world's largest computer. Modern human life used in almost every piece of electronic and mechanical products will be integrated single chip. Phone, telephone, calculator, home appliances, electronic toys, handheld computers and computer accessories such as a mouse with a 1-2 in both the Department of SCM. Personal computer will have a large number of SCM in the work. General car with more than 40 SCM, complex industrial control systems may even have hundreds of SCM in the same time work! SCM is not only far exceeds the number of PC and other computing the sum, or even more than the number of human beings Single chip, also known as single-chip microcontroller, it is not complete a certain logic chips, but to a computer system integrated into a chip. Equivalent to a micro-computer, and computer than just the lack of a microcontroller I / O devices. General talk: a chip becomes a computer. Its small size, light weight, cheap, for the study, application and development of facilities provided. At the same time, learning to use the MCU is to understand the principle and structure of the computer the best choice. SCM and the computer functions internally with similar modules, such as CPU, memory, parallel bus, the same effect as well, and hard disk memory devices, and different is its performance of these components were relatively weak many of our home computer, but the price is low , usually not more than 10 yuan you can do with it ...... some control for a class is not very complicated electrical work is enough of. We are using automatic drum washing machine, smoke hood, VCD and so on appliances which could see its shadow! ...... It is primarily as a control section of the core components. It is an online real-time control computer, control-line is that the scene is needed is a stronger anti-jamming ability, low cost, and this is, and off-line computer (such as home PC), the main difference. Single chip MCU is through running, and can be modified. Through different procedures to 45 本科生毕业设计(论文) achieve different functions, in particular special unique features, this is another device much effort needs to be done, some great efforts are very difficult to do. A not very complex functions if the 50's with the United States developed 74 series, or the 60's CD4000 series of these pure hardware buttoned, then the circuit must be a large PCB board! But if the United States if the 70's with a series of successful SCM market, the result will be a drastic change! Just because you are prepared by microcomputer programs can achieve high intelligence, high efficiency and high reliability! As the microcontroller on the cost-sensitive, so now the dominant software or the lowest level assembly language, which is the lowest level in addition to more than binary machine code language, and as so low why is the use? Many high-level language has reached the level of visual programming Why is not it? The reason is simply that there is no home computer as a single chip CPU, not as hard as a mass storage device. A visualization of small high-level language program which even if only one button, will reach tens of K of size! For the home PC's hard drive in terms of nothing, but in terms of the MCU is not acceptable. SCM in the utilization of hardware resources to be very high for the job so although the original is still in the compilation of a lot of use. The same token, if the giant computer operating system and applications run up to get home PC, home PC, also can not afford to. Can be said that the twentieth century across the three \"power\" era, that is, the age of electricity, the electronic age and has entered into the computer age. However, this computer, usually refers to the personal computer, referred to as PC. It consists of the host, keyboard, monitor and other components. Another type of computer, most people do not know how. This computer is to give all kinds of intelligent machines single chip (also known as micro-controller). As the name suggests, this computer system took only a minimal integrated circuit, can be a simple operation and control. Because it is small, usually hidden in the charged mechanical \"stomach\" in. It is in the device, like the human brain plays a role, it goes wrong, the whole plant was paralyzed. Now, this microcontroller has a very broad field of use, such as smart meters, real-time industrial control, communications equipment, navigation systems, and household appliances. Once all kinds of products were using SCM, can serve to upgrade the effectiveness of products, often in the product name preceded by the adjective - \"intelligent,\" such as intelligent washing machines. Now some technical personnel of factories or other amateur electronics developers to engage in out of certain products, not the circuit is too complicated, that function is too simple and can easily be copied. The reason may 46 本科生毕业设计(论文) be stuck in the product did not use a microcontroller or other programmable logic device. SCM now permeate all areas of our lives, which is almost difficult to find traces of the field without SCM. Missile navigation equipment, aircraft, all types of instrument control, computer network communications and data transmission, industrial automation, real-time process control and data processing, extensive use of various smart IC card, civilian luxury car security system, video recorder, camera, fully automatic washing machine control, and program-controlled toys, electronic pet, etc., which are inseparable from the microcontroller. Not to mention the area of robot control, intelligent instruments, medical equipment was. Therefore, the MCU learning, development and application of the large number of computer applications and intelligent control of the scientists, engineers. 中文部分:单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这 种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 一个单片机的系统是由以下几部分组成:(1)一个8位CPU微处理器。(2)静态随机存取存储器,能够储存程序运行过程中产生的数据。(3)程序存储器ROM 47 本科生毕业设计(论文) / EPROM中(4KB/8KB),用来保存程序和一些初始数据。但是在一些单片机中不使用ROM / EPROM中,如8031,8032,80c系列等。(4)4个8排的I / O并行接口P0 ~P3,每个口可以用作输入,也可以用作输出。(5)2个定时器/计数器,每个定时器/计数器可设置计数用来计数外部事件,可以设置成常用的定时方式,并可以根据计算或结果控制单片机的运行。(6)五个中断源控制系统。(7)1个双向串行I / O口的UART(通用异步接收器/发送器UART),用于实现单片机的串行通信。(8)振荡器和时钟产生电路,需要外部电源的石英晶体微调电路,允许接在12v的振荡频率上。上述部分通过内部数据总线连接。其中,CPU是单片机的核心,它是单片机的控制和指挥中心,ALU算数逻辑运算单元可进行算术运算和逻辑运算,由1个 8暂时存储器,和2个 8位的累加器组成。Acc累加器是ALU运算结果的存放单元,一般数据通过它来传送。此外,Acc往往被视为对8051内的数据传输中转站。和通常的微处理器一样,它是最繁忙的寄存器。有记忆功能并执行命令。该控制器包括程序计数器,可读写的存储器,振荡器和定时电路等。该程序计数器是有两对8或16位计数器,它是一个字节地址计数器,在个人电脑运行程序时,执行下一个单元的内容,程序执行时可以改变它的内容从而改变运行的结果。在8051芯片震荡电路中,需要外接石英晶体和微调电容,其频率范围为1.2MHz—12MHz。该脉冲信号,即为8051的工作周期,是最小的时间单位。8051和其他单片机一样,都有相同的控制和功能,就像乐队也有打击乐器一样。 在8051中有ROM(程序存储器,只能读取),和RAM(数据存储器,可以读和写),他们有各自独立的内存地址空间,也有相同的处理方式。8051和8751的程序存储器的存储容量为4KB,地址从0000H开始,在使用过程中其中的数据不变。8051、8751、8031数据存储器的内存为128B,默认地址是00FH,用于保存中间数据和缓存。在这128B的内存中,有32 byteses,被称作工作寄存器,和常用的微处理器不同的是,8051的RAM是按功能来划分模块的。MCS - 51系列单片机和一般电脑的处理方式不同。一般电脑会自动分配地址空间,ROM和RAM的计算机可以安排在不同的空间内,地址范围会根据ROM和RAM的位置分配不同地址空间。在访问的内存,不管是ROM和RAM,只有一个地址对应一个内存单元,都要按这个顺序访问。这种内存结构是所谓的普林斯顿结构。 8051的存储器按物理结构划分可分为程序存储器空间和数据存储空间,共有四个内存空间,按结构位置的不同分为内部程序存储空间、外部程序存储空间、内部数据存储空间和外部数据存储空间。但从用户的使用角度看,8051存储器地址空间被分成三类:(1)片内,安排FFFFH的块,片外的(使用16个地址)串口0000H地址。(2)外部数据存储器地址空间为64KB,地址是从0000H到 FFFFH(含16 48 本科生毕业设计(论文) 个地址)的位置排列也。(3)256B的数据存储器(使用8个地址)的地址空间。上述三个重叠的内存空间地址,用8051指令系统的传输不同的数据和使用的功能区分。CPU的访问内存时,访问ROM使用MOVC语句,访问RAM块顺序使用片外操作的MOVX语句,访问内存片段使用MOV语句。 8051单片机有4个8并行的I / O端口,分别为P0,P1,P2和P3。每个端口是8位精确的双向口,共占了32针。每一个I / O线可作为独立的入口和出口。每个端口包括一个锁存器(即特殊功能寄存器),一个出口驱动器和引进缓冲器。使数据能够锁存输出,数据可以及时缓冲,其余四个具有相同的功能。接外部存储扩大它们的内存时,这四个口就可作为双向口常用的I / O口,这是,P2口看到高8位地址,P0口是一个公共两用口,传送输出低8的地址和数据。 P3口的输出级别小于P1,可以在里面绘制负载电阻,每一个都能驱动4个LS型TTL负载输出。作为输入口时,所有TTL或NMOS电路都可以驱动一个正常的方式8051 - P3口作为单片机的P1口。可以利用改变电阻的输出大小,直接地充当震荡开路,不需要添加外部电阻。其中每个口都是标准的双向口。当在当做输入口时,必须把相应的端口置1来锁闭输出。比如8051单片机,所有端口提供的输出电流只能几毫安,用作输出口时接一个普通的晶体管,要稳定使用,还要接一定电阻。其主要功能是把初始地址设为0000H,使单片机从0000H的地址开始运行程序。除了正常进入系统的初始化,由于操作失误或操作过程错误,也要能够解决错误,重新运行。在8051中RST引脚是一个输入复位键,复位键高电平信号有效,要保证24倍以上的时钟周期(即2个机器周期)。如果收到高频的6v输入信号,单片机就会复位。 CPU(中央处理单元)是数字计算机的重要组成部分,其目的是对从内存中接收的指令进行译码,同时对存储于内部寄存器、存储器或输入输出接口单元的数据惊醒传输、算术运算、逻辑运算以及控制运算。在外部,CPU位转换指令数据和控制信息提供一个或多个总线并从组件连接到它。一个微控制器出现在普通电脑的键盘和检测器中,但是这些组件也被屏蔽。在这种微控制器中,与我们所讨论的CPU可能不同。字长也许更短,编制数量少,指令集有限。相对而言,性能差,但对完成任务来说足够了。最重要的是它的微控制器的成本很低,符合成本效应。 单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚 49 本科生毕业设计(论文) 至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它白主机、键盘、显示器等组成。还有一类计算机,人多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如科能仪表、实时T控、通讯设备、导航系统、家用电器等。各种产品。一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词一一“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 50 VCCU5C822ufC922uf附录Ⅱ P16P11P12P13P14P15R16RES2C100.1ufU2+5V7805VCC1VinR16220VCCC1147ufR1740KR1810KLS1R8R9R10R114.7K4.7K4.7K4.7K+5V3JP1GND1234567891011121314A0VCCDA1P/RA2XCLKA3EOMA4PDA5CEA6VOFA7ANA/OUTA8ANA/INA9AGCAUX INMICREFVSSDMICVSSAVCCASP+SP-VCCISD25602827262524232321201918171615C15C32200ufS1SW-PBS2SW-PBS3GNDSW-PBS4VCCU1R510KU6U3P36IOX2DS1302Y2SW-PBSPEAKERC40.01uf210.33uf9-12VD2LED2C122ufR19RES2C14220ufC1322uf+5VMK163123系统硬件原理图 VCCGNDOUT51 1312INT1INT0T1T0EA/VPX1X2RESETRDWR89S52P35P34C5311514P20P21P22P23P24P25P26P27212223242526272833pfY112MHZ9171633pfS0SW-SPSTVCCRXDTXDALE/PPSENC610P3611P3730291918LCD1602Component_1R13100C720ufVCCR71KR4P347P3552SCLKRSTX1470P10P11P12P13R5P144.7KP15P16P17P10P11P12P13P14P15P16P17P00P01P02P03P04P05P06P07123456783938373635343332MICROPHONE2T0T1P17R332.768MHZ220TLP521TLP521VCCU41234A0A1A2GNDAT24C02R144k7R154k7VCCWPSCLSDA8765P10P1112345678910111213141516VSSVDDVORSR/WED0D1D2D3D4D5D6D7BL+BL-U7A44E本科生毕业设计(论文) VCC 本科生毕业设计(论文) 附录Ⅲ 元器件清单 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 编号 R13 R3 R4 R5/R8/R9/R10/R14/R15 R16 R12/R18/R19 R17 R11 R19/R20 R15/R18 R16 D1 S0/S1/S2/S3/S4 C4 C10 C15 C12 C5/C6/C7/C8/C9 C13 C7 C11 C14 C3 T0/T1 Y1 Y2 LS1 名称 电阻 电阻 电阻 电阻 电阻 电阻 电阻 电阻 电阻 电阻 电阻 LED 按键 电容 电容 电容 电解电容 电容 电解电容 电容 电容 电容 电解电容 光耦 晶振 晶振 扬声器 参数 100Ω 220Ω 470Ω 4.7kΩ 5.1kΩ 10kΩ 40KΩ 220kΩ 100Ω 300kΩ 2.2kΩ 0.01uF 0.1uF 0.33uF 2uf 22uF 22uF 20uF 47uF 220uF 2200uF160V TLP521 12MHZ 32.768MHZ SPEAKER 个数 1 1 1 6 1 3 1 1 2 2 1 1 5 1 1 1 1 5 1 1 1 1 1 2 1 1 1 52 本科生毕业设计(论文) 28 29 30 31 32 33 34 35 MK1 U1 U2 U3 U4 U5 U6 U7 麦克风 AT89S52 LM7805 DS1302 AT24C02 ISD2560 LCD1602 A44E MICROPHONE 1 1 1 1 1 1 1 1 53 因篇幅问题不能全部显示,请点此查看更多更全内容