51单片机出租车计价器设计课程设计(可编辑)
出租车计价器(课程设计)
摘要本设计的是一个基于c51单片机的出租车自动计费设计,附有复位电路,时钟电路,键盘电路和显示电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时字符型数码显示器显示最初的起步价,但超过3km时计价器会在起步价的基础上再按每里程收费,通过按键可以启动,清除显示器的显示价钱。
通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89S51单片机为核心控制器,P0口和P2口接七段显示器模块,P1口接按键的,通过按键输入启动和清除总价格。
关键词:单片机AT89C51;七段数码显示器7SEG-MPX4-CA;出租车计费器。
AbstractThis design is a based on c51 taxi automatic bill design, with reset circuit, clocking circuit, the keyboard circuit and show circuit, etc. Reset circuit are the initialization of single chip, in addition to the normal operation of the initial barbarian, difficulty, through to reset circuit can start again. The 12 MHz clock circuit of crystals, as the system clock source, has enough precision.When power in character type digital display shows the first started value, but more than 3 km the meter will start in price when on the basis of every mileage charge, then press the button can be activated by the display of the display, clear price. Can be obtained by the computation of the total cost, and general journey. Here are based on AT89S51 as the core controller, mouth and P2 P0 mouth pick seven segment display module, pick buttons, the P1 mouth by keystroke start and remove the total price.目录摘要 (1)目录 (2)第一章出租车计价器的设计题目要求 (3)1.1设计题目 (3)1.2设计要求 (3)第二章出租车的总体设计方案 (3)2.1方法论证与比较 (3)2.2 工作原理 (5)2.21工作原理框图如下: (5)2.22 工作原理: (6)2.3 所需设备及软硬件 (6)第三章出租车硬件电路设计 (6)3.1 AT89S51介绍 (7)3.11主要的功能特性 (7)3.12 管脚功能 (8)3.2 LED数码管介绍 (9)3.3单片机最小系统 (11)3.4振荡电路 (12)3.5 复位电路 (12)3.6 按钮接口电路 (13)3.7 显示电路 (13)第四章系统软件设计 (14)4.1 proteus软件介绍 (14)4.2 keil软件介绍 (15)4.3利用proteus与keil进行调试 (15)4.4 主程序流程图 (16)4.5子程序流程图 (16)4.51 键盘扫描子程序 (16)4.52 处理总价子程序 (17)4.53 显示总价子程序 (18)第五章设计调试结果和设计心得以及参考资料 (20)5.1 设计调试结果 (20)5.2 设计中的问题及解决方法 (20)5.3 设计心得 (20)5.4参考资料 (21)附录: (21)附录一:程序清单 (21)附录二、系统总体电路图 (26)附录二、仿真图 (27)第一章出租车计价器的设计题目要求1.1设计题目出租车计价器1.2设计要求利用单片机设计一个出租车自动计费器,计费包括起步价、行车里程计费、用4个七段数字显示器显示总金额,最大值为999.9元,起步价为5.0元,3Km 之内按起步价计费,超过3Km之后1.6元/公里,每200米计价跳表(即1KM增加1.6元,200m增加0,32元)。
基于51单片机的出租车计价器(13页)
● 研究方法
● 以AT89S51单片机为核心,利用单片机丰富的I/O端 口及其控制的灵活性,采用灵敏的霍尔传感器检测在 车轮上的磁铁的磁信号并产生脉冲,实现基本的里程 计价功能和价格调节。
基于51单片机的出租车计价器
基于51单片机的出租车计价器
● 1 研究目的 ● 2研究方法 ● 3研究结果
● 研究ቤተ መጻሕፍቲ ባይዱ的
● 我国的车租车开始于上世纪70年代。随着电子技术的 发展,出租车计价器的设计技术也在不断进步和提高。 采取数字电路与模拟电路设计的出租车计价器电路庞 大、不容易调试、易出故障。另外,其模式的转换采 用机械开关,计费工作不易实现。
●谢谢老师
系统工作电路
霍尔传感器测距功能
● 通过安装在车轮上的A44e霍尔传感器感知车轮转动, 在车轮上装上一块小磁铁,车轮每转一圈,也就是小 磁铁跟霍尔传感器再次相遇,霍尔器件便依次检测到 磁信号,并通过脉冲产生电路发出中断脉冲,单片机 响应此信号,对脉冲信号计数,通过相应的数据运算, 从而实现里程计数功能。
计价方法
● 霍尔传感器依次检测到脉冲信号,引起单片机中断, 对脉冲计数。假设车轮每转一圈1米,单片机控制金额 自动增加,起步价为3公里内7元。车辆自启动到顾客 下车,若行驶不超过3公里则数码管显示金额为7元。 若行驶3公里以上,按每公里1.6元收费。
● 根据里程值、每公里的计价和起步价计算载客下车时 的累计价格。
● 研究结果
● 在教学实验室里完成对本次设计的模拟实验,左上角 电子带动的轮子代替出租车车轮,轮子上有小孔。用 红外线传感器代替霍尔传感器,红外线每穿过一次小 孔都代表着一次脉冲,相当于出租车转一圈。连接传 感器、达林顿管和缓冲器、按键电路、单片机,电源 以及数码显示管。利用Keil u vision软件实现将汇编语 言导入单片机中。
单片机课程设计报告-出租车计价器
微机原理及单片机接口技术实验报告学院:专业班级:学生姓名:学号:指导教师:一、验目的及实验实现的功能:(一)流水灯实验1、实验目的:1)简单I/O引脚的输出2)掌握软件延时编程方法3)简单按键输入捕获判断2、完成功能要求1)开机是点亮12发光二极管,闪烁三下2)按照顺时针循环依次点亮发光二极管3)通过按键将发光二极管的显示改为顺逆时针方式(二)定时器或实时时钟实验1、实验目的1)数码管动态显示技术2)定时器的应用3)按键功能定义2、完成功能要求1)通过按键可以设定定时时间,启动定时器,定时时间到,让12个发光二极管闪烁,完成定时器功能。
2)实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。
上述二个功能至少完成一种功能。
(三)双机通信实验1、实验目的UART 串行通信接口技术应用2、完成功能要求用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。
(四)交通灯实验1、实验目的1)按键、数码管、发光二极管综合应用编程技术2)数据存储于EEPROM的技术(也可以不使用)3)定时中断技术4)按键中断技术2、完成功能要求1)对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。
2)设定参数掉电后不丢失(如果不使用EEPROM,此功能可以不实现)。
3)紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。
再按该键,恢复正常显示。
二、系统硬件设计硬件设计仿真图三、系统软件设计系统流程图(程序见附录)四、实验过程中遇到的问题及解决方法1.定时器0调试过程中:a)建好工程后,操作太快,忘了将保存过的C文件添加到工程里面,提示无效module。
b)初始化函数init_0() 声明时后面的‘;’忘记了,调试后出现了很多错误与警告,里面的变量及端口都提示重复定义。
数码管显示过程中:a)函数编写好后调用提示:uncalled segment ,ignored for overplay.原因:有函数未调用,可是我已经调用所有函数,后来检查一段时间后发现,count_down ()被我写成了count_dowm().b)FLAG标志位应用时,当FLAG=1时应该立即执行正常时钟程序clock(),可是当按键稍微晚些按时会出现:延时一段时间后才执行。
推荐-51单片机出租车计价器设计课程设计 精品
任务书()原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的(),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用()的规定,即:按照学校要求提交()的印刷本和电子版本;学校有权保存()的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存;在不以赢利为目的前提下,学校可以公布的部分或全部内容。
作者签名:日期:学位原创性声明本人郑重声明:所呈交的是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位版权使用授权书本学位作者完全了解学校有关保留、使用学位的规定,同意学校保留并向国家有关部门或机构送交的复印件和电子版,允许被查阅和借阅。
本人授权大学可以将本学位的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位。
涉密按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日摘要随著超大规模集成电路技术的发展,单片机也随之有了很大发展,各种新颖的单片机层出不穷,并已广泛地应用到人类生活的各个领域,成为当今科学技术现代化不可缺少的重要工具。
许多高校也纷纷开办了单片机这门学科,并在学科教授完后设有课程设计,希望同学能够通过这次设计学习和应用单片机解决工作中碰到的实际问题。
现代交通工具迅猛发展,出租车在人们的日常生活中所扮演的角色越练越重要,但如何准确计费,以达到既使乘客满意又不让出租车司机亏本的目的,就迫在眉睫。
51单片机出租车计价器任务书
学院
班级
07电子
姓名
题目
设计
基于单片机的出租车计价装置设计
指导教师
论文
主要内容及基本要求
主要内容:在了解出租车分时、分段、等候等计费原则的基础上,对各种计费装置电路设计与可实现方案进行对比、论证,设计能满足出租汽车计价器各种性能指标要求的硬件电路,并针对硬件平台进行软件设计,来完成出租汽车的里程计价装置。
[17]张小虎,刘洁.基于单片机的出租车计价器编码传感器的设计[J___________
年月日
系(教研室)审核意见
系主任(签名):_____________
年月日
说明:毕业论文任务书由指导教师根据课题的具体情况填写,经系部审核并由系主任签字后生效。此任务书在毕业论文开始前一周内填写并发给学生。
基本要求:1.设计系统供电电路、按键输入电路、单片机主控制电路、A/D转换电路、数字显示电路、过载保护等各模块电路;
2.运用C语言进行设计单片机程序,实现分时计费、分段计费、等候计费等功能。
设计(研究)条件及预期目标
设计条件:
应具备单片机技术、模拟电路、数字电路等基础知识和计算机应用等能力,以及对出租汽车计费原则的理解。
5.系统稳定性好,能可靠工作。
进度安排
起起止日期
内容
2010年11月20日—2010年11月30日
2010年12月01日—2011年02月20日
2011年02月21日—2011年02月22日
2011年02月23日—2011年03月04日
2011年03月05日—2011年04月17日
2011年04月18日—2011年04月22日
[5]张毅刚,刘杰.MCS-51单片机原理及应用[M].哈尔滨:哈尔滨工业大学出版社,2004.
出租车计价器单片机课程设计
出租车计价器单片机课程设计
一、课程设计背景
1.1 项目简介
出租车计价器是一款用来计算出租车费用的设备,它可以根据客户乘坐出租车的里程数、所在城市、车辆等级等信息,计算出乘客应付的出租车费用。
本课程设计主要以单片机实现出租车计价器的功能,采用单片机控制电容屏和按键,实现出租车客户输入数据和进行相关计算的功能。
1.2 基本要求
(1)设计出租车计价器的硬件模块,包括控制电容屏、按键等;
(2)设计出租车计价器的软件模块,编写出租车计价器的源程序;
(3)实现出租车计价器的测试功能,包括输入数据、计算费用等。
二、课程设计步骤
2.1 硬件设计
(1)材料准备:本课程设计所需的主要硬件设备有:单片机主
控板及其配件、电容屏和按键等。
(2)电路设计:根据课程设计的功能要求,设计出租车计价器
的硬件电路,实现主控板与电容屏、按键等设备的连接。
(3)原理图设计:根据电路设计,绘制出租车计价器的原理图,包括主控板、电容屏和按键等设备的结构。
2.2 软件设计
(1)源程序设计:编写单片机的源程序,实现出租车计价器的计算功能。
(2)组合程序设计:根据源程序,编写出租车计价器的组合程序,实现出租车计价器的实际应用。
2.3 课程实施
(1)硬件实施:根据原理图,把主控板、电容屏和按键等硬件设备安装在一起,组装成出租车计价器。
(2)软件实施:把编写的源程序和组合程序烧写到主控板上,运行程序,实现出租车计价器的功能。
(3)测试实施:运行出租车计价器,输入相关的参数,检验程序的正确性,确保出租车计价器正常工作。
单片机课程设计出租车计价器_
河南理工大学《单片机应用与仿真训练》设计报告基于单片机的出租车计价器的设计姓名:学号:专业班级:指导老师:所在学院:电气工程与自动化2011年7月1日基于51单片机原理出租车计价器的设计本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时四位共阴极5461AS数码管显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。
通过按键模拟出租车的运行,暂停,停止。
在5461AS液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89S52单片机为核心控制器,P0口接5461AS液晶显示模块,P1口接按键的,通过按键输入。
关键词:单片机AT89C51;AT89S52;5461AS液晶;出租车计费器;前言 ............................................................................................................................................. - 2 -第一章出租车计价系统的设计要求与设计方案....................................................................... - 3 -1.1出租车计价器设计要求 (3)1.2系统主要功能 (3)1.3方案论证与比较 (4)第二章出租车计价系统的硬件设计.......................................................................................... - 7 -2.1振荡电路 (7)2.2复位电路设计 (7)图2-2 AT89C52引脚配置............................................................................................................. - 8 -2.3键盘接口电路 (8)............................................ - 8 -图2-3键盘接口电路 .................................................................................................................... - 8 -2.4显示电路 (8)2.5路程测量部分 (9)2.6单片机各引脚功能说明 (10)2.75461AS液晶的简介 (11)第三章出租车计价系统的软件设计........................................................................................ - 14 -3.1单片机资源使用 (14)3.2中断子函数 (14)3.3判键子函数 (15)3.4显示子程序 (15)3.5总程序流程框图 (16)第四章PROTEUS的简介 ............................................................................................................. - 18 -4.1P ROTEUS介绍 (18)第五章设计体会与小结........................................................................................................... - 18 -参考文献 ..................................................................................................................................... - 19 -附录 ......................................................................................................................................... - 20 -一.源程序 (20)二.设计总图 (27)前言出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
基于51单片机的出租车计价器
课程设计任务书出租车计费系统起止日期:2011 年12 月15 日至2011 年12 月28日学生姓名张红雨班级电气0902学号**********成绩机电信息教学部2011年12 月28 日基于51单片机原理出租车计价器的设计摘要由于科技的飞速发展,带动汽车行业快速发展,出租车日益普遍,而出租车上的计价器也不断发展,并且更加精确和智能化。
对我们日常生活也有帮助。
而使用单片机实现该系统,是深化单片机应用的良好途径。
本系统由单片机AT89C51和一些外围原件组成,具有操作简单,显示明了,功能强大的特点。
整个系统只有两个按键,一个“启动/停止”,一个“复位”;使用六个七段数码管作为显示器,可以显示数字、字母使系统信息一目了然;本系统除了里程统计和费用计算以外,还具有万年历和语音播报功能。
万年历由时钟芯片DS1302实时提供时钟信号,再由单片机调用显示;语音播报由语音芯片ISD1420提供语音信息,语音信息放在不同的地址里,由单片机从这些地址中调用合适的语音进行播放。
本方案充分发挥人性化的特点,利用ISD1420的语音功能,模拟实现带语音提示的出租车计价系统。
比较真实地模拟出租车的空车、载客、到站及对各状况的费率的计算、统计、显示和语音播报等功能。
本系统涉及到的理论知识有:AT89C51单片机知识、ISD1420语音芯片的可擦、写的语音芯片的工作原理及应用、实时时钟芯片的工作原理及应用、出租车计费系统的原理和实现方法。
关键词:时钟芯片DS1302;语音芯片ISD1420;单片机AT89C51;掉电保护芯片24C02;目录前言 (1)第一章出租车计价系统的设计要求与设计方案 (2)1.1出租车计价器系统组成 (2)1.2系统主要功能 (3)1.3方案论证与比较 (3)第二章出租车计价系统的硬件设计 (4)2.1出租车的硬件框图 (4)2.2AT89C51单片机的电路图及说明 (4)2.3按键扫描模块 (5)2.4显示模块 (6)2.5掉电保护模块 (6)2.6脉冲发生器模块 (7)2.7时钟模块 (8)2.8语音模块 (10)第三章出租车计价系统的软件设计 (12)3.1系统主程序流程图 (12)3.2里程和费率计算程序流程图 (14)第四章设计体会与小结 (15)参考文献 (15)附录 (16)一.源程序 (16)二.系统硬件原理图 (20)前言出租车行业在我国是八十年代初兴起的一项新兴行业,随着出租车行业的发展,出租车已经是城市交通的重要组成部分,出租车计费器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
(完整版)基于51单片机的出租车计价器带仿真及程序毕业设计
毕业论文基于51单片机的出租车计价器带仿真及程序引言现在各个城市出租车行业都已普及,因此出租车计价器的技术已经成熟,但是出租车计价器的市场还具有广阔的前景。
随着城市建设的日益完善,关乎城市面貌的出租车行业也将迅速发展,出租车计价器的的大批量需求也是毫无疑问的,所以未来出租车计价器的市场还是有相当大的潜力的。
本次出租车计价器设计以AT89S52单片机为中心,采用U18霍尔传感器对轮胎转数进行计数,实现对出租车里程的测量,并最终计算出结果。
其中采用寄存器芯片AT24C02使系统在掉电的时候对单价、里程、车轮长度等信息进行存储,采用时钟芯片DS1302来显示时间和在系统需要时进行计时。
输出采用两个4段数码显示管,而且根据按键有空车指示灯、等待查询指示灯、单程指示灯进行指示。
汽车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
因此,汽车计价器的研究也是有一定的应用价值的。
1 绪论1.1 出租车计价器概述我国在70年代开始出现出租车,但那时的计费系统大都是国外进口不但不够准确,价格还十分昂贵。
随着改革开放日益深入,出租车行业的发展势头已十分突出,国内各机械厂家纷纷推出国产计价器。
出租车计价器的功能从刚开始的只显示路程(需要司机自己定价,计算后四舍五入),到能够自主计费,以及现在的能够打一发票和语音提示、按时间自主变动单价等功能。
随着城市旅游业的发展,出租车行业已成为城市的窗口,象征着一个城市的文明程度。
本次设计的目的在于现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
1.2 单片机的概述计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。
基于51单片机的出租车计价器的设计思路
基于51单片机的出租车计价器的设计思路1.引言1.1 概述概述部分的内容:出租车计价器是一种重要的车载装置,用于计算乘客乘坐出租车所需支付的费用。
本文将介绍一种基于51单片机的出租车计价器的设计思路。
随着城市化的不断推进,出租车作为一种便捷的交通工具,受到了广大市民的青睐。
为了提高乘客的出行体验,计价器的准确性和功能性变得尤为重要。
本文选用51单片机作为设计基础,旨在通过简洁高效的方式实现出租车计价器的核心功能。
在本文的正文部分,将首先介绍单片机的选择标准。
考虑到计价器需要处理大量的数据和复杂的计算,我们需要选用一款高性能的单片机。
同时,为了提高计价器的可靠性和稳定性,我们还需考虑其功耗、价格和开发环境等方面的因素。
接下来,我们将详细设计计价器的功能。
计价器的核心功能包括计费规则的制定、计时与计距功能、价格计算和显示等。
我们将逐一介绍这些功能的设计思路,并说明其实现的原理和关键技术。
最后,在结论部分,我们将总结设计思路,强调出租车计价器的实用性和创新性。
同时,展望未来的发展方向,包括基于物联网技术的智能出租车计价器的可能性,以及与其他交通工具和城市管理系统的连接等。
通过本文的阐述,读者将能够了解到基于51单片机的出租车计价器的设计思路,以及该计价器在提高出行体验、优化交通管理等方面的潜在应用。
同时,本文也为相关领域的研究提供了参考和借鉴。
文章结构部分的内容可以描述文章的整体组织结构和各个部分的内容,以及它们在整篇文章中的作用和关系。
具体可编写如下内容:1.2 文章结构本文分为引言、正文和结论三个部分。
引言部分主要包括概述、文章结构和目的。
首先,概述介绍了基于51单片机的出租车计价器的设计思路的背景和意义。
其次,文章结构部分说明了整篇文章的组织结构和各个部分的内容。
最后,目的部分明确了本文的写作目标和意图。
正文部分主要包括单片机的选择和计价器的功能设计两个方面。
首先,单片机的选择部分介绍了为什么选择51单片机作为设计计价器的核心控制器,并对其特点和优势进行了阐述。
单片机课程设计出租车计价器
河南理工大学《微机原理与单片机接口技术》课程设计报告出租车计价器设计姓名:郝高锋蒋亚光学号:专业班级:指导老师:所在学院:电气工程与自动化学院2013年 04月 10 日摘要本设计是一个基于单片机的出租车计价器。
本设计主要完成的功能有计时,计费,记录里程,空车显示,暂停,测速等。
用到的硬件主要有C51单片机,直流电动机,霍尔传感器等。
通过霍尔传感器及单片机的外部中断功能,记录车轮的旋转圈数,通过车轮的周长计算里程。
由于使用的单片机系统附带的数码管显示只有四个数码管,所以每次只能显示一种数据:里程、费用或者等待时间。
为了所有的数据都能在数码管上显示,加入了按键。
第五个键可以显示里程,第六个键可以显示等待时间,第五个键和第六个键都没有按的话就是显示费用。
本设计还附有测速的功能,通过单片机内部的计时器计时,通过每分钟测得的里程计算出车的速度。
通过测得的速度判定使用里程计费还是通过时间计费,这样也比较人性化。
本设计的另一个人性化之处在于可以暂停计费,这样可以随时暂停计费,支持部分收费。
本设计的空车提示功能对司机和乘客都有好处,方便乘客叫车,也可以减少司机的麻烦。
本设计通过灯的提示表示某个键被按下,这样能让司机和乘客很清晰的看到按了什么键。
当按下启动计费键后绿灯会亮,这样就会让司机很容易判断是不是按了启动计费键,以免造成不必要的损失。
当按下暂停键时,红灯就会亮,这样方便乘客判断是不是暂停了计费,有利于保障乘客的合法权益。
而空车则有黄灯提示,这样乘客只要看到黄灯就能判断是空车能够方便乘客叫车。
本设计主要有三部分组成,分别是霍尔传感器测量部分、单片机处理部分、数码显示部分。
霍尔传感器测量部分主要是由硬件组成的不需要太多的编程,而单片机处理部分主要任务是编程,数码管显示部分是单片机的扩张部分。
下面对本设计进行一些简单的功能总体描述。
加电之后系统默显示三公里内的费用,此时处于初始状态;第一个键是计费启动键,按下之后开始计费同时绿灯亮;第二个键是计费暂停键,按下之后计费暂停同时红灯亮;第三个键是空车提示键,按下之后黄灯亮,同时等待时间、里程、费用等都归零;第四个键是单程和往返转换键,可以实现单程、往返的转化;第五个键是里程查询键,按了之后数码管显示里程数;第六个键是等待时间查询键,按了之后可以查询等待时间。
基于单片机的出租车计价器设计--课程设计
出租车计价器摘要:出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
因此,汽车计价器的研究也是十分有一个应用价值的。
该系统由AT89S51单片机控制,满足计程、计时、计费、存储等多种计量功能为一体的出租车计价器的实用要求。
相比于普通的模拟电路控制,采用单片机进行的设计相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
针对计费模式的切换,通过软件编程就可以轻易而举的实现。
避免了机械开关带来的不稳定因素。
关键词:出租车计价器单片机控制目录第一章前言 (1)第二章设计要求 (2)2.1基本功能 (2)2.3扩展功能 (2)第三章系统的组成及工作原理 (3)3.1 系统的硬件构成及功能 (3)3.2 AT89S51单片机及其引脚说明 (4)第四章硬件电路方案设计 (7)4.1 方案比较与确定 (7)4.2 里程计算、计价单元的设计 (7)4.3 显示单元电路设计 (9)4.4键盘显示模块设计 (10)第5章系统的软件设计 (12)5.1 系统主程序设计 (12)5.2 定时中断服务程序 (14)5.3 显示服务程序 (14)5.4 键盘服务程序 (15)第6章系统调试与测试结果分析 .................................................. 仃6.1 使用的仪器仪表和工具 (17)6.2 调试的方法 (17)第7章结论 (18)参考文献 (19)附录......................................................... 错误!未定义书签。
附录1总体设计电路图.................................... 错误!未定义书签。
最新51单片机出租车计价器的设计汇总
51单片机出租车计价器的设计单片机原理及系统课程设计专业:班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2012 年 7月 1日目录1 出租车计价系统的设计要求与设计方案.............................................................-2 -1.1 基本设计要求............................................................................................- 2 -1.2 性能指标....................................................................................................- 2 -1.3 显示功能....................................................................................................- 2 -2 出租车计价器系统的硬件设计.............................................................................-3 -2.1 出租车硬件框图........................................................................................- 3 -2.2 AT89C52单片机.........................................................................................- 4 -2.3 总设计图....................................................................................................- 4 -3 出租车计价器系统的软件设计.............................................................................- 6 -3.1 系统整体程序流程............................................................................................- 6 -4 设计体会与小结.....................................................................................................- 8 -参考文献....................................................................................................................- 9 -附录......................................................................................................................... - 10 -1.子函数 ................................................................................................................. - 10 -1.1中断子函数.............................................................................................. - 10 -1.2 按键判断方式......................................................................................... - 11 -1.3 LCD1602显示的判断.............................................................................. - 11 -2 源程序.................................................................................................................. - 13 -2运行图示 ............................................................................................................. - 23 -2.1 初始状态................................................................................................... - 23 -2.2 运行状态................................................................................................... - 24 -1 出租车计价系统的设计要求与设计方案1.1 基本设计要求本出租车自动计费,上电后显示最初的起步价,里程计费单价,等待时间计费单价,通过按键可以调节起步价,里程计费单价,等待时间计费单价。
基于51单片机的出租车计价器设计
1 绪论 ............................................................................................ 错误!未定义书签。
1.1 选题概述 (2)1.2 单片机概述 (2)2 实施方案设计 (2)2.1 设计任务要求 (2)2.1.1 设计任务 (2)2.1.2 设计要求 (2)2.2 设计的主要功能 (2)2.3 方案的确定 (2)2.3.1 单片机的选择 (3)2.3.2 计时模块的选择 (3)2.3.3 显示模块的选择 (3)2.3.4 最终方案的确定 (4)3 硬件电路设计 (4)3.1 STC89C52单片机 (5)3.2 时钟模块 (11)3.2.1 DS1302性能简介 (11)3.2.2 DS1302接口电路设计 (1)3.3 按键控制模块 03.4 LCD1602显示电路 (1)3.5 AT24C02存储模块 (3)3.6 电机驱动模块 (6)4 软件设计 (7)4.1 系统流程图 (7)4.2 编程软件Keil C51 (8)4.3 画图软件Protel99SE (8)4.4 Protel使用常见问题 (9)参考文献 (12)附1、系统原理图 (13)附2、proteus仿真图 (14)1.1 选题概述1.2 单片机概述2 实施方案设计2.1 设计任务要求2.1.1 设计任务2.1.2 设计要求2.2 设计的主要功能本设计采用STC89C52单片机作为主控模块的主控芯片,结合单片机的外围电路实现对整个系统的控制,DS1302时钟芯片准确计时具有重新上电不用调时的功能,显示部分采用LCD1602液晶显示,24c02芯片可以掉电存储设置的计费数据,即使掉电也不会丢失设置的费用,3v直流电机模拟发动机工作,使整个设计更加逼真,当无乘客时液晶可以显示时间(年月日时分秒),时间可以按键设置,此时电机不工作;当有乘客时电机工作,可以通过按键开始计费系统工作,有清零键,收费可以修改(包括起价费、超过起价费每公里或分钟收费、白天和夜晚收费标准),可以切换白天和夜晚收费标准,可以按照分钟或公里收费切换。
基于51单片机的出租车计价器设计毕业设计论文
毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
51单片机出租车计价器的设计
摘要出租车计价器是出租车营运收费的专用只能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
国内出租车计价器已经经历了4个阶段的发展。
从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器。
出租车计价器计费是否准确是乘客最关心的问题,而计价器营运数据的管理是否方便才是出租车司机最关注的。
在随着科技的发展,现在各大中城市出租车行业都已普及自动计价器,所以计价器技术的发展已成定局。
而部分小城市尚未普及,但随着城市建设日益加快,象征着城市面貌的出租车行业也将加速发展,计价器的普及也是毫无疑问的,所以未来汽车计价器的市场还是十分有潜力的。
本次设计是采用AT89C52单片机为中心,外加霍尔传感器行对里程进行测距,由于实验室的限制的问题所以改用按键代替霍尔传感器,实现对出租车计价统计,输出采用LCD1602A的出租车计价器。
关键字:51系列单片机,霍尔传感器,LCD1602A前言 (2)第一章出租车计价系统的设计要求与设计方案 (3)1.1 基本设计要求 (3)1.2 性能指标 (3)1.3 显示功能 (3)第二章出租车计价器系统的硬件设计 (4)2.1 出租车硬件框图 (4)2.2 AT89C52单片机及引脚说明 (4)2.3 LCD1602A的简介 (7)2.4 时钟电路 (10)2.5 复位电路设计 (10)2.6 显示电路 (11)2.7 键盘接口技术 (12)2.8 霍尔传感器设计 (12)第三章出租车计价器系统的软件设计 (13)3.1 系统整体程序流程 (13)3.2 中断子函数 (14)3.3 按键判断方式 (15)3.4 LCD1602显示的判断 (15)第四章出租车系统的安装与调试 (17)4.1 硬件调试 (17)4.2 软件调试 (17)第五章设计体会与小结 (18)参考文献 (19)附录 (20)一源程序 (20)二系统硬件原理图 (29)随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机出租车计价器设计课程设计任务书课程设计(论文)题目:出租车计价器系统设计基本内容:利用8051单片机、可编程键盘显示接口器件8279、LCD出租车费用及时间显示,LED做辅助显示。
课程设计(论文)专题部分:题目:出租车计价器系统设计基本内容:练习单片机C51程序语言的编程,及调试程序。
多个芯片的综合应用,解决具体问题。
学生接受课程设计(论文)题目日期第19周指导教师签字:2009年7月7日毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名: 日期:指导教师签名: 日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名: 日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名: 日期:年月日导师签名:日期:年月日摘要随著超大规模集成电路技术的发展,单片机也随之有了很大发展,各种新颖的单片机层出不穷,并已广泛地应用到人类生活的各个领域,成为当今科学技术现代化不可缺少的重要工具。
许多高校也纷纷开办了单片机这门学科,并在学科教授完后设有课程设计,希望同学能够通过这次设计学习和应用单片机解决工作中碰到的实际问题。
现代交通工具迅猛发展,出租车在人们的日常生活中所扮演的角色越练越重要,但如何准确计费,以达到既使乘客满意又不让出租车司机亏本的目的,就迫在眉睫。
本课程设计主题是利用89C51单片机、LCD液晶显示器、可编程键盘显示接口器件8279、8位LED等实现出租车费用、路程和时间显示,作为一个单片机在实际生活中的简单应用。
关键字:89C51, 8279,LCD液晶显示器,出租车计价器,目录任务书i摘要ii第一章概述- 2 -1.1 设计意义- 2 -1.2系统功能- 2 -1.3 功能详述- 2 -1.3.1 按键- 2 -1.3.2 操作流程- 3 -1.4系统所涉及模块- 3 -1.4.1 定时器与计数器- 3 -1.4.2 路程和费用计算- 3 -1.4.3 实时时钟- 4 -1.4.4 键盘及LED - 4 -1.4.5 LCD液晶显示器 - 5 -1.5 我所做的工作 - 6 -第二章硬件设计- 7 -2.1 硬件原理图简图- 7 -2.2 简要说明- 7 -第三章软件设计流程及描述- 9 -3.1 主函数程序流程图- 9 -3.2 定时器中断服务程序流程图- 10 - 3.3 按键中断服服务程序流程图- 10 - 第四章源程序代码- 12 -第五章课程设计体会- 25 -第六章参考文献- 27 -第一章概述1.1 设计意义出租车的计价器应用很广,平时比较常见,理解较为深入,适合作为编程联系的例子。
在设计中能够更加透彻的理解和较为全面的考虑各种情况。
通过这次的练习,可以加深对单片机应用了解,更能灵活的使用51系列单片机的资源解决实际问题。
1.2系统功能上车按键后开始计价。
有实时时钟、单价、距离和总价钱显示。
可以通过键盘修改单价(元/公里)和时间。
有清除键用以清楚上次费用。
利用LCD分别显示时间、单价、路程和费用。
LED辅助显示说做操作。
主要方法:原理是,价格速度时间单价;采用直流电机测速单元模拟出租车速度,通过光电耦合A/D转换进行速度采样,利用单片机的定时器/计数器定时和计数,用LED数码管或LCD显示总价和时间,并通过键盘进行单价设定及时间显示。
附加功能:当出租车速度低于某一设定值时,自动进行计数,当计时每达到1分钟时,价格按照1公里长度计。
1.3 功能详述1.3.1 按键0~9数字键;B:开始计价;C:清除数据;D:(P)设置单价键,按一次后,再按数字键进行设置;E: T 设置时间键,按一次后,再按数字键进行设置;F/A:完成设置键。
1.3.2 操作流程程序运行后,时间照常显示。
此时可以进行单价和时间的设置。
按B 键开始计价,运行中也可以进行单价和时间的设置。
按C键清除上次费用和路程1.4系统所涉及模块1.4.1 定时器与计数器利用模拟直流定动机模拟出租车,转盘上有孔,利用光电转换变成电脉冲。
利用计数器进行计数,定时器进行定时。
1.4.2 路程和费用计算根据计数值和计时时间换算出速度,乘以单价得出单位计时间隔的费用,加上以前的费用得出即时费用。
即路程计数个数*计时间隔/转盘上孔的个数。
即时费用路程*价格。
1.4.3 实时时钟出租车上的显示器上要求有时钟,选择DS12887时钟芯片作为时钟控制单元。
1.4.4 键盘及LED上车开始计价,数据清除,单价及时间的修改都需要使用键盘,数字加上功能键共计15个,因此使用8279来管理4×4键盘及辅助显示的8位LED。
8279 是一种通用的可编程的键盘/显示器接口器件,可对64 个开关组成的键盘矩阵进行自动扫描,接收键盘上的输入信息,并在有键输入时向单片机请求中断,还能对8 位或16位LED 自动扫描,使显示缓冲器的内容在LED 上显示出来。
利用8279 对键盘/显示器的自动扫描,可以减轻CPU 负担,具有显示稳定、程序简单、不会出现误动作等特点。
利用8279芯片管理键盘,可有效减轻单片机I/O资源负担。
键盘由74LS138译码扫描,当有按键时,有8279自行编值,并引发外中断。
在中断程序中读取键值。
8279采用单±5V电源供电,40脚封装。
其具体管脚介绍如下:DB0~DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。
CLK:时钟输入线,用以产生内部定时的时钟脉冲。
RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。
CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。
A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态, 当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。
RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。
WR:写信号输入线,低电平有效,将缓冲器读出,将数据从外部数据总线写入8279的缓冲器。
1.4.5 LCD液晶显示器时钟、单价、路程及费用需要使用液晶显示器来显示,选用RT12864hz 液晶显示器。
各种参数经过处理后用它来显示。
RT12864HZ汉字图形点阵液晶显示模块可显示汉字和图形。
内置8192个中文汉字 16 x16 点阵)、 128个字符(8X16点阵)及64X256点阵显示(用子图形)。
模块由20个引脚与外界电路相连,其中8条数据线, 5条控制线,3条电源线,2条背光电源线,2条没定义。
文本显示RAM提供8个,4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM和CGRAM字型。
HCGROM为半宽字型(8 x 16点阵),CGROM为中文字型,CGRAM 为自定义的中文字型。
三种字型的选择由写入DDRAM的编码选择1.5 我所做的工作经过分工我负责用Protel画原理图,编写部分程序模块,包括时钟控制函数、键盘输入控制函数、模拟直流电机速度转换函数、LCD状态检测及刷新函数、X5045存储模块、主程序及整个程序的调试。
第二章硬件设计2.1 硬件原理图简图图2.1 硬件简图2.2 简要说明1. 外部测速单元有模拟直流电动机通过直流电机测速以及对速度进行采样和光电耦合器组成,输出脉冲信号由计数器输入单片机进行处理,其中电动机速度可调;2. 4×4键盘和8位LED由8279管理,IRQ接INT0,CLK接ALE,键盘由十个数字键和五个功能键组成,其中一个键重复定义,LED用字母和数字显示表示当前的状态、进行的操作以及输入的数据;3. LCD显示信息,如下图;图 2.2 LCD及LED显示示意图4.元器件清单器件名称生产公司数量89C51 ATMEL 1DS12887 DALLAS 1RT12864 18279 NEC Japan 174LS138 TOSHIBA 374LS245 TOSHIBA 174LS573 TOSHIBA 14×4键盘 1第三章软件设计流程及描述3.1 主函数程序流程图先进行初始化,显示计价初始值,然后等待开始计价或者进行设置。
计价分两种情况:速度超过设定值时,按当时速度进行计价;速度低于设定值时,自动进行计数,当计数每达到一分钟时,价格按照一公里长度计。
修改分、修改时间和单价。
清零用于清除当前路程和费用,以便进行下次计价。
3.2 定时器中断服务程序流程图在定时时间内记录脉冲个数,赋给全局变量,用于计算速度。
3.3 按键中断服服务程序流程图读取键值,转换为可用数据,并且置位相应标志位,为以后操作做好准备。
然后根据状态在LED上显示相应操作。
3.4 时钟芯片中断服务程序由于DS12887时钟芯片一秒钟产生一次中断,因此低速计数在这里进行计数。
读取时间数值,赋给全局变量进行处理。
第四章源程序代码#include#include#include#include#define uchar unsigned char#define uint unsigned int/* DS12887实时时钟时间地址设置 */#define second XBYTE [0x6000] /* 秒寄存器地址 */ #define sec_alarm XBYTE [0x6001]#define minute XBYTE [0x6002] /* 分寄存器地址 */#define min_alarm XBYTE [0x6003]#define hour XBYTE [0x6004] /* 小时寄存器地址 */#define week XBYTE [0x6006]/* 星期寄存器地址 */#define date XBYTE [0x6007] /* 日期寄存器地址 */#define month XBYTE [0x6008] /* 月寄存器地址 */#define year XBYTE [0x6009]/* 年寄存器地址 */#define rega XBYTE [0x600A]/* A寄存器地址 */#define regb XBYTE [0x600B]/* B寄存器地址 */#define regc XBYTE [0x600C]/* C寄存器地址 */#define regd XBYTE [0x600D]/* D寄存器地址 *//* RT12864HZ汉字图形点阵液晶地址设置 */#define w_c_add XBYTE[0x2070] /* 写命令字地址 */#define w_d_add XBYTE[0x2071] /* 写数据地址*/#define r_s_add XBYTE[0x2072] /* 读状态字地址 */#define r_d_add XBYTE[0x2073] /* 读数据地址*/#define COM XBYTE[0x2021]/*8279命令口 */#define DAT XBYTE[0x2020]/*8279数据口 */ #define L1/*长度系数*/#define TI 50/*分度数*/#define HN 30 /*孔个数 */ #define LOW 30 /*最低速度*/uchar xdata key; /*键值 */uint idata num0; /*计数值 */uint xdata a1,b0;uint idata len,fa,m,n,o,p,q,r,s,t,COUT,CLO;uint idata h1,h2,m1,m2,s1,s2;/*时钟参数*/uint idata price10,fate00,length0,leng;uint idata state0,clear1,begin0,pri,tim,tt0,cc0;nn0;/*几个状态标志位*//*设置,清除,开始计价,单价修改,时间修改,两位数监视,六位数监视,数字标志*/unsigned char bdata status; /* lcd可位寻址片内数据存储器,允许位与字节混合访问 */sbit busystatus^7;/*lcd“忙”线的第7位*/uchar bdata sta_8279; /*8279*/sbit dusta_8279^7; /* 8279方式设置命令字 */unsigned char rflag;unsigned char bdata sta_ds;sbit uipsta_ds^7;uchar ds_h,ds_m,ds_s,ds_t;unsigned char bdata ds_time;unsigned char code NO[10]0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9;uchar code tab[16]0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x71,0x7C,0x39,0x73,0x31,0x71;/* 0~F的字型编码*/uchar xdata hz2[16]0xB5,0xA5,0xBC,0xDB,0xA3,0xBA,0x20,0x20,0x20,0x20, /* 单价 :空空 */0xA3,0xB0,0xA3,0xB0,0xD4,0xAA;/*N N元 */uchar xdata hz3[16]0xBE,0xE0,0xC0,0xEB,0xA3,0xBA,0xA3,0xB0,0xA3,0xB0, /* 距离 : 空 N */0xA3,0xB0,0xA3,0xB0,0x4B,0x4D;/* NN km*/uchar xdata hz4[16]0xBC,0xDB,0xC7,0xAE,0xA3,0xBA,0xA3,0xB0,0xA3,0xB0, /* 价格: NN */0xA3,0xB0,0xA3,0xB0,0xD4,0xAA;/*N N 元 */uchar xdata hz5[16]0x20,0x20,0xCA,0xE4,0xC8,0xEB,0xC1,0xBD,0xCE,0xBB, /*空输入两位 */0xB5,0xA5,0xBC,0xDB,0x20,0x20;/* 单价空 */uchar xdata hz6[16]0x20,0x20,0x20,0x20,0xA3,0xBA,0xA3,0xB0,0xA3,0xB0, /* 空空 : NN */0xD4,0xAA,0xA3,0xAF,0x4B,0x4D;/* 元/ k m */void initial void;void delayvoid;void check_lcdvoid;void show_lcduchar *,uchar *,uchar *;void lcd_busyvoid; /*LCD忙状态检测函数 */void computevoid;void change_privoid;void change_timevoid;void clockvoid;void check_ds12887void;void evoidw_c_add0x80;delay;lcd_busy;w_d_add0xCA;lcd_busy;w_d_add0xE4;lcd_busy;lcd_busy;w_d_add0xEB; lcd_busy;w_d_add0xB4;lcd_busy;w_d_add0xED; lcd_busy;w_d_add0xCE;lcd_busy;w_d_add0xF3; lcd_busy;w_d_add0x20;lcd_busy;w_d_add0x20; lcd_busy;w_d_add0x20;lcd_busy;w_d_add0x20; lcd_busy;w_d_add0x20;lcd_busy;lcd_busy;w_d_add0x20;lcd_busy;w_d_add0x20;h10;h20;m10;m20;s10;s20;cc0;delay; delay; delay;delay; delay; delay; mainuint inf0;initial; show_lcdhz2,hz3,hz4;while1clock;ifbegin1ifinf0fate20;inf1;ifstate0ifnumLOWCOUT0;pricea*10+b; len+num*L/HN; iflen/TI0lenglen/TI; len%TI;faleng*price; length+leng; leng0;fate+fa;elseifCOUT120length++;fate+10*a+b;COUT0;compute;show_lcdhz2,hz3,hz4; elseifpri1change_pri;iftim1change_time;ifclear1length0;fate0;inf0;compute;show_lcdhz2,hz3,hz4;ifpri1change_pri;iftim1change_time;//while1//main/********************以下是程序(包括中断)********************************/void keybordvoid interrupt 0 using 1uchar keyboard0;EX00;COM0x50;keyboardDAT;keyboard &0x0f; /* 保留低四位 */switchkeyboardcase 0x0: key0; tt++;nn1;cc++; break;case 0x1: key1; tt++;nn1;cc++; break;case 0x2: key2; tt++;nn1;cc++; break;case 0x3: key3; tt++;nn1;cc++; break;case 0x4: key4; tt++;nn1;cc++; break;case 0x5: key5; tt++;nn1;cc++; break;case 0x6: key6; tt++;nn1;cc++; break;case 0x7: key7; tt++;nn1;cc++; break;case 0x8: key8; tt++;nn1;cc++; break; case 0x9: key9; tt++;nn1;cc++; break;case 0x0B: key11;COUT0; begin1;clear0;nn0;break;/*B begin*/ case 0x0C: key12; clear1;begin0;nn0;break;/*C clear*/case 0X0D: key13; state1;pri1;tim0;nn0;break; /*D set price*/ case 0x0E: key14; state1;tim1;pri0;nn0;break; /*E set time*/ default:key15; nn0;break; /*F finish*/keyboardtab[keyboard];ifpri1ifnn0COM0x80+8;elseCOM0x80+4+tt;iftim1ifnn0COM0x80+8;elseCOM0x80+1+cc;DATkeyboard;EX01;void int1serve interrupt 2 using 2unsigned char temp2;COUT++;EX10;rflag1;sta_dsrega;whileuip;ds_hhour;ds_mminute;ds_ssecond;temp2regc;rflag0;EX11;void timervoid interrupt 3 using 3TR10;TR00;numTH0*256+TL0;TH00;TL00;TH1-50000/256;TL1-50000%256;CLO++;TR11;TR01;void initialvoidCOM0xd1; /* 清除显示*/ACCDAT;ifACC^1; /* P奇偶标志。