东北大学课程设计 第一章 概述
第一章 概述
1.1 设计意义
出租车的计价器应用很广,平时比较常见,理解较为深入,适合作为编程联系的例子。在设计中能够更加透彻的理解和较为全面的考虑各种情况。
通过这次的练习,可以加深对单片机应用了解,更能灵活的使用51系列单片机的资源解决实际问题。
1.2系统功能
上车按键后开始计价。有实时时钟、单价、距离和总价钱显示。可以通过键盘修改单价(元/公里)和时间。有清除键用以清楚上次费用。利用LCD分别显示时间、单价、路程和费用。LED辅助显示说做操作。
主要方法:原理是,价格=速度?时间?单价;采用直流电机测速单元模拟出租车速度,通过光电耦合A/D转换进行速度采样,利用单片机的定时器/计数器定时和计数,用LED数码管或LCD显示总价和时间,并通过键盘进行单价设定及时间显示。
附加功能:当出租车速度低于某一设定值时,自动进行计数,当计时每达到1分钟时,价格按照1公里长度计。
1.3 功能详述
1.3.1 按键 0~9数字键; B:开始计价;
- 2 -
东北大学课程设计 第一章 概述
C:清除数据;
D:(P)设置单价键,按一次后,再按数字键进行设置; E: (T) 设置时间键,按一次后,再按数字键进行设置; F/A:完成设置键。 1.3.2 操作流程
程序运行后,时间照常显示。此时可以进行单价和时间的设置。按B键开始计价,运行中也可以进行单价和时间的设置。按C键清除上次费用和路程
1.4系统所涉及模块
1.4.1 定时器与计数器
利用模拟直流定动机模拟出租车,转盘上有孔,利用光电转换变成电脉冲。利用计数器进行计数,定时器进行定时。
1.4.2 路程和费用计算
根据计数值和计时时间换算出速度,乘以单价得出单位计时间隔的费用,加上以前
- 3 -
东北大学课程设计 第一章 概述
的费用得出即时费用。即路程=计数个数*计时间隔/转盘上孔的个数。即时费用=路程*价格。
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:写信号输入线,低电平有效,将缓冲器读出,将数据从外部数据总线写入
- 4 -
东北大学课程设计 第一章 概述
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的编码选择
- 5 -
东北大学课程设计 第一章 概述
1.5 我所做的工作
经过分工我负责用Protel画原理图,编写部分程序模块,包括时钟控制函数、键盘输入控制函数、模拟直流电机速度转换函数、LCD状态检测及刷新函数、X5045存储模块、主程序及整个程序的调试。
- 6 -