网站大量收购闲置独家精品文档,联系QQ:2885784924

基于MCS单片机出租车计价器的设计.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MCS单片机出租车计价器的设计.doc

微型计算机技术专业方向课程设计 任务书 题目名称:基于MCS-51单片机的 出租车计价器的设计 专业 自动化 班级 122班 姓名 张欣 学号 201228102 学校:青岛理工大学自动化学院 指导教师:史贺男 2014年12月9日 课程设计任务书 课程名称:微型计算机技术 设计题目:基于MCS-51单片机的 出租车计价器的设计 系统硬件要求: 出租车计价按4公里起步费为7元,每公里2元计费,无等待计费功能。要求每1s采样一次,假设轮胎周长1米,使用中断完成,费用精度要求1元。显示部分为LED动态显示设计;并有键盘设计; 硬件设计: 1)最小系统设计:AT89C51单片机为本设计的控制器,包括外扩ROM,RAM各32 M(其大小由设计者自己设计),系统时钟电路、复位电路等构成的最小系统; 2)接口电路的设计:设计者扩展一个并行接口〔8155或8255〕,键盘设计由设计者根据需要设计键盘的数量,显示采用LED显示,显示电路也根据显示的内容设计; 3)有开机显示状态(如显示000000); 4)在完成基本设计功能同时可以增加功能。 软件设计: 1)主程序设计(包括初始化芯片,定时器,中断以及SP指针等); 2)各功能子程序设计,温度采集计 算子程序、键盘子程序\显示子程序设计,定时,中断程序等;) 其他要求: 1、每位同学独立完成本设计。 2、依据题目要求,提出系统设计方案。 3、设计系统电路原理图。 调试系统硬件电路、功能程序。 编制课程设计报告书并装订成册,报告书内容(按顺序) (1)报告书封面 (2)课程设计任务书 (3)系统设计方案的提出、分析 (4)系统中典型电路的分析 (5)系统软件结构框图 (6)系统电路原理图 (7)源程序 (8)课设字数不少于2000字 成绩 评语 摘要 本文是以MCS-51单片机系统为基础的,通过霍尔传感器检测车轮转,计数脉冲,计数器进行计数计算出行驶距离,以及随行驶距离而变化的收费金额通过数码管出来。内部小,外部程序系统最大化地利用了单片机的内部资源,结构简单,稳定,方便。, 第一章 系统总体设计 6 1.1系统概述 6 1.2系统原理分析 6 第二章 软件部分 6 2.1主程序的设计 6 2.2定时器中断程序的设计 8 2.3外部中断0的程序设计 9 2.4外部中断1的程序设计 10 2.5数码管显示的程序设计 10 第三章 硬件部分 12 3.1 单片机最小系统及键盘模块 12 3.2 数码管显示模块 13 3.3 霍尔传感器模块 13 3.4 外部存储器模块 14 第四章 辅助调试工具 15 总结 16 参考文献 17 附录一 程序代码 18 附录二 硬件电路图 23 附录三 PCB图 24 第一章 系统总体设计 1.1系统概述 根据课程设计要求的性能指标,本系统要满足一定精度的价格计算的基本功能,同时系统还具有动态显示当前的计费值的功能和键盘操作的功能。 1.2系统原理分析 本文以MCS-51单片机系统为基础,通过霍尔传感器对车轮转动进行检测车轮上有一个小磁,车轮每转动一圈,磁靠近霍尔传感器,输出一个脉冲通过T1对该脉冲进行计数,根据轮胎周长行程,再根据计价规则算出值,通过数码管显示,计费精度达到。 第二章 软件部分 2.1主程序的设计 设计思路: 主程序主要执行定时器、计数器、中断的初始化,以及对数码管进行扫描显示。首先中断包括、外部中断然后配置中断模式,初值;最后扫描显示数码管。,每次返回计数值不确定,准确地工作,定时器与计数器均工作在方式一模式外部中断触发方式为下降沿触发。频率为重装为-5000,即每次定时器中断计为*12/(12MHz)=5ms. 流程图: 程序代码: IE=0X8F; 中断 TMOD=0X51; TH0=(65536-5000)/256; //定时器初值为60536,即5ms TL0=(65536-5000)%256; IT0=1; IT1=1; // 中断定时器初始化 while(1){ while(z==1) // 未检测到开始按键之前显示0 { JG(0); } while(z==0) // 开始之后数码管显示计费值q { JG(q); } } 2.2定时器中断程序的设计 T0作为定时器开中断,进入中断首先执行定时器初值的重装,然后判断计费器是否处于计费状态,从而决定是否向TH1和TL1取回计数值,计算总行程以及当前计费值并存入单片机。总行程与当前计费值分别记

文档评论(0)

我的文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档