




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南理工大学单片机应用与仿真训练设计报告题目 缩距法出租车计价器设计姓 名:学 号:专业班级指导老师所在学院:年 月 日缩距法出租车计价器设计摘要 随着出租车行业的发展,对出租车计费器的要求也越来越高。二十世纪后半期,随着集成电路和计算机技术的飞速发展,单片机技术也得到了飞速发展,基于单片机的出租车计费器不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,特别是对小批量、多品种的产品需求,单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了
2、各行业的技术改造和产品的更新换代,应用前景广阔。(使用单片机的外围电路比较简单),在时间计数和速度的计算上便于扩展功能很,系统能够实现升级。很多数值可以预先写到芯片中。 本设计主要了解应用单片机的定时器/计数器,以及中断。这是一个比较小的系统,故采用汇编语言来编辑。汇编语言是一种编译型程序设计语言,它具有编译速度快,占用系统空间小,具有一定的助记可读性等特点。本系统假设起步价5.0元,超过三公里开始计费,每公里加2元。 关键词:单片机;霍尔传感器;数码管目录1 概述3 1.1基本要求3 1.2设计参数3 1.3系统原理32 系统总体方案及硬件设计4 2.1 设计方案介绍42.2单片机的概念42
3、.3A44E霍尔传感器检测单元52.4 计时与时间显示模块电路设计6 2.5 键盘调整单元7 2.6键盘程序83 软件设计9 3.1模块介绍9 3.2 程序流程图104 Proteus软件仿真115课程设计体会11参考文献12附1:源程序代码12附2:系统原理图221 概述1.1基本要求(1)能显示里程,单位为公里,最后一位为小数位。(2)能显示金额数,单位为元,最后一位为小数位。(3)可设定单程价格和往返价格,单程价格为2元/公里,往返价格为1.5元/公里。(4)车速3总金额=起步价总金额+=(里程-3)*单价总金额+=等待时间*等待单价总金额+=等待时间*等待单价返 回总金额=起步价4 P
4、roteus软件仿真图7 整体硬件电路图 5课程设计体会 经过这些天有关于出租车计价器的课程设计,使我对单片机的应用有了更深的了解。在课程设计的过程中,还是碰到了许多的问题。比如,对于数码管动态扫描显示和键盘的延时防抖的综合编程不能较好地解决;对于代码的前后顺序及调用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。通过这几天晚上的苦想和反复调试,以及参考网上的程序,最终还是把问题解决了。 通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到
5、其中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的知识。通过本次课程设计,又使我学到了许多书本上无法学到的知识,也使也深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:AT89S51单片机及其引脚说明、555引脚图及其
6、引脚功能等,为本次课程设计提供了一定的资料。也为以后的进一步学习打下了坚实的基础。参考文献1张友德赵志英涂时亮编 单片微型机原理、应用与实验上海:复旦大学出版社2005.12全书2徐光翔单片机原理接口及应用南京大学出版社3张淑清等.单片微型计算机接口技术及其应用北京:国防工业出版社,4王晓君等.MCS-51及兼容单片机原理与选型北京:电子工业出版社5张鑫、华臻、陈书谦单片机原理及应用M电子工业出版社,2005P1101366丁元杰、吴大伟单片微机实题集与实验指导书M机械工业出版社,2004P1241257附1:源程序代码#include#include #define uchar unsign
7、ed char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();_nop_();uchar code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;sbit exter=P33; sbit key0=P10; sbit key1=P11; sbit key2=P12; sbit key3=P13; sbit p30=P30; /sbit p31=P31;sbit p32=P32;sbit p34=P34;sbit p35=P3
8、5;sbit p36=P36;sbit p37=P37;sbit SDA=P22; sbit SCL=P23;uint inter,aa,bb,temp,temp1;uint zongjine,licheng,dengdai;uint key3num,qiehuantemp,delaytemp;uchar danjia1,danjia2,danjia3,danjia,qibu;void delay(uint x) int i,j; for(i=x;i0;i-) for(j=340;j0;j-);void start() SDA = 1; SCL = 1; delayNOP(); SDA = 0
9、; delayNOP(); SCL = 0; void stop() SDA = 0; delayNOP(); SCL = 1; delayNOP(); SDA = 1;void respons() uchar i; SCL=1; delayNOP(); while(SDA=1)&(i250) i+; SCL=0; delayNOP();uchar read_byte() uchar i,j; for(i=0;i8;i+) SCL=1; j=1; j|=SDA; SCL=0; return(j);void write_byte(uchar date) uchar i,temp; temp=da
10、te; for(i=0;i8;i+) temp=temp1; SCL=0; delayNOP(); SDA=CY; delayNOP(); SCL=1; delayNOP(); SCL=0; delayNOP(); SDA=1; delayNOP();void write_data(uchar addr, uchar date) start(); write_byte(0xa0); respons(); write_byte(addr); respons(); write_byte(date); respons(); stop();uchar read_data(uchar addr) uch
11、ar date; start(); write_byte(0xa0); respons(); write_byte(addr); respons(); start(); write_byte(0xa1); respons(); date=read_byte(); stop(); return date;void display(uint zongjine0,uint licheng0,uint danjia0) uint jbai,jshi,jge,lshi,lge,dshi,dge; uint numwei,numshu; jbai=zongjine0/100; jshi=zongjine0
12、%100/10; jge=zongjine0%100%10; lshi=licheng0/10; lge=licheng0%10; dshi=danjia0/10; dge=danjia0%10; if(aa) aa=0; numshu+; if(numshu=7) numshu=0; P3=0xff; switch(numwei) case 0:p30=0;P0=tablejbai;break; case 1:p31=0;P0=tablejshi&0x7f;break; case 2:p32=0;P0=tablejge;break; case 3:p34=0;P0=tablelshi;bre
13、ak; case 4:p35=0;P0=tablelge;break; case 5:p36=0;P0=tabledshi&0x7f;break; case 6:p37=0;P0=tabledge;break; numwei+; if(numwei=7) numwei=0; void keyscan() if(key3=0) delay(5); if(key3=0) key3num=1; while(!key3); delay(5); while(!key3); while(key3num) if(key3num=1) if(key1=0) delay(5); if(key1=0) danji
14、a1+; if(danjia1=100) danjia1=0; while(!key1); delay(5); while(!key1); if(key2=0) delay(5); if(key2=0) danjia1-; if(danjia1=-1) danjia1=99; while(!key2); delay(5); while(!key2); display(1,0,danjia1); if(key3num=2) write_data(1,danjia1); if(key1=0) delay(5); if(key1=0) danjia2+; if(danjia2=100) danjia
15、2=0; while(!key1); delay(5); while(!key1); if(key2=0) delay(5); if(key2=0) danjia2-; if(danjia2=-1) danjia2=99; while(!key2); delay(5); while(!key2); display(2,0,danjia2); if(key3num=3) write_data(2,danjia2); if(key1=0) delay(5); if(key1=0) danjia3+; if(danjia3=100) danjia3=0; while(!key1); delay(5); while(!key1); if(key2=0) delay(5); if(key2=0) danjia3-; if(danjia3=-1) danjia3=99; while(!key2); delay(5); while(!key2); display(3,0,danjia3); if(key3num=4) write_data(3,danjia3); if(key1=0) delay(5); if(key1=0) qibu+; if(qibu=100) qibu=0; while(!key1); del
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不正当竞争行为的法律后果
- 算法交易对股市的影响研究
- 2025年编程原理试题及答案
- 奇葩语文拼音题目及答案
- 七年级数学下试卷及答案
- 2025年善意的谎言辩论反方资料
- CN222980409U 一种抗跌落型继电器 (四川宏发电声有限公司)
- CN120248362A 一种多孔配位聚合物及其制备方法与其在c3h6-c3h8混合气分离中的应用 (同济大学)
- 2025年职测题库及答案
- UPS服务安全培训课件
- GB/T 8948-1994聚氯乙烯人造革
- GB/T 11869-2018造船和海上结构物甲板机械远洋拖曳绞车
- 小学英语人教PEP六年级上册Unit3Myweekendplan击鼓传花小游戏
- 最新-骨髓炎-课件
- 主题班会《反对邪教-从我做起》
- 幕墙预埋件专项施工方案
- HDX8000系列安装配置操作指南
- 白虎汤分析课件
- 山东青年政治学院校徽校标
- 教学课件:《新能源材料技术》朱继平
- EDA课程第3~5章QuartusII Verilog HDL 数字电路设计实现
评论
0/150
提交评论