东北大学课程设计任务书i任务书课程设计(论文)题目:出租车计价器系统设计基本内容:利用8051单片机、可编程键盘显示接口器件8279、LCD出租车费用及时间显示,LED做辅助显示。课程设计(论文)专题部分:题目:出租车计价器系统设计基本内容:练习单片机C51程序语言的编程,及调试程序。多个芯片的综合应用,解决具体问题。学生接受课程设计(论文)题目日期第19周指导教师签字:2009年7月7日东北大学课程设计摘要ii摘要随著超大规模集成电路技术的发展,单片机也随之有了很大发展,各种新颖的单片机层出不穷,并已广泛地应用到人类生活的各个领域,成为当今科学技术现代化不可缺少的重要工具。许多高校也纷纷开办了单片机这门学科,并在学科教授完后设有课程设计,希望同学能够通过这次设计学习和应用单片机解决工作中碰到的实际问题。现代交通工具迅猛发展,出租车在人们的日常生活中所扮演的角色越练越重要,但如何准确计费,以达到既使乘客满意又不让出租车司机亏本的目的,就迫在眉睫。本课程设计主题是利用89C51单片机、LCD液晶显示器、可编程键盘显示接口器件8279、8位LED等实现出租车费用、路程和时间显示,作为一个单片机在实际生活中的简单应用。关键字:89C51,8279,LCD液晶显示器,出租车计价器,东北大学课程设计第一章概述-1-目录任务书.......................................................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.5LCD液晶显示器............................................................................................................................-5-1.5我所做的工作...................................................................................................................................-6-第二章硬件设计...........................................-7-2.1硬件原理图简图...............................................................................................................................-7-2.2简要说明...........................................................................................................................................-7-第三章软件设计流程及描述.................................-9-3.1主函数程序流程图...........................................................................................................................-9-3.2定时器中断服务程序流程图.........................................................................................................-10-3.3按键中断服服务程序流程图.........................................................................................................-10-第四章源程序代码........................................-12-第五章课程设计体会......................................-25-第六章参考文献..........................................-27-东北大学课程设计第一章概述-2-第一章概述1.1设计意义出租车的计价器应用很广,平时比较常见,理解较为深入,适合作为编程联系的例子。在设计中能够更加透彻的理解和较为全面的考虑各种情况。通过这次的练习,可以加深对单片机应用了解,更能灵活的使用51系列单片机的资源解决实际问题。1.2系统功能上车按键后开始计价。有实时时钟、单价、距离和总价钱显示。可以通过键盘修改单价(元/公里)和时间。有清除键用以清楚上次费用。利用LCD分别显示时间、单价、路程和费用。LED辅助显示说做操作。主要方法:原理是,价格=速度时间单价;采用直流电机测速单元模拟出租车速度,通过光电耦合A/D转换进行速度采样,利用单片机的定时器/计数器定时和计数,用LED数码管或LCD显示总价和时间,并通过键盘进行单价设定及时间显示。附加功能:当出租车速度低于某一设定值时,自动进行计数,当计时每达到1分钟时,价格按照1公里长度计。1.3功能详述1.3.1按键0~9数字键;B:开始计价;东北大学课程设计第一章概述-3-C:清除数据;D:(P)设置单价键,按一次后,再按数字键进行设置;E:(T)设置时间键,按一次后,再按数字键进行设置;F/A:完成设置键。1.3.2操作流程程序运行后,时间照常显示。此时可以进行单价和时间的设置。按B键开始计价,运行中也可以进行单价和时间的设置。按C键清除上次费用和路程1.4系统所涉及模块1.4.1定时器与计数器利用模拟直流定动机模拟出租车,转盘上有孔,利用光电转换变成电脉冲。利用计数器进行计数,定时器进行定时。1.4.2路程和费用计算根据计数值和计时时间换算出速度,乘以单价得出单位计时间隔的费用,加上以前东北大学课程设计第一章概述-4-的费用得出即时费用。即路程=计数个数*计时间隔/转盘上孔的个数。即时费用=路程*价格。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:写信号输入线,低电平有效,将缓冲器读出,将数据从外部数据总线写入东北大学课程设计第一章概述-5-8279的缓冲器。1.4.5LCD液晶显示器时钟、单价、路程及费用需要使用液晶显示器来显示,选用RT12864hz液晶显示器。各种参数经过处理后用它来显示。RT12864HZ汉字图形点阵液晶显示模块可显示汉字和