保留的完整的单片机报告.docx
- 文档编号:6792211
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:14
- 大小:680.57KB
保留的完整的单片机报告.docx
《保留的完整的单片机报告.docx》由会员分享,可在线阅读,更多相关《保留的完整的单片机报告.docx(14页珍藏版)》请在冰豆网上搜索。
保留的完整的单片机报告
摘要
本设计是源于随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
设计采用AT89S52单片机为主控器,以霍尔传感器测距,实现对出租车的多功能的计价设计,输出采用数码显示管。
本电路设计的计价器不仅能够显示里程,而且能够显示金额数,并且还可以设定单程和往返程的价格。
计价器通过霍尔传感器从车轮转动的圈数,得到一系列的脉冲信号,并将信号传送进入单片机,单片机通过自身的程序的设定可以将信号进行处理和转换,计算得出所行路程需要顾客支付的费用,然后将处理后的信息传送到数码管显示器,从而得到显示。
另外,计价器可以通过扩展模块,根据司机的要求进行空车和有客的显示,以便提高了司机工作的效率。
如果在运行的过程中,司机通过按下暂停的按钮,可以暂停计价器的工作,并通过查询键从而可以得到总的等待时间,让顾客可以更加方便的知道自己所需要支付的真正价格,也让司机避免了和顾客之间进行毫无证据的对峙,从而为出租车行业发展的便利提供了一把利器。
目录
1概述………………………………………………………………………………
1.1设计要求……………………………………………………………………
1.2设计目的……………………………………………………………………
2系统总体方案及硬件设计………………………………………………………
2.1系统硬件构成及功能………………………………………………………
2.2单片机最小系统……………………………………………………………
2.3霍尔传感器模块……………………………………………………………
2.4键盘调整模块………………………………………………………………
2.5显示电路单元模块…………………………………………………………
3软件设计…………………………………………………………………………
3.1系统主程序…………………………………………………………………
3.2中断程序元…………………………………………………………………
3.3显示服务程序………………………………………………………………
3.4计算程序……………………………………………………………………
4Proteus软件仿真…………………………………………………………………
4.1系统仿真图…………………………………………………………………
4.2仿真意义……………………………………………………………………
5课程设计体会………………………………………………………………………
参考文献
附1:
源程序代码
附2:
系统原理图
1概述
1.1设计要求
(1)能显示里程,单位为公里,最后一位为小数位。
(2)能显示金额数,单位为元,最后一位为小数位。
(3)可设定单程价格和往返价格,单程价格为2元/公里,往返价格为1.5元/公里。
(4)车速<5公里/小时的时间累积为总等待时间,每5分钟等待时间相当于里程数增加1公里。
(5)起步公里数为3公里,价格为5元,若实际距离大于3公里,按规则3计算价格。
(6)按暂停键,计价器可暂停计价,按查询键,可显示总等待时间。
1.2设计目的
(1)用于记录里程与价格的关系,它能有效地避免司机与乘客的矛盾,保证双方的利益。
(2)可以提高出租车司机工作的效率,并且提供了极大的方便。
例如,因为计价器带有显示有客无客的信息,所以乘客可以知道车子是否可以载客,为自己节省了时间,也为司机节省了时间。
(3)通过本设计不仅可以增加学生对单片机语言的熟练程度,还可以提高学生电路设计的能力。
例如,在本次设计中需要决定单片机与外部电路的接口以便于电路功能的实现等。
2系统总体方案及硬件设计
2.1系统工硬件构成及功能
计价器的单片机控制方案图如图1单片机控制方案图所示。
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格选择、时间显示控制等功能。
不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。
图1
系统通过霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据单片机中设定程序的价格数据换算出价格等数据,从而输出显示在数码管电路上。
另外可以通过独立键盘可以对单片机进行一系列的操作,比如暂停,查询等待时间等。
2.2单片机最小系统
主控机系统采用了Atmel公司生产的AT89S52单片机,它含有256字节数据存储器,内置8K的电可擦除FLASHROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。
复位电路和晶振电路是AT89S52工作所需的最简外围电路。
单片机最小系统电路图如图2所示。
图2
AT89S52外接一个时钟电路和一个复位电路。
当复位电路中RST变为高电平并保持2个机器周期时,将使单片机复位。
XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2来自反向振荡放大器的输出。
2.3霍尔传感器模块
图3
本设计采用的是霍尔传感器US1881,它是一款基于CMOS技术的混合信号霍尔效应闩锁器。
器件集成了电压调节器,动态偏差补偿系统的霍尔传感器,施密特触发器和开漏输出驱动于一个封装内。
由于它宽的工作电压范围和扩展的温度范围,使其非常适合于汽车电子,工业和消费电子的应用范畴。
表面贴片工艺为小而薄外形的晶体管(TSOT)封装,通孔贴片工艺为塑料单一线(TO-92扁平)封装。
图4
本系统选择了将霍尔传感器的脉冲输出口接到INT1作为信号的输入端(这样可以减少程序设计的麻烦),车轮每转一圈(假设设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片机的中断,对脉冲计数,当计数达到规定次时,单片机就控制将金额自动增加。
2.4键盘调整单元模块
图5
当单价等信息需要进行修改时,就要用到键盘进行修改。
由于调节信息不多,故采用5个独立键盘即可,分别实现暂停、切换和增大、减小,功能,查询等作用。
电路原理如图5所示。
S1接到单片机的P1.0口,对上一次的计费进行清零/暂停。
S2接到单片机的P1.1口,实现白天和夜晚单价的切换;当功能键S4按下时,S2可增加价格。
S3接到单片机的P1.2口,当功能键S4按下时,S3可减小价格。
S4接到单片机的P1.3口,按1次,进入调整单程单价;按2次,进入调整返程单价;;按3次,进入调整起步价;按4次,返回。
S5接到单片机的P1.4口,对等待时间进行查询。
2.5显示电路单元模块
由于设计要求有里程、金额、等待时间、速度显示输出,所以采用8位LED数码管的分屏显示。
如图6所示:
图6
当单片机根据霍尔传感器检测到的信号,进行一定的处理,并且进行一定程度上的换算,从而得到要显示的数据,并根据按键的的检测中断进行合乎要求的显示。
可以显示里程,可以显示价格,而且当按键按下的时候,可以进行暂停,查询等待时间,夜晚和白天的转换等等。
功能如图7所示:
图7
另外,为了更加方便司机的工作进行,我们还设置了四个二级管发光灯,一个灯用来指示白天,一个用来指示黑夜,一个用来指示当前车辆的乘坐情况,最后一个等用来表示当前处于查询等待时间的状态。
具体如图8所示:
图8
3软件设计
3.1系统主程序
在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化以及中断、计算、循环等工作。
另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。
然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。
当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。
若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程和单价送数
图9
送往显示单元进行显示,流程图如图9所示。
3.2中断程序单元
在定时中断服务程序中,每隔一定的时间产生一次中断,当产生N次中断的时候,便会送数据到相应的显示缓冲单元,并调用显示子程序实时显示。
.
图10
3.3显示服务程序
数码管在一般情况下显示里程数,价格两项数据,当按下对应键时则跳转显示等待时间数据。
当按下另外的键时则返回显示里程数,价格两项数据。
程序流程图如图11所:
图11
3.4计算程序
计算程序根据里程数分别进入不同的计算公式。
如果里程大于3公里,则执行公式:
总金额=起步价+(里程-3)*单价+等待时间*等待单价;否则,执行公式:
总金额=起步价+等待时间/5*单价,具体的程序流程图如图12所示:
图12
就这样,司机根本就不用担心自己会计算错价格,计算程序会很严格的帮你计算出顾客应该付的价格,并且对车子的形成进行范围上的划分。
4实验测试
4.1系统仿真图
在对系统电路进行设计之后,我们需要对对电路功能的实现,进行程序上的设计,首先我们要实现进行主程序的设计,知道整个程序的流程,然后我们对子程序进行分块设计。
在对整个程序设计完后,进行编程,本次编程用的是C语言进行编程,因为C语言简单容易的便可以实现我们所要的功能。
在程序编完后,我们变需要对程序进行调试,我们运用PROTEUS软件进行仿真调试,我们把编号的程序下载到单片机中,然后进行运行。
通过观察数码管显示,可以知道程序的毛病,仿真图如图13,所示:
图13
4.2仿真意义
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。
使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力。
因此,使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。
5课程设计体会
通过本次对出租车计价器的课程设计,使我遇到了很多的难题,这些难题虽然不是我想碰到的,但是就是这些难题使我对单片机的应用有了更深的了解。
比如,对于数码管动态扫描显示和键盘的延时防抖的综合编程不能较好地解决;对于代码的前后顺序及调用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。
通过这几天晚上的苦想和反复调试,以及参考网上的程序,和同伴进行不断地讨论合作,最终还是把问题解决了。
另外,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。
在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的知识。
6参考文献
书、专著:
余发山,王福忠主编的《单片机原理及其应用技术》;中国矿业大学出版社,2008年6月
谭浩强著.C程序设计(第三版).北京:
清华大学出版社,2005.
陈伟人编著,MCS-51系列单片机使用子程序集锦,清华大学出版社,1993
附录1程序源代码
附录2系统原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 保留 完整 单片机 报告