单片机的的 2 自动保存的.docx
- 文档编号:25844960
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:19
- 大小:547.53KB
单片机的的 2 自动保存的.docx
《单片机的的 2 自动保存的.docx》由会员分享,可在线阅读,更多相关《单片机的的 2 自动保存的.docx(19页珍藏版)》请在冰豆网上搜索。
单片机的的2自动保存的
目录(小三号居中,加粗)
1概述………………………………………………………………………………
1.1(宋体、小四,行间距固定值18磅。
以下相同要求)……………………
1.2
1.3
2系统总体方案及硬件设计(宋体、小四,加粗,固定值18磅。
以下相同要求)
2.1
2.2
2.3
3软件设计
3.1
3.2
3.3
4Proteus软件仿真
5课程设计体会
参考文献
附1:
源程序代码
附2:
系统原理图
摘要
本系统由单片机AT89S52为控制核心,辅以键盘调节、8段数码管显示、车速模拟、霍尔传感器车速检测及信息存储电路,实现的功能有里程显示、,金额数显示,可设定单程价格和往返价格,根据行程调节价格,计价暂停、等待时间查询等功能,霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程都实时地显示在数码管上。
独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,
本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价,满足了题目中的要求。
相比于普通的模拟电路设计,采用单片机进行的设计相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
针对计费模式的切换,通过软件编程就可以轻而易举的实现。
具有操作简单,显示明了,功能强大的特点。
关键字:
出租车计价器AT89S52霍尔传感器
1概述
1.1设计意义
随着经济的发展,带动汽车行业快速发展,出租车日益普遍,了解在出租车上应用的计费系统,对我们日常生活也有帮助。
采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,是深化单片机应用的良好途径,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
出租车计价器用于记录里程与价格的关系,它能有效地避免司机与乘客的矛盾,保证双方的利益。
出租汽车计价器是一种专用的计量仪器,是出租车中最重要的工具,能连续累加,并指示出行程中任一时刻乘客应付费用的总数。
1.2功能说明
出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。
从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。
过3公里后,实现按照设定的单程价格和往返价格收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。
可以对白天和夜晚的价格进行切换,同时设置有暂停键、查询键,按暂停键,计价器可暂停计价,按查询键,可显示总等待时间。
车速<5公里/小时的时间累积为总等待时间,每5分钟等待时间相当于里程数增加1公里。
1.3AT89S52功能简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程Flash。
本设计中键盘用到了P1口,其中P1.0到P1.4口作为键盘的输入,直流电机电路的控制线用到了P2口线,P3.0、P3.1、P3.2分别为LED信号控制脚,显示电路用到了P0和P2口,振荡电路用到了XTAL1、XTAL2引脚。
1.4系统整体方案的设计
采用数字电路控制,其原理如图所示。
采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费保准,电路不够实用。
电路框图如图1-1所示。
图1-1
采用单片机控制。
单片机I/O口丰富、控制灵活、易于编程的优点,以单片机为控制核心的计价系统可以方便地实现车速检测、价格预置、里程计价显示等功能。
其原理图如图1-2。
图1-2
根据上图思路,我们设计了一个以AT89S52单片机为控制核心的出租车计价器系统。
该系统由键盘设置、车速检测与里程计算、数码管显示、电保护等模块组成。
其中,键盘设置模块实现系统的计价预置、计价暂停、“单程”与“往返”设置、及金额查询功能等等;车速检测与里程计算模块通过车速检测传感器器采集车速信息,送至单片机处理,得到实时车速及车的实时行程;数码管显示模块完成车速、里程数、金额数以及累计时间的显示;掉电保护模块记录并存储当前计价器的各项显示信息,起到掉电保护作用。
1.5 基本原理
计数器系统主要由五部分组成:
U18霍尔传感器、AT89S52单片机、独立键盘和显示数码管。
霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。
独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,下次得电后直接从EEPROM读到单片机,系统结构图如图1-3。
图1-3
2系统总体方案及硬件设计
2.1单片机最小系统
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:
单片机、晶振电路、复位电路。
单片机最小系统电路图如图2-1所示
图2-1
说明:
复位电路:
由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,
晶振电路:
外接11.0592M晶振和两个30pF电容组成系统的内部时钟电路。
2.2车速及行程检测
车速测量可以采用光电传感器和霍尔传感器。
本设计采用U18系列霍尔传感器测速,U18是一种半导体集成电路利用霍尔效应。
其外形较小,如图2-3,是该型号的外形图。
电源电压为2.5V至20V,电源电流10mA,输出电流20mA,局部放电功耗400mW,工作温度-20℃+125℃,存储温度-40℃+150℃。
主要应用车速传感器,旋转、位置传感器,非接触式传感器,电机控制,内置保护二极管。
U18属于 开关型霍尔传感器,开关型霍尔传感器由稳压器、霍尔元件、差分放大器,斯密特触发器和输出级组成,它输出数字量。
开关型霍尔传感器的特性:
如图2-2所示,其中Bnp为工作点“开”的磁感应强度,Brp为释放点“关”的磁感应强度。
图2-2图2-3
当外加的磁感应强度超过动作点Bnp时,传感器输出低电平,当磁感应强度降到动作点Brp以下时,传感器输出电平不变,一直要降到释放点BrP时,传感器才由低电平跃变为高电平。
Bop与BRP之间的滞后使开关动作更为可靠。
图2-4
出租车驱动轮转数与转轴转数的传动比是一定的,磁感应传感器会产生一个大约20ms的低脉冲,可以通过计算磁感应传感器产生的低脉冲数,脉冲信号送到单片机产生中断,单片机再根据程序设定,计算出里程。
其原理如图2-5所示。
图2-5传感器测距示意图
本系统选择了将U18的脉冲输出口接到P3.3口外部中断1作为信号的输入端(这样可以减少程序设计的麻烦),电路接线图如图2-4,车轮每转一圈(设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到1000次时,即1公里,单片机就控制将金额自动增加。
2.3数据显示
数据显示由数码管显示,数码管是一种半导体发光器件,其基本单元时发光二极管。
数码管按段数分为七段数码管和八段数码管,按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
驱动时将所有数码管的8个显示笔划为“a、b、c、d、e、f、g、dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,通过单片机对位选通COM端电路的控制来觉得数码管显示的字形。
数码管脚图
数码管的点亮受段码和位码控制,段码是指在数码管显示某一数字或字符时,在数码管各段所对应的引脚上所加的高低电平按顺序排列所组成的一个数字,它与数码管的类型(共阴、共阳)和与数据线的连接顺序有关。
位码也叫位选,用于
选中某一位数码管。
在实验图中要使第一个数码管显示数据,应在公共端1上加低电平,位码与段码一样和硬件连接有关。
本设计显示单元由7个8段共阴数码管组成,采用动态扫描进行显示。
前四个数码管分别接P2.0、P2.1、P2.2图2-6
和P2.3,用于显示总金额;后边四个分别接P2.4、P2.5、P2.6和P2.7,用于显示里程;电路如图2-6所示。
2.4独立键盘
电路共采用了五个按键,S1、S2、S3、S4、S5,其功能分别是:
S1:
开始计费/暂停键,S2切换按键,S2:
价格向上调整/白天晚上切换按键,S3:
价格向下调整键,S4功能设定按键,S5查询键。
S1、S2、S3、S4、S5按键电路图如图2-7所示,
图2-7
S1接到单片机的P1.0口,对上一次的计费进行清零/暂停。
S2接到单片机的P1.1口,实现白天和夜晚单价的切换;当功能键S4按下时,S2可增加价格。
S3接到单片机的P1.2口,当功能键S4按下时,S3可减小价格。
S4接到单片机的P1.3口,按1次,进入调整单程单价;按2次,进入调整返程单价;;按3次,进入调整起步价;按4次,返回。
S5接到单片机的P1.4口,对等待时间进行查询。
五个按键实现开始计费与暂停、白天晚上切换、价格增减调整、等待时间显示及查询等功能。
3软件设计
3.1软件功能概述
本设计中的程序设计采用模块化的设计思想,多个功能模块的功能相互独立,又能互相调用,修改非常的方便,具有较强的可读性。
在系统的硬件确定以后,足够的且功能完善的软件能够很好的指导和协调硬件的工作,可使系统发挥其最大的作用。
主程序完成的任务相对简单,只是完成初始化等工作而进入等待方式,由于单片机不能一直处于查询状态,那样太浪费单片机的资源,又不利于系统整体流程的复杂程度,并且系统在各种功能之间切换具有不确定性,所以采用了中端方式。
软件设计可分为:
主程序控制程序,外部中断里程计算程序,数码显示程序,按键中端服务程序,在整个软件中一些变量使用全局变量形式,以供主程序的调用。
3.2系统主程序
在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化以及中断、计算、循环等工作。
另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。
然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。
当按下S1时,就启动计价,则根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。
若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计几个,并将结果存于价格寄存器中,然后将市级和当前累计价格送显示电路显示出来。
当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。
主程序流程图如图3-1.
图3-1
3.3外部中断程序
每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序中,里程变量加一。
主函数中总金额也相应地变化。
3.3参数计算
计算程序根据里程数分别进入不同的计算公式。
如果里程大于3公里,则执行公式:
总金额=起步价+(里程-3)*单价+等待时间*等待单价;否则,执行公式:
总金额=起步价+等待时间*等待单价。
程序流程图如图3-2所示。
图3-2
3.4判断子程序
对于独立键盘,首先看有键按下没,如果有键按下则延时一会儿,在判断是否真的有键按下,如果确实有键按下,在判键释放,最后执行键功能程序。
判键子程序的流程图如图3-3所示。
图3-3
3.5中途等待中断服务程序
当在计数状态下霍尔开关没有输出信号,片内的T1定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每10分钟都自动加上中途等待的单价。
当中途等待结束的时候,也就自动切换到正常的计价
3.6数码管显示子程序
单片机不断地将处理后的数据交给数码管显示。
数码管显示的信息包括车里程数、计价金额、和累计等待时间。
数码管采用段选与位选方式与单片机进行通信。
P1口输出段选码,P2输出位选码,具体接线如图,显示程序具体流程图如图3-4。
图3-4
3.7定时中断服务程序
在定时中断服务程序中,每隔一定的时间产生一次中断,当产生N次中断的时候,便会送数据到相应的显示缓冲单元,并调用显示子程序实时显示。
其程序流程如图3-5所示。
图3-5
4Proteus软件仿真
4.1里程价格显示仿真
采用电动机附带霍尔元件作为车轮,电机为5V的直流电机,每分的转速可以调节,我们为电机设定一个不大不小的转速,当电机转到1圈时,霍尔传感器就单片机送一脉冲,单片机根据脉冲数自动转换成公里,单片机控制系统按照计算公式:
当前单价×公里数=金额来完成公里金额的转换。
Proteus仿真如图4-1所示
图4.1里程价格显示(上面数码管:
总金额(元)下面:
里程(公里)
4.2价格调整仿真
当功能键S4按下时,s2键对价格进行增加调节,s3键对价格进行减少调节。
Proteus仿真如图4-2所示
图4-2
4.3等待时间查询仿真
按下s5键显示等待时间,Proteus仿真如图4-3所示
图4-3
5课程设计体会
由于使用的是单片机作为核心的控制元件,本设计采用89S52单片机为主控器,以灵敏的U18霍尔传感器测距,实现对出租车的多功能的计价设计,并采用五个按键实现不同的功能,输出采用8段数码显示管。
本出租车计价器具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很大的使用价值。
通过此次锻炼,我们熟悉了一些基础理论知识,对部分原理有了更深的认识。
最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性。
通过这次设计也使我明白了自己原来知识还比较欠缺。
自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
通过这次毕业设计,我才明白学习是一个长期积累的过程。
还有,由于时间仓促,能力有限,我们的作品还存在一些不足与缺陷,恳请各位老师批评指正,以有利于我们以后的进一步提高。
总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
参考文献
[1]夏彬彬,任明全,屈金学.PIC单片机常用模块与综合系统设计.电子工业出版社,2009
[2]谭浩强.C语言程序设计清华大学出版社2005
[3]康华光.电子技术基础(模拟部分)高等教育出版社2005
[4]余孟尝.数字电子技术基础教程高等教育出版社2006
附1:
源程序代码
附2:
系统原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机的的 自动保存的 单片机 自动 保存